TL/DR: See my Github repo.
What is BeebScott?
It’s an umbrella term for (1) an interpreter program that runs on the 8-bit BBC Micro computer and lets you play Scott Adams text adventure games on said Beeb; and (2) a Perl script that converts TRS-80 Scott Adams v8.x .DAT files (or ScottKit .sao files) for use with said interpreter (or “terp”). But when I use the word “BeebScott” I usually mean the terp specifically.
Here’s a video demoing the process of converting the Adventureland .DAT file for use with BeebScott:
What the..?
I know, right?!
Why?!
Why not?
Seriously. Why?
Largely because of Jason Compton’s game Ghost King: I was tickled by the idea of Scott Adams colliding with Shakespeare, and I thought it would be amusing to port the game to another retro platform — viz. the Beeb — but there was no way to do it. I couldn’t get my head round tautology’s existing toolchain, so that was a non-starter, and in any case I knew that his interpreter still needed work.
So I decided to embark upon the madcap scheme of writing my own interpreter and conversion utility. After all, I had form when it came to porting Scott Adams games and terps to the Beeb. And lessons had been learnt. (Yeah, right.) How hard could it be? (Answer: quite hard.)
Is BeebScott any good?
Not really, no. It’s all a bit ramshackle, to be honest. The terp, being an evolution of my v4.x Scott Adams terp for Pirate Adventure, is written in BBC BASIC, so it runs a tad slow. But it more or less works. And the inconvenience can be reduced if you use a BBC Micro emulator and just bump up the emulation speed. Plus, at time of writing, BeebScott is the only tool that can port Scott Adams or ScottKit games to the Beeb — or at least it’s the only such tool that I know how to use.
(One positive side-effect of creating BeebScott was that I ended up writing a “test game” — a game data file that can be loaded into any Scott Adams interpreter to test its ability to handle various edge cases that may appear in Scott-Adams-format games. The development of the test game was informed by a long but fruitful discussion on the IntFiction.org forum.)
Why didn’t you just write the terp in machine code, which is fast?
Because I don’t know machine code, and I’m not enough of a masochist to start learning it now. (Also, see the video, below, of BeebScott running on a real BBC Micro with a 32MHz co-processor. Snappy!)
Sigh. Okay, fine, where can I find out more and/or play some games in this slug-slow interpreter of yours?
Thought you’d never ask. Go to my Github. And don’t come back. Thanks.