My recent site additions are all for the first computer that our family owned, the ZX Spectrum. Way back in 1983!
I’ve created a new section – ZX Spectrum – BASIC Rips – which is about 70% complete for what I plan for it. Several sections are ready and usable, but there are a few that I need to spend a bit more time with.
The intention of this new section is to show how you can extract the original Spectrum BASIC listing from a snapshot or tape file for a game that you know (or suspect) is written in the original Spectrum’s language. There are sections covering what steps that you need to look out for, especially tricks from way back when and (eventually) how to recompile that game for your Spectrum.
Or speed it up by rewriting it using Boriel’s BASIC. Alternatively, why not port it to another machine from the past?
What’s Done – What’s Not?
So far, I’ve done the following:
a) Brief introduction to tools used and picking an example game (Lords of Sagan)
b) Opening and extracting the BASIC from the original file
c) What to look out for in the extracted text file
i) Code savings
ii) Extended Mode Graphics and how they’re represented
iii) Embedded Colours and how they’re represented
a) Compiling back to a Spectrum .TAP file using ZMakeBAS
b) Porting code to Boriel BASIC – so your games run much faster
c) Porting to other machines – although this is a long way off
What can I look at?
I’ve uploaded a lot of examples, in many gaming genres (and some utilities) for you to look through. They can be found on the ZX Spectrum – BASIC Listings page.
Each download comes with the BASIC source code in a text file, along with the original target file that was used.
These will be tweaked when time permits to include any notices that I think you need to be aware of, such as UDGs, Z80 machine code extras and any sneaky bits that you need to be aware of.
Onwards and upwards!