BeebScott: a naff new interpreter for Scott Adams text adventure games
BeebScott: a naff new interpreter for Scott Adams text adventure games
For some reason I have written a new interpreter program — or "terp" — for playing Scott Adams text adventure games on the Beeb. I've also written a conversion utility in Perl to convert existing games in Scott Adams format (or new games in ScottKit format) for use with the aforementioned interpreter. I've called the project BeebScott:
https://github.com/ahope1/BeebScott
Here's a video that demos BeebScott, converting a game from the de facto standard Scott Adams .DAT format to BeebScott format:
https://www.youtube.com/watch?v=lEjDFMw25kw
tautology had already written a Scott Adams terp for the Beeb, but it still needs work, and the conversion process is a bit hard to grok. Hence BeebScott.
Ghost King by Jason Compton is the first new game to be converted for use with BeebScott. (Some old games have been converted too.)
The BeebScott terp is written in BBC BASIC, so it's a bit slow. It could do with converting to assembler — but not by me because that would be an act of unconscionable masochism.
BeebScott relies on (1) SteveF's basictool to compress the interpreter program and to tokenise the terp and the loader program and (2) sweh's MMB/SSD Perl utilities to add Beeb program files to .ssd disc-images. Both utilities are excellent and I'm very glad they exist.
More info on BeebScott:
https://ahopeful.wordpress.com/2022/02/ ... asked-for/
https://github.com/ahope1/BeebScott
Here's a video that demos BeebScott, converting a game from the de facto standard Scott Adams .DAT format to BeebScott format:
https://www.youtube.com/watch?v=lEjDFMw25kw
tautology had already written a Scott Adams terp for the Beeb, but it still needs work, and the conversion process is a bit hard to grok. Hence BeebScott.
Ghost King by Jason Compton is the first new game to be converted for use with BeebScott. (Some old games have been converted too.)
The BeebScott terp is written in BBC BASIC, so it's a bit slow. It could do with converting to assembler — but not by me because that would be an act of unconscionable masochism.
BeebScott relies on (1) SteveF's basictool to compress the interpreter program and to tokenise the terp and the loader program and (2) sweh's MMB/SSD Perl utilities to add Beeb program files to .ssd disc-images. Both utilities are excellent and I'm very glad they exist.
More info on BeebScott:
https://ahopeful.wordpress.com/2022/02/ ... asked-for/
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
You are playing this down calling it naff!
I know how much work you put into it.
It may be more accurate to call it a niche product
(Very very niche!)
The dissection of the ever changing Scott Adams adventure format is not straight forward, so well done from me
Lee
I know how much work you put into it.
It may be more accurate to call it a niche product
(Very very niche!)
The dissection of the ever changing Scott Adams adventure format is not straight forward, so well done from me
Lee
- marcusjambler
- Posts: 1150
- Joined: Mon May 22, 2017 12:20 pm
- Location: Bradford
- Contact:
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
This is hilarious... My favourite kind of sales pitchSigh. 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.
Oh... and great work Lurkio
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Hmm ..... I'll have to take a look and see if or not I can convert a Scott Adams game database to AdveBuilder! (There is one definite point of alignment; AdveBuilder intentionally uses object no. 9 as a light source as a sort of tribute. But otherwise, AdveBuilder's 8-way compass and split descriptions -- as well as separate descriptions for objects in the room and being carried, the latest version of the engine now supports rooms having a long description which is displayed on the first visit and a short description which gets displayed on subsequent occasions -- were designed to blow the Scott Adams framework out of the water.)
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Lee and marcusjambler, you are too kind. Literally.
@julie_m, the Scott Adams text adventure system was ingenious for its time, but of course it was surpassed in sophistication BITD by the likes of Quill, GAC, and ALPS. And yet the Scott Adams system still has its fans. Hence ScottKit, for example.
@julie_m, the Scott Adams text adventure system was ingenious for its time, but of course it was surpassed in sophistication BITD by the likes of Quill, GAC, and ALPS. And yet the Scott Adams system still has its fans. Hence ScottKit, for example.
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Oh, for sure! The original SA code is 45 years old -- there would be something badly wrong if anything more recent (especially with a toolchain running on what by the standards of the time must count as a mainframe) wasn't much fancier! It'll still be an interesting exercise trying to convert one database format to another. SA also includes puzzle logic, which AdveBuilder leaves strictly to the programmer, so I'll have to take care of that too. I'm currently working on a simple language for implementing puzzle logic, which will compile to 6502 assembler. I was going to call it AdveBuilder Extension Language, but ABEL was already taken so I might call it YSON. (Big respect to anyone who gets the reference .....)
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Updated BeebScott to make it compatible with 65(C)02-based co-processors ("second processors"), which wasn't that hard to do because Acorn's whole architecture for co-pros is so well designed. Plus, I wasn't using any direct memory reads or writes (except once).
There's just one point in the main BASIC terp program where I need to branch, depending on whether the program's running on a co-pro or not, and I'm currently testing for that by checking the value of PAGE. Is that the best way? I can't imagine it is.
There's just one point in the main BASIC terp program where I need to branch, depending on whether the program's running on a co-pro or not, and I'm currently testing for that by checking the value of PAGE. Is that the best way? I can't imagine it is.
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
For RTool JGH gave me:
Adapt as required.
Code: Select all
MODE7:IFHIMEM>&7C00:PRINT "Must run on BBC I/O processor":END
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
I don't think that will distinguish between (i) a co-pro and (ii) a Master in Shadow mode (*SHADOW0) -- but in my case it doesn't matter because if I'm on a Master in Shadow mode I'll need to run the same code as if I'm on a co-pro, in this specific case, because the particular routine in my program will have to avoid reading/writing directly from/to main screen RAM (both when the program is running on a co-pro and when it's running on a Master in Shadow mode).cmorley wrote: ↑Wed Feb 16, 2022 5:00 am For RTool JGH gave me:Code: Select all
MODE7:IFHIMEM>&7C00:PRINT "Must run on BBC I/O processor":END
Thanks!
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Thanks to Lee for running Secret Mission in BeebScott on a real Model B connected to a 32MHz 65(C)02 core in a Matchbox Co-pro and making a video thereof:
https://www.youtube.com/watch?v=Y9r2r1hbr94
https://www.youtube.com/watch?v=Y9r2r1hbr94
Re: BeebScott: a naff new interpreter for Scott Adams text adventure games
Development on this ramshackle interpreter "BeebScott" rumbles on.
Bugs have supposedly been fixed, and more games are allegedly supported. For example, try Burglar's Adventure [info] — a game by Bruce Hansen which came with Hansen's Adventure System, a TRS-80 Scott-Adams-format text adventure game creation utility.
Burglar's Adventure is now available on the Beeb for the first time. (Woohoo?):
http://bbcmicro.co.uk//jsbeeb/play.php? ... ltiplier=2
Bugs have supposedly been fixed, and more games are allegedly supported. For example, try Burglar's Adventure [info] — a game by Bruce Hansen which came with Hansen's Adventure System, a TRS-80 Scott-Adams-format text adventure game creation utility.
Burglar's Adventure is now available on the Beeb for the first time. (Woohoo?):
http://bbcmicro.co.uk//jsbeeb/play.php? ... ltiplier=2