그래서 지금까지 msp430, 6502 및 thumb에 대한 에뮬레이터 또는 정적 재 컴파일러 만 수행했습니다. 적은 타이핑입니다. 단조 로움을 없애기 위해 내가 자주 할 작업은 내가보기 싫어하는 opcode를 때릴 때까지 실행하고 실행하려는 프로그램/게임을 취하는 것입니다. 그런 다음 opcode를 구현하고 다시 시도하십시오.
더 나쁜 것은, 입력을 많이하거나 어떻게 할 수 있었는지에 대한 느낌을 얻기 전에이 에뮬레이터를 두세 명의 에뮬레이터 또는 두세 번 다시 쓰는 것입니다 더 잘 설계된 재사용/논리. 좋아하는 롬을 실행하려고하면, opcode 테이블의 여러 부분에 당신을 넣는 무작위적인 명령어 믹스가 생기고, 그 opcode를위한 코드를 재사용 할 때 더 적은 비용으로 디자인을 향상시킬 수 있습니다. 다시 쓴다.
R.가 아마도 스프레드 시트 또는 다른 소프트웨어 구문 분석 가능 테이블을 작성하는 경우 해당 테이블에서 시뮬레이터 코드 생성기를 작성하고 다시 작성할 수 있습니다. 여기서도 다시 완전한 테이블을 만들 필요가없는 작은 것으로 시작할 수 있으며, opcode의 여러 가지 맛을 시험해보고 파서가 시뮬레이터 용 코드를 생성 할 수있는 테이블 형식을 알아낼 수 없는지 확인하십시오. 나중에 플래그 및 기타 사항을 추가하고 전체 프로세스가 향상됨에 따라 커질 수 있습니다. 하루가 끝날 무렵에는 테이블이나 실제 코드가 될 것입니다. 결국 모든 opcode를 입력해야합니다.
+1 내가 정말 사람이되기를 바랍니다 추가 명령의 모든 변화를 구현하는 시간을 소비 한 후 "왜 이것이 자동화 될 수 있는지!"라고 말할 수 있습니다. 여기에 희망이 있습니다 ... – templatetypedef
[나는 당신의 고통을 안다] (https://github.com/CRogers/GbcEmulator/blob/master/GbcEmulator/Cpu/Z80.Opcodes.cs) –
동의 함, 나는 이것을 찾은 후에 발견했다. .. –