ZX Spectrum krijgt 44 jaar na release een gui

De ZX Spectrum was een van de populairste thuiscomputers in de jaren tachtig, maar lang niet de krachtigste. Toch is het ontwikkelaar mindbox77 gelukt om een gui te draaien op de meer dan 44 jaar oude computer.

Mindbox77 heeft ZX Desk geschreven in assembly en onder een MIT-licentie gepubliceerd op GitHub. Het programma draait op de ZX Spectrum 48K, de 'krachtigere' variant met 48KB werkgeheugen. ZX Desk bevat onder meer menu's, een kladblok, een klok, een kalender, een bestandsmanager en een instellingenpaneel. De ontwikkelaar verzekert dat het programma ook draait op een echte ZX Spectrum 48K en niet alleen in een emulator.

Mindbox77 schrijft dat hij in de jaren tachtig een Atari ST wilde, maar er geen kon betalen. "Wat ik echt wilde, was GEM: het bureaublad, de vensters, de menubalk die er altijd zat, het gevoel dat de machine een plek was in plaats van een prompt. Ik had in plaats daarvan een Spectrum en ik heb lang nagedacht over hoeveel van die dingen je daarop kon doen. Ik ben er stukjes (code, red.) van gaan schrijven, maar heb het nooit afgemaakt."

Nu, ruim 44 jaar na de release van de ZX Spectrum, heeft de ontwikkelaar de gui alsnog afgemaakt. Hij erkent dat ZX Desk 'geen port van GEM' is, maar een uitwerking van het idee achter GEM binnen de beperkingen van de Spectrum. Mindbox77 zegt dat hij het programma ook naar de ZX Spectrum Next wil porten wanneer hij dat systeem in handen heeft.

ZXDeskZXDeskZXDeskZXDesk

Door Imre Himmelbauer

Redacteur

22-09-2026 • 15:33

21

Reacties (21)

Sorteer op:

Weergave:

Toch niet zo super spannend?
De MSX kent al jaren een GUI / Grafisch OS: https://www.file-hunter.com/MSX/?id=symbos4 met zelfs "multitasking".
De hardware requirements van SymbOS zijn hoger dan wat de ZX Spectrum aan kan. Zo draait SymbOS op de enigszins vergelijkbare (zelfde cpu) MSX 1 alleen met een GFX9000-cardridge. Dat is een uitbreiding met een grafische chip en 128 KB video RAM. Dat is nogal wat anders dan de 48 KB geheugen van de gebruikte ZX Spectrum, die het grafisch geheugen deelt met de CPU. Het is dus een veel grotere uitdaging om een GUI voor de ZX Spectrum te maken.

[Reactie gewijzigd door pmeter op 22 september 2026 15:52]

Geloof dat ik op de Commodore 64. GEOS had.
Was heel COOL toen. :)
Ja, de IBM compatible ook. Maar we hebben het hier over de ZX Spectrum?
Klopt... Maar in dit geval beiden 8 bitters met dezelfde Z80 CPU en met een jaartje leeftijdsverschil.
Wel een verschil tussen de MSX en de ZX Spectrum he..

edit: ook leuk
I finally finished the thing I started on a Spectrum in the eighties.
ZX Desk is a graphical desktop for the 48K ZX Spectrum, written in Z80 assembly. Overlapping windows you can drag and resize, pull down menus, a notepad, a clock, a calendar, a two pane file manager and a settings panel. It runs on the real machine, not just an emulator, and it fits in 48K.
Back then I wanted an Atari ST and GEM and couldn't afford one, so I had a go at building the idea on the Spectrum instead. Never got far. This is that, done properly, and a lot of it turned out to be more interesting than I expected. Dragging a window inside one 50 Hz frame on a 3.5 MHz CPU took some doing. Along the way I found out the folklore about the ULA stealing half your cycles is wrong (it's about 15%), and that a DI on the Spectrum doesn't delay an interrupt, it loses it completely.
All the measurements are in the README, and they're the useful bit if you're building anything on this hardware. It's MIT licensed, so help yourself.
https://github.com/mindbox77/zxdesk

[Reactie gewijzigd door 410Gone op 22 september 2026 15:42]

Beide draaien op een Z80-processor, en het is geschreven in assembler. Dan is het niet zo vreemd om die vergelijking te maken.
Als je niet echt een idee hebt tegen welke uitdagingen de ontwikkelaar is aangelopen dan zou je dat kunnen denken, maar sowieso snap je toch wel dat het een hele kunst is om dit in 48KB unified werkgeheugen te passen?
Ik zou het absoluut niet kunnen. Lach me altijd rot om dit soort experimenten. Het is eigenlijk gewoon retro science: what if, what not when....
Het is geen hogere wetenschap, maar de ZX Spectrum maakt het toch weer een beetje spannender. 48KB geheugen alweer wat krappen dan 64KB of 128KB waarveel MSX'en mee uitgerust waren. De Spectrum heeft geen sprites om het muispijltje mee weer te geven, dus dat wordt software-matige rendering implementeren. Hardware voor een muis heeft de Spectrum ook niet en in tegenstelling tot de MSX heeft de Spectrum ook geen ondersteuning voor diskettes.
48Kb geheugen is inclusief de 16Kb framebuffer, dus in de praktijk nog minder. Het karakter 'font' zit gelukkig wel in de ROM...

Muis hardware voor de Spectrum werkt ongeveer net als joysticks: een paar poorten waar je numeriek de coordinaten uit kan lezen. En de Spectrum +3 had ook een (totaal niet-standaard 3.0 inch) floppy drive.
Wij hadden vroeger een Opus Discovery 1 (denk ik) aan de spectrum hangen. Die had een 3.5 floppy disk, printer uitgang en een joystick poort.
Ben nog eens bezig geweest om twee basic programma's parallel te laten draaien op de spectrum maar nooit echt doorgezet om een te implementeren
Beter vergelijken met Philips (operasoft) Ease, dat was ook een Windows gui met allerlei features en text editor en ik kreeg het standaard bij mijn Philips MSX2.
Nee, ook niet. De MSX2 was al veel makkelijker om dit soort tools te kunnen maken. Je hebt voor de MSX1 dezelfde uitdaging als de ZX Spectrum heeft, behalve de muis dan. Op de MSX kan dat met sprites. Ik heb een andere tool gevonden die er op lijkt en dat heet msx-windows. Ook te vinden op Github.
Cool, good old GEM. Op Atari en BBC wel gebruikt maar vooral op de PC met Ventura. Mooie tegenhanger voor Classic Mac OS (op te dure hardware) en het wondermooie AmigaOS. Later kwam het o zo trage Windows - ik begreep weinig van Windows 1 en 2, pas bij 3 begon het een beetje te dagen.
Als hij dat nu kan porten naar de Commodore Vic-20 dan is hij echt een held. (3.5Kb)
Doet meer weer denken aan Geos op de Commodore 64. The good old days ;)

[Reactie gewijzigd door connos op 22 september 2026 15:58]

Indertijd keek ik wel eens jaloers naar Geos op de C64 van een schoolvriendje. Dat was er niet voor de ZX Spectrum...

Ik herinner me wel diverse games van Pete Cooke (o.a. Micronaut One en A Whole New Ball Game) waarin GUI-achtige elementen zoals pull down menu's en (joystick-bestuurde) muispijl aanwezig waren. Er was zelfs een muis met wat software voor de ZX Spectrum, AMX heette die geloof ik.

Screenshots in het artikel zien er interessant uit, ga dit zeker even bekijken op een emulator. Mijn oude Spectrum 128 is al decennia kaput...
Mooi,

Dan ga ik mijn ZX spectrum maar eens van de zolder halen.

Maar hoe sluit ik mijn muis aan?
Ik geloof dat ik ergens op zolder nog een ZX Spectrum liggen heb maar geen enkel idee in welke staat die nu is. Kan mij in elk geval wel de ZX Spectrum nog wel goed herinneren maar er eigenlijk vrij weinig mee gedaan heb. Weet nog wel dat die in elk geval niet de snelste was en nogal omslachtig vaak, dus pen en papier was dan toch sneller.

[Reactie gewijzigd door Roel1966 op 22 september 2026 21:53]


Om te kunnen reageren moet je ingelogd zijn