I started on my new ZX-81 replacement board (kit) ZX81+38

Discussions about Sinclair ZX80 and ZX81 Hardware
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by 1024MAK »

jojo wrote: Wed Dec 29, 2021 8:22 am hi forum ,

i found several pictures of build clones with a cat28c256 on it , but
how did you guys manage to get an cat28c256 working on this board ??

i know there is a track to be cut ( as indicated on the pcb ) , but what else needs to be done ?
patch wire 27 to 1 , but what about j10 ?? as indicated in the readme files
Going on the rev 1,6 schematic…

Pin 1 on a 28C256 is A14. Either leave the track intact and program the ROM image from address 0x4000 upwards (in the ‘top half’) in the 28C256. Or cut the PCB track and link pin 1 to 0V/GND (pin 14) and then you can program the ROM image from address 0x0000. Both these addresses are that of the 28C256 and programmer NOT the Z80 address.

You can connect pin 1 to the Z80 address line A14, but the system uses A14 for address decoding (see a ZX81 memory map) which restricts the amount of ROM to a maximum of 16kbytes between 0x0000 and 0x3FFF. So it does not gain you anything.

Pin 23 on a 28C256 is A11, so JP8 needs to be linked/jumpered to A11. This is the default position via a PCB track so should not need changing.

Pin 26 on a 28C256 is A13, so JP9 needs to be linked/jumpered to A13. This is the default position via a PCB track so should not need changing.

Pin 27 on a 28C256 is /WE so JP10 needs to be linked/jumpered to +5V. As the the default position via a PCB track is for 0V/GND, this needs changing. So very carefully cut the PCB track between the pins. Then solder a wire link across the other position, so that pin 27 connects to +5V.

JP1 needs to be set to the 16k position if your ROM image is 16kbytes. The default position via a PCB track is for an 8kbyte ROM image.

All the official ZX81 ROM images are 8kbytes in size.

Mark

Note: edited to make the situation with the selection jumpers clearer.
Last edited by 1024MAK on Thu Dec 30, 2021 2:30 am, edited 1 time in total.
Reason: Note: edited to make the situation with the selection jumpers clearer.
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.
jojo
Posts: 129
Joined: Mon Mar 16, 2020 5:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by jojo »

hi forum ,

thanks for all support ,

28c256 is working now , unfortunately the screen image remains the same as with the 27c256 .
all logics are tested , and ok .

so , the search goes on ......any help highly appreciated.
Zx81-16k exp.- Spectrum 48 - Spectrum 128- Interface 1 - DIVide - Zx flashcard- Zx printer - Ram turbo-Velleman interface system-Currah microspeech -Ql - 512k exp.- Ql printer - Cst floppy interf.- Double 3.5 floppy- Minerva - Qimi-and much more .
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by 1024MAK »

Running out of ideas!

Have you checked U24 and U27?

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.
jojo
Posts: 129
Joined: Mon Mar 16, 2020 5:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by jojo »

to all who has the same problems i described ,

the solution is simple ( thanks to a member of another forum !! ) ;

100 ns eprom is too slow to keep up , simply reverse the clock signal to pin 6 of the processor ( and keep the rest original ) this gives enough time for the eprom to keep up .

so using 1 gate of u18 ( pins 1-2-3-4-6-7 )to generate the inverse clock and then wire that to pin 6 of the z80 takes care of proper timing .

be prepared for the rather dangerous job of cutting pcb-lines ( and not ruining many other tiny lines ).
Attachments
16-1-2022 18-25-11.jpg
16-1-2022 18-24-21.jpg
Zx81-16k exp.- Spectrum 48 - Spectrum 128- Interface 1 - DIVide - Zx flashcard- Zx printer - Ram turbo-Velleman interface system-Currah microspeech -Ql - 512k exp.- Ql printer - Cst floppy interf.- Double 3.5 floppy- Minerva - Qimi-and much more .
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by 1024MAK »

Interesting…

Thanks for posting the details of the fix 8-)

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.
jojo
Posts: 129
Joined: Mon Mar 16, 2020 5:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by jojo »

The build story continues ,

2 working clones , BUT ;

- load " " results in a crash

anyone faces the same , and how to cure it ( even screen output stops )
Zx81-16k exp.- Spectrum 48 - Spectrum 128- Interface 1 - DIVide - Zx flashcard- Zx printer - Ram turbo-Velleman interface system-Currah microspeech -Ql - 512k exp.- Ql printer - Cst floppy interf.- Double 3.5 floppy- Minerva - Qimi-and much more .
User avatar
mahjongg
Posts: 181
Joined: Tue Nov 24, 2015 10:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by mahjongg »

well, now I finally got my own copy working, you can see it working in this picture Image
Not that to get it working I changed all the logic (which was originally a mix of LS and HC logic) to only HC logic, and I changed the inverter used by the crystal oscillator for a 74HC14 to a 74HC04, a 74HC14 is a Schmitt trigger inverter and using that is a joke, it cannot run with a Schmitt trigger inverter.
Finally the wire wires you see in the picture is the CPU clock inverter patch, without it all letters are displayed as fully black boxes without any white lettering in them. note also that I probably have tos swap all 5 keyboard data lines, especially if you want to use an original keyboard foil.
Revision 1.8 repairs all these errors in the gerber files, BOM, and placement drawings, and the schematic.
Now available from my GitHub pages at https://github.com/mahjongg2/ZX81plus38
I fully assume that revision 1.8 will be final, so I also published the KiCad files. several people have confirmed they could get KiCad to open the schematic and layout files, som have even removed small and insignificant errors (superfluous via's and inconsequential DRC warnings) things like that. Another person has created his own version from my schematics, and such.
User avatar
mahjongg
Posts: 181
Joined: Tue Nov 24, 2015 10:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by mahjongg »

I shall continue testing it after I have connected my prototype keyboard.
I heard that loading and saving does NOT lead to a crash, but will investigate this myself, and also If my fake loading-bar logic works as intended.
After I am more or less finished I will start on designing a PSG expansion board with an AY-3-8912 sound generator (compatible with the older ZON-81 PSG boards, and software written for it). but my board will also expand the RAM to 32K, and add another 8K ROM with code for loading files from the SD-Card interface I have added to my PSG expansion board (a ZX81+35 version is already working)
This version should be compatible with either a real ZX-81, or my ZX-81+38 (with the later having the RAM and ROM expansion already on board)

P.S. I used a inbound W27C512 EEPROM (electrically erasable, but still 27Cxx compatible, and it worked fine (after the clock inverter.
P.P.S note due to the large amount of RAM, the inverse-K cursor might take a second or two to appear, as the ZX-81 does a ramtest on startup.

for more info follow my projects on www.revspace.nl and on my pages in the offtopic section of the raspberry PI forum, https://forums.raspberrypi.com/viewtopic.php?t=254492
User avatar
mahjongg
Posts: 181
Joined: Tue Nov 24, 2015 10:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by mahjongg »

Currently the latest revision is rev 1.9, the last patches were pulldown resistors (10K, BASE to GND) on the 5 2N3904 transistors of the joystick interface.

Also I fixed some component values in the cassette interface logic, the current BOM (and component placement diagram) have the correct values.

I'm also busy with testing the cassette interface, but either my laptop headphone jack output is too soft, or the software I'm testing with (EightyOne emulator) is sending too soft a signal, any way, it seems that loading software is still difficult, even with the pre-amplifier buit into my ZX81+38.

I now have also released on GitHub a specific ZX81+38 version of my keyboard PCB, which now should fit into the slight indent in the ZX-81 enclosure.
The PCB can still be used with my paper keyboard overlay, and supports the use of a power on LED on the keyboard PCB.

I calculated the cost of the parts when bought from Reichelt, and it comes to about 40 euro, including the 40 keyboard buttons.I guesstimate the prices for the two PCB's as around 10 Euro.
User avatar
mahjongg
Posts: 181
Joined: Tue Nov 24, 2015 10:25 pm

Re: I started on my new ZX-81 replacement board (kit) ZX81+38

Post by mahjongg »

It seems the chip crisis also affects the availability of the 27C256. If you can't find one, you can opt to use an 28C64, (8K x 8 EEPROM) available from Reichelt https://www.reichelt.nl/nl/nl/eeprom-64 ... ol_2&nbc=1

yes, you need to change a wire bridge, as the 28C64 has a different pinout than a 27C64 but in this case that isn't a very big deal.
For a 28C64 the only real difference is that pin 27 must be tied high so that /WR is inactive, so switch jp10 to tie pin 27 high, not low.

It is expected that 27C256's will become available beginning next year (2023).


Another solution is to buy a new old stock EPROM , the ones with a glass windows form a Chinese reseller these have the exact same pinout as modern OTP's as OTP's simply contain the same DIE (chip) as UV erasable EPROM's, so they have the exact same pinouts as OTP's.
Post Reply