ZX Spectrum – Porting/Translating a game

Porting to other systems

Maybe you want to convert it/them to another version of Spectrum BASIC (e.g. Spectrum Next) or to enhance / upgrade them using something like Boriel BASIC. You could do this to add a bit of whizz and bang to a previously snail-paced game… whatever the changes are, it’s up to you.

You might even want to port the code on another machine using a different BASIC dialect altogether.

Using the hints and tips within these various sub-pages, you will find ways to understand (if you didn’t already) how ZX Spectrum’s flavour of BASIC differs from a lot of the others from the same era, or modern day.

Bearing in mind that most other BASIC flavours will need some tweaking in order for them to run similar to the original source code.

Enhancing the game

There are many, many ways to enhance an existing game. Especially the much older ones which were released with limited graphics/sound options. Here’s a few examples off the top of my head:

  • Enhance the speed it runs at using Boriel’s BASIC, perhaps? I attempted this years ago with The Leopard Lord game with a much earlier version of Boriel. I must get around the releasing that version of the game …
  • Re-release it with maybe better graphics / sound FX or add a proper 1-bit tune, e.g. use BEEPOLA for an intro or menu tune? (Note: There are many other music drivers out there – check out this page)
  • Fix bugs you’ve found and re-release the game without them?

Language translation of existing games

Using DeepL for the translation of text within a game is a lot easier than trying to thumb through a language dictionary, as we had to do back in the old days.

Load the source code into Notepad++ (or whatever is your favourite editor) and then find the text to translate, copy/paste, translate, then copy/paste the translation back into your source code.

You *will* find that a lot of text will be longer/shorter (depending on the source/destination languages) and the good old Spectrum’s 32-character limit will cause you some issues. But that’s what the thesaurus is for… find a shorter word :)

My own example

For example, I’ve translated approx 99% of a game called ‘The Black Wood’ which was released in Spanish only back in 1987. I’ve extracted the BASIC and worked out (roughly) what’s happening. I need to do a solution and create a map, so that both editions of the game (the original Spanish and the new English version) can be submitted to CASA for posterity.

Note: It’s not ready for release as of yet because of the way the text was stored (formatted for the usual ZX Spectrum’s 32-character display) and needs some rejigging and then testing, before releasing it.

When the game is ready, I’ll use ZMAKEBAS to convert it back into a .TAP file, add the extra UDG file to it and then I can release it via the Spectrum Computing website as a “new” release.

Back to ZX Spectrum – BASIC