Просмотр полной версии : Определение номера дисковода
Решил посоветоваться:
как я понял в переменной TRDOS #5D16, хранится копия регистра #FF
два младших бита указывают на номер дисковода
начало лоадера получается примерно такое:
A,(#5D16)
AND #03
OR #3C
(LETTER),A
LD A,D
OR A
RRA
LD C,A
LD A,(LETTER)
JR NC,$+2
RES 4,A
IX,#2F4D ; установка головки ?
................
всё правильно ???
можно написать короче ???
Решил посоветоваться:
как я понял в переменной TRDOS #5D16, хранится копия регистра #FF
два младших бита указывают на номер дисковода
начало лоадера получается примерно такое:
Там реально хранится номер дисковода, так что AND 3 можно и не делать. Но я на всякий случай делаю. :)
A,(#5D16)
AND #03
OR #3C
(LETTER),A
LD A,D
OR A
RRA
LD C,A
LD A,(LETTER)
JR NC,$+2
RES 4,A
IX,#2F4D ; установка головки ?
................
всё правильно ???
можно написать короче ???
Можно.
LD A,(#5D16)
AND 3
LD (DRIVE+1),A
...
LD A,D
RRA
LD A,#2C
JR NC,$+4
LD A,#3C
DRIVE OR 0
...
Доки сейчас под рукой нет, поэтому могу где-нибудь ошибиться.
Там реально хранится номер дисковода, так что AND 3 можно и не делать. Но я на всякий случай делаю. :)
Можно.
LD A,(#5D16)
AND 3
LD (DRIVE+1),A
...
LD A,D
RRA
LD A,#2C
JR NC,$+4
LD A,#3C
DRIVE OR 0
...
Доки сейчас под рукой нет, поэтому могу где-нибудь ошибиться.
:D
Это делается еще круче:
LD A,(#5CF6) ;дисковод
OR #2C
LD (DRIVE+#1),A
...
LD A,D
SRL A
LD C,#7F
LD SP,TABLE
JP (HL) - выбор дорожки
DRIVE LD A,#2C
JR C,$+#4
OR #10
JP (HL) - вычисление стороны
LABEL LD A,#18
JP (HL) - позиционирование
...
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot