Time-Gate graphics hack

Time-Gate is a 4D space shooting game for the ZX Spectrum from 1982 published by Quicksilva. 4D you ask?  A typo? No, it’s a 3D game with time travel, and time is the fourth dimension (apparently). It’s quite an atmospheric game, you have to explore 18 sectors of space looking for Time-Gates, sometimes this is a little tedious but somehow this adds to the sense of “realism”. It’s important to know how your spaceship is damaged: e.g. if the shields are destroyed then you’re only more hit away from being vapourised, but if the scanner is destroyed you can still continue. One shortcoming with the original is that the status indicators of the spaceship use the same graphic:

blogorig

And yes, it is worth writing them down but it breaks the atmosphere of the game to look for the envelope/credit card bill/newspaper margin I’ve written them on. I rediscovered the game recently and thought about adding icons instead of the boxes in the status indicators. I didn’t want to release a hacked version of the game for 2 reasons, 1. I don’t own the copyright to the game and 2. I liked the extra technical challenge. I wanted to produce something that would load Time-Gate, alter it then run it.

Adding the graphics wasn’t actually very difficult, all I had to do was find the memory locations storing the instrument panel. This was done by using ZX Spin’s GFX Ripper (ZX Spin is a Spectrum emulator) – luckily the graphics are stored SCREEN$/bitmap style in the game. The difficult part was overcoming the auto-run. Time-Gate loads using a self-running LOAD “” CODE block, changing some system variables. What I did was load it into a higher memory location, i.e. preserving the system variables then copying down to where it should be, which I did with 11 bytes of machine code:

LD HL,32401
LD DE,26000
LD BC,31000
LDIR
RET

Then I overwrite the graphics and call USR, this has mocked up text but shows the new status indicators:

twitterpromo

I like to think that this moment represents the start of the game when Void-Runner 1 is about to launch from Earth, after the control panels have hummed into life and the glowing screen has just shown it’s first message in 1500 years: “Void-Runner 1 on standby”. It’s near Cairo of course and the pyramids tie in nicely with the ideas of time travel, events happening over millenia.

The hack works and improves the game. I had some difficulty thinking what graphics to use for each item – the engine is represented by a * from the arcade font (it resembles a cog) and I never could work out how to represent the Jump Drive. What does a Jump Drive from a futuristic spaceship look like? I don’t know either so I just used a big letter J. All the graphics are chunky because they become coloured more darkly as more damage is sustained and thus difficult to discern if they’re thin.

You can download the hack here and if you want, you can change the graphics easily (well, easy depending on how well you know Spectrum BASIC). Press BREAK when it says “Play TIME-GATE tape”, load in new UDGs into A-F then type GOTO 9999 to save the new hack.

I still enjoy Time-Gate but haven’t yet finished it on Skill Level 5…..

Leave a comment