
Программист Дамиан Купер (Damian Cooper) успешно завершил создание графической оболочки ZXDesk для домашнего компьютера ZX Spectrum 48K. Эта разработка, выполненная на ассемблере Z80, представляет собой полноценный рабочий стол с возможностью перекрытия окон, выпадающими меню и системой обработки событий.
Изначально разработчик приступил к работе над ZXDesk в 1980-х годах, вдохновившись графическим интерфейсом GEM от Atari ST, который был для него недоступен. По истечении четырех десятилетий проект был доведен до конца и опубликован на платформе GitHub. Дамиан Купер подчеркивает, что это не является переносной версией GEM, а самостоятельной реализацией концепции с учетом технических ограничений процессора Z80, работающего на частоте 3,5 мегагерца, имеющего 48 килобайт оперативной памяти и поддерживающего однобитную цветовую палитру.
В состав системы входит менеджер памяти, выделяющий heap объемом 8111 байт, кольцевая очередь для обработки событий, рассчитанная на 16 слотов, а также несколько устройств хранения информации: магнитофонная лента и RAM-диск с поддержкой страниц расширенной памяти модели 128K. Функциональность ZXDesk включает в себя блокнот, часы, календарь, двухпанельный файловый менеджер и панель для настройки параметров системы.
В процессе работы Купер провел тщательный анализ аппаратных возможностей компьютера и выяснил, что приоритет процессора при распределении ресурсов значительно ниже, чем предполагалось ранее. Это позволило оптимизировать процесс отрисовки окон и обеспечить плавное перемещение между ними. Необходимо отметить, что система функционирует на оригинальном ZX Spectrum, а не только в программных эмуляторах.
Проект находится в открытом доступе на платформе GitHub и вызвал интерес у энтузиастов ретро-компьютинга. Создатели отмечают, что ZXDesk представляет собой одну из наиболее всеобъемлющих интерпретаций графического интерфейса для оригинальной модели ZX Spectrum 48K, хотя ее визуальное оформление не отличается особым совершенством.