Data entry and debugging by Mike
Compute mit, February 1986.
This is a type-in game for the unexpanded VIC-20 from a German computer magazine, which had been published as an hex-dump spanning four pages. In those days, I'd never have had the patience to actually type it in by hand, but nowadays, in the Ages of OCR, I thought it might be worth a try. The listing contained checksum bytes, which hopefully (and indeed!) helped to catch errors - to a degree. However, the OCR *had* difficulties to discern '8', and 'B', and the checksum algorithm would not notice two simultaneous exchanges of these in one line.
When I had finally found all these errors, the game still didn't work: as it appeared, the first 14 bytes had been corrupted by something that looked like two BASIC variable entries. The remainder of the following code resembled a joystick routine, and from this I tried to guess, what was missing. Indeed the replacement routine I thought out is *exactly* 14 bytes in length, and quite possibly truly reconstructs the original contents.
Here's the corrected hexdump. Download DEFENDER as one of the 21 games in my unexpanded type-in collection.
The game is controlled by joystick. Press fire in the title screen to start the game. When the game is over, press left shift to restart.
The translation of the game's instructions is given below.
Cheers,
Michael
Alien invaders have landed in the Sahara desert. To reach the most important capital cities of Earth, they drilled a long tunnel under the Atlantic to America. By chance the tunnel exit has been found, and you've been assigned the task to destroy the alien invaders in the tunnel.
But beware! The enemies shoot at you, and the tunnel is secured by mines and barriers. Aim to get as many enemies you can, before they get you.
DEFENDER for unexpanded VIC-20
The program is entirely written in machine language, and uses 3 K of the available memory. For this reason, it is impossible to type in the program as DATA lines.
To type in the program nevertheless, I wrote a small monitor, which only needs 384 bytes, and so fits into memory besides the program.
The monitor is put into DATA lines. To get it into memory, proceed as follows:Type in, and start the DATA program.Code: Select all
NEW POKE44,18:POKE4608,0:NEW
Saving the monitor:Code: Select all
POKE44,16:NEW 10 SYS4324 POKE46,18:POKE45,0:CLR
With M aaaa the memory contents at aaaa are displayed, with M aaaa bbbb the range between aaaa, and bbbb is displayed. Each line contains four data bytes, and one checksum byte. If the data bytes, and checksum byte don't match, the line is rejected.
When the program has been typed in completely, the monitor is left with STOP/RESTORE.
Then enter 'NEW', and '10 SYS 6656', and also 'POKE 46,29:POKE 45,240:CLR', and save
the program.
The program has been stored on tape. The monitor, and the DATA loader of the monitor have also been saved.
To print the HEXDUMP:
Load DEFENDER, load the monitor, enter 'OPEN 4,4:CMD 4', 'RUN', and 'M 1200 1DFF'.