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...
It's now time to try something more ambitious: a new, improved ROM version of Arcade Game Designer for the 128K machines. Getting AGD into 16K on a 48K machine was a struggle (although a lot of fun) but the 128K machines had two 16K ROMs. Now a chap could have a lot of fun rewriting those...
The latest native version of AGD is 4.8 and that could be rewritten to fit inside the 128K ROMs. But we don't want to do that, do we? No, of course not! What we really want is a tool that blows all previous versions of AGD and its derivatives clean out of the water. Let's face it, AGD was originally written in 2008 and aspects of it have not changed a great deal since then. Some of the editors were taken from Platform Game Designer and that was originally written in 1995 when my coding ability was nowhere near what it is now. The compiler is simple and memory is limited. AGD really needs a total rewrite so with that thought in mind, I have begun work on AGD 5 for the 128K ROMs. It's going to be such a leap forward I may even decide to give it a different name...
I've thrown away the 2008 compiler and am writing a new one from scratch. It blows the old compiler away. Those used to programming in AGD 4 are not going to believe the freedom and capabilities AGD 5 will give them. There's a brand new engine too. I'm still messing around with it, the sprite code is a nightmare to write but I hope my efforts will be appreciated by users. Then there are the editors; I've taken a hint from Allan Turvey's AGDx mods and they're far better now. Even the script editor is getting improvements.
Finally, as I'm rewriting the ROM I can rewrite the keyboard routines. You can't type very quickly on a Spectrum because the ROM keyboard routines were not developed with decent keyboards in mind. Essentially the Sinclair ROMs required the first key to be released before recognising a second but that's not how people type unless they're wearing gardening gloves. I enabled fast typing in my first AGD ROM, it will be there in the new one.
I'm going to turn the 128K ZX Spectrum into a (1980s) professional game development tool. Wish me luck, there is much work to do, a mountain to climb.