ivagor, вроде в emu какой то баг связанный с контроллером НГМД чинили в последнем билде.
ivagor, вроде в emu какой то баг связанный с контроллером НГМД чинили в последнем билде.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Про починку околодискового бага я читал, поэтому пробовал в нескольких версиях (в т.ч. в последней), везде виснет. Присылать наверно пока смысла нет, возможно исправление странного бага с call поможет.
Не в emu, а в emu80. Есть ещё мой эмуль, исторически называется emu.
- - - Добавлено - - -
Да прикольно было бы. Но нужна отладочная информация. В принципе, листинг выдаваемый ассемблером подходит, но в разных ассемблерах они разного формата, предназначены для человека, а не для программы.
Прости пожалуйста. не знал про твой эмулятор.Не в emu, а в emu80. Есть ещё мой эмуль, исторически называется emu.
Мне очень в последнее время нравится retro assembler. Былио бы здорово иметь возможность отлаживать с его синтаксисом .Да прикольно было бы. Но нужна отладочная информация. В принципе, листинг выдаваемый ассемблером подходит, но в разных ассемблерах они разного формата, предназначены для человека, а не для программы.
Попробовал, к сожалению не помогло. Там проблема даже не с кодом моей программы. Если она в конце образа дискеты, то дос ее не может нормально загрузить и запустить. Если в начале - загружает и запускает, но там уже спотыкается на загрузке основного файла. Вероятно проблема в работе с образом, надо трассировать дос, но не хочется.
как я могу узнать в программе в каком режиме сейчас подключены квазидиски?
Мне нужно это делать в прерывании. я переключаю в прерывании квазидиск на нужный мне режим, и потом мне нужно востановить прежний режим.
Сейчас я делаю это через глобальную переменную в основной программе:
В прерывании когда мне нужно востановить режим я считываю ramDiskMode и записываю в out $10. Но ramDiskMode не гарантирует что квазидиск уже в этом режиме когда прерывание произошло между sta ramDiskMode и out $10.Код:mvi a, _command sta ramDiskMode out $10
Есть мысли сделать две глобальные переменные, одну до и одну после OUT или пытатся читать из порта 10, но для начала решил узнать у вас можеть есть способ лучше/проще.
Заранее спасибо!
Ну и что, намерение то установить именно режим записанный в ramDiskMode. Если между sta и out случится прерывание, то по выходу из прерывания уже будет ramDiskMode и следующий out его просто продублирует. Сильно заморачиваться этим вопросом имело бы смысл для некоей гипотетической супернавороченной операционной системы, а для игрушки и так вполне нормально. Чтение из 10h в квазах, насколько я знаю, не реализовано (в современных могли бы реализовать для той самой гипотетической ОС).
ivagor, вот я и руководствуясь этой логикой сделал так, но что-то идёт не так и спустя время начинают портится данные то в квизидиске, то в основной памяти.
Возможно просто не туда капаю.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)