Page 1 of 4
ZX81 Motherboard
Posted: Thu Jul 10, 2008 9:55 pm
by Mark Wills
Hi
I have a ZX81 Issue 1, from 1980.
I opened the machine up the other day (for the first time ever!) and it has a 'quick fix' board soldered directly on to the Z80 processor. The board is white, with legs coming out of the bottom, and these legs are soldered directly onto the Z80. It has a couple of 74LS chips on the board.
What is this board for?
Regards
Mark.
Re: ZX81 Motherboard
Posted: Thu Jul 10, 2008 10:15 pm
by sirmorris
Was this machine yours from day one or did you acquire it? What I mean is - could this have been added by a previous owner?
I've never heard of any patches attached to the z80 - this could be a real rarity! Can we have some good sharp macro shots, please??
Good find!
Re: ZX81 Motherboard
Posted: Mon Jul 14, 2008 3:04 pm
by hldswrth
I believe this is the ZX81 "piggyback fix" - there's a web page about it here:
http://www.binarydinosaurs.co.uk/Museum ... /index.php
I've got such a board at home, haven't had time to photograph it or add it to my site yet tho.
Cheers, Simon
Re: ZX81 Motherboard
Posted: Mon Jul 14, 2008 5:44 pm
by sirmorris
For sure.
Well how about that!
Re: ZX81 Motherboard
Posted: Mon Jul 14, 2008 7:25 pm
by Mike
That page doesn't quite add up to me...
The description describes extra ROM piggybacked on top of the original ROM. However, the picture shows a couple of 74LS logic chips (A triple 3 input NOR and a triple 3 input NAND) on top of the Z80 with no extra ROM in sight. Looks more like someone screwed up some decoding in early versions of the ULA to me...
Mike
Re: ZX81 Motherboard
Posted: Wed Jul 16, 2008 10:27 pm
by Mark Wills
Hi guys
Yes, it does look like the piggy back fix. I will take a hi-res photo of it tomorrow night and upload it somewhere for you guys to see.
I guess this makes the machine a little special eh?
Well, it still works beautifully! I have been writing programs on it! I was amazed at how slow BASIC Is though, much slower than the Spectrum.
I think I would like to try to some machine code on it, if I can find an emulation environment to use on my PC, (Z80 assembler / emulator) then I will have a play and maybe do a game

Re: ZX81 Motherboard
Posted: Wed Jul 16, 2008 10:41 pm
by Mark Wills
Mike wrote:That page doesn't quite add up to me...
The description describes extra ROM piggybacked on top of the original ROM. However, the picture shows a couple of 74LS logic chips (A triple 3 input NOR and a triple 3 input NAND) on top of the Z80 with no extra ROM in sight. Looks more like someone screwed up some decoding in early versions of the ULA to me...
Mike
My guess is they are using the logic to detect a certain address in the ROM, and changing a few bits on the data bus to write a new opcode out on the bus, thus changing one single instruction. Very clever fix. I guess since the ROMS are special custom chips, not just EEPROMS, it was too expensive to throw them away. Those guys were damn clever.
Mark
Re: ZX81 Motherboard
Posted: Thu Jul 17, 2008 12:10 am
by sirmorris
Yes congrats indeed!
If you want to have a play with some machinecode then grab a copy of ballblaster, tasm, eightyone (other emulators are available, ahem) and have some fun.
viewtopic.php?f=4&t=67
http://home.comcast.net/~tasm/
http://www.chuntey.com/
I'll be happy to help if you need.
C
Re: ZX81 Motherboard
Posted: Thu Jul 17, 2008 2:09 pm
by Mike
Mark Wills wrote:My guess is they are using the logic to detect a certain address in the ROM, and changing a few bits on the data bus to write a new opcode out on the bus, thus changing one single instruction. Very clever fix. I guess since the ROMS are special custom chips, not just EEPROMS, it was too expensive to throw them away. Those guys were damn clever.
sorry, I still don't buy it... I might be wrong here, but due to the split bus design of the '81, I'd expect any "patch" to be soldered on top of the ROM or ULA, not the Z80 which see the "other" bus to that which the ROM is on.
Mike
Re: ZX81 Motherboard
Posted: Thu Jul 17, 2008 3:13 pm
by siggi
The Z80 and the rom "see" different addresses/data only under special conditions:
1: during refresh, when the ULA overwrites the adress bus at the the rom side to access the character generator ion the rom
2. during opcode fetch cylces above 32K, when the ULA overwrites the data bus to feed "NOPS" to the Z80.
During opcode fetch in the rom area (0-8/16K) the ULA is inactive and an additional patch logic could drive the data bus (and disable the rom meanwhile) to feed other opcodes to the Z80.
HTH Siggi