ZXNet эхоконференция «zxnet.soft»


тема: STS под iS-DOS



от: Valerij Kozhevnikoff
кому: All
дата: 09 Sep 2002
Здравствуй, All!

Я вот тут подумал...
Почему исдос малопопулярен в народе? Вероятно потому, что малопонятен. Гхм.
Прислали мне тут нетмылом драйвер для дискет высокой плотности. Эта штуковина
реально позволяет создавать и использовать устройства размером в 1600 Кб на
обычных HD дискетах. ВГ93 это позволяет. Дискета iS-DOS при обычной DD
плотности вмещает 3200 блоков. После простой доработки до HD и использовании
поддерживающего ее софта - уже 6400 блоков. Сделано в 1999 году, автор - всем
известный Ruiner AKA Олег Григорьев, модератор CODE.ZX.

Сложно привыкать к непонятному. Значит надо в эту непонятность принести кусочек
чего-то родного и понятного. Сабж, вобщем.

Стартовый адрес sts51.com - 24000. Летит следом.

Hормального выхода в исдос оттуда нет! Поддержки файловой системы исдоса тоже
нет. Мне лениво. Просто к оригинальным файлам STS 5.1 тупо приклеен исдосный
загрузчик. Я начал было рыться в поисках процедур, отвечающих за выход в
ASM/Basic/DOS, да забросил. Как-то там запутано все. Hадо будет -
ищите/сообщайте эти адреса, я сделаю по нормальному. Если что-то непонятно с
исдосными функциями - пишите, помогу всегда.

Для возврата в исдос надо сделать JP #5DE5, там выходилка лежит. Она ждет
отпуска всех кнопок и выходит в оболочку с очисткой стека.

* Оригинал написан в ZX.SPECTRUM
* также послано в REAL.SPECCY
* также послано в KHARKOV.SPECTRUM
* также послано в SPB.SPECCY
* также послано в ZXNET.SOFT

Hа всякий случай вот тут исходник загрузчика.

ORG 24000
LD HL, FILE1 ;имя
LD D,#FB ;ст. байт адреса
LD A,#16 ;страница
CALL LOAD
RET C
LD HL, FILE2
LD D,#DB
LD A,#17
CALL LOAD
RET C

DI
LD HL,END
PUSH HL
LD BC,#7FFD
LD A,#17
OUT (C),A
JP #DB00 ;запуск STS
END
LD A,#10 ;а это выходилка в исдос
LD BC,#7FFD
OUT (C),A
EI
LD C,8
RST 16
XOR A
LD A,#F4
LD C,#84
JP 16
LOAD
LD (PAGE+1),A
LD A,D
LD (ADDR+1),A
LD C, #34
RST 16
RET C
EXX
LD DE, 14
ADD HL, DE
LD A, (HL)
OR A
INC HL
LD B, (HL) ;длина файла в блоках
JR Z, $+3
INC B
LD E, D
LOOP
PUSH BC
LD HL, BUFF
LD BC, #012B
RST 16
POP BC
RET C
PUSH HL
LD A, E
EXX
POP HL
ADDR ADD A, #C0
LD D, A
PAGE LD A, #16
LD BC, #7FFD
DI
OUT (C), A
LD BC, #100
LD E, C
LDIR
LD BC, #7FFD
LD A, #10
OUT (C), A
EI
EXX
INC E
DJNZ LOOP
RET

FILE1 DEFM "sts#16 cod"
FILE2 DEFM "sts#17 cod"
BUFF DEFS #100

WBR, Jason.

/*e-mail: jason2000(собака страшная)yandex.ru ICQ: 62235830*/

/np:/ *Death - Symbolic - Symbolic* [paused]




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

Похожие статьи:
Анонс - программа для сисопов.
Оболочка - Упpaвление oбoлoчкoй.
How To Contribute To Subliminal Extacy
Обзор новинок - Putup (demo).
Реклама - реклама и обьявления.

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