Hacker News new | past | comments | ask | show | jobs | submit login
Fuzix OS: Unix for the Z80 and 680x (fuzix.org)
94 points by aww_dang on March 3, 2023 | hide | past | favorite | 36 comments



Fun fact: Fuzix started as legendary Linux kernel hacker Alan Cox's retirement project :-)

Edit: it has many contributors now, clarified that it start as Alan Cox's project.


I thought FUZIX started out as UZI, Unix Z80 Implementation, by Doug Braun.

I remember seeing someone had ported it to the Raspberry Pi Pico but for some reason that is not mentioned on fuzix.org as far as I see.

https://www.cnx-software.com/2021/02/23/fuzix-unix-like-oper...


I think indeed one of the starting points was UZI, it is mentioned somewhere in the readme or license files.


You can run it on Raspberry Pi Pico :

How to get started with FUZIX on Raspberry Pi Pico https://www.raspberrypi.com/news/how-to-get-started-with-fuz...


David Given (hjalfi on YouTube) did this port I think. He streamed the porting process for the esp8266[1] too. GREAT STUFF.

https://youtu.be/cDHcGY7EzUM


>Support for multiple processes in banked memory

This is pretty cool. Per-process memory space via old-school physical switching of lines to the ram chips. Using a 74xxx multiplexer as a dumb MMU.


There's also NitrOS9 for 680x, an open source clone of the unix like OS-9

http://www.nitros9.org/battle.html http://www.lcurtisboyle.com/nitros9/nitros9_docs.html


NitrOS9 only runs on the 6809/6309, not earlier 680x chips. That said, it's an impressively useful system.


This is great. It would be good if there were screenshots, or even links to YouTube videos for the different platforms showing this in action.


Spinning up an emulator gives you to real first hand experience. It’s very nice; I ran it a long time ago on real msx-2 machines. Impressive work.


They even support Sam Coupe!


Wow, I didn't think there were enough people who'd even heard of the Sam Coupe.


I remember being impressed at the specs of the Coupe, and seeing the manual was a pleasure. But even at the time it was released it seemed obvious it was doomed to failure.

I never saw one in the flesh, but I did want to.

The 48k spectrum was everywhere, and I have a giant print of the infamous rubber keyboard hanging on the wall behind me, but everything after that was always less special.

(I owned a +2A, and I knew a couple of people with the +3, but they were very uncommon and mostly people moved on to 16 bit machines instead of staying in the Sinclair family.)


Yes, I ended up with a Coupe instead of an Amiga as my parents knew nothing about computers and figured it would be a good follow on from my +2. It was a clever machine in some ways, but from the launch it was clearly doomed.


During 128K speccy models to Amiga transition timeframe, it was common to see Sam Coupes in computer stores in Portugal.


I owned one. Bought new.

I sold it to a friend for £30 about 20Y ago. I regret that now.

A lovely machine, but you needed MasterDOS and MasterBASIC to get the full potential... and it was doomed by the success of the Spectrum 128, with which it was incompatible.

But a lovely computer all the same.


I'd like to see this ported to TI graphing calculators


There's KnightOS: https://knightos.org/

KnightOS will run on any upgradable Texas Instruments calculator based on the z80 CPU. This includes the TI-73, TI-83+, TI-83+ Silver Edition, TI-84+, TI-84+ Silver Edition, and TI-84+ Color Silver Edition. You can also run it on the French variations of these calculators, or in an emulator.


Are there any readily available dev boards using these classic microprocessors (6800, 6502, 6809, Z80) that have the various peripherals (UART, serial USB, flash and static memory) already installed? A quick search on Amazon or eBay did not reveal much.

That's the nice thing about the newer chips (AVR, ESP8266, ESP32, STM32, etc). All those peripherals are already included on the SoC or the dev board. It is very easy to quickly upload the firmware through serial-USB, and start having fun.


A quick search on 'Ampro' turned up https://www.elite.parts/ampro/little%20board$z80 which might do.

My first CP/M computer was an Ampro Little Board 1A, sold along with a floppy carrying CP/M-2.2 + ZCPR3. I got a lot done on that machine, including a text-mode MIDI editor-sequencer -- the Z80 DART as set up could run the second serial channel (the first was CON to the terminal) at the MIDI baudrate and slave-interrupt to derive its MIDI Clocks from a sync-track recorded/played on a 4-track cassette machine through a Kansas City tape-modem.


Yeah, but Ampro hasn't made a Little Board in decades; I've been crusing eBay for a reasonably priced Little Board for a while. There are, however, a lot of 'modern' Z-80 (and better, Z-180) SBCs running around that would be cheaper and easier to find. As another commenter pointed out, check out Tindie or google for "RC2014", for example.


Tindie has a lot of various kits and boards for sale. I recommend "Stephen Cousins"' store: https://www.tindie.com/stores/tindiescx/. But there are other options too.

WDC makes a few dev boards for the 6502, also available on tindie.


I just picked up one of the WDC 6502 SBCs[1] from Mouser. It's quite interesting.

[1] https://wdc65xx.com/Single-Board-Computers/w65c02sxb/


The Spectrum Next? ;-)

If you can't get one, and who can -- then the N-GO is a good alternative.

https://manuferhi.com/c/n-go

There are other clones out there, e.g. Sizif 512: https://github.com/UzixLS/zx-sizif-512

But for modern kit, readily available, probably the Agon Light:

https://www.thebyteattic.com/p/agon.html

E.g.

https://www.olimex.com/Products/Retro-Computers/AgonLight2/o...


Not a dev board, but the cheapest used Z80 machine might be a Texas Instruments graphing calculator. Ebay's full of them for pocket change. Even comes with a screen!


Yeah, I've been looking at those TI calculators for a few years, hoping to dabble in some Z80 assembly programming for nostalgia.

I've also been eyeing their TI-92, 92II, 92Plus, and Voyage 200 series of calculators. They use the 68000 processor and have qwerty keyboards. It looks like there is a C compiler for it (http://tigcc.ticalc.org/), so it ought to be possible to do some interesting things, like this Fuzix OS, or a FORTH, LISP or Lua interpreter, or a terminal program over a serial link to a battery-powered ESP8266/ESP32 to the internet over WiFi.


The 68k calculators are indeed delightful machines. You've found TIGCC - you should also be aware of GCC4TI, a fork of TIGCC due to the original maintainer not accepting contributions, and GTC-IDE which is an independent (non-gcc) C compiler that runs on the calculators themselves (although the frequent memory leaks render the development loop tedious - no memory protection means leaked memory is gone for good until you "reboot"). There is a mature independent OS called PedroM, and someone even made some progress porting 4.4BSD (PunixOS).


Wow, there's an 8080/8085 port now! I'll have to see if I can get it going on my 8085 SBC.


Spectrum and MTX, but no Amstrad CPC or PCW port? Seems like an oversight.


Noticed this on the Github page:

   We need a 'proper' 65C816 C compiler
Aren't there any?


There isn't a good open source one, no.

The WDC has a compiler, but it's a bit dated, and windows only. There is also the 'Calypsi' C compiler which is free for hobbyist use, but also is not open source: https://www.calypsi.cc.

There are also ports of tcc and lcc, but from what I remember, there are some bugs in the code generation. cc65 is 6502-only, as is the mos-llvm project.

The 65C816 isn't exactly the easiest CPU to write a C compiler for.


I wrote a 65C816 assembler back in day, together with a friend who had Super Famicom. I remember looking at some of the hand-written code from the demos and thinking well, hm, this code would be tricky to generate...


I was trying a couple of months ago to write a pascal compiler for the '816. Just trying to come up with a decent strategy for code generation was a massive pain in the neck.


Someone needs to write that "65C816 Register Allocation and Instruction Selection" book. On the flip side, I am working on an ARM64 codegen and I pretty much have only myself to blame for the lack of progress...


Recently learned there was a computer with dual Z80 and 68000 CPUs (my two favorites) from Cromemco.


I saw one of those running Cromix. It was being sold in Brazil as if it were a local machine by Brascom called BR-1000[1]. They called the OS "BR1000" as well. Some students were trying some examples from the manual and they weren't working. I suggested they replace all calls to br1000() with cromix() and that did the trick.

Another Z80/68K machine was the TRS-80 Model 16[2]. The Sega Genesis[3] (or Mega Drive) was another case of these two processors paired together.

[1] https://www.old-computers.com/museum/computer.asp?st=1&c=533

[2] https://www.old-computers.com/museum/computer.asp?st=1&c=242

[3] https://en.wikipedia.org/wiki/Sega_Genesis




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

Search: