ZX Spectrum ROM: Arcade Game Designer

Rewriting the ZX Spectrum ROM with game editors, scripting language, compiler and game engine to turn it into a game development tool

Similar projects worth following
This is a total rewrite of the ZX Spectrum ROM in 16384 bytes of Z80 assembly language.

The original ROM contained Sinclair BASIC, which while versatile was not suitable for writing games due to its lack of speed. It was also impossible to type quickly on the machine due to the ROM keyboard routines' insistence that the first key must be released before the second is pressed. This ROM remedies these problems.

The ROM contains editors for blocks, sprites, screen layouts, map, objects, text messages and sprite positions. There is a code editor that uses a simple scripting language inspired by BASIC. There is also a compiler to turn the commands into lightning-fast machine code and a game engine that is copied to RAM on initialisation.

Games created using this ROM will run on Spectrums with the original ROM and it is easily capable of producing games that would have been of commercial quality in the 1980s and early 1990s.


Assembler source of the text used in the ROM. If you would like to translate the ROM to another language, feel free to edit this and send me your version. Individual sections can be larger or smaller but the assembled size of your translated file should be no longer than that of the English file, 933 bytes. Let me know of any font changes you require too. There's a challenge for you...

asm - 3.01 kB - 11/28/2020 at 21:26


Enjoy this project?



teraz wrote 10/04/2021 at 16:09 point

Any emulator can run this firmware?

  Are you sure? yes | no


[this comment has been deleted]

Jonathan Cauldwell wrote 11/28/2020 at 18:53 point

Yes, if the translations don't take up more room than the English.  There are 10 bytes remaining

  Are you sure? yes | no

Jonathan Cauldwell wrote 11/28/2020 at 21:43 point

Update: I've now uploaded the text as an assembler file, if you want to translate it I'll do a Polish version.  Let me know if you need any font changes

  Are you sure? yes | no

teraz wrote 10/04/2021 at 16:13 point but in my opinion x, q and v is possible in set of chars

  Are you sure? yes | no

john wrote 11/28/2020 at 03:17 point

Neat! Can't wait to try it :)

Does this allow access to extra graphics modes of a Timex Sinclair 2068 with a twister board?

  Are you sure? yes | no

Jonathan Cauldwell wrote 11/28/2020 at 18:47 point

No but I'm considering doing one for the 8 x 1 attribute mode on the TC2048.  The TS2068 does something weird in the attribute screen stored between 24576 and 30719, which I haven't looked into - if I figure that out then I'd make it TS2068 compatible too

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates