забавный тест. только я у себя так и не смог проэмулировать сабжевую команду. правда, погонял тест на разных эмулях, вот
забавный тест. только я у себя так и не смог проэмулировать сабжевую команду. правда, погонял тест на разных эмулях, вот
черт разберет. к слову, сам автор yaze (и теста, соотв) нахально делает F=A&28h. и все-то у него "сходится". я забил на эти тестовые "ОК" и просто сравниваю CRC для своего ядра с CRC, которые выходят на реале.Сообщение от Titus
насчет "эмуляции на 100%": очевидно, никто так и не разобрался толком, что это за "внутренний регистр", и какие опкоды как на него влияют -- судя по результатам, которые SMT запостил...
мораль: если не хочешь, чтобы прога шла под эмуляторами, достаточно заксорить ее флаговым регистром после bit n,(hl)
Последний раз редактировалось boo_boo; 20.02.2006 в 03:32.
Неплохо Сразу видно что почемСообщение от SMT
Пока никто этих 'различных' кристаллов не видел, нет смысла говорить о том, что они где-то там есть. Самое важное во всем этом то, что ни на одном, хоть более менее серийно выпускаемом ZX клоне, еще не было замечено Z80 с кристаллом отличающимся от оригинала. Если же кто встречал, то пожалуйста - в студию!Сообщение от Vladimir Kladov
я бы не стал доверять результатам так уж. И как раз из-за наличия того самого внутреннего регистра. И что еще может там повлиять на результат. Недаром на реальном железе тест обламывается: его резуьтат для некоторых команд может зависеть от результата совсем других команд, котрые выполнялись совсем в другой момент времени. А если еще и от команд перехода (внутренний регистр), по получается - как и чем саму прогу скомпилировал, то и получил.
Что если прогнать тест на реалке 1 раз, а потом в другой раз, и сравнить результат? А если на 2х разных реалках?
А я еще сдается мне, что этот тест работает в разрешенных прерываниях, т.е. все время вмешивается (когда заблагорассудится) int38, и опять портит этот внтуренний регистр. Нет, так тесты не делаются.
автор порта zexall на спек думает, что где-то напортачил, поэтому crc не сходятся. в отношении bit n,(hl) это определенно так, адрес ассемблирования-то поменялся.Сообщение от Vladimir Kladov
не, автор теста не идиот -- прерывания отключает.Сообщение от Vladimir Kladov
что-то насчет отключения прерывний - не заметил (я его когда запустил, несколько раз останавливал в дебугере, почему-то он частенько на адресе 38 стопался. Наде еще глянуть). А по-хорошему, в тесте на bit надо бы уже перед каждой командой делать типа ADD HL,DE (и поместить туда нули).
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ну! Ну! так что дальше-то ? Идиот автор теста или нет ?
У кого есть реал - запускали, как предлагалось, тест несколько раз ?
SMT, какие результаты прогона на других эмуляторах ?
Последний раз редактировалось Знахарь; 20.02.2006 в 19:35.
а он непосредственно перед инициализацией регистров и исполнением тестовой инструкции отключает прерывания. впрочем, в случае с сабжем это не особо спасает -- между call nz, test (который инициализирует "эзотерический регистр" адресом перехода) и di может проскочить прерывание.Сообщение от Vladimir Kladov
на каких интересует? под дос, линукс или коммерческих у меня нетSMT, какие результаты прогона на других эмуляторах ?
Ну... На unrealе не эмулится - так, а на каком эмулится ? И что это значит ?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)