Есть ещё немножко (вложение).
Может имеет смысл запуститься по-ближе к самой ошибке?
Есть ещё немножко (вложение).
Может имеет смысл запуститься по-ближе к самой ошибке?
Последний раз редактировалось Lisitsin; 28.05.2014 в 08:14.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Тесты для разных инструкций копируют соответствующие фрагменты кода в одни и те же адреса, которые исполняются в цикле, поэтому поймать только по значению PC не получится. Условие получается такое: начиная с первой встретившейся инструкции "EX (SP), IX" по адресу PC=#9428 и далее все инструкции со всеми регистрами пока управление не перейдет в Бейсик.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Есть немножко.
Последний раз редактировалось Lisitsin; 28.05.2014 в 08:14.
Имеем следующий код:
То есть младшую половину POP загружает правильную, а в старшую будто ничего не загружает вообще.Код:#9414 LD IX, #9439 ... #9422 PUSH IX #9424 LD IX, #2114 #9428 EX (SP), IX ; судя по трейсингу, получаем IX=#9439 -- OK #942A EX (SP), IX ; получаем IX=#2114 -- OK #942C POP IX ; а здесь получаем IX=#2139 вместо #9439 #942E NOP ... #94AC JP IX ; а здесь, естественно, вылетаем в Бейсик
Последний раз редактировалось Higgins; 20.03.2011 в 22:17.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Прийдётся немного поэксперементировать. Глюк найден серьёзный. Уверен, что это в нём всё дело.
Моя бесконечная благодарность персонально Higgins. Разбираюсь.
Всех приветствую.
Есть хорошие новости. Глюк устранён, загружается корректно, ROBOCOP научился ходить, ELITE продвинулась, но пока не летает. Jumping Jack заработал. Zexall грузится, но виснет в самом начале тестов.
ROBOCOP: http://www.youtube.com/watch?v=eWriMB0FckI
ELITE: http://www.youtube.com/watch?v=3vIRnnXrpJw
Jumping Jack: http://www.youtube.com/watch?v=wMY9tkJa6RQ
Последний раз редактировалось Lisitsin; 28.05.2014 в 08:14.
Lisitsin, Dominoes заработало?
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
Заработало.
http://www.youtube.com/watch?v=0GslAEOQjdk
Последний раз редактировалось Lisitsin; 22.03.2011 в 18:45.
А в чем была проблема?
Буква "N" на экранах рисуется с одним и тем же дефектом. При том, что другие буквы выводятся нормально. Значит, образ этой буквы в памяти испорчен. Вопрос в том, появился ли этот дефект в памяти в процессе загрузки или в процессе распаковки и/или перемещений правильно загруженной программы.
Если загрузить ROBOCOP еще раз, будет ли в точности тот же дефект с буквой "N"?
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Приветствую, Higgins. Без вас долго бы искал. Дело в том, что в AVR не хватает регистрового файла (32 РОН) для всех целей эмуляции и приходится использовать регистры пространства ввода-вывода, запись и чтение которых не влияет на общую работоспособность. Для регистровых пар IX и IY я чисто механически выбрал TCNT1H:TCNT1L и OCR1BH:OCR1BL - парные регистры блока таймера - счётчика, чтение которых в AVR имеет свои особенности и оптимизировано для обеспечения чтения обоих байт 16-битного устройства в одном такте. Вот на это я и напоролся. Переназначил IH и IXL на другие регистры ввода-вывода - и всё сразу закрутилось.
В ROBOCOP я замечал искажения текста и раньше. С чем это связано пока не знаю. Бейсик текст выводит нормально. ROBOCOP сейчас загружу ещё раз.
---------- Post added at 19:38 ---------- Previous post was at 19:21 ----------
Некоторые буквы в ROBOCOP с дефектом:
http://www.youtube.com/watch?v=GvnZxR84jrM
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)