Use the Spectrum 128 style menu below to navigate to the various sections concerning the ROM disassemblies.

ROM Disassembly Main Menu Title
Spectrum 128
Spectrum +2
Spectrum +2A/+3
Spanish Spectrum 128

Spectrum 128 ROM

The Spectrum 128 contains 32K of ROM, divided into two banks of 16K referred to as ROM 0 (Editor ROM) and ROM 1 (BASIC ROM). At power on, ROM 0 is active and contains the menu system, the 128 BASIC editor, the new 128 BASIC commands, the Calculator, the Tape Tester and Tape Loader. ROM 1 contains a slightly modified version of the standard Spectrum ROM, and includes the keypad scanning routine and test screen in the previously unused area at the end of the ROM.

The Spectrum 128 ROM 0 disassembly was originally initiated by Matthew Wilson. I incorporated all of my disassembly notes into this to form a single unified version and then proceeded to complete the disassembly. The latest release, and all future enhancements, of the ROM 0 disassembly can therefore also be found on his website, along with very useful HTML and PDF versions that Matthew has produced.

The Spectrum 128 ROM 1 disassembly is built upon the Spectrum ROM disassembly produced by Geoff Wearmouth (who also has disassemblies of the ZX Interface 1 ROM Editions 1 and 2, the ZX80 ROM, the ZX81 ROM Edition 2 and the Jupiter Ace ROM on his website). I have incorporated commented disassemblies of all of the new routines found within the Spectrum 128's version of the BASIC ROM into Geoff's Spectrum ROM disassembly. Most of these new comments have resulted from my work on the Spectrum 128 Keypad and Spectrum 128 Scart Cable.

Click here to download the Spectrum 128 ROM 0 Disassembly (dated 4th August 2017).
Click here to download the Spectrum 128 ROM 1 Disassembly (dated 13th December 2011).
Click here to download a dump of the Spectrum 128 ROM 0.
Click here to download a dump of the Spectrum 128 ROM 1.

The Editor ROM of the Spectrum 128 contains 43 bugs, although some of these never actually manifest themselves to cause problems.

Click here to view the Spectrum 128 ROM 0 Bug List (24th January 2017).

The Spectrum 128 ROM 0 contains 0.5K of unused routines that are remnants from the original Spanish Spectrum 128. I have used this space to patch the Spectrum 128 ROM 0 to include fixes for all but one of the bugs it contains. A fix does not yet exist for the bug at $0321 which causes GO SUB entries on the stack to be discarded whenever a BASIC program stops, e.g. due to an error report.

Click here to download the Bug Fixed Spectrum 128 ROM 0 Disassembly (23rd January 2017).
Click here to download a dump of the Bug Fixed Spectrum 128 ROM 0.

I have ported the Spectrum 128 ROM to work on my ZXC2, ZXC3 and ZXC4 Interface 2 PCBs, thereby creating a Spectrum 128 Emulator ROM cartridge. Screenshots of the Spectrum 128's menus and 128 BASIC mode can also be seen on this page.