Утилита для iS-DOS

EXE.COM

Утилита EXE.COM (адрес загрузки = #5DC0 =24000)
преднаначена для загрузки и запуска в OS iS-DOS Classic
программ с RAM или HARD-диска на компьютере TURBO 2+.
Для успешной работы утилиты необходимо :
- запускаемый файл должен быть непрерывным ;
- отсутствие ошибок при чтении с жесткого диска
Чтобы утилита запускала файл по Enter , необходимо добавить в
extent.txt строку :
exe:Q:SHELL\exe
Возможности утилиты :
- загрузка файла с точностью до байта .
- запуск фаила по любому адресу загрузки , начиная с #0500 .
- загрузка первых 27 блоков программы в область экрана , а ос-
тальной части по оригинальному адресу . Здесь утилита ориен-
тируется по байту'Special' и если его бит 0 равен 1, то снача-
ла грузится картинка , а оставшаяся часть файла по адресу
загрузки .
- если адрес загрузки ниже области экрана (#4000) , то при за-
пуске вашей программы установлена конфигурация режима
BASIC-128 , где вместо ПЗУ в 0 области установлена 1 станица
ОЗУ с загрузчиком и началом вашей программы .
- если адрес загрузки выше #3fff , то установлена конфигурация
режима BASIC-48 , с открытым страничным портом (#7ffd).
- Установка стека равного = Word_20 , если не 0 , иначе он
равен адресу загрузка
- Запуск программы с адреса = Word_22 , если не 0 , иначе с адреса загрузки
- Возврат в iS-DOS после загрузки блока кодов если Word_22
меньше #0100
- Загрузка части файла = Word_24 иначе весь (не более #FFFF)
- Использование загрузчика из программы через RST #10 для
чтения/записи блоков кодов с текущего устройства
Особенности запуска :
- при запуске установлен 1 режим прерываний , а сами прерыва-
ния запрещены .
- в регистре DE - адрес следующего блока на диске , что позво-
лит найти адрес самой програмы или догрузить ее остаток.
Использование загрузчика через RST #10 естественно возможно
только при включении режима Basic-128 при этом на входе :
- DE - адрес блока на диске
- HL - адрес в памяти
- B - кол-во блоков чтения
- A - номер текущей страницы ОЗУ , то есть байт для класси-
ческого системного порта. Это позволит читать в другие страни-
цы ОЗУ без использования буфера .
На выходе :
DE - следующий адрес на диске
Для минимальной стандартизации загрузчик оставляет в своей
странице (пока это стр. 1 ) по адресу #0000 вектор в котором :
#0000 - #C9 - команда возврата
#0001 - DRV - тип устройства 0 - RAM / 1 - HDD
#0002 - VER - версия или размер загрузчика в блоках
#0003 - IMR - байт регистра I для возможного востановления
#0004 - STK - адрес стека для возможного возврата
#0006 - RET - адрес процедуры возврата в iS-DOS
#0008 - RD - адрес процедуры чтения
#000A - WR - адрес процедуры записи , если не 0
- остальное до #0010 - резерв
Призываю программистов придерживаться этого стандарта , тогда
режим загрузки .exe можно будет развить
Автор рекомендует также перед запуском программ сохранять
IS-DOS резидентно утилитами резидент.com и quit.com , что поз-
волит вам вернуться в IS-DOS нажатием кнопки RESET.
**************************************************************
Корсунин Ю.А. март 1998 года. Желаю успеха !
**************************************************************