@EdS The need for a single load game image is one restriction, yes. There also has to be the option to load and save data via tape, so that players can use save and restore their progress.
I wouldn’t use BASIC on a tape-based machine that didn’t have that option.
A DSL was my first idea. I had doubts about creating yet another new one though, so I started looking into A-code (the Platt/Arnautov version) with the idea of using it with an existing 8-bit C cross-compiler.
After consulting with Mike Arnautov, we found that due to the current implementation’s dynamic nature, it would not work on 8-bit systems in its current state.
He suggested trying to convert Platt’s original version - which was written in Fortran - as it was designed for older computers and used a virtual machine system (not unlike Level 9’s A-code system).
Whilst looking into that option, I had the idea of adding a BASIC front end to make the system more useful for other text-based programs.
@IsaacKuo I considered a BASIC to BASIC converter - possibly converting the BASIC tokens between machines - but abandoned the idea after finding existing software like ugBASIC and ACK that produce compiled programs for 8-bit computers.
@spacehobo Unless I’m missing something, Ozmoo only works for the CBM64 and similar computers. There seems to be an Acorn port written by someone else, but that’s it as far as I could see.
The reason I mentioned the Puny BuildTools is that they used to work with multiple 8-bit systems, but they seemed to have dropped support for some of them when the name was changed.
Either way, it seems to me that it would require a lot more effort to add new tape-based targets to a system that was originally designed to work with a disk drive than it would be to add them to something like DAAD.
Level 9’s A-machine is much closer to what I need than Infocom’s Z-machine.
@mainframetom An emulator is basically a virtual machine that is based on a real computer.
@scruss Yes, Minimal BASIC seems a little too minimal, but it is a starting point.
It could potentially be expanded using features from Full BASIC to make it closer to what was available on early 8-bit home computers rather than restricted to what was available when Dartmouth BASIC was first devised.
My main criteria for creating both versions would be that they are based on some existing standard (that is tried and tested) and that they would seem familiar to anyone who has used an 8-bit home computer.
I guess the main differences between the two versions would be that one is structured and one is not.