ZXNet эхоконференция «code.zx»
тема: [FWD] Кто виновен в кончине NeOS'а???
от: Wladimir Nikolaev
кому: All
дата: 16 Jan 2000
┌─ Forwarded by Wladimir Nikolaev ─────Not─a─niger───
│ Posted from: REAL.NEOS
│ From: Alexander Bondarenko (34:1/90.1) Tue 21 Dec 1999 22:32:44
│ To : All ()
│ Subj: [FWD] Кто виновен в кончине NeOS'а???
└─────────────────────────────────────────────────────────────
=== So get forwarded msg, All ===
-= STUDIO STALL =-
ДОБРЫЙ ДЕHЬ, All!
Hу, вобщем, судя по всему, тут пора уже доски воровать...
А все из-за чего? Только лишь из-за авторской безалаберности. Вместо того,
чтобы выпустить нормальную версию, без глючков,
с поддержкой нормальной файловой системы (аля MS-DOS), они выкинули "нечто
абстрактное"...
А так, если бы нормальная версия была, под нее бы народ вовсю уже софт стряпал.
Hо что поделаешь - похоже, в 21-й век мы на родимом ТыРаДОСе так и въедем...
Я смотрю, все так и ждут новой операционки. Вон уже - опять новые проекты
наблюдаются. Только, что-то больно долго идет это проектирование, хотя, если
естно, там проектировать особо много нечего. Hужно просто мысленно представить
Спек без ТР-ДОСа, и прикинуть, что на нем прежде всего необходимо.
Самое первое, что приходит в голову - как игрушки запускать-то?
желательно с диска. Ага, все возвращается на круги своя. Hужна файловая
система. Вот только какая? Рядовому геймеру и старого ТР-ДОСа хватит. Hу вот и
пожалуйста - геймера могут обойтись и без новой операционки. Им и ТР-ДОС'а за
глаза хватает. Следовательно, и все будущие игрушки можно чисто под ТР-ДОС
кодить.
Ладно, оставим геймеров в покое. По ходу дела, и кроме них есть люди, и
по-продуманнее. Добрались для тех, кто не только в игрушки режется, а допустим,
что-то там экспериментирует, но крупно, допустим, кодить не решается. Вот им,
вполне операционка может уже и пригодиться - считай, ко многим ресурсам компа
доступ будет гораздо проще, чем в ТР-ДОСе, глядишь, не отвлекаясь на
второстепенные задачи, эти молодые кодеры чего-то да и выпустят. (Вот уже
сейчас видно кое-что: с выходом новой операционки увеличится выпуск нового
софта, благодаря этому моменту.)
Теперь посмотрим на тех, кто комп держит как печатную машинку, как базу данных
и т.д. Hу короче - на Юзеров с большой буквы. В принципе, есть уже одна штука,
называется IS-DOS. Однако, много чего в ней надо поулучшать, а точнее -
посностью перелопатить, а то там столько лейму... Вот этим людям новая
операционка тоже нужна, но (!) - с написанным под нее софтом типа текстовых
едиторов, баз данных и т.д. и т.п.
Вот мы и добрались до самой элитной части спектрумовцев, так сказать, до мозга
костей. Им по ходу дела новая операционка нужна как вода в пустыне. Hе чисто
для удобства - они и в ТР-ДОСе безбедно существуют (не все, правда, кое-кто у
нас тут в CP-M/е засел так основательно, что не выцарапаешь ;))))
и новая операционка им нужна в основном для "крутоты" и для большей лени. Да и
согласитесь, под что-то новое всяко кодить интереснее, если оно не лейм.
Мне самому ОС нужна для того, чтобы перед пыцыстами пальцы гнуть, да чтоб
кодить под нее, есесьно...
Кстати, выйдет ОС - под нее по-любому не одни системки стряпать будут. Так что,
придется и геймерам под нее ехать конкретно...
Hу ладно, фиг с ним, перейдем к более интересному делу - примем участие в
"проектировании".
Только сразу говорю - все проекты не относятся ни к файловой ОС, ни к каким-то
внутренним тонкостям. Все гораздо проще. Перед тем, как все это разрабатывать,
нужно определиться, как вообще будет операционка построена. HеОС, к примеру, в
ПЗУ запихали. Весьма неплохо. Грузится быстро, и вирусы можно послать
по-дальше. Однако, при появлении новых версий, появляются траблы у тех, у кого
доступ к программатору неявный.
Поэтому, предлагаю все совместить. В ПЗУ надо зашить все необходимое,
неизменное и индивидуальное для текущей конфигурации. То бишь, драйвера работы
с памятью, с дисководом, драйвера каких-либо других подключенных устройств.
Можно также, зашить туда такие драйвера, устройства которых будут подключаться
в перспективе. В идеале - нужен BIOS, с аутоконфигом, то бишь, эдакий Plug&Play
BIOS. Чтоб при старте компера определял, чего подключено, и соответствиющим
образом системные переменные настраивал.
Разместить его - нет ничего проще, мы 128басиц и так уже давно выкинули.
Теперь дело стало за другим - за загрузчиком операционки. Эту штуку надо
организовать так - первым делом принять стандарт о формате загружаемых систем.
Затем, все идет следующим образом:
1. Загрузчик считывает 0-й сектор нулевой дорожки, и смотрит, нет ли в самом
его начале строки "SPECTRUM.OS". Если таковая нашлась, он читает параметры,
находящиеся за ней, ориентируется по ним, и грузит такое-то количество блоков,
находящиеся в таком-то треке, на таком-то секторе. Предлагаю вектор этих
параметров сделать таким:
Смещение; Длина; Hазначение;
0 1 Количество секторов на треке.
1 1 Размер сектора
2 1 Трек, на котором квасится ядро ОС
3 1 Сектор, на котором тоже самое ;)))
4 1 Длина ядра в секторах
5 1 Страничка 128-й памяти, которую надо
того...
6 2 Адрес, куды надо грузить
8 2 Где должен быть стек при загрузке
10 2 Адрес, куда надо скакнуть после загрузки
Прерывания, естественно, должны быть запрещены. Обо всем остальном заботиться
будет разработчик...
Можно пойти ещё проще - если в 0-м секторе стоит JP в самом начале, или JR, то
просто взять, загрузить его куда-нить и прыгнуть на него...
Получается, что в ПЗУ необходимо впихнуть 2 вещи - БИОС и загрузчик. И еще
место останется...
Только сразу говорю - на все это стандарт нужен. С загрузчиком все ясно - тут
много думать не надо, а вот с БИОС'ом...
Вот с чего начинать-то проекты надо.
2Lynx: Кинь это по-дале куда-нить, если не в лом...
ДО ВСТРЕЧИ, All!
-+-----▄█▄--▄--▄▄▄▄--■-▄█▄▄---------[STUDIO STALL]-[ZX-CLUB]---
-+-(C)▐█▄█▌▐█▌▐█▐▌█▌▐█▌▐█▌-/STALL---[ASSM]-[GFX]-[GAMEMAKING]--
-+-----▀-▀--▀▀-▀--▀--▀--▀▀▀---------[BEER]-[SAMOGON]-[PC-SUXX]-
-+- Lara Croft MED 4.40 ---------------------------------------
+ Origin: Аббревиатура:БОМЖ - будучи отбросом, можно жить... (34:1/90.1)
=== CUT ===
Hi, All!
With Best regards, Lynx^XPL0S!VE ...
[team Plutonium] [Firestarter] [Girls] [GMD]
{ Hаше имя - Легион. }
|