# Fuzix port for the Amstrad CPC

**URL:** <https://forum.cpcwiki.eu/t/fuzix-port-for-the-amstrad-cpc/656>\
**Category:** Applications\
**Created:** [October 2, 2026, 7:08pm UTC](https://forum.cpcwiki.eu/t/fuzix-port-for-the-amstrad-cpc/656 "2026-10-02T19:08:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ajcasado](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ajcasado/32/237_2.png) [@ajcasado](https://forum.cpcwiki.eu/u/ajcasado)\
**Post date:** [October 2, 2026, 7:08pm UTC](https://forum.cpcwiki.eu/t/fuzix-port-for-the-amstrad-cpc/656/1 "2026-10-02T19:08:48Z")

</div>

Recent FUZIX Improvements for Amstrad CPC

Over the last few months, I have continued working on the FUZIX port for the Amstrad CPC. I am not planning a new release just yet, as I first want to complete and stabilise M4Board networking support. However, the current repository state already includes significant changes to performance, the console, storage, and hardware compatibility.

Main Changes:

Performance and System

The virtual terminal layout now uses 80×25 characters, together with a number of smaller related improvements.

Code invoked from the system interrupt now only jumps to interrupt\_high while vsync is active. This reduces the effective interrupt rate from 300 Hz to 50 Hz, avoids reentrancy issues, and noticeably improves overall performance.

ldir\_far routine has been optimised to use the stack when moving data between memory pages, reducing the cost per transferred byte.

Console and Video

Major overhaul of the CPC console driver:

Support for four TTYs.

Colour management.

Block cursor.

Fixed rendering of characters with the inverse attribute.

Added a fuzixcpc entry to termcap, allowing termcap-aware applications to identify the Amstrad CPC console capabilities correctly and defining the cpc glyphs for de ACS symbols so curses apps can render them.

Storage and RTC

Added an M4Board SD-card block device.

Implemented an M4Board disk device backed by an image file.

Added RTC support for both M4Board and Symbiface.

Improved the CH376 block device that supports USIfAC, ULIfAC, and Albireo.

The m4 and ch376 block device driver now can use the native FAT32 layer to mount File-backed disk images as root device.

Current Status

The main remaining task is completing M4Board network support. Once that is finished and properly tested, I will prepare a release with a more stable, self-contained configuration and disk images. Also migrating the code to compile with the Fuzix Compiler Kit instead of SDCCis in the TODO list.

In the meantime, anyone who would like to try the current development state can build it using the instructions maintained by salvogendut for the 1984 emulator (thanks @salvogendut!!):

> <https://github.com/salvogendut/1984/blob/main/docs/FUZIX_BUILD.md>

The document explains the build environment and workflow needed to compile and run the current CPC port of FUZIX with the 1984 emulator.

---

<div class="post-metadata">

**Author:** ![cpcitor](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/cpcitor/32/321_2.png) [@cpcitor](https://forum.cpcwiki.eu/u/cpcitor)\
**Post date:** [October 5, 2026, 7:53am UTC](https://forum.cpcwiki.eu/t/fuzix-port-for-the-amstrad-cpc/656/2 "2026-10-05T07:53:47Z")

</div>

> [@ajcasado](#):
>
> FUZIX port for the Amstrad CPC

😍

Having a kind of Unix on the CPC is something I’ve wanted to do for ages.

Few people know that original Unix was written on machines with operating frequencies similar to the CPC (though wider bus and more memory/storage).

There are alternative, one is to run an ARM or MIPS emulator on the physical CPU. Sounds crazy, someone did it.

> **[Linux on an 8-bit micro? - Dmitry.GR](https://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit)**
>
> Dmitry.GR: A successful experiment in running real Linux on an 8-bit AVR.

> **[8-pin Linux - Dmitry.GR](https://dmitry.gr/?r=05.Projects&proj=36.%208pinLinux)**
>
> Dmitry.GR: Interactive-speed Linux on a tiny board you can easily build with only 3 8-pin chips

The RAM bandwidth is similar: 300kB/s. I guess the Z80 architecture will yield a much slower result but speed is not the point. It’s about saying: I did boot Linux on my Amstrad CPC! Obviously to do that on a real CPC you need “huge” RAM (1 to several megabyte).

---

<div class="post-metadata">

**Author:** ![cpcitor](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/cpcitor/32/321_2.png) [@cpcitor](https://forum.cpcwiki.eu/u/cpcitor)\
**Post date:** [October 5, 2026, 7:55am UTC](https://forum.cpcwiki.eu/t/fuzix-port-for-the-amstrad-cpc/656/3 "2026-10-05T07:55:08Z")

</div>

I’m aware that what Fuzix does is very different. Fuzix implements a minimal, functional, usable Unix. On old chips without memory protection.
