Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> On the other hand if you think that in 48Kb of RAM they had to fit the video RAM about 8 Kb, the BASIC compiler, my BASIC code, the compiled code and use some RAM for stack and variables ... crazy. Fun times...

I had a Spectrum, and then when the QL got relatively cheap, I got one too. Loved 68K assembly.

Given that the 68K instructions were always a multiple of 2 bytes, in its 48K ROM you could have a maximum of 24576 instructions. Now remove the space needed for the bitmap font and some lookup tables, and in the remaining space you had:

- A multitasking operating system (no memory protection, of course), with networking (not TCP/IP of course) and media (microdrive) management, and generic channels kind of in the Unix file spirit

- A (non-re-entrant, single instance) “SuperBASIC” with procedures and functions with LOCal variables, a switch construct (SELect ON), FOR loops with epilogues that would run if not broken out of the loop, and other goodies, which SuperBASIC was also the system shell

- A collection of system calls and a system library, from windowing functions to software floating point (the 40-bit format) operations

Not having a lot of money for software but with the help of some book from the library (titled something like Assembly Programming on the Sinclair QL, don't remember exactly) I even wrote a disassembler in SuperBASIC to decode and grok the ROM. My mind was blown with the density of the ROM code.



QDOS even had non-blocking I/O at the individual read/write call level.

I had to mention this when I learned of Daniel J. Bernstein advocating, almost 20 years after QDOS, non-blocking nonblock_read()/nonblock_write() additions to the POSIX model, so that your I/O model wasn't something that you had to coördinate and share with every process that might have the same open file descriptor.

* https://jdebp.uk/FGA/dont-set-shared-file-descriptors-to-non...

There were all sorts of little innovations in the operating systems world back then. Helios was another interesting one, with capabilities.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: