Robo-1 is back!
Finally!!! I have set up Robo-1
on GitHub - I’ve created a new repo beeb-typeins
where I’ll try and share anything I’ve pulled from aging cassettes, that had been dutifully typed in from magazines and saved for posterity. Didn’t quite have this in mind when I did that, all those years ago!
Robo-1 in your browser
Simply fire up Robo-1 in your browser, made possible c/o the amazing work of Matt Godbolt on jsbeeb and those that came before such as Sarah Walker’s C B-Em emulator.
The source code is hosted in GitHub, in raw ASCII text form (line numbers stripped). jsbeeb
is then started up to read the source code directly from GitHub (via a raw source link). The code is effectively typed in at the command line - as if AUTO
had been typed beforehand, via the loadBasic
URL parameter. The parameters autorun
and embed
are used to then start the code, and to make it look prettier in a web page, respectively.
The code needs to load from cassette at PAGE=&0E00
, otherwise LOMEM
sneaks above &3000
and MODE 2
is no longer available. I’ve struggled to get jsbeeb
to go straight to *TAPE
with a lower PAGE
value, so lazy workaround for jsbeeb
is to get it to emulate a BBC Master… URL argument is model=Master
.
Where’s it been?
Well, alas Computer & Video Games missed part of the listing out when the printed the magazine all those years ago, and rather then reprint the listing, offered to send a copy to anyone who sent in a stamped, self-addressed envelope.
Notes on the code
This game was written very early in my computing career… back in school when I’d just started learning how to code BBC BASIC, so it’s rather simple - managed to use PROC
rather than GOSUB
but there are still some GOTO
s in there…
The graphics were before I knew about assembler and sprites, so multiple custom characters had to be defined instead - as they are single colour, multiple passes were required for Robo-1. I ran out of steam for the ghost and the money. You can see that Atic Atac had recently been published - I loved that game, so there’s a minor homage with the above view of the room.
Sound effects were at the same level of complexity - low! A rather clunky 2001 extract to start with, and a beep to let you know Robo-1 has moved… at least a slightly alarming siren let you know when you’ve run out of energy and failed.
Strangely enough, when rooting around I found an earlier version of the code (check the history of Robo-1.txt); I thought jsbeeb
had gone loopy - no, it was me. The older version didn’t have audio or a countdown timer (“energy bar”).
The collision detection is rudimentary - check colour of pixel to top right of Robo-1; if yellow - congratulations! Collect the money. Note that yellow is only used (outside Robo-1) for the money bags.
Final thought on the game is that, there isn’t a “win” condition - just a high-score, and an energy timer to give you a challenge. So a bit rudimentary then - but, I was learning, and just happy to have some moving graphics!
Transfer process
A mildly refurbished Sony Walkman and a quickly hacked BBC BASIC tape2disc copier pulled all the data from the tape; the magic of a GOTEK gave me an ADFS disc target - which then was opened via the Mac ADFS Explorer.
Much fettling of MarkDown and one GitHub repo later, I was done :)