I wanted to share the Scott Adams interpreter I’ve been making: PerlScott
Prerequisites: A computer with Perl 5 installed, with the “Readonly” and “Carp” modules installed
The interpreter should be complete, even though some more testing (especially on Brian Howarth games) is probably needed. Big thanks to auraes for his sharp eyes and help in improving it by logging issues on things that needed doing. Glaringly obvious bugs, problems and omissions probably remain, and I’m happy for any feedback.
The PerlScott interpreter wasn’t created because the world really needs another Scott Adams interpreter, but rather as an intellectual exercise in translating 8 bit Basic code to a more modern, structured code format. The version 4.6 TRS-80 Level II Basic source code, which was published in the December 1980 issue of Byte Magazine (page 192), was painstakingly converted to Perl. The choice of Perl as the language to use, was down to it having most variation in possible syntax (TMTOWTDI), allowing you to write both “basic style” code initially and more structured code as the code was gradually refactored. Even though Perl is infamous for poor readability, the interpreter, in its’ current state, is written with as much regard as possible for Perl Best Practices, to have as much readability and maintainability as possible. Hopefully, this will not only allow people to use it for playing games, but to easily be able to read the code and understand the underlying concepts of the ingenious game engine that Scott Adams created, 40 years ago.