Fuzix, a possible-to-port *ix OS for 8 bit and 16 bit micros

Alan Cox, previously a major contributor to Linux, has for some years now been writing, refining, expanding, and porting a new OS called Fuzix (“FuzixOS: Because Small Is Beautiful”). Here’s an article from nearly 5 years ago describing it as a System V-like system for Z80:
Fuzix OS: a lean kernel for Z80

Presently, there’s some support for many platforms and micros: 8080, 8086, Z80, 6502, 6809, 68000… and PDP-11 and MSP430. On the platform front, NC100, Dragon 32, MSX2, Multicomp 09, RC2014, COCO2, TRS-80, Tiny68K, ZX Spectrum…

In the repo you’ll see it described as

a fusion of various elements from the assorted UZI [Z80] forks and branches beaten together into some kind of semi-coherent platform and then extended from V7 to somewhere in the SYS3 to SYS5.x world with bits of POSIX thrown in for good measure. Various learnings and tricks from ELKS [8086] and from OMU [6809] also got blended in.

Alan posts from time to time over on Mastodon, and fairly recently said this, introducing some work towards supporting a 6502-in-RC2014 port:

I couldn’t find a 6502 machine that didn’t suck for what Fuzix needed. Whilst there is a history of Z80 being used in business and thus having decent I/O performance and banked memory it’s much harder to find this in the 6502 world. The Apple IIe/c is probably the closest with enough add in cards as you can actually put a ton of banked memory into a IIe, add a card with a timer interrupt source (amazingly the Apple IIe doesn’t have a timer or vblank interrupt), and add a DMA driven SCSI card that works around the poor 6502 performance doing block transfers. However even finding all the relevant Apple II bits is not easy.

The other 6502 classics were generally games machines like the C64 which whilst a very good games machine is not a good Unixlike platform.

On the 8085 side actually finding an 8085 system is surprisingly hard. Z80 had pretty much cleaned up the CP/M world by then so 8085 doesn’t tend to pop up that often except as a supporting I/O processor.

RC2014 has become a bit of a new standard in retrocomputing Z80 systems. There are a range of Z80 oriented CPU cards (including Z180 and Z280), Z80 SIO, PIO, CTC and similar hardware for serial and other interfaces, banked and linear memory cards, disk and compact flash adapters, real time clocks and so on, but mostly Z80 focussed including the choice of peripheral components.

Ben Chong a while back did some RC2014 bus cards for the 8085 and 6502 processors (and also the 6809). He had then running BASIC and simple monitors with a 16550A UART card he designed and a RAM/ROM card. Given the fact I couldn’t find a suitable big 6502 or 8085 system I’ve decided to put them together out of RC2014 cards.

6 Likes

ix ports are great, but I have never seen a C compiler source included
with the OS.If you can’t self compile a system, is not a general purpose computer, but some sort of controlling device.
I have a 18 bit cpu just up and running in a FPGA,that I feel would port
nicely to unix. I feel it is not the exact internal details but the character pipeing and C library software and shells that made unix. How you fork? what X Y Z windows system is used? what lovable or evil masot is used is more a users preference.
The downsizing from 36 to 32 bits, in the 60’s giving us 8 bit bytes seems caused all computers to be 32 or 64 bits as 8 or 16 bit computers with byte addressing have too small a opcode space to have a clean instruction set. The 6809 and the PDP11 have nice instruction set, but 64KB of unsegmented memory has also proven
too small for something other than word processing and small programs.
The real question is why now all this activity in a unlx clone?
1984 would have been a good year for “Big Brother” un
x.