In that case get off your backside and at least read about how it worked. That sort of ignorance is out of place for somebody trying to do what you are.
There are plenty of other rabbit holes for me to dive down that would be a more direct route to where I want to end up.
Most likely, Forth is one of the many languages I have discounted because they either don't run on the machines I would be targetting or the syntax looks too different to BASIC or Pascal.
But I'm troubled that the use of a multi-layered cross-development platform with diminished immediacy on the target makes this a non-starter: there just isn't enough there to make it attractive to the average retro user who only cares about the computer and software he remembers from his teens. Are you /really/ serious about dedicating a big chunk of your life to doing this?
This project wouldn't really be aimed at someone who wants to use a particular computer from their youth, as they can just use BASIC on a physical machine or in an emulator.
This would be for someone who likes or uses more than one machine and wants to produce software for all of them plus modern machines, using one set of code.
The choice of BASIC isn't really for the immediacy aspect, it's to make the system more familiar and to potentially ease translation to other BASIC dialects.
I don't want to dedicate a
big chunk of my life to it, no. That's why I'm trying to reuse as many existing tools as possible.
Did you look at p-machine implementations at all? P6 is fresh, but first few were built in the seventies when resources were even more limited, so I do not see a problem comming from that side.
I actually bought a used book on creating text adventures in UCSD Pascal a couple of years back.
I haven't seen any implementations for 8-bit home computers though, so I haven't explored it too thoroughly.
TBH, I think that OP would do far better throwing his enthusiasm behind either FPC or Turbo Rascal, or identifying some comparable project with a common frontend language and multiple backends.
I will definitely be considering adding extra Z80 targets to FPC if it becomes part of the toolchain.
Turbo Rascal would be somewhat of a non-starter because AFAIK it has a small team who likely have their own workflow and wouldn't want a beginner who hates C messing with their existing code.
I
could potentially fork it on Github, but my progress would be slow and I'd hate every minute of it due to the amount of C and C++ code I'd have to contend with.
If I actually liked C and knew more about it, I would have more options available to me.
If I had £1 for every suggestion I've seen over the years that a single under-resourced developer of limited experience could rewrite everything from scratch in a finite time, or that "it must be easy" to integrate a few dozen tools from competing suppliers to produce a result that would have well-heeled customers beating a path to his door, I'd be much richer than I am now.
I
do know that it will be far from easy. I've been searching for potential solutions on and off for about two years now, trying to find compatible pieces of the puzzle.
The shortest existing toolchain I have found so far is Nim (via its C output) to SDCC or z88dk, a combination which apparently has been successfully used with micro boards with 32Kb ROM and 512 bytes of RAM. There is no existing option to use BASIC with that, but it might be possible to use macros to allow the use of some BASIC and/or domain specific keywords.
Although Nim was originally written in Pascal and there is a Pascal to Nim translator, Nim is now written in Nim and there is no Nim to Pascal translator available that I know of.
I'm not trying to do this because I expect it to sell like hot cakes (it would be free anyway), but rather because it would be a tool that
I would find useful and I hope that at least
some others would find useful too.