A cassette holding a Sinclair ZX Spectrum 48K ROM image, saved so that it can be loaded into a Timex/Sinclair 2068 and burned onto an EPROM, for use in a Spectrum emulator (ROM switch) for the 2068. The tape has a single 16,384-byte CODE block named emul. The hand-written J-card reads “2068 Spectrum Emul Code”, and the instructions on the cassette read:
LOAD "" CODE 30000,16384 Them prgm EPROMS from DATA 30000-46383
The header records the block as saved from address 0, so it has to be loaded with the explicit address shown. The download has the tape as TAP and TZX, and photos of the cassette and J-card.
Program Analysis
The block is the standard Spectrum 48K ROM (the “© 1982 Sinclair Research Ltd” version) with 11 bytes changed:
- Address 006D in the NMI routine:
JR NZbecomesJR Z, the well-known patch that makes a non-zero NMIADD (23728) usable as an NMI vector. - Addresses 0001–0004, just after the opening
DI, are changed. - Eight bytes are added in the unused area at 386E:
DI,XOR A,LD DE,FFFFandJP 11CB, a copy of the ROM’s original start-up code.
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

