Интересно, разница ровно в 2 раза. Непорядок...
Вид для печати
Интересно, разница ровно в 2 раза. Непорядок...
У меня файлы, выложенные тут грузятся. Они тоже из эмуля.. Может дело не в эмуле, а в тракте считывания на реале? Евгений, выложи файлы, что у тебя не грузятся. Я попробую у себя загрузить..
Mifody, может, стоит поступить наоборот, попробовать запустить у себя твою версию эмулятора? Может, у меня кривая?
Видимо,у тебя эмуль кривой. Я эмулем почти не пользовался. Проги набивал на реале. Твой тест не грузится на моём реале. И в моём эмуле тоже не грузится. Я скачал только что эмуль с сайта b2m, не правил никаких настроек. Создал файл на своём реале, в свежескачанном эмуле грузится. Создал файл в эмуле, на реале грузится. Наверно надо перескачать эмуль и не править настройки. Там наверно уже поправлено всё, так как обновление было в середине января этого года..
В эмуле с сайта неправильный файл конфигурации ют88 мини. Как раз за загрузку/запись программ отвечающий отрывок. Там адрес $C000, при загрузке/записи - 0000. Поэтому глюки. Используйте мою конфигурацию из биперной музыки, только замените частоту на 1.77 мгц, а то там 2
Нашел, где собака порылась....
Сравнивал конфиги с сайта и от Kakos.
Строка, в которой ставится частота проца, должна выглядеть так -
main.CPUClock=1777778Hz
и никак иначе! 1,77Мгц не прокатывает!
Заменив параметр, всё сразу заработало и зажужжало.
Да, арифметика с плавающей точной в конфиге не используется. Нужно указать целое число, опционально с постфиксом KHz или MHz.
---------- Post added at 21:00 ---------- Previous post was at 20:58 ----------
Кстати, в конфиге обычно используется 16-ричная система счисления, но есть места, где это, мягко говоря, неуместно. Как, например, в этом случае.
Пишу кой-чего для разминки мозгов на ЮТ.
И получаю неожиданный глюк...
Часы, тикающие в фоне на прерывании, начинает зверски глючить.
Долго копал, пока трассировкой не добрался до команды DAA в обработчике прерывания в ПЗУ. Я смутно помнил, что она какая-то не кошерная на 8080...
А в данном случае при входе в прерывание, если установлен флаг С, то инструкцию DAA переклинивает и она начинает нести чушь. :(
Это и в эмуле, и на реале.
Для лечения проблемы нужно в обработчике прерывания сбрасывать флаг С.
Перелопатить код можно, но все ли будут перешивать свои ПЗУ? :(
Всё там кошерно, если использовать DAA сразу после ADD.