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) Sat 25 Dec 1999 16:40:05
│ To : All ()
│ Subj: [FWD] Функция псевдо-ПЗУ.
└─────────────────────────────────────────────────────────────
=== So get forwarded msg, All ===
-= STUDIO STALL =-
ДОБРЫЙ ДЕHЬ, All!
Итак, продолжим наши прения по поводу операционки...
Под вопросом - использование псевдо-ПЗУ.
Hекоторые товарисщи предлагают впихивать туда операционку, чтобы можно было
юзать её функции через всякие RST'ы.
Я же собираюсь отмести эту идею куда подале, так как думаю не только о себе.
Можно играться RST'ами и при обычной, 48-й ПЗУшке. Вспомните, хотя бы, как это
во всем известном IS-DOS'е сделано...
При этом, правда, при вызове всех функций через эту штуковину, придётся следить
за адресом 23633 - там будет находиться адрес адреса обработчика функций.
Также, придётся сохранять содержимое DE'. А начало у обработчика функций будет
следующее:
EX DE,HL
INC SP
INC SP
POP HL
EXX
...
У многих людей, которым нужна операционка, нету такой штуки, как псевдо-ПЗУ. Hе
все из них могут в ближайшее время перелопатить свой комп для того, чтобы такая
штука появилсась.
Отсюда вывод - система не должна базироваться на тип компьютеров с псевдо-ПЗУ.
Псевдо-ПЗУ должно быть использовано для того, чтобы впихивать туда код, который
работает с верхней памятью, с несколькими страницами сразу, и не может быть
размещён в странице. Hапример, туда можно вогнать драйвер рам-диска, либо
процедуры для обмена большими объёмами данных между памятью и внешними
устройствами.
В допустимом минимуме, где нет псевдо-ПЗУ, и мало нижней памяти, придётся
завести такую вещь, как "буфер-обменник". При этом, у всех драйверов
вышеуказанного типа должно быть два типа работы: буферный и прямой. При прямом
- всё ясно, драйверу доступна вся память. При буферном, это когда драйвер сидит
в верхней памяти, он будет брать данные из внешнего устройства и кидать их в
буфер. Затем, при заполнении буфера, будет прыгать на обслуживающую буфер
процедуру, сидящую в нижней памяти, которая щёлкнет страницей и кинет
содержимое буфера в соответствующее место...
При своей инициализации, драйвер должен сам "догадаться", какой режим нужно
включить, прямой или буферный...
А при прямом, всёж быстрее. Отсюда вывод - ставим соответствующий прибамбас.
;)))
ДО ВСТРЕЧИ, 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аше имя - Легион. }
|