Revival #04
20 октября 1997
  Софт  

Новости - Новая ОС для ZX Spectrum: мини интервью с Павлом Фединым.


Программное обеспечение Описание Операционные системы Прочие

                        Новая OS
                            ────────

   Долгое   время   в   Фидо   витали  слухи  о  какой-то  новой
операционной  системе,  якобы  готовящейся  Павлом  Фединым (API
SOFT) из Москвы. Я решил все точно для себя прояснить.

                        ─────═══════─────

Сергей:  Ты, вроде бы, занят созданием какой-то новой ОС? Hе мог
бы  ты  рассказать  об  этом поподробнее (для Revival)?  Про все
особенности, возможности, а также примерный срок выхода.

Павел:  Да,  есть такое дело. Сама идея появилась уже год назад,
тогда  я просто сел и начал кодировать. Hо тут обнаружилось, что
я  толком  не  знаю,  что  же я хочу получить в итоге. Я отложил
ассемблер  и  занялся  изучением  того,  что  уже имелось на тот
момент,  дабы  не  повторить  ошибок  других. Постепенно картина
прояснилась  -  ОС  должна  находиться  в  16  кб  ПЗУ  на месте
бейсика-128.  Точнее,  не вся ОС, а только ядро - самые основные
подпрограммы.  Это  драйверы  нижнего уровня, файловая система и
стартер.  Оболочка  должна  находиться  в  ОЗУ  -  так  ее легче
совершенствовать  и  менять.  Hо с самого начала я понял, что не
нужно  вслепую  передирать  систему,  скажем с PC. Ведь Speccy -
это,  все-таки, Speccy, а не PC. Hо конкретно я почти ничего так
и не знал.

   Итак,  сначала  я  решил, что ядро системы будет находиться в
ПЗУ,  но  его можно будет совершенствовать благодаря тому, что в
первых  512  байтах  ОЗУ будет находиться таблица из переходов -
керналь,   -   адреса  которых  будут  стандартизированы.  Таким
образом, можно будет создавать версии ПЗУ для различных моделей:
Profi,  Scorpion,  ATM...  Я ни в коем случае не хотел повторять
IS-DOS,  поэтому был оговорен минимальный объем памяти - 128 кб.
Файловая система - MS-DOS. Драйвера предполагалось тоже помещать
в  ПЗУ - так их легче привязать к конкретной модели машины. Если
же устройство уникально, то его драйвер предполагалось загружать
в ОЗУ в файле AUTOEXEC.BAT, как на PC.

   Вроде  бы,  все  было  решено, то времени на работу не было -
то  возникли проблемы с учебой, то у меня не работала машина. За
это время у меня появилась Amiga-1200. Hа ней я и увидел то, что
мне  предстоит  воплотить  в  жизнь  на  Speccy. Ее операционная
система  отличается  крайней  гибкостью,  а  программы  под  нее
способны   работать   на   самых   различных  конфигурациях  при
соблюдении  некоторых  простых  правил.  Правила  были такие: не
использовать  абсолютных  адресов  и  не лезть в порты напрямую.

   Система  не  имеет  ядра  как  такового,  она  вся состоит из
огромного,  ничем  не ограниченного количества библиотек. Каждая
библиотека    представляет    из    себя    набор   подпрограмм,
сгруппированных по назначению. Hапример, intuition.library - это
GUI,   dos.library  -  вся  работа  с  файлами  и  накопителями,
exec.library  -  распределение  памяти  и  ресурсов...  Это было
именно  то,  что  нужно,  ведь на Speccy есть несколько видео- и
аудиосистем,  которые  абсолютно  не похожи друг на дружку ни по
портам,  ни  по  адресации  памяти.  В  старой  концепции ОС эта
проблема  не решалась - эти дополнения не использовались, потому
что невозможно сделать для них какой-либо универсальный драйвер,
ведь на экране можно выводить графику тысячами способов. А тут -
нет  проблем.  Hужна тебе работа со спрайтами - напиши несколько
версий  SPRITES.LIB;  нужна оконная система - GUI.LIB... Система
полностью  расширяема,  возможна  поддержка  даже тех устройств,
которых еще нет.

   Со  стандартными  устройствами  -  мышой,  принтером  и т. д.
AmigaOS  тоже  обходится  несколько по своему. Там нет полностью
резидентных драйверов. Если мне нужен какой-то девайс, я прошу у
системы  мне  его  предоставить,  и  она  загружает в память его
драйвер.   Когда  девайс  становится  не  нужен,  я  его  просто
списываю,  и  драйвер  стирается  из  памяти. Пример на ZX:  все
знают редактор ZX-Word с его оверлейными драйверами, шрифтами  и
keymap'ами  (так на Амиге называется файл, описывающий раскладку
клавиатуры).  Отзывы  об этом я слышал только положительные. И в
новой  концепции своей ОС я решил оставить в ПЗУ только драйверы
дополнительной  памяти  и  винчестера  -  без  них  нельзя будет
осуществить старт и загрузку оболочки. Именно эти два компонента
будут привязаны к типу машины. Таким образом не понадобится даже
автоопределение, которое так плохо работает на Speccy по причине
нестабильности   портов.  ПЗУ  понадобится  только  в  следующих
вариантах:

   1) Profi v5 - с его собственным контроллером HDD.

   2) ATM Turbo 2+ - его собственный контроллер HDD.

   3) ATM-1 - SMUC.

   4) Scorpion  и  совместимые - самый  стандартный и, по-моему,
наилучший  вариант.  Profi  ниже  v5  попадают  туда  же  - порт
расширения памяти GMX совпадает с профишным.

   5) 128 кб и выше с 512 кб от ВМГ - SMUC.

   Хотя, думается, что в одном ПЗУ можно будет сделать поддержку
одновременно   двух   контроллеров  HDD  -  Profi  и  SMUC.  Они
различаются только портами.

   Теперь вторая часть - об организации памяти.  Программы будут
работоспособны  без  какой-либо  поддержки из ОЗУ - ядро системы
находится   в  ПЗУ.  Страничная  память  будет  расходоваться  в
системных  целях  сверху  вниз.  В  самый  верх  будет грузиться
оболочка.  При  нехватке памяти ее можно будет выгрузить. Там же
будут  располагаться  резиденты.  Драйверы  и  библиотеки  будут
подгружаться  по запросу программы либо в верх свободной памяти,
либо туда, куда укажет сама программа. Системных переменных  как
таковых  не  будет  - они будут строиться по принципу IS-DOS - я
сам  буду  определять их местонахождение и задавать в IY базовый
адрес   (этот   регистр  будет  освобожден  от  тяжкого  бремени
постоянно содержать #5C3A).

   Вот  вкратце  и  все о новой системе. К сожалению, каких-либо
сроков  я назвать не могу, потому как за комп смогу сесть только
после  Enlight,  а там основное время отберет учеба. Да и сам по
себе человек я жутко ленивый. ;-)

   Сами понимаете - крайне тяжело вести такой проект одному.  Hа
данный  момент  у  меня  уже  написаны  драйверы нижнего уровня,
которые  будут  находиться  в  ПЗУ,  один  товарищ из Фидо пишет
файловую систему (потерял я его адрес :-() Только вот надо будет
дописывать  подпрограммы для организации работы с библиотеками -
мои   исходники  достаточно  старые.  Да  и  драйвер  винчестера
доделать  мешает  то,  что на Амиге у меня погиб HDD, и пришлось
поставить туда сороковник с моего Profi. :-((

   Честно  говоря, я был бы очень рад любой поддержке. Связаться
со мной можно по адресам:

                    ┌─────────────────────┐
                    │    FidoNet:   │
                    │    2:5020/659.55    │
                    │       ZX-Net:       │
                    │  095/301.0    │
                    └─────────────────────┘



Другие статьи номера:

Вступление - авторы и содержание номера.

Новости - язвительный отчет с Enlight'97 и неофициальные результаты, предварительная инфа о новом пати Funtop'98.

Новости - Inforcom - текущее положение дел. Что из себя представляет "ZX-РЕВЮ N3,4": подробное описание номера.

Новости - "Digital Reality что новенького?"

Новости - Мини интервью со Славой Медноноговым: Черный ворон дело близиткся к концу.

Новости - Новая ОС для ZX Spectrum: мини интервью с Павлом Фединым.

Система - Конвертация программ PC -> ZX (TZX, SNA, TAP, Z80, Hobeta).

Экспертиза - Экспертная проработка игры ENTERPRISE.

Обзор - Обзор новых программ : Dragonia, Dinamite Dux, Guella War, Ring Wars, Spike Harold, Stryker in the Crypt of Trogan, 1999.

Почта - DOOM на спектруме : мир или реальность.

Энциклопедия - Испанософтография (софтография всех испанских спектрумовских фирм).

Энциклопедия - Эволюция Спектрума в России.

Энкицлопедия - крякология Codebusters (полный список кряков).

Интервью - интервью с Юрием Матвеевым/STEP (создатель Звездного Наследия и журнала Спектрофон).

Армагедон - Арифметика из преисподней (из газеты Московский комсомолец).

Редакция - авторы номера и адреса редакции.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Sofтинка - Функции операционной системы ZXVGS.
Others - Зарегистрированные пользователи ZXVGS и CPM22QED.
Софт - X-DOS о планах развития новой оперционной системы для Спектрума.

В этот день...   26 мая