Да, вы правы, я взял за основу код для формирования полного трека из Вашего эмулятора.
Честно говоря, я вообще по началу переделал ваш эмулятор флопа на СИ и попытался использовать его, но эмулятор и реальная железка все-таки разные вещи. Например, CFCGetData() вызывается в момент обращения УКНЦ к порту, но у меня есть только флаги, что УКНЦ забрал или положил в ячейку: статус/команду, данные. Если попытаться использовать в прерывании даже CFCGetData, то не попадешь в тайминги.
nzeemin, если не трудно, подскажите суть обмена УКНЦ с контроллером: Например, УКНЦ дает команду, читает статус, читает/пишет данные.. или команда, статус, данные, статус, данны и тд
А еще, первые шаги, что должен писать и что должен получить в ответ. Я понимаю, что в статусе 6 бит, но что-то не пойму цепочку.. вдруг я что-то упускаю или пропускаю.
Спасибо!
Да и еще один момент, я пишу данные сразу как только сброшен бит TR или надо выжидать время характерное для реального дисковода?
И еще один.. маркеры.. поиск маркера это перейти на 0xA1A1A1?





Ответить с цитированием