Ok, so I installed a Zif socket (I had a spare hanging around) to replace the standard socket on my ZX81. My hope was to be able to burn a collection of different EPROM's, that I could quickly switch between.
Can anyone confirm the following... I have downloaded a few different ZX81 .rom files (same as .bin file I believe) including Hforth (treeforth), Aszmic etc, and I have a bunch of 2532 (4k eproms that are possibly pin compatible with original) and 2764 (8k, but not pin compatible) EPROM's. However as far as I can tell, maybe I actually need 2564 EPROMs to be both size and pin compatible?
Also, Azsmic is a 4k file, but other ZX81 rom files are all 8k. I tried burning Aszmic to one of my 2532 EPROM's and it seems to work when installed, but after a few key presses, the screen blanks out and there is no recovery except for pulling the power. Not sure exactly why it's doing this, but it actually might have something to do will all my other hardware mods attached (ZX1541, Maplin talkback, Mpalin I/O controller, internal 16k upgrade), unfortunately the why my machine is assembled it's not so easy to unplug everything.
Anyway, I guess my question is, what EPROM's do i need, and what do I actually have to do to get this to work.
Thanks in advance
Nama
Question about burning ROM's
Re: Question about burning ROM's
While it is possible to use a ZIF socket to swap in various system 8K ROMs, it would seem simpler to use a large capacty EPROM, Flash and/or NVRAM containing multiple operating systems and select the active partition using software or a selecor switch.
In addition, such chips can store many other useful programs such as machine code assembler, hires software, etc. and make them available instantly without using tape loading.
wilf
In addition, such chips can store many other useful programs such as machine code assembler, hires software, etc. and make them available instantly without using tape loading.
wilf
Re: Question about burning ROM's
I think Azsmic relies on "ROM Shadows" and from what I remember expects an echo between 4-8k - I think it should work if you copy it twice to make it an 8k image and burn it as an 8k ROM.
e.g. copy /b aszmic.rom+aszmic.rom aszmic8k.rom
I'd agree with Wilf: make an adapter for the ROM socket on the motherboard so that a much larger device can be plugged in. Bank switching can be achieved quite simply by using pull up/down resistors on the unused upper address lines, and a switch or jumper to pull them to ground/Vcc (as you prefer). I've carried out this modification on many a Space Invaders arcade board to make a simple multigame, it's very effective.
Good luck
Chad
e.g. copy /b aszmic.rom+aszmic.rom aszmic8k.rom
I'd agree with Wilf: make an adapter for the ROM socket on the motherboard so that a much larger device can be plugged in. Bank switching can be achieved quite simply by using pull up/down resistors on the unused upper address lines, and a switch or jumper to pull them to ground/Vcc (as you prefer). I've carried out this modification on many a Space Invaders arcade board to make a simple multigame, it's very effective.
Good luck

Chad
Re: Question about burning ROM's
Hi guys,
Well, yes and adaptor and a larger eprom sounds like the way to go.
Some quick questions for you.
What is the present pinout for ZX ROM. Is it the same as 2532 EPROM?
As I already have the 28p socket in place, what would be a good EPROM to use as a replacement? 27256?
Finally, not being so technically inclined, is there a schematic showing how the pull up/down resistors on the unused upper address lines and switch works?
I can build anything, it's just that I'm never sure exactly what I'm building
Phil
Well, yes and adaptor and a larger eprom sounds like the way to go.
Some quick questions for you.
What is the present pinout for ZX ROM. Is it the same as 2532 EPROM?
As I already have the 28p socket in place, what would be a good EPROM to use as a replacement? 27256?
Finally, not being so technically inclined, is there a schematic showing how the pull up/down resistors on the unused upper address lines and switch works?
I can build anything, it's just that I'm never sure exactly what I'm building

Phil
Re: Question about burning ROM's
Hi Phil,
The ZX81 ROM is a bit of an oddball device, being 8k x 8 but only having 24 pins. Standardised JEDEC pinouts of modern day devices need 28 pins for 8k.
If you were to go for a 28 pin device, then the biggest EPROM you could fit is a 27512, which gives you 8 lots of 8k pages which should likely be enough. You can always expand to 32 pins if you need to.
Here's the pinouts in question, firstly the ZX81 ROM (a 2364 type device):
Next, here's a 27512:
A quick glance will show you that there are only a few pins which differ, and the 27512 has some extra address lines (A13, A14 and A14) which will be used to select which 8k page you wish to enable.
What I tend to do when I make up these sort of adapters is get a piece of "tri-pad" vero board, solder a socket for the big EPROM on top and solder header pins on the copper side, set slightly offset from the socket by a hole or two, these will reach down to the socket on the PCB (the ZX81 motherboard in this case). Most pins will connect directly so you don't need to do much re-routing, but those that need to be moved around to other pins need to have the copper between your big socket and header pin cut, and a small wire connected to the appropriate pin.
As for the pull up/downs - usually pull up resistors are used, but that can make things slightly confusing, as by default the selected page of your big ROM will be the last one rather than the first.
So, connect a pull down resistor (between 1k and 5k, say) from A13 to gnd, another from A14 to gnd, and again from A15 to gnd. This will pull these 3 lines low by default - page 0 of 7 selected.
Now connect a switch between 5v and A13 ( and one for each of A14 and A15 too) to pull the input high. 3 switches - 8 combinations - one for each page. I usually solder in a 2-pin header between 5v and the address line, then just use a "jumper" to close the two pins and effectively flip the switch.
You could, of course, control the page selection via software by means of an addressable latch, but I'll leave that for someone else!!
Hope this helps..
Chad
The ZX81 ROM is a bit of an oddball device, being 8k x 8 but only having 24 pins. Standardised JEDEC pinouts of modern day devices need 28 pins for 8k.
If you were to go for a 28 pin device, then the biggest EPROM you could fit is a 27512, which gives you 8 lots of 8k pages which should likely be enough. You can always expand to 32 pins if you need to.
Here's the pinouts in question, firstly the ZX81 ROM (a 2364 type device):
Code: Select all
____ ____
| !__! |
A7 | 1 24 | +5 Volts
A6 | 2 23 | A8
A5 | 3 22 | A9
A4 | 4 21 | A12
A3 | 5 20 | /CS (Chip select, active low)
A2 | 6 19 | A10
A1 | 7 18 | A11
A0 | 8 17 | D7
D0 | 9 16 | D6
D1 | 10 15 | D5
D2 | 11 14 | D4
GND | 12 13 | D3
|__________|
Code: Select all
____ ____
| !__! |
A15 | 1 28 | Vcc (+5 Volts)
A12 | 2 27 | A14
A7 | 3 26 | A13
A6 | 4 25 | A8
A5 | 5 24 | A9
A4 | 6 23 | A11
A3 | 7 22 | /OE (Output Enable; Active low)
A2 | 8 21 | A10
A1 | 9 20 | /CE (Chip Enable; Active low)
A0 | 10 19 | D7
D0 | 11 18 | D6
D1 | 12 17 | D5
D2 | 13 16 | D4
GND | 14 15 | D3
|__________|
What I tend to do when I make up these sort of adapters is get a piece of "tri-pad" vero board, solder a socket for the big EPROM on top and solder header pins on the copper side, set slightly offset from the socket by a hole or two, these will reach down to the socket on the PCB (the ZX81 motherboard in this case). Most pins will connect directly so you don't need to do much re-routing, but those that need to be moved around to other pins need to have the copper between your big socket and header pin cut, and a small wire connected to the appropriate pin.
As for the pull up/downs - usually pull up resistors are used, but that can make things slightly confusing, as by default the selected page of your big ROM will be the last one rather than the first.
So, connect a pull down resistor (between 1k and 5k, say) from A13 to gnd, another from A14 to gnd, and again from A15 to gnd. This will pull these 3 lines low by default - page 0 of 7 selected.
Now connect a switch between 5v and A13 ( and one for each of A14 and A15 too) to pull the input high. 3 switches - 8 combinations - one for each page. I usually solder in a 2-pin header between 5v and the address line, then just use a "jumper" to close the two pins and effectively flip the switch.
You could, of course, control the page selection via software by means of an addressable latch, but I'll leave that for someone else!!
Hope this helps..
Chad
Re: Question about burning ROM's
Nice explanation! I'll likely be doing something similar for (ahem) a different system tonight.
-Charlie
-Charlie