Еле-еле осилил ветку.
Но после прочтения, сложилось мнение,что все чего-то хотят и и кто не знает чего именно.
Мое видение архитектуры, таково:
1. BIOS -- содержит базовый набор процедур необходимых для начального запуска машины:
A.Утилиту настройки параметров оборудования ( при это абсолютно не важно где будет храниться инфа о конфигурации машины в NVRAM или например в инженерном цилиндре на диске или дискете).
B. Процедуру POST ( Power-On Self Test) для тестирования имеющегося оборудования.
C. Базовый(!!) набор вызовов по работе с оборудованием машины ( терминальный ввод/вывод, дисковые накопители, управление менеджером памяти на машинах с объемом RAM > 48k, видео сервис ( аналог писюкового int 10h))
D. Процедуру начальной загрузки машины ( аналог int 19h с фиксированной точкой входа)
E. По желанию стартовые меню, для тех кто без них жить не может.
F. Совсем забыл про системный таймер ( сервис времени, sysuptime), работающий как с RTC, так и счетчик инкрементирующийся например раз в секунду (похоже на UnixTime ( количество секунд прошедших с 1-го января 6.00 утра 1970 года)). Сервис должен обеспечивать как получение текущей даты/времени/системного uptime так и его установку.
При всем при этом, нет необходимости держать в ROM универсальный BIOS который бы подходил ко всем машинам сразу, даже на PC такого нет, т.к для каждой модели мат.платы делают свою версию BIOS. Тут уж пусть каждый под себя собирает из исходников BIOS или например скачивает уже готовый для своего типа машины.
BIOS также будет являться HAL (Hardware Abstraction Layer) для самой ОС, чтобы не обременять ОС лишним для нее функционалом, кроме того такой подход предоставляет единое низкоуровневое API для работы с оборудованием, что должно облегчить перенос программ с одного клона на другой и портирование нового софта на ZX.
Это пока по BIOS по самой OS напишу несколько позже, если ни кто не против =)
С Уважением, I'm!Pressed.




Ответить с цитированием