Всем доброго времени.
Информация для Higgins: ошибку исправил, но седьмой тест всё равно валится. Трейсинг прилагаю.
Вид для печати
Всем доброго времени.
Информация для Higgins: ошибку исправил, но седьмой тест всё равно валится. Трейсинг прилагаю.
:) :) :)
Операнд вместо IXH просто H
Седьмой тест прошёл. А восьмой похоже вообще зависает. Не заканчивается чего-то совсем. Может просто мало жду (часов 6 наверное)?
А происходит в нём следующее: (вложение)
Замерил время работы тестов. Ниже следует табличка для тестов Zexfix. Указано количество часов и минут от начала работы до старта теста с соответствующим номером.
Тресинг посмотрю.Цитата:
#1 0:00
#2 0:12
#3 0:17
#4 0:23
#5 0:29
#6 0:32
#7 2:14
#8 3:07
#9 3:33
#10 3:33
#11 3:40
#12 3:41
#13 3:42
#14 3:48
* * *
UPDATE:
Здесь совпадаем. Можно сравнить первые контрольные суммы.
Выдаёт четыре контрольные суммы и встаёт:
9C41 3B F0 D7 0E; 9C41 71 79 72 6A; 9C41 2E 69 19 C9; 9C41 22 77 9C E2;
Весь трейсинг во вложении.
После исполнения ADC A, (IX+d) получаем:
Должно быть:Цитата:
9c0c c1dc 406e 32fd 2565 8002 8002 e5fa
* * *Цитата:
9c0c c1dc 406e 32fd 2531 8002 8002 e5fa
UPDATE: Если сравнивать только значения регистра PC, то трейсинг совпадает с тем, что должно быть. То есть, до потери управления трейсинг не дошел.
Прогнал ещё раз:
Ошибку нашёл ! Спасибо !!!
В эмуляции ADC A, (IX+d) флаги попадали не во флаговый регистр, а во временный.
Исправил, но игрушки без особых изменений. Гоню Zexall. кстати, а можно её как-нибудь через PRINT USR xxxx запускать сразу с требуемого теста?
Нашёл ещё одну ошибку. Прогнал до конца, не проходит всего два теста: BIT n (b, c, d, e, h, l, (hl), a), INC/DEC ((IX/IY)+1). Трейсинг во вложении - для десятого теста.