Програмування

Операційна система для ZX-SPECTRUM (MythOS)

ZX-SPECTRUM

Написання графічного редактора (російською) та його система плагінів у 1998 році поступово підвели мене до розробки операційної системи для Спектрума — MythOS (1999–2000 роки). У ній була і спільна для застосунків пам’ять, і розподіл процесорного часу між завданнями (кооперативна багатозадачність), а також віконна подієва система. Випуску системи для широкого загалу завадило лише те, що це вже був занепад популярності ZX-SPECTRUM, і ми з товаришем уже не змогли створити достатню кількість базових програм. Хоча були готові деякі файлові утиліти й «Сапер», вбудований налагоджувач (під’єднали STS) і навіть майже завершений власний асемблер, що мало в перспективі забезпечити повний цикл розробки та налагодження застосунків усередині системи.

Для тих, кому цікаво, я записав відеоролик роботи цієї системи:

Завантажити емулятор та образ можна тут — MythOS.rar (1.29 МБ)

На жаль, багато деталей уже забулося, і те, що продемонстровано на відео вище, — це метод проб і помилок. Коротко про те, що там було показано:

– Віконна система, подієва модель. Навіть якщо одне вікно перекриває інше, нижнє цілком нормально оновлюється. Система шрифтів: вони могли бути різних розмірів, завширшки 4, 5, 6, 7 або 8 пікселів.

– Завантаження та запуск кількох програм одночасно. Кожна — у свою сторінку верхньої пам’яті, але також є можливість завантажувати код за будь-якою адресою; це використовувалося для бібліотек. Можна було завантажити драйвер верхньої пам’яті.

– У фоні грає музика. Це не вбудована функція операційної системи — насправді завантажено програвач. Також для демонстрації того, що система справді може розподіляти час між застосунками, є квадрат, який обертається. Це просто демонстрація того, що завдання не завмирає після втрати фокуса.

– Простенька гра «Сапер» — куди ж без неї.

– Кілька утиліт для перегляду карти пам’яті, шрифтів і завантажених у пам’ять бібліотек. Утиліти для роботи з файлами та консоль, у якій їх можна запускати.

Загалом особливої потреби абстрагуватися від обладнання на ZX-SPECTRUM не виникало: усе воно було стандартним. Лише в останні роки почало з’являтися різне обладнання, яке не було особливо популярним саме через відсутність можливості підтримувати його у вже написаних програмах.

Крім того, додаються всі вихідні файли системи, документація та вихідний код уже написаних застосунків — MythOS_scr.rar (0.8 МБ).

Обговорення 4

  1. С чего загружается данная операционная система? Можно ли ее загрузить с кассеты или прошить в какую-нибудь микросхему? И можно ли ее или какую-нибудь ее модификацию поставить на какой-нибудь старый комп как основную операционную систему, не в этомуляторе запускать, а с жёсткого диска!!! Интересуют ответы на все вопросы!

    1. Долго думал что вам ответить и первый раз даже не стал)) Если вы видели или использовали когда нибудь ZX-Spectrum то наверное подобных вопросов бы не возникло. Система написана на ассемблере под реалии того железа. Во времена когда вкусили Windows 95 и хотелось чего то наподобие, но побыстрее чем “IS-DOS”
      А кроме того исходники же есть – можно ковырять если интересно “запускать” на чем то другом. Только придется переписать чуть более чем полностью.

  2. Это очень интересно! Можно подробнее про программную модель? Как распределена память, какое взаимодействие между процессами, как идёт работа с файловой системой? Есть ли желание повторить подобное на новом уровне, в совместном проекте (об этом лучше мылом)?

Залишити коментар

Вашу електронну адресу не буде оприлюднено. Обов’язкові поля позначено *