Posts by pjw and Peter remind me of a discussion with Tony Tebby many years ago, concerning the use of high level languages to express his operating systems.
If my memory of the discussion is accurate, it went something like this:-
Conventional high level languages were not designed to express the unique architecture of SMS and in particular their compilers can not be relied on to correctly produce the critical elements of SMS. In later documents Tony named these critical elements as "Intsafe" code.( I assume the name was short for intrinsically safe). His view was that one would have to manually check the machine code output of the compiler to see what it had produced. He claimed this would be more difficult than writing the operating system in assembler.
The question of portability was also discussed, in particular porting SMS2 to the PC. The problem here was compounded by the ever changing and under documented I/O capabilities of the PC.
Even if it had been realistic to rewrite SMS2 in X86 assembler or create or modify a high level language compiler to (as pjw suggests) produce "Intsafe" code it would have been near on impossible to keep up with the PC's continuous development. Without a large development team it would be difficult to write TTos code natively on any hardware designed outside the confines of the SMS world.
Recently there were discussions with TT about developing Stella on ARM (as in the processor) but that would have been with ARM's assistance. Development tools were not discussed but TT did not consider the endeavour impractical. He would have had to consider whether it would have been easier to write the OS in ARM assembler or create a novel high level language capable of generating accurate Stella code.
One has to bear in mind that there is less assembler code in SMS2 than in most "portable" operating systems. The SMS2 cartridge contains about 160Kbytes of assembled code and a quick look at Linux kernel 4.20.1 reveals about 260Kbytes of assembled code. So in SMS2 terms Linux 4.20.1 is not exactly portable.
Furthermore the SMS2 kernel is much less than 160Kbytes and Stella, which is significantly more advanced, is not much bigger. It is also unlikely, as Peter has often mentioned, that SMS or Stella will ever need to run in any processor other than the 680XX, so would there be any advantage in developing a high level language for writing a TTos?
To a large extent Peter has solved the problem of operating system portability by making the hardware portable instead. By using a hardware description language to define a 680XX system-on-chip, FPGAs can be used used to make SMS-in-assembler compatible computer modules. This, seems to me to be to be a vastly superior way of building new hardware for followers of SMS. I think Peter would struggle to produce something as small as the Qzero using a 68030, furthermore system-in-FPGA frees the designer from the vagaries of processor manufacturers.
I, for one, would like to read the long article proposed by pjw in his post dated 29 Jun 2021. I agree with pjw on the matter of fast response high display resolution systems, although when I post images of SMS at HD resolutions very few seem to be interested. To achieve a high resolution with the Q68 I have to use mode 3, set to black & white because I think this looks better than when set to 4 colours. I find the speed of the Q68 set to mode 3 is adequate for the kind of applications that I write.
Peter has not detailed what he thinks is possible for SMS-in-FPGA or what limits the performance of such systems. When one reads the promotional text for the Apollo 68080 (
http://www.apollo-core.com/features.html) it seems a pity that Peter seems to have rejected this processor.