Fuzix OS
fuzix.org
fuzix.org
This README reads like a blog post.
Is this intended for some kind of professional purpose? Because I could see this being amusing for hobby purposes but I have no idea what I'd do with it at work.
No. Retrocomputing. Fun. Learning.
Was reading the comments, was able to learn more. So I assume it provides a command line interface.
Question: Can it run binaries compiled for the platform/OS?
This has been a limitation since forever on ESP microcontrollers because they basically have the power of computers and yet the flashing limitation of calculators. Would be good to finally be able to launch arbitrary binaries without flashing. (I know there are tricks right now, just looking for a proper OS-approach).
How it is implemented varies by platform. On the 8-bit micros it takes advantage of bank-switching memory hardware if there is any. On the MMUless 68K a flat single address space can be used with position-independent code for the processes. On platforms with paging or relocation hardware that is used. Most of the host platforms do not have hardware memory protection, but there's room in the design to support it.
It has been ported to the Raspberry Pi Pico [1] (ARM Cortex-m0+ based) and could be ported to other microcontrollers which have enough RAM.
Toolchain is the biggest problem. It's hard to get a good cross toolchain that works. FUZIX's creator has been writing a portable C compiler but it's not done yet. The code does compile with Clang and GCC but a working toolchain is a steep knowledge cliff to climb.
I have got the kernel to build and link for a riscv32i target. Just need some real riscv32 hardware to test it on. And free time.
>Toolchain is the biggest problem. It's hard to get a good cross toolchain that works.
So is it possible to compile programs for Fuzix on a PC?
No not me it was David Given over at the link I gave (not my blog).
I have poked around Fuzix but I am not a major contributor.
> So is it possible to compile programs for Fuzix on a PC?
Most of the development is cross-devel from PC.
https://github.com/EtchedPixels/FUZIX#what-does-fuzix-have-o...
To be honest, I still have no idea what I'm looking at.
Fuzix is a very simple UNIX clone (and a for of UZI) started by Alan Cox, an ex-Linux kernel developer) as his retirement project.
It aims to run on old CPUs like Z80 and on microcontrollers. I found it when searching what OS can I run on the $4 Raspberry Pi Pico.
« Oh, and don't be fooled by the archived status - it moved to
Frotz, vi, and the rest run OFC.
Networking sshot: https://raw.githubusercontent.com/ghaerr/elks/master/Screens...
Telnetting to a BBS: https://raw.githubusercontent.com/ghaerr/elks/master/Screens...
Does it support the 286's 16-bit protected mode at all?
286 protected mode has the 8086-style 16-bit addresses and segmentation. But with virtualization and protection.
Not very many operating systems made use of it. The x86 world skipped over it directly from 8086 real mode to 32-bit paging.
Edit: to answer my own question it seems the recent branch dropped 286 protected mode support
https://codeberg.org/EtchedPixels/FUZIX last updated 4 days ago
Alan's currently putting most of his energy into the compiler. It's a C compiler in C which can compile itself, and compile FUZIX, for 8080 and Z80 targets. The goal is to make it compile itself on all the platforms it can run on eventually. :)