form, вот погляди заголовок и что пишет монитор (про который я писал, что он "глючный")
http://savepic.net/2444421m.jpg
Вид для печати
form, вот погляди заголовок и что пишет монитор (про который я писал, что он "глючный")
http://savepic.net/2444421m.jpg
Так это не монитор глючный, а какая-нибудь команда ругается (SET SL ON например). Дай образ, посмотрю.
---------- Post added at 12:52 ---------- Previous post was at 12:47 ----------
А, ну да, это же УКНЦ, в нем псевдографика может при обрезании такое дать :)
Образы потер вместе с кучей месагов - это проще чем каждое по отдельности открывать...
Выкладывай образы лучше на фтп в какой-нибудь отдельный каталог - так проще будет :)
Arseny, забрал, спасибо ! )))
Интересно, были ли в ходу дискеты для УКНЦ с сектором, размером 1024 байта (5 секторов на дорожке)? Загрузчик в ПЗУ ПП на такие диски рассчитан тоже.
Фиг с них загрузишься. Все дело в том, что драйвер дисковода написан так, чтобы на дискетах с размером сектора 1024 байта, адресный маркер читался только тогда, когда отсутствует индексная метка, поэтому при форматировании на УКНЦ адресная метка первого сектора в дорожке никогда не будет поймана. А вот если отформатировали на PC с индексным маркером, то скорее всего прочтется.
Собственно в R1 счетчик чтения синхрозоны. Сперва ищется слово 0 или 177777, считается, что поймали синхрозону. Далее в цикле 132730 надо удостоверится, что это синхрозона - по счетчику в R1 считывается регистр данных без учета бита готовности. Так вот при значении 36 в R1 в любом случае выйдем за синхрозону и не сможем поймать адресный маркер первого сектора. А вот если дискета отформатирована на PC с индексной меткой, то сперва будет синхрозона перед индексной меткой, она пропустится, и далее уже поймается синхрозона перед первым сектором, там уже индексное отверстие будет неактивно и первый сектор должен прочесться.Код:132656$:MOV #4,R1
CMPB #5,23301 ; Формат 1024 байта в секторе ?
BNE 132702$ ; Нет
TST @R4 ; Присутствует линия индекс ?
BPL 132702$ ; Нет
MOV #36,R1
132702$:MOV @R5,R0 ; Прочесть слово с дискеты
BEQ 132730$ ; Это нуль
INC R0
BEQ 132730$ ; Это минус один
TSTB @#177710 ; Таймер окончил счет
BPL 132656$ ; Нет
CALL 134242$ ; Сбросить готовность таймера
SOB R2,132656$
BR 133002$ ; Ошибка (не найден межсекторный промежуток)
132730$:MOV @R5,R0 ; Прочесть слово с дискеты
BEQ 132740$ ; Это нуль
INC R0
BNE 132640$ ; Это не минус один
132740$:SOB R1,132730$
BIS #400,R3 ; Установить в УС бит поиска заголовка
MOV R3,@R4 ; Начать поиск
BIC #400,R3 ; Сбросить в УС бит поиска заголовка
MOV #226,R0 ; Время ожидания поиска
MOV R3,@R4
132762$:TSTB @R4 ; Маркер заголовка обнаружен ?
BMI 133034$ ; Да
SOB R0,132762$
Попробовал посмотреть архивчик TimUKNC.7z, который тут кто-то выкладывал.
Открыл 3 диска с играми: ИГРЫ 1 УКНЦ.dsk, ИГРЫ 2 УКНЦ.dsk, СТАРЫЕ ИГРЫ 5.dsk - все образы битые! В первых двух нет даже каталога. Во третьем каталог не соответствует содержимому (