A downloadable tool

Download NowName your own price

A replacement firmware for ZX Spectrums based on version 1.4 of the Derby development ROM.


Sky In-Home Service Ltd has kindly given its permission for the redistribution of its copyrighted material but retains that copyright.

Use of the ZX Spectrum ROMs in unlicensed hardware is prohibited.
Use of esxDOS is covered by the esxDOS license (http://www.esxdos.org).


The Spectrum 128 was a Spanish machine commissioned by Investronica and launched in 1985. It shipped with a keypad that provided additional editing keys. The UK version got a simplified ROM and no keypad. Derby++ is an enhanced version of the ROM that shipped with the Spanish machine. It has the following features:

  • Fastest version of 128 BASIC.
  • All modes work with esxDOS on divIDE and divMMC.
  • Works with Multiface (128/3).
  • Supports 128 BASIC with Spectranet.
  • 48 mode ROM is 100% compatible with the original ROM (because it is the original ROM).
  • When CAPS LOCK is off, lower case text is tokenized.
  • When CAPS LOCK is on, SHIFT produces lower case text.
  • Will run software compiled with HiSoft BASIC 128  (although not the editor itself).
  • New mapping of extra editing keys.
  • Fully bug-fixed and optimized editor and BASIC.
  • Variables are persistent (not CLEARed when a program is RUN) in 128 BASIC.
  • The SPECTRUM command is replaced with the PALETTE command for ULAplus.
  • Default 16 color palette (enables mixing of any two colors).
  • PLAY command supports six channel AY (TurboSound).
  • TR-DOS menu.

It has the following features in common with the Spanish 128:

  • Full-screen string editor.
  • Running calculator (use from BASIC as if you were in the calculator option on the UK machine).
  • Five new direct commands.
  • PLAY command.
  • Use keywords as variables by entering them in lower or mixed case (when CAPS LOCK is on).
  • Use embedded control codes.
  • Set the INK and PAPER colors of the editor.
  • Much faster editor than the UK machine.

Derby++ requires a 64K ROM machine. For 32K ROM machines, Derby+ is included. This includes the refactored 128 editor and the original 48 ROM. It has the following features:

  • Use all UDGs in 128 BASIC.
  • Hold down BREAK during power on or reset to boot into 48 mode.
  • Hold down ENTER during power on or reset to autoload a tape.

For 16K ROM machines, Derby is included. This is the original 48 ROM.


Includes a complete version of esxDOS 0.8.7 with all the known third-party extensions. 

Includes the .PLAY command for esxDOS that replicates the PLAY command from 128 BASIC for use with 48 BASIC. For example:

10 LET a$="T180O6(CDEC)(5EF7G)(3GAGF5EC)5Cg7C9CgC"<br>20 LET b$="O4(CDEC)(5EF7G)(3GAGF5EC)5Eb7E9EbE"<br>30 LET c$="O3(7CG)(7CG)(7CG)5GD7G9GDG"<br>40 .PLAY a$,b$,c$


Z80 source code is included that can be used to build a copy of the original unmodified ZX Spectrum ROM (Derby), a 32K ROM (Derby+) or the full 64K ROM (Derby++). It compiles without modification with Pasmo (http://pasmo.speccy.org/), a cross-platform Z80 cross-assembler. Using macros, the X80 FPU instruction set is supported. X80 instructions are used by the ROM's internal floating-point calculator routines. A language definition file that includes Z80 and X80 instructions (x80.xml) is provided for use with Notepad++. Using the X80 instruction set makes it easy to use the ROM floating-point routines in your own code. A comprehensive definitions file almost entirely eradicates 'magic numbers' from the source, making it easy to read, even without comments.

For further information on the ROM, Source Solutions recommends The Complete Spectrum ROM Disassembly (Logan & O'Hara, 1983).


Download NowName your own price

Click download now to get access to the following files:

manual.txt 11 kB
Derby++ User Guide.pdf 54 kB
DerbyPlusPlusPDFsource.docx 76 kB
DerbyPro.zip 437 kB