Power up an A500 running ChumOS, touch nothing, and watch the meter: 0% CPU. Not «almost zero»: zero. The entire system — desktop, clock, ten Centers — sleeps in a single Wait() call, waiting for signals. On a 7 MHz machine, every cycle you do not spend idling is a cycle you have when it matters.
Nothing polls
Input arrives as a signal. The 1 Hz clock arrives as a signal. Audio and ARexx arrive as signals. The ~15 fps animation timer is armed only while the front window actually animates — a plasma on screen turns it on; closing it turns it off. The discipline is total because on a 68000 polling shows: a busy-wait loop steals half the machine.
One frame, one blit
The other half of the trick is the zero-flicker pipeline: RedrawAll composes desktop + windows + bar into an off-screen buffer and blits it ONCE, synced with WaitTOF(). Mouse moves are coalesced; typing uses a per-window double buffer. The result: windows that drag solid at 50 fps via the Blitter, in 8 colors, on 1987 hardware.
On a 68000, every cycle you do not spend idling is a cycle you have when it matters.
Why Centers are not windows
No layers.library, no Intuition window per app: Centers are rectangles repainted in Z-order on one canvas. It sounds like heresy and it is the reason a desktop + office suite + eight games and seven demos fit in 160 KB and boot from one floppy. Neon Dungeon included, rendered with integers only.

C. DI CASTELLO · DEVELOPER LEAD · PRINCETON, IL · 2026.05.30