x128 Instructions
02/10/2024


Menus:

F1 Help F2 NMI F3 Hardware options F4 Control options F5 Load snapshot F6 Save options F7 Load tape F8 Tape options F9 Save screenshot F10 Quit F11 Sound options F12 Disk select

Shift-F11 Video options

Alt-F1 POKEs/Trainers Alt-F2 Alternate NMI Alt-F7 Tape browser Alt-F8 Pause/Unpause tape

File Formats INI/command line DOS Windows


Model Select

To select a sub-menu, you may press 1-6 or press < or > to move left and right.

Some pages will be different, depending on which machine you are emulating.

(Note: This means that reset is now F3, 1, Return, instead of just F3, Return. This can take a little getting used to, and I'm not sure if I'll keep it that way).

 

 

Items in cyan should be considered incomplete.

F3_1 menu

To select a machine, move to it with the cursor keys and press Return - this will cause a reset.

If you want to switch to a machine without resetting (for example, to save a snapshot in a different mode), press Space instead of Return. This will only work if the machine types are compatible (only from one ZX Spectrum to another).

 

ZX80 and ZX81 emulation are completely kaputt. You will just get a buzzing, rolling screen.

Spectrum 48, 128, +2, +2A, and +3 are self-explanatory. The Spectrum +3 has its own built-in disk drive.

Pentagon 128 is a Spectrum 128K clone with a built-in Beta 128 interface. It also supports a 16-colour mode, notably for the Pang game demo. Note that while it says 128 here, it's actually emulating 1024K, so you can run that version of Robocop 1024 with the FMV clips between the levels.

Scorpion 256 is a 256K clone with a built-in Beta 128.

Sinclair Profi+ is a clone with 1024K and a Beta 128.

ATM Turbo is a clone with its own 16-colour mode (and Beta 128).

ATM Turbo 2 is its successor, it also has its own 80-column text mode.

 

After this, some machines that are haphazardly added to this menu, for the lack of anywhere else to put them.

LEC (528K) has 528K.

SAM Coupe is a machine from the 90s, pitched as a Super Spectrum. It tried to compete with the 16-bit home computer market. It has a 16-colour mode, an SAA 1099 sound chip, and a DISCiPLE/+D-style interface built-in. The emulator currently gives it 512K internal RAM and 512K external RAM. Note that no wait-states are emulated, which greatly affects demos. The emulation is getting there, but needs quite a bit of work.

Timex TS2068 is a machine from the 80s. It has a different BASIC and architecture, plus some improved video modes. It was possible to make it highly compatible with a Spectrum by inserting a cartridge with the original BASIC on it. Note that it is currently has a very limited emulation. You can only load via tape loading, set to "Off" mode, so the slowest possible. It is also limited to 50hz video emulation.

Commodore 64 is a bit of a strange inclusion... it is just a curiosity. You can only load PRG and single T64 files.

LEC DDR (80K) is an 80K machine that can also provide RAM at $0000. It is compatible with Vision CP/M.

Didaktik Gama (80K) is an 80K machine with a different version of 80K paging.

At some point I will have to tidy up this menu. There are so many different variations of the 80K hardware hack, that I'll have to add some option instead of having different machines.

 


Additional Hardware menus

One thing to note, is that the emulator will allow far more interfaces connected at once than a real system would. Apart from issues like interfaces wobbling or drawing too much power, the ZX Spectrum is notorious for using partial address decoding. A significant number of interfaces will not work on a 128K because every port address that has bit 1 low, will also be written to the RAM & ROM paging register.

The emulator does not always simulate this effect, either because I don't know the exact address decoding of an interface or because I haven't bothered to implement it.

Additionally, some interfaces are downright incompatible with each other, so you may need to turn other interfaces off before the interface you want will work.

The emulator does not force you to reset between changes, but there are times when this may be sensible.

 

Use cursor keys left and right to alter these options:

F3_2 menu

 

Note: The Opus Spectra has a slight incompatibility with the Opus Discovery. The boot sector of a Discovery disk expects HL to have been set to a certain address, while the Spectra leaves it at 0. This is not a problem if the Spectra has no RAM installed, but this one does.

The result is that the Spectra reads the disk geometry from the first bytes of the Opus ROM, which makes it think the disk has 243 tracks and 49-sectors-per-track. This is very bad. The blank image I have linked to (from the main page) contains a boot sector which is happy to run on either Discovery or Spectra. It also adds the RUN command, which is not usually available.

Additionally, the FORMAT command on the Spectra is just a quick format, so it will not help with the boot sector. The utilities disk is missing, so no-one can do a proper format. There are also rumours of a later Spectra ROM that has all Discovery functionality.

 

The Swift Disc has an excellent Microdrive emulator called "EMUL", which provides very good Interface 1 emulation with 4 virtual cartridges stored on a disk. The minimum Swift Disc ROM version required to run the Microdrive emulator is 3.0, but the version of EMUL currently available seems to be a Swift Disc 2-only version, as it calls some addresses that are different in the Swift Disc 1 ROM.

 

Option Setting 128K Image Formats Notes
Betadisk Beta 128 Y TRD, FDI, FDD, SCL, $?, DSK RANDOMIZE USR 15616
Beta 48 N TRD, FDI, FDD, SCL, $?, DSK, CPM RANDOMIZE USR 15360
Beta SD N DSK RANDOMIZE USR 15360
FDC-1 N DSK BAS to drop to BASIC, RAND USR 64512 to go back to DOS
Multiface MF1OLD Y Early MF1, some models only have 2K RAM
MF1 Y Common MF1. ROM can be replaced with MF1 KDOS version
MF128OLD Y Common MF128 87.1x with HyperTape
MF128 Y Common MF128 87.2 "DISCiPLE version"
MPRINT Y MultiPrint (but printer is not emulated!)
MF3 Y Common MF3
DISCiPLE/+D DISCiPLE Y MGT, IMG, SAD, DSK ROM 3 is fully 128K-compatible
PLUS D Y MGT, IMG, SAD, DSK
Didaktik D80 ON ? D40, D80, 000
Interface 1 ON Y MDR INI file loads V2 of ROM by default
Wafadrive ON N WDR Incomplete - read-only
Opus Disc Discovery Y OPD, DSK ROM 2.2 is fully 128K-compatible
  Spectra N? OPD, DSK FORMAT command is just a quick format
SpeccyDOS ON N? SDD, DSK
Swift Disc Swift Disc 1 Y DSK Can be used at the same time as the Interface 1
Swift Disc 2 Y DSK Can be used at the same time as the Interface 1
Rocky Gush ON N? DSK Each side of the disk is treated as a separate drive
Watford SPDOS / Kempston SPDOS Y? KDI, DSK Watford SPDOS requires a system disk to start
KDOS N KDI, DSK Modded ROM can run in 48K locked mode
KDOS128 A6 Y KDI, DSK 128K-compatible modification
Clive Drive ON Y QDD
Macronics FIZ ON N RDD Modded ROM can be used on a 128K

 

F2 and Alt-F2 allow you to assign a particular NMI to these keypresses. It would be fairly common to have a Multiface attached at the same time as another interface with a magic button, so it is possible to assign one to each key.

Option Notes
Normal NMI Normal NMI without paging any ROM
Betadisk Snapshot Beta 48/128 snapshot - will only work with TR-DOS 4.0 or greater
Scorpion Monitor Goes into Scorpion Monitor
Multiface Goes into Multiface menu or installed program (e.g. Genie). Break + NMI will uninstall Multiface program
DISCiPLE / +D Snapshot DISCiPLE ROM 3 needs Caps-Shift pressed as well. 3 = Save Scr, 4 = Save 48K snap, 5 = Save 128K snap (press Y if screen changes, N if it doesn't)
SpeccyDOS Magic Button Magic 2.x NMI routine must be loaded from disk first
Swift Disc DOS Goes into DOS, many commands available
Rocky Gush NMI Saves a 48K snapshot to disk with a name like "nmi0"
Clive Drive Keymaster Press 1 - Save 48K snap (the entire disk side!), 2 - Save screen, 0 - return
MB02 NMI Requires a routine to be installed first?
Convoy CDOS Magic Button Press 1 for 48K snap in IM 1, 2 for 48K snap in IM 2, 3 to save screen. Default name: "CDF!" or "$CDF!" Rename the file before saving another!
Videobit S80 NMI Sym+9 = CAT, Sym+0 = Format, J = Load, S = Save, Sym+J = Load Snap, Sym+S = Save Snap, Caps-Shift = Exit, Sym+Space = Back out of certain menus
Pera Putnik Snapshot Saves part of snapshot, then drops to BASIC. Type MOVE "filename" to save the rest of the snapshot using that filename
HiLow DataDrive NMI Not much use without an emulated drive. Press 1 + NMI to reset, Space + NMI for copyright message

 

CPU Mhz will allow you to change the number of emulated CPU cycles, from 3.54 Mhz up to 70.80 Mhz. Note that this is not the same as increasing the emulator speed because the vertical blank interrupt is still at 50 hz. This option is excellent for slow games like Outrun, the Freescape games (Driller, Dark Side, Total Eclipse, Castle Master, etc), and others. Although no attempt at realism is made, so wait-states and "re-triggering interrupts" will definitely not be accurate.

 


F3_3 menu

 

You cannot load from cassette while the Pera Putnik Floppy interface is active, so you have to keep switching it on and off. It can be more stable if you do this while in a PAUSE 0. This interface replaces BASIC with its own variant, and you have to type everything out letter-by-letter. Note that you have to put a space between LOAD and the first quote mark.

The Challenge Sprint custom cassette deck is not emulated. While you can't do much with this, if you have a suitable snapshot, you can break in and type SAVE "x" CODE 16384,49152 and live out your fastloading dreams (it takes 1 minute and 10 seconds).

Option Setting 128K Image Formats Notes
SDI ON N? ? 1541 not emulated. Type RANDOMIZE USR 16000 to start
Logitek Proceed ON N? ? 1541 not emulated, supports unemulated 80K RAM extension
TurboDrive ON Y DSK
Timex FDD ON Y? DSK Has its own Z80 CPU, needs a system disk
MB-02 ON Y DSK, MBD Needs a boot disk, only older (non-IDE) ones seem to work
Convoy CDOS ON Y DSK Goes into USR 0 mode
Videobit S80 ON N? DSK NMI required for CAT, ERASE, FORMAT, etc.
Pera Putnik Floppy Interface ON Y? DSK Goes straight into 48K lock mode
HiLow DataDrive ON Y? ? No drive emulated
Challenge Sprint ON N? ? No cassette deck emulated

There's room for more on this sub-page...

Again, you may set the NMIs and the CPU Mhz here. See above for the list.

 


F3_4 menu

Option Setting 128K Notes
Currah Microspeech ON N SP0256-AL2. Has ROM with commands. By far the most popular speech synthesiser, it is supported by a number of games
Cheetah Sweet Talker ON Y? SP0256-AL2
Fuller Orator ON Y? SP0256-AL2. Supports speech in Chuckie Egg
DK'Tronics Speech Synthesiser ON Y? SP0256-AL2
Datel Vox Box ON Y? SP0256-AL2
AY (1st) Mode AY-3-8912 Y Standard 128K Spectrum
  YM 2149 Y Some clones
  AY-3-8930 Y The noise channel on the AY-3-8930 (when switched to its extended mode) is not emulated. Nothing supports this!
  YM 2203 Y Does not generate any FM sound. Only the status bits are emulated to allow certain demos to proceed (mostly silently)
AY (2nd) Mode OFF Y Standard 128K Spectrum
  AY-3-8912 Y Turbosound add-on
  YM 2149 Y Turbosound add-on
  AY-3-8930 Y The noise channel on the AY-3-8930 (when switched to its extended mode) is not emulated. Nothing supports this!
  YM 2203 Y Does not generate any FM sound. Only the status bits are emulated to allow certain demos to proceed (mostly silently)
SAA 1099 ON Y Some Turbosound add-ons. The same ports as the SAM Coupe. Supported by the game Krunel
AY in 48 Mode ON N/A Adds an AY chip (at the usual 128K ports) to the 48K model
Fuller AY ON Y? AY at non-standard Fuller addresses. Combine this with Fuller Orator to get a Fuller Master Box. Note: Fuller AY is currently broken
SpecDrum DAC ON Y? Cheetah SpecDrum 8-bit DAC, it can produce some nice drum sounds
Covox DAC ON Y? One channel 8-bit DAC. Used on some clones
Stereo Covox DAC Stereo Y? Two channel 8-bit DACs. Used on some clones
  Soundrive Y? Four channel 8-bit DACs. Used on some clones

 


F3_5 menu

 

There is a version of Monty on the Run using the MB03 SID chip. To save you some time, I will tell you that you have to run it in USR 0 mode. (Type USR 0 in 128K BASIC, then load the TAP file).

Please note that my SID chip emulation is not very good.

Option Setting 128K Notes
ULA 64/ULA + ON Y Allows for a much greater palette. Supported by some modern games
Spectra ON Y? Allows for a greater palette and new video modes. Supported by some modern games
 
SID Chip TSID Y? I can't actually remember what this is...
  MB03 Y? No other part of the MB03 is emulated. Use USR 0 mode for Monty on the Run!
 
AY 128 MIDI ON Y Directs the output from the PLAY command in 128K BASIC to the default MIDI device
Zombie Zombie MIDI ON Y This games uses a unique cable that plugs into the serial port in the Interface 1 (you must activate this as well)
RAM Music Machine ON Y Partially emulated. 8-bit DAC (emulated), MIDI output (partially - interrupt speed is wrong), MIDI input (not emulated)

 


F3_6 menu

 

Here you can change some of the ROMs that are currently loaded. Not all are available to change, and you can see that I will soon fill up my sub-menu system once I do add them all...

Load 48K ROM is currently the only way to use an Interface 2 ROM cartridge (it must be the standard 16K).

The DISCiPLE/+D may use a 16K ROM/RAM mixed image, so that you do not have to boot it up every time. First you need to boot up your system and get the configuration how you want it, then save out a 16K image by typing out the following:

For the DISCiPLE:

POKE 30000,243
POKE 30001,219
POKE 30002,187
POKE 30003,219
POKE 30004,123
POKE 30005,118
            
RANDOMIZE USR 30000
        

Or, for the +D:

POKE 30000,243
POKE 30001,219
POKE 30002,231
POKE 30003,118
            
RANDOMIZE USR 30000
        

Then, go into the F6 menu and set the start address to 0 and the length to 16384, and "save memory chunk" to the ROMS/MGT directory. You can then choose this ROM by loading it in this menu, or from the INI file, with the DISCiPLEROM or the PLUSDROM options (see the INI/command line page for more information).

This will work fine with any +D ROM, or a DISCiPLE System 3 ROM. An earlier, DISCiPLE System 2 ROM will still need OUT 123,0 to reactivate it after every reset. That's just how the older one worked.

 

 

The Multifaces may use a 16K ROM/RAM mixed image, so that a program may be preinstalled (e.g. Genie or Lifeguard).

Press Caps-Shift + Space + NMI to uninstall a Multiface program and go to the usual menu. If your keyboard does not allow this combination, try Caps Lock + Space + NMI.

 

If you wish to make your own Multiface 16K ROM/RAM image, using a pre-installed program (to save you from loading it every time), you can do this for MF128:

POKE 30000,243
POKE 30001,219
POKE 30002,191
POKE 30003,118
            
RANDOMIZE USR 30000
        

Or this for MF1/MF128OLD:

POKE 30000,243
POKE 30001,219
POKE 30002,159
POKE 30003,118
            
RANDOMIZE USR 30000
        

Then, go into the F6 menu and set the start address to 0 and the length to 16384, and "save memory chunk" to the ROMS/MF directory. If it is named GENIE1.ROM (for MF1), GE128OLD.ROM (for MF128OLD), or GENIE128.ROM (for MF128), it will be automatically loaded when you run the emulator.

 


Some pages are different in SAM Coupe mode. Page 3-6 are not relevant at all, and should not be there!

Page 2 in SAM Coupe mode:

F3_2 menu (SAM)

Help Screen

Please note that the DACs for the SAM Coupe sound a bit odd, and it's something I'll have to look into.

All of the parallel port DACs are emulated on port 1. The Mono DAC can't be on at the same time as the EDDAC/SAMDAC.

 

Interfaces sold by Quazar have been safely deactivated from a distance, and I have no idea if I'm allowed to emulate them yet. The SID player for the SAM Coupe is very nice, it's a shame you can't hear it!

Option Setting Notes
EDDAC/SAMDAC ON Stereo 8-bit DAC
Mono DAC ON Mono 8-bit DAC
Blue Alpha Sampler ON Mono 8-bit DAC
Blue Alpha Voicebox ON SP0256-AL2
     
Quazar Surround Sound OFF! 4 channel 8-bit DAC
SID Card OFF! SID Chip interface


(C) Jane McKay, 2024.