Okay, a lot of assumptions are being made here, probably because I didn't think it would be helpful to go into a lot of detail about what I have researched so far.
My end goal is to create a system that runs on modern hardware that can produce text-based programs that run on modern and retro hardware.
I want to find the simplest, easiest and least time-consuming route to do that, as I want to live long enough to be able to use that system myself and make it available for others to use.
On and off I have spent the last two years looking into ways this could be done and I'm now suffering from information overload and analysis paralysis. Many others have worked on different parts of the process, but I haven't found a complete system.
The main target audience for this system would be those who own retro 8-bit home computers or use emulators for them (possibly because they no longer own such machines).
Interpreters were common for these devices and compilers were much less so. Including one with the front end of the system seems natural, especially if the process for translating and compiling the code has several stages.
BASIC would have been the most commonly used language on these retro machines, as it was inluded with most of them. Pascal and C compilers were available, but much less widely used.
HiSoft sold versions of BASIC, Pascal and C, for example.
If you owned a Z80 machine with a disk drive (rare in the UK), you could use more languages via CP/M. I'm reasonably sure that this was how Turbo Pascal was made available for 8-bit micros.
The upshot of this is, that more users would know BASIC than any other language, so the system should use something similar. Pascal would be close enough for those used to structured BASIC.
Languages with a C-style syntax would be harder to adjust to. I know it caused me issues when I tried learning it.
So, one end of the process should be a BASIC or Pascal style language and at the other should be 8-bit machine code for various systems.
I know it's possible to create a programming language using FreePascal as there are several in use (Decimal BASIC and Nim are examples), but I'm not sure if creating another would be the most efficient way. Maybe modifying an existing one would be better?
I also know it's possible to create a transpiler (or source to source compiler) using FreePascal as there's one available to convert Decimal BASIC to FreePascal and several mentioned in the Wiki. It's also possible that the Nim to C translation program was written in FreePascal before Nim became self-compiling.
I've found several compilers that target the machines I'm most interested in, plus a site on
Z80 assembly programming.
I have at least a hundred sites bookmarked that could potentially be pieces in the puzzle I'm trying to solve, but I'm having problems deciding which ones to use and how to fit them together.
I need help in deciding what to actually focus on going forward. I do know that FreePascal should be involved in the process somewhere, even if it is just as a source to source compiler target.