"Take the zx80.rom file and burn it into a 2532 EPROM (not 2732!). Replace the ZX81 ROM with this 2532 and disable the NMI signal from ZX81 ULA by cutting the connection from ULA to Z80A CPU."
Source - ZX-Team page
As many zx81 ROMs were soldered in then the thought of cutting the NMI line shouldn't terrify the curious experimenter
there is a way to get a ZX80 ROM running without problem without the need of cutting the NMI line.
It is taken from the german ZX-Team forum, where it was posted recently by the original user holmatic:
http://forum.tlienhard.com/phpBB3/viewt ... ?f=2&t=412
The first instruction in a ZX81 ROM is OUT (FD),A which turns off the NMI-Generation in the ULA.
The ZX80 neither knows anything about any NMI-Generator, nor a ULA, so this command is missing in the ZX80-Rom.
The Sinclair-like simple and cheap trick is to emulate this command before starting the CPU.
It is done by four resistors soldered on top of the CPU:
Code: Select all
Z80CPU /IORQ ------[R2K2]------ GND /WR ------[R2K2]------ GND /A1 ------[R2K2]------ GND /A0 ------[R2K2]------ +5V (All resistors 2,2K Ohm)
The ZX81 still does the out command, but initiating this twice doesn't matter, so the zeddy runs fine and can be provided with a ROM-selector as shown in holmatics article.
No other switches no more.
Charlie wrote: "It should be possible to fabricate a harness from a turned-pin socket so nothing needs to be soldered directly to the CPU..."
I did that - no problem at all. The ROM-Mod work´s perfectly - now we only have to change the Adress for the VDRIVE-USB-IF - than the ZX80 has USB, too
if it´s not okay, it´s not the end.
and: uıɐbɐ ʎɐqǝ uo pɹɐoqʎǝʞ ɐ ʎnq ɹǝʌǝ ɹǝʌǝu ןןıʍ ı
So, I've been thinking.
ZXpand allows 2 banks of ROM.
What if bank 1 was a modified ZX80 ROM? As the zx80 ROM is only 4K then extra instructions to turn off the NMI generator could be patched into the reset routine.
Code: Select all
;; START L0000: LD HL,$7FFF ; top of possible RAM. LD A,$3F ; page before RAM. JP L1000 ; forward to PATCH. ... ;; PATCH L1000: OUT ($FD),A JP L0261 ; back to RAM-FILL.
Would that work I wonder??
I'll let you know
It doesn't crash, but the character set is borked. Is there something about the accesses to the ROM which requires some trickery like the zx81 does?? Is all the extra discrete circuitry essentially performing the same job as the ULA during video access, IE, turning on the ROM during REFRESH and putting NOPS on the data bus?
Or the resistors can Be added to your zxpand so no Rom Ganges for this is needed.