Если честно, я не в курсе, есть там фирменные ромы или нет. По идеи должны быть. Лучше стянуть зеркало сайта, там хоть понятно какой ром качаешь. Просто в отдельной папке разобрать можно только наши ромы.
Если честно, я не в курсе, есть там фирменные ромы или нет. По идеи должны быть. Лучше стянуть зеркало сайта, там хоть понятно какой ром качаешь. Просто в отдельной папке разобрать можно только наши ромы.
Может, мы обидели кого-то зря,
Сбросив пару лишних мегатонн,
И горит зелёным пламенем земля,
Там, где был когда-то Пентагон!..
Profi-576 v3.2/AY-3-8912A GI/FDD-5.25'
Может вместе стоит составить план-тест правильности эмуляции ZX? Смотрю, вопросы возникают часто. Да и помощь эмуляторщикам большая.
Предлагаю:
Test #1: Register load
Test #1.1: 1-byte register load
LD r,10 [r=B,C,D,E,H,L,A and alternatives] (via EXX and EX AF,AF')
Test #1.2: 2-byte register load
LD rr,25610 [rr=BC,DE,HL, IX,IY, BC',DE',HL']
Test #1.3: 1-byte indirect register load
LD r,(HL) (r=B,C,D,E,H,L,A)
LD r,(IX+10) (r=B,C,D,E,H,L,A)
LD r,(IY+10) (r=B,C,D,E,H,L,A)
LD r,(IX-10) (r=B,C,D,E,H,L,A)
LD r,(IY-10) (r=B,C,D,E,H,L,A)
Test #2: LD A,R(I); LD I(R),A
Test #3: Запись/чтение памяти
Test #3.1: LD rr,(NN); rr=BC,DE,HL,SP
Test #3.2: LD (NN),rr; rr=BC,DE,HL,SP
Test #3.3: LD A,(NN); LD (NN),A
Test #3.3: LD A,(BC); LD (BC),A; LD A,(DE); LD (DE),A
Общие правила:
- Тест идёт от простых инструкций к сложным (пересылка данных, чтение-запись, стековые, ..)
- В тесте не использовать непроверенные (ещё) инструкции
Ну, где-то так )))
недокументированный z80 упустил.
Не, это дальше. Имеешь ввиду типа LD H,(IX+100)?
Чего-то автор глубоко сиё творение спрятал. Не нашёл..
---------- Post added at 19:54 ---------- Previous post was at 19:52 ----------
Да и каждый раз в исходники лезть (ежели там всё) - не есть настоящий путь. Лучше сделать отдельный тест (тесты). Желательно в нормально-человеческой форме.
---------- Post added at 19:56 ---------- Previous post was at 19:54 ----------
Плюсы
-----
1) Независимость от кода эмулятора (с исходниками не разбираться, у каждого они свои)
2) Наглядность, можно распечатать, всегда под рукой
3) ещё и ещё...
Собственно пока разбиение теста по группам: ТЕСТЫ РАБОТЫ ЭМУЛЯТОРА ПРОЦЕССОРА ZX.rar
Пример:
Тест 1 Проверка работы инструкции EXX
Условия: память исправна, загрузка регистров проверена
1.1 Проверка, что обмен пар проводится, память не портится, и IX/IY не портится
Вход:
BC=DE=HL=w; BC’=DE’=HL’=65535-w; IX=30000; IY=40000
Память[0..65535]=255;
Счётчик w=0..65535;
Успех: BC==DE==HL==65535-w, BC’=DE’=HL=w, IX=30000, IY=40000, вся память =0xFF
1.2 проверка, что EXX проводит раздельный обмен пар, а не BC<-->DE’ DE<-->HL’ HL<-->DE’ к примеру.
Примечание: уже проверено, что EXX не портит IX,IY, память
Вход: BC=1; DE=2; HL=3; BC’=10; DE’=20; HL’=30;
Успех: BC=10; DE=20; HL=30 && BC’= 1; DE’=2; HL’=3
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)