2014-04-12 5 views
0

저는 GameBoy 에뮬레이터를 만들었으며 현재는 here에 위치한 테스트 ROM을 통해 테스트하고 있습니다. 이 테스트는 항상 실패 할 것 같은 내가 이해에서GB 테스트 ROM 에뮬레이션 문제

set_test 5,"POP AF" 
ld bc,$1200 
.loop: 
push bc 
pop af 
push af 
pop de 
ld a,c 
and $F0 
cp e 
jp nz,test_failed 
inc b 
inc c 
jr nz,.loop 

이 보인다 다음과 같이 cpu_instrs.zip에서 테스트

하나입니다. 첫 번째 루프에서 제로 플래그는 inc c에서 설정되지 않습니다 그리고 내가 여기 실종 무엇 코드는 결국 e 1과 동일합니다 두 번째 루프 이후 test_failed로 이동하고 a은 0

될 것인가?

+2

디버거가있는 다른 z80 시스템/에뮬레이터를 찾은 것 같습니다.이를 통해 단계별로 정보를 얻을 수있을 것입니다. –

답변

5

플래그 레지스터의 최하위 니블은 항상 0이며, 0이 아닌 값을 쓰면 값이 변경되지 않아야한다는 사실이 나타납니다.

+0

Im은 에뮬레이터도하고 같은 문제를 발견했습니다! 실제로 다른 에뮬레이터를 다운로드하고 이것을 찾으려면 디버깅했습니다. – CristianDonosoC