TEN "CENTERS"
Files, Games, Disks, Media, System, Arcade, Productivity, Preferences, Automation and Capture/Viewer — all on the same contract: adding a Center is four callbacks and a state struct.
ChumOS / Workbench Infinity is a brand-new desktop for the 1987 Amiga 500, written in 2026. It replaces the classic Workbench with a flicker-free, synthwave-styled environment: a dual-pane file manager, an IFF viewer, a spreadsheet with a real formula engine, an agenda, disk tools, ARexx automation and a full arcade of built-in games and demos.
The Amiga scene never stopped: new games, hardware and demos ship every year for a machine discontinued three decades ago. What the scene rarely gets is a new desktop — an integrated, opinionated environment rather than a single app. ChumOS asks: if you designed the A500's dream workbench today, with everything we now know about UX and with today's tooling, what would it feel like?
The answer is modern manners with a classic soul: zero flicker, solid window drag at 50 fps via the Blitter, themes, keyboard shortcuts and a taskbar — but drawn with 1987 primitives, in 8 colors, on one floppy. The whole screen composes off-screen and blits in one beam-synced operation; nothing polls, so the entire system sleeps on a single Wait() and uses 0% CPU when you are not touching anything.
And it respects the silicon: every feature must be honest on a 68000 with 1 MB. No fantasy ports, no "requires an accelerator". If it cannot be done well at 7 MHz, it is documented as rejected — and that list is public.
A brand-new desktop for a 1987 machine — zero flicker, 8 colors, one floppy.
Files, Games, Disks, Media, System, Arcade, Productivity, Preferences, Automation and Capture/Viewer — all on the same contract: adding a Center is four callbacks and a state struct.
Every frame composes into an off-screen buffer and blits once, synced with WaitTOF(). Windows drag solid at 50 fps via the Blitter on a 7 MHz CPU.
A first-person dungeon crawler with nested-frame perspective, line of sight and chasing sentinels — rendered with integers only on a stock 68000.
Infinity Calc: a genuine formula engine (SUM/AVG/MIN/MAX/COUNT), cycle detection, bar charts and IFF export. 32-bit integer math, not a single float.
An ARexx port (WBINFINITY) plus its own .wbs script runner. The desktop can be scripted end to end.
The capture Center writes standard IFF ILBM and the viewer decodes BMHD/CMAP/BODY with ByteRun1, defensively: a corrupt file degrades to an error message, not a Guru Meditation. (In the Game Center the card still shows a text box; the decoded thumbnail lives in the viewer.)
Eleven color schemes swappable on the fly, including five synthwave themes with an animated-feel "outrun" desktop. The neon sun and vanishing grid are the house mark.
Copy, move, rename and delete files through an 8 KB buffer, with a status line telling you what is happening. Recursive folder copy is on the list, not on the floppy: the manual marks it as planned, and we do not advertise it before it is written.

Nothing polls. Every event — input, a 1 Hz clock, a ~15 fps animation timer, audio, ARexx — arrives as a signal into a single Wait(). The animation timer is only armed while the front window actually animates.
RedrawAll composes desktop + windows + bar into an off-screen buffer and blits once, synced with WaitTOF(). Typing uses a per-window double buffer; mouse moves are coalesced.
No layers.library, no Intuition window per app: Centers are rectangles repainted in Z-order on one canvas. That is why a desktop + office suite + 15 games and demos fit in 160 KB and 1 MB.
The 3D dungeon, the Mandelbrot renderer, the spreadsheet engine and the audio subsystem run without a single floating-point operation. Graceful degradation from KS 1.3 to 3.x, version-checked at runtime.
GCC 6.5 with -m68000 -O2 -fomit-frame-pointer -noixemul -Wall -Wextra. 21,228 lines across 44 modules, zero warnings.
make docker: a reproducible cross-build in the amigadev/crosstools container. Same binary, any machine.
GitHub Actions cross-compiles every push and PR with the same toolchain.
make adf builds the 880 K bootable floppy with amitools/xdftool. Boots in WinUAE, FS-UAE, Gotek and FPGA.
21,228 lines of C across 44 modules. One-command reproducible build; CI on every commit.
A zero-warning 68000 cross-compile, reproducible in a single command, with CI repeating it on every commit. No "works on my machine".
What a 68000/ECS cannot do honestly — full-motion video, alpha, software 8-voice mixing — is documented as rejected.
Destructive disk operations and module playback are delegated to proven tools (stock AmigaDOS commands, HippoPlayer), not reinvented.
Any 68000 Amiga with Kickstart 1.3+ and 1 MB (the A500 Plus is the reference machine). Also WinUAE/FS-UAE, Gotek floppy emulators and FPGA recreations like MiSTer.
Devlogs, patches and internal leaks. Zero spam, zero analytics. Just what matters, when it matters.