CPU 에뮬레이팅은 내일까지 완료될 것 같습니다.
제 경우 가능하면 에뮬레이팅할 CPU의 어셈블리 명령어와 동일한 기능을 하는 인텔 CPU 명령을 사용하고 있습니다.
상태 플래그도 비슷한 명령어를 사용한 후 동일하게 작동하지 않는 플래그만 따로 처리하는 식으로 하는 것이죠.
정말 명령어 하나하나 정확하게 익힐 수 밖에 없기에 어셈블리 공부에 정말 큰 도움이 되고 있습니다.
어셈블리로 에뮬레이터를 만들어야만 가능한 방식이라 재미있게 작업하고 있습니다.
64비트 모드로 작업하면 아예 레지스터도 1대 1로 하나씩 배정했을 텐데 그렇게 못하는 것이 아쉽네요.
구조적으로 멀티 하드웨어를 지원할 수 있게 설계한 만큼 NES게임이 실행가능하게 되면 애플 II도 추가할 생각입니다.
애플 II 추가는 하드웨어에 대해 대부분 알고 있고 NES와 동일한 6502 CPU를 사용하기에 금방 만들 수 있을 것 같습니다.
1~2주 정도 지나면 일단 NES에뮬레이터는 실행 가능한 수준이 될테니 그 때 에뮬레이터를 올리겠습니다.