HeadlinesBriefing favicon HeadlinesBriefing.com

GitHub - ZX Desk: ZX Spectrum के ग्राफ़िक डेस्कटॉप ऑपरेटिंग सिस्टम

Hacker News •
×

ZX Desk is a graphical desktop environment for the ZX Spectrum 48K, written entirely in Z80 assembly. It features overlapping windows with z-order and focus, pull-down menus, a heap, event queue, swappable storage backends, dialogues, controls, a notepad, clock, calendar, a two-pane file manager, and a settings panel—all fitting within 48K on a machine from 1982. It runs on real hardware, not just emulators.

The project was inspired by the creator's childhood desire for an Atari ST and its GEM desktop. Instead of porting GEM, ZX Desk reimagines the concept within the constraints of a 3.5 MHz Z80, 48K RAM, a one-bit display with attribute clash, and a video chip that steals CPU cycles. Most design decisions emerged from measuring the actual hardware rather than theoretical reasoning.

The system includes a permanent menu bar with pull-downs, Kempston mouse and joystick support, a 16-slot event ring, and a registry of storage backends (RAM, tape, 128K RAM disk, esx DOS). A real heap allocates window-sized buffers, and applications use descriptors with init, event, and paint handlers. Settings persist via a versioned storage format.

The toolchain uses pasmo 0.5.5 and builds with simple scripts. Build flags enable demo mode, synthetic input scripting, and raw mouse diagnostics. The project emphasizes practical measurements and low-level optimizations essential for development on vintage hardware.