Я бы ещё индикатор "РУС" задействовал к тому же, но что-то начал смотреть БСВВ, как поправить клавиатуру, а там всё шибко мудрёно сделано, просто так не разберёшься... :( А есть информация по этому патчу для Т-34?
- - - Добавлено - - -
Я исправлял, а в FH51 проблема с линией reset, скорее всего, сохранилась. Надо переделать код проверки готовности НЖМД, лучше работает в таком виде:
Скрытый текст
Код:; ПП проверки готовности НЖМД
L_D9D9: PUSH D
PUSH B
MVI D, 005h ; пять раз...
L_D9DD: IN 057h ; Регистр данных. Чтение данных в буфер сектора контроллера
ANI 0C0h ; 1100 0000
CPI 040h ; 0100 0000 устройство готово к операции
JZ L_D9F2 ; >> выход из цикла, при выходе A=40h
DCX B
MOV A, B
ORA C
JNZ L_D9DD ; цикл на 65536 попыток
DCR D
JNZ L_D9DD ; цикл на 5*65536 попыток, при выходе A,B,C,D=0
L_D9F2: ANA A ; устанавливаем признаки по А
POP B
POP D
JZ L_D9F8 ; получение кода ошибки и RET
IN 057h ; Регистр данных. Чтение данных в буфер сектора контроллера
RET
;
; ПП чтения ошибки
L_D9F8: POP PSW ; чистка стека
L_D9F9: IN 057h ; Регистр данных. Чтение данных в буфер сектора контроллера
RRC ; сдвиг вправо, бит 0 заносится в признак С.
IN 051h ; Чтение: Регистр ошибок. Содержит признаки последней ошибки.
JC L_DA02 ; если предыдущая команда закончилась с ошибкой
XRA A ; ошибки нет
L_DA02: MOV B, A ; В = код ошибки
IN 057h ; Регистр данных. Чтение данных в буфер сектора контроллера
MOV C, A ; сохраняем результат
ANI 020h ; выделяем ошибку "сбой записи"
ORA B
MOV B, A ; дополняем код ошибки в В
MOV A, C ; восст. Регистр данных.
ANI 0C0h ; выделение сигналов "устройство готово" и "занято"
CPI 040h ; уст.Z если "готово"
MOV A, B ; код ошибки в А
JZ L_E6AB ; переход, если сигнал "готово" (?было на L_DA15)
MVI A, 010h ; 1xH = сброс на цилиндр 0 (x = step rate) (?было ORI)
xxDA15: OUT 05Fh ; Системный сброс (лучше не пользоваться, сходство с 57Н без обнуления микросхем жесткого диска).
L_E6AB: STA L_E873 ; сохраняем код ошибки
ANA A ; устанавливаем признаки по ошибке
RET
[свернуть]
Весь секрет -- минимальное использование "OUT 05Fh", у меня он вызывается только в самом крайнем случае.
- - - Добавлено - - -
Вот вычистим от всех багов, тогда будет Т-90 или Армата, а пока пусть модификацией называется... :)

