Crowther and Woods original version was one of the first computer games I ever played. At school on a paper telex machine connected to the council mainframe. When I later got a BBC Micro, one of the first games I bought was Level 9's version, and it was stunning to find it was a complete version, with all the text I could remember plus an extended endgame. It didn't seem possible to have the full mainframe game on a 32K micro.
A very weird thing happened on one occasion. I can't remember what I was doing. Probably poking around in memory trying to work out how it worked. But by complete fluke the game was outputting what appeared to be it's complete text to the screen. One of the things I saw was some text congratulating the player for completing the game, and inviting the player to send a secret message back to Level 9 HQ. And in return they would send back another adventure game. I didn't record what it said, because I wanted to complete the game properly by myself, and only then claim my free game. But as it turned out I never did complete the game with all the points, and never saw that message again.
I don't know that that version of the game exists online anywhere. It was a very early BBC Micro cassette version. Came in a standard cassette case with a green cardboard insert. Certainly the version I've downloaded recently doesn't contain any text like that in the message data.
Anyway, I digress. I have a 6502 disassembler I wrong a couple of years ago. Functional, but not polished enough to release publicly. I figured I could use that to disassemble the 6502 machine code, and then, as I learned how A-Code works, I could expand the disassembler to also understand A-code. Eventually have the one program that could list out everything 6502, A-Code, messages and dictionary.
I'm part way through disassembling the 6502, adding meaningful labels as I understand what's going on. But it got to the stage where to document what I was understanding, it made sense to write in parallel an interpreter for a-code.
So the past 3 days I've been writing a new interpreter from scratch. It's great fun. It's rather like writing an emulator. I've got to the stage where it outputs:
I'm feeling quite pleased. I'm far enough in that it's worth talking about. Next stage is getting user input working. I should say that the interpreter is very rudimentary so far. I'm writing it so it just runs Colossal Adventure v1. Later on I can perhaps expand it to run the later versions of the a-code standard.Welcome to Colossal Adventure, the original classic mainframe adventure, from Level 9 Computing
You are standing beside a small brick building at the end of a road from the north. A river flows south. To the north is open country and all around is dense forest
What now?
I should mention that both programs are written in Swift for the Mac. That's my usual programming platform.
I've read with interest the Lords of Time disassembly thread here, and also the thread on producing an A-Code specification over on the intfiction.org forum. All of the links on these threads have been very useful to me. Particularly the early draft on an A-Code spec that's up on GitHub. And the a-code listing for Snowball that someone made.