ZXNet эхоконференция «code.zx»


тема: Загрузчик операционки



от: Wladimir Nikolaev
кому: All
дата: 16 Jan 2000

┌─ Forwarded by Wladimir Nikolaev ─────Not─a─niger───
│ Posted from: REAL.NEOS
│ From: Alexander Bondarenko (34:1/90.1) Wed 22 Dec 1999 14:31:16
│ To : All ()
│ Subj: [FWD] Загрузчик операционки
└─────────────────────────────────────────────────────────────
=== So get forwarded msg, All ===

-= STUDIO STALL =-
ДОБРЫЙ ДЕHЬ, All!

Вчера от неча делать, родил мессагу, килов на 6.
Как обычно бывает - хорошая мысля приходит опосля.
Короче - идея по поводу загрузчика - не изобретать велос,
а пойти по уже проторенному пути - использовать 9-й сектор
с длиной более 256 байт. Такой прием позволит системе грузиться на любой
машине, независимо от прошивки ПЗУ. Правда, если не будет БИОСа, его придётся
подгружать.
Вот какой минимум нужно для системы:

1. Компьютер с типичным TR-DOS'ом.
2. Память - 128к.

В этом случае, система будет сидеть где-нибудь в странице, например - в 1-й, в
буфере принтера будет киснуть керналь, так же, вполне возможно, будут
задействованы ещё кое-какие области до #6000

С #6000 до #C000 - область программ. Можно так же заюзать и с #C000 до #FFFF в
нулевой странице.

Система займёт, где-то страницу (имеется в виду очень компактый вариант). Так
что, у юзера остаётся - 40 килов да ещё килов 64, итого - где-то 100 килобайт
свободной памяти. Вполне нормально.

Иное дело, когда стоят прибамбасы типа псевдо-ПЗУ. В этом случае, система будет
помещена туда. Хотя, на тот случай, если кому-то захочется заюзать эту память -
можно перекинуть ядро и наверх.

Тут вот ЕВГ считает, что программы под эту ОС должны быть 100%-релоцируемые. Я
с ним 100%-согласен. Это позволит напрочь забить на месторасположение своей
проги, и юзать память более рентабельно.

Вызовы программ из других страниц можно осуществлять двумя способами:

1.
...
CALL call_prg_0
DW addr_prg
DB page_prg
...
(ц) ЕВГ

2.
...
LD A,page_prg
LD HL,addr_prg
CALL call_prg_1

Где какой из методов предпочтительнее - разберется юзер.

Да, кстати, совсем забыл - что же стоит разместить в ПЗУ?

Лучше всего туда впихать низкоуровневые процедуры для работы с дисководом,
винтом, памятью; так же, туда стоит засунуть процедуру печати со шрифтом, опрос
клавиатуры; какие-нибудь сервисные возможности для работы с этой системой -
обработчик NMI, какой-нибудь RESET SERVICE. В итоге, загрузчик будет грузить
только верхние уровни системы.

Короче - система сначала определяет конфигурацию, прикидывает наиболее
оптимальную позицию и грузит туда то, что нужно.

ДО ВСТРЕЧИ, 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аше имя - Легион. }




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

Похожие статьи:
К нашим читателям - "Время перемен"
Intro - воскрешение, описание вьювера.
Печатается с продолж. - Кащей бессмертный (глава 10-12).
Обзор - Обзор новых журналов: Rush #1, Adventure #9, Scenergy #1, ZX-Power #3, Miracle #3.
Программинг - новый быстрой и короткий PT3.x Player от RSM.

В этот день...   25 апреля