PDA

Просмотр полной версии : Вопрос про МСИ и эмулятор b2m



dk_spb
16.11.2011, 21:09
Сбейте меня палками - я сам не сяду (c)Ворон после отладки
В эмуляторе в варианте ГМД-70 пытаюсь разобраться с загрузкой.
После старта и выбора в меню варианта "диск" грузим загрузочный сектор с адреса A000H и передаем ему управление.
Дальше у меня тупик c адреса a011h:
mvi a, 27h
out 50h ; это мы отдаем команду читать сектор, дальше ГМД должен по ТРБ запросить сектор и дорожку
call a070h ; по идее уходим в ожидание ТРБ
mov a,c
out 51h ; отдаем номер сектора и т.д.

НО, подпрограмма по a070h какая-то непонятная
a070h:
in 50h ; читаем статус (старший бит =1 когда ТРБ активен)
ral
jc a070h ; то есть гоняем цикл пока ТРБ есть
ret
По идее мы должны гонять цикл пока ТРБ нет, а как ТРБ пришел выйти из подпрограммы и пойти смело засылать номер сектора.
Где я неправ?

KokaF77
16.11.2011, 21:19
dk_spb, это уже обсуждалось. :)

JNC спасёт мир! ;)

С этого поста, и следующие три (359-362)...
http://zx.pk.ru/showpost.php?p=409959&postcount=359

dk_spb
16.11.2011, 21:29
Жаль я этого не читал :-(
Убил лишние два дня на этой засаде в своем эмуляторе ГМД.
Зато теперь у меня живая машина с моего аппаратного эмулятора грузится.
Где бы найти живой привод и оригинальную дискетку..........

b2m
30.10.2022, 13:46
Личка как всегда переполнена, поэтому тут.


Что-нибудь посоветуете?
В принципе, можно изменить конфиг, чтобы старший бит был всегда 1.
Добавить к примеру

kcode : Register {
read[7]=1
read[0-6]=kbd.keycode
}

и изменить строчку у CPU

port[04-05]=kcode