ZXDS custom ROMs documentation
==============================

To replace the standard builtin ROMs with custom ones, simply place the ROM
file into /ZXDS/ROMs directory. Each model uses specific ROM file, named
48.rom, 128.rom, pentagon.rom, plus2.rom, plus2a.rom, and plus3.rom, respectively.
Note that each ROM has to have the right size - 16K for the 48K model,
32K for the 128K, Pentagon, and +2 models, and 64K for the +2A/+3 models.
Once you start ZXDS, you can check the log for the list of custom ROMs detected.

With custom ROMs installed, you can toggle between custom and standard ROM
simply by resetting the machine multiple times. You can also load other
custom ROMs from the load requester - but note that those will last only
until the machine is reset. Still pretty useful for testing multiple ROMs.

In either case the tape and disk autoload will automatically switch back to
the standard ROM set. If you would really want to load the tape with the
custom ROM installed, you'll have to start the tape loading manually
(i.e., by typing LOAD "" or using the Tape Loader, etc.). With disks it is
a bit easier - you can trigger native TR-DOS autoboot even with custom ROM set
enabled by loading the disk with R+A rather than A. For +3 disks, simply
touch Enter to use the standard Loader from the +3 boot menu.

The Beta Disk interface itself uses the builtin TR-DOS 5.03 ROM for all
models by default. However, it is possible to replace it with specific
variant for each model as well. Simply put the appropriate ROM into
beta48.rom, beta128.rom, trdos.rom, and betaplus2.rom, respectively.
Beta Disk is not compatible with +2A/+3, so no custom ROMs for those machines.

Note that ZXDS supports both Beta 128 and Beta 48 Disk Interface in 48K mode. Simply
use the appropriate ROM file and ZXDS shall switch the hardware emulation accordingly.
The Beta 48 ROM files are detected by JP opcode at 0x3c00, which seems true 
for all the Beta 48 ROMs out there (TRDOS 3.0, CAS, CBI95, IDS91, Arcade).
Just make sure the ROM is always 16K large - simply concatenate any shorter
ROM several times to turn it into a 16K ROM. Also remember to use the R+A
mentioned above to autoload the disk with your custom TR-DOS ROM installed.

The SZX snapshots will happily preserve whatever custom ROM set you have
installed, so you don't have to worry about that. Just note that Z80 snapshots
are not capable of storing custom TR-DOS or +2A/+3 ROMs, so don't try that.

To try it all out, you can find several custom ROM sets in this directory:

builtin - This is the standard ROM set which ZXDS has already built in.
          It's here just for the reference purposes. Installing it into
          /ZXDS/ROMs directory is just a waste of free space.

plus2a  - This is the +2A/+3 version 4.1 ROM. ZXDS normally uses version 4.0
          for both machines. The newer ROM version was however reportedly installed
          in some +3 machines and many +2A machines, so here it is if you prefer that.
          
opense  - Neat replacement of 48K ROM by Andrew Owen. You can find most
          recent version and more info at http://sourceforge.net/projects/sebasic/ .

spanish - This is the official Amstrad ROM set used for the Spanish market.

tk90x   - This is the ROM set for emulating TK90X, ZX Spectrum clone popular
          in Latin America. The Beta Disk ROM comes from the accompanying CBI95,
          one of the Beta 48 Disk Interface clones compatible with TK90X.
          While this creates quite faithful emulation of the real TK90X, 
          note that ZXDS still emulates the original Spectrum hardware only -
          it doesn't attempt to emulate the subtle TK90X extensions (b7 of #FE, b6 of #FC).
          


And that's all. Have fun emulating your own heavily customized Spectrum machines.
