The everyday blog of Richard Bartle.

RSS feeds: v0.91; v1.0 (RDF); v2.0; Atom.

Previous entry. Next entry.

3:42pm on Thursday, 25th September, 2008:

Burned Deep


In my second year as an undergraduate, I had to write a program in MACRO-10 assembler. I decided to do a multi-player space combat game, using ASCII graphics. Spaceships were ^ > v <, depending on what direction they were facing, and stars were * . There was also a base, O, which would restore damage if you docked. Because the terminals we used could support characters in two brightnesses, I had two layers: bright was at the front, and dark was at the back. One technique people used was to hide behind a bright star or the base, blasting away at passers-by without their being able to see who was shooting at them.

Close to the deadline, I created a list file to hand in. A list file, for those who never programmed in MACRO-10 assembler, is a version of the source code after it has been assembled: it has line numbers, it expands macros, it replaces symbolic addresses with numerical ones. Basically, it's the same as the source but padded, expanded and reformatted. Because of this extra information, you can't use it as source code itself — it's a processed version of the source. To edit a list file in order to reconstruct the source would take hours of painstaking, tedious work.

A list file also takes up a lot of room (well, it does when you only have an allocation of a few K), so when you've printed it off, you delete it.

Instead of typing DEL SPACE.LST, though, I typed DEL SPACE.MAC . I only noticed when I typed COPY SPACE.BAK=SPACE.MAC and it couldn't find SPACE.MAC . My previous backup was several days old and useless. I had to edit the list file to recover the source.

28 years ago, that happened, and it still hurts.

Latest entries.

Archived entries.

About this blog.

Copyright © 2008 Richard Bartle (richard@mud.co.uk).