Présentation

Le dépôt mindbox77/zxdesk héberge zxdesk, un système d’exploitation à interface graphique destiné au ZX Spectrum 48 K. La description officielle indique qu’il est entièrement codé en assembleur Z80, ce qui implique une exploitation directe du processeur et des ressources matérielles du micro‑ordinateur.

Architecture et contraintes matérielles

Le ZX Spectrum 48 K possède 48 KB de RAM, un processeur Z80 à 3,5 MHz et un affichage bitmap de 256 × 192 pixels avec un jeu d’attributs de couleur limité à 15 couleurs. Ces paramètres imposent des limites sévères : chaque écran occupe 6 KB, laissant moins de 42 KB pour le code, les données et les piles d’exécution. L’implémentation d’une interface graphique doit donc gérer le attribute clash, optimiser les routines de dessin et minimiser les accès mémoire afin de conserver une réactivité suffisante.

Implémentation et état du projet

Le dépôt comporte un seul commit, une branche principale, un tag et 14 étoiles sur GitHub, ce qui reflète un projet très précoce ou en phase de prototypage. La structure du code se limite aux répertoires build, images et src. Le répertoire src contient le code source assembleur, tandis que build regroupe les scripts de compilation et images stocke probablement les ressources graphiques (sprites, icônes). Aucun fichier de documentation technique n’est fourni, ce qui rend difficile l’évaluation de la modularité du système ou de la présence de bibliothèques graphiques réutilisables.

Perspectives et limites

En l’état, zxdesk démontre la faisabilité d’un environnement de type « desktop » sur un matériel limité à 48 KB, mais plusieurs aspects restent non documentés : gestion de la mémoire dynamique, prise en charge du clavier, mécanismes de multitâche éventuels et compatibilité avec les extensions matérielles (ex. +3, RAM disk). L’absence de benchmarks ou de captures d’écran empêche d’estimer la fluidité de l’interface. Pour évoluer, le projet devra probablement introduire des techniques d’optimisation avancées, telles que le double‑buffering en RAM et l’utilisation de routines d’interruption pour rafraîchir l’écran sans bloquer le processeur.