[ILUG] RE: unixless chips?

Brian Foley brian at bluetree.ie
Thu Nov 11 10:45:39 GMT 1999


>I can't imagine one for a Zilog Z80, very popular around 19xx (78 < xx <
>85), although CPM was written for these so I could be wrong...
>
>What about the BBC Micro / Model B / Master (Compact), I know there's ones
>for the Archimedes series, but the Beeb ?

As it turns out, there *is* a simple UNIX-alike for Z80 based systems. Its called UZI, and if memory serves, it supported multiple processes, each with its own 32K of address space by swapping entire processes out to (hard) disk on every context switch.

I don't ever remember hearing of any BBC Micro UNIX, but I'm pretty sure that the 32016 2nd processor for the Beeb did run a UNIX of some kind.

Hmm. Thinking about it, you could do a pretty cool tiny-UNIX for the Beeb using sideways RAM. The Beeb had a 16K region of memory (8000-BFFF) that was mapped onto one of 16 ROMs. Above that is ROM, and below it is display memory. By writing a byte into to any byte in a certain range of address (FE40-FE4F IIRC) you could choose which ROM was used. Later, various companies produced add on boards with RAM on them instead of ROM, upped the number of banks you could have to 256, and also added options to switch on and off write protection to the RAM bank currently 'paged in'.

Using this, you could have processes each with their own 16K chunk of (protected-ish) memory, and you could swap between them with a single instruction.

Although I suppose you'd have to worry about saving off the registers, the stack (a fixed 256 bytes from 0100-01FF), and parts of page 0 as well... I guess the kernel could reserve ~512 bytes at the top of each RAM bank to save process context. I suppose the kernel would have to go on an EPROM to replace the MOS ROM from C000-FFFF. Hmmmm.  Interesting.

Cheers,
Brian (now where did I leave that cross assembler :-)




More information about the ILUG mailing list