Еще попробовал скопировать файл POWERом - тоже заворот
Еще попробовал скопировать файл POWERом - тоже заворот
И всё-таки проблема с геометрией, конкретно с головками-секторами, т.к. на моих дисках глюка нет. Копаем дальше.
- - - Добавлено - - -
Обращение к диску идёт по CHS, просто расчёты ведутся по методу, похожему на LBA. Основное отличие от последнего в битности, LBA использует 28 бит, а Вектор -- 24.
- - - Добавлено - - -
С такой геометрией даже команда "D" даёт заворот.
Насколько я понял код "патча", количество секторов/головок читается из загрузочного сектора (по смещению 80h/81h). То есть параметр в конфиге должен соответствовать образу, т.к. используется CHS. Максимальный номер флоппи-образа должен зависеть от количества дорожек в параметре конфига. Однако природа "заворота" мне до сих пор не ясна.
Заинтересовал код расчёта номера сектора:
Он везде такой или только у Improver-а?Код:LXI H, 0F3BEh ; = 2 - 0622h * 2 MVI A, 0FFh INX B LaD96A: LXI D, 00622h ; суммарное количество секторов на одной дискете DAD D ACI 000h DCX B MOV D, A MOV A, B ORA C MOV A, D JNZ LaD96A
- - - Добавлено - - -
Вот выкинуть бы всё похожее и сделать нормальные процедуры умножения/деления.
- - - Добавлено - - -
Я так полагаю, кто-то захотел больше 255 образов на винте, но сделал это криво.
ivagor(06.04.2020)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В mdos31h так, в rds не так (как в rds - надо искать)
- - - Добавлено - - -
В РДС3 с моей геометрией тоже заворот на дискете 2B (копировал файл POWERом, на 2A заворота нет).
- - - Добавлено - - -
Оказывается в РДС3 практически аналогичный фрагмент, только поменяли ролями DE и BC, поэтому по сигнатуре я сразу не нашел
А если сделать DCR C и выкинуть модификацию D, то заворот останется?
Но указанный фрагмент вроде работает правильно, проблема где-то еще
В общем, пробемка с расчётом номера цилиндра, на дискете 2B вместо "00E4h" получаем "0001h". Возможно есть ограничение (головок*секторов)<256, но это не точно, завтра продолжу поиски...
b2m(06.04.2020), electroscat(08.04.2020), ivagor(06.04.2020), KTSerg(07.04.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)