ZX81 ROMs 3 types?

Discussions about Sinclair ZX80 and ZX81 Hardware
Lardo Boffin
Posts: 2160
Joined: Sat Nov 26, 2016 2:42 am

Re: ZX81 ROMs 3 types?

Post by Lardo Boffin »

Moggy wrote: Fri Jan 22, 2021 4:56 pm Please sir it was Lardo he started it he called me fatty. (true as it happens bah)
When I said about musical fat cats I was referring record label executives! :roll: :lol:
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
jeep
Posts: 1
Joined: Thu Feb 11, 2021 8:27 pm

Re: ZX81 ROMs 3 types?

Post by jeep »

Thank you for this useful information, it confirmed some assumptions that I made and the ROM dumps were invaluable.
I can't believe that this was discussed so recently either, I had gotten used to dead links and having to use the wayback machine to find information.

Quick bit of background; I was disassembling Adventure B Inca Curse on the Spectrum and found some interesting things. Firstly, the similarities between it and "The Quill" are more than just a co-incidence. Most of the logic and data structures are identical. There were also some oddities in the game data, then I remembered that it originally was released for the ZX81.

It took me a lot longer than I care to admit that I'd completely forgotten that the ZX81 character set was not ASCII. Once I'd thrown some python together, I soon had a disassembly of the ZX81 game and, sure enough, it's essentially The Quill, but from 1981. The oddities that I'd seen in the spectrum port were bug fixes (I've not done a full comparison yet) and there was a bit of code checking a part of ROM. I'm guessing that people may be interested in seeing the code, so here it is.

Code: Select all

493c : e5           push hl             ;  
493d : d5           push de             ;  
493e : c5           push bc             ;  
493f : 01 00 80     ld bc, 8000         ;  
4942 : 3a 36 00     ld a, (0036)        ;  
4945 : fe 84        cp 84               ;  Version 1 of ROM?
4947 : 20 09        jr nz, 09 (4952)    ;  Jump if pause bug has been fixed
4949 : cd 32 0f     call 0f32           ;  ROM: Set Fast and Pause
494c : fd 36 35 ff  ld (iy+35), ff      ;  Set high byte of FRAMES
4950 : 18 03        jr 03 (4955)        ;  

4952 : cd 35 0f     call 0f35           ;  ROM: Pause
4955 : ed 4b 25 40  ld bc, (4025)       ;  System Variable: LAST-K
4959 : cd bd 07     call 07bd           ;  ROM: Keyboard decode
495c : 7e           ld a, (hl)          ;  
495d : c1           pop bc              ;  
495e : d1           pop de              ;  
495f : e1           pop hl              ;  
It now makes perfect sense, so thank you again. I guessed that it it must have been a check for different rom versions, but to find this thread where people had recently discussed the bug fixes was very satisfying. I'm not the only one looking at 40 year old technology to see how it ticks!
MarcNL
Posts: 27
Joined: Tue Jan 12, 2021 10:09 pm

Re: ZX81 ROMs 3 types?

Post by MarcNL »

I came across that Ebay listing that triggered this thread ... and I checked the pictures of my Zeddies.
Only the picture of my ZX81USA can be read and it's the 'L@@K R@RE' 622 ROM. Maybe only USA Zeddies had this chip?

https://beta.collectorsbridge.com/colle ... /zx81usa-1

Also -- on what is the Timex Sinclair 1500 ROM based?
I remember that upon booting it, if one presses "3" it would switch from TV channel 2 to channel 3. Is this coded in the ROM or hardwired somewhere?
Marc
ZX80/MicroAce/ZX81/Lambda UK&USA, Spectrum/+/Beckman/Samsung, 128 Spain/UK/9G/Arabic, +2/+2A/+3/Arabic, CZ1500/2000/Spec/Plus, TK90X/95, Inves+, dB+, TC2048 PAL/NTSC/2068, TS1000/1500/2068, UK2086 ― and more!

GOTO www.sinclaircollection.site
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 ROMs 3 types?

Post by 1024MAK »

I don’t think the 622 ROM was limited to just U.S.A. computers, as I only have one TS1000, but have more than one 622 ROM chip...

I can’t answer your question on which ROM, the TS1500 ROM is based on. But it’s likely to be based on the most recent Sinclair ZX81 ROM.

Regards, the TS1500 has additional changes...

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
Paul
Posts: 1511
Joined: Thu May 27, 2010 8:15 am
Location: Germanys west end

Re: ZX81 ROMs 3 types?

Post by Paul »

The TS1500 ROM is identical to ZX81 Version.
Channel selection is made by ULA.
In theory, there is no difference between theory and practice. But, in practice, there is.
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 ROMs 3 types?

Post by Moggy »

Never had a US zeddy but quite a few 622s all on UK models so not really unique to the US I would have thought.
MarcNL
Posts: 27
Joined: Tue Jan 12, 2021 10:09 pm

Re: ZX81 ROMs 3 types?

Post by MarcNL »

Paul wrote: Sun Feb 14, 2021 3:52 pm The TS1500 ROM is identical to ZX81 Version.
The checksum of both my 1500's differ from this list:
854885 = 550
855106 = 622
878117 = 649
as they report it as being 854417!

They do have Timex roms, not Sinclair.
Marc
ZX80/MicroAce/ZX81/Lambda UK&USA, Spectrum/+/Beckman/Samsung, 128 Spain/UK/9G/Arabic, +2/+2A/+3/Arabic, CZ1500/2000/Spec/Plus, TK90X/95, Inves+, dB+, TC2048 PAL/NTSC/2068, TS1000/1500/2068, UK2086 ― and more!

GOTO www.sinclaircollection.site
bola_dor
Posts: 398
Joined: Wed Oct 02, 2019 5:32 am

Re: ZX81 ROMs 3 types?

Post by bola_dor »

MarcNL wrote: Sat Apr 03, 2021 10:08 am
Paul wrote: Sun Feb 14, 2021 3:52 pm The TS1500 ROM is identical to ZX81 Version.
The checksum of both my 1500's differ from this list:
854885 = 550
855106 = 622
878117 = 649
as they report it as being 854417!

They do have Timex roms, not Sinclair.
Look at the TS1500/bugs section

https://en.m.wikipedia.org/wiki/Timex_Sinclair_1000

My CZ1500 definitely doesn't have a TS1500 ROM but I have that mismatch between version markings and checksum.

viewtopic.php?p=42298#p42298
Ernesto
ZX80 USA, ZX81UK, ZX Spectrum, ZX Spectrum+, ZX Spectrum 128+ UK, ZX Spectrum +2/A, Sinclair QL, CZ1000, CZ1500, CZ2000, CZ1000Plus, CZ1500Plus, CZ Spectrum, CZ Spectrum Plus, TK83, TK85, TK90X, TK95. TS2068. And more to come :D
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: ZX81 ROMs 3 types?

Post by Fruitcake »

Lardo Boffin wrote: Sun Jan 17, 2021 3:01 pm but ZX80 owners who had upgraded could get a free replacement ROM on-request
Lardo Boffin wrote: Sun Jan 17, 2021 3:01 pm This is the ROM that was sent out to replace the 550 part. This also had some small error and was superceded later that year. This is the rarest of the 3 ROMs
I'm coming to this party a bit late (only just become aware of the thread).

In the various club magazines (e.g. Interface, Sync, Syntax) and books (e.g. Ian Logan's) that existed covering this time period, they do mention a replacement ROM but they don't mention 3 editions of the ROM.

The thought that goes through my mind is who would know this level of detail about the ROMs to put that ebay listing info together, when no one here on the forum with all their detailed knowledge about the ZX81 had ever heard about it before?
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 ROMs 3 types?

Post by 1024MAK »

Things we know:
Not everyone joins and becomes a member of forums about ‘classic’ 1980s (or 1990s) computers.
Some just browse as visitors. Others don’t even visit.

We do know a vast amount about the humble ZX81 compared to when it was in full production. So it is still surprising that this was not previously known about...

However if you only ever had a singe ZX81 at any one time, it’s unlikely you would know about the difference between 622 and 649.
Even if you happened to have two machines each with a different ROM (one with a 622 and one with a 649) unless you either ran a checksum on each of the ROMs and then compared the results, or dumped the ROM from each of them, and then used a hex editor on a PC to compare them, it’s still unlikely that you would realise that there is a difference.

Obviously it’s also possible to discover the difference by PEEKing as well, but I don’t see many people trying to do that!

I do have a question though. The people most likely to discover this difference, I would have thought, would have been the emulator writers. Which was the first widely available emulator for the ZX81? Did the writers of the later emulators just copy the ZX81 ROM that came with this emulator? Or did they dump the ROM from a real ZX81?

If the former, then all the emulators should be running the same ROM. If the later, what are the chances of all the dumped ROMs being the same?

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
Post Reply