
Сообщение от
b2m
Насчёт непонятного, предположение такое: по адресам 7FFC-7FFF записываются 4 байта, которые, в зависимости от состояния контроллера выдаются по адресу 7FFF (или даже по всем 4-м). Инициализация там идёт такими байтами: E9 C9 00 C9, а с адреса 8000 записывается п/п чтения сектора, причём в HL сидит адрес 7FFF, и начало цикла соответствует этому адресу. Получается, что если использовать при чтении из этой области в качестве двух младших битов адреса сигналы DRQ (A1) и например RDY (A0), то ожидание байта от ВГ93 будет весьма оригинальным. Пока нет запроса на передачу байта - выдаётся E9 (PCHL) и процессор постоянно выполняет эту команду (т.к. HL=7FFF), если появляется запрос на передачу данных, выдаётся 00 (NOP) и программа идёт дальше (считывает байт и опять переходит на 7FFF). Если данные кончились, ВГ93 выдаст готовность принять следующую команду, и по адресу 7FFF считается C9 (RET), соответственно произойдет выход из п/п.