作者:小美女金猪宝宝 | 来源:互联网 | 2022-12-06 17:49
由于Gameboy的处理器LR35902是Z80和Intel 8080的混合体,因此请记住,Z80和Intel 8080的设计基本上都是交叉兼容的,拥有Z80处理器的任何产品都可以运行是指LR35902?我想知道不是因为我希望使用TI84在自习室玩口袋妖怪。
编辑:我知道我将不得不重新编程控件,可能还需要重新编程游戏访问RAM的方式,但是我宁愿这样做,也不愿移植整个游戏。
1> George Phill..:
Z-80指令集是8080指令集的超集。LR35902与8080有许多共同点,但是用Z-80取代了一些8080指令,并在一些不同的方向上扩展了指令集。LR35902与Z-80不兼容,也与8080不兼容。
您将必须找到不兼容指令的所有用法,并用提供相同功能的补丁替换它们。由于TI84比原始的GameBoy CPU快得多,因此无需花费额外的时间,并且可以很容易地编写指令本身的替换代码。拆卸ROM以及从数据中分离代码将非常耗时。
但是,您可以使用现有的GameBoy仿真器并对其进行检测,以记录其执行的Z-80上不同的指令的位置。广泛玩游戏应该找到必须修补代码的大多数地方。
有关快速概览,请参阅此LR35902指令表并与Z-80进行比较。您还需要LR35902指令的此说明。
这是LR35902与Z-80之间的简要调试指令操作码差异。
Opcode LR35902 Z-80
------ -------------- ----------
F2 LD A,(C) JP P,nn
E2 LD (C),A JP NV,nn
EA LD (nn),A JP V,nn
FA LD A,(nn) JP M,nn
3A LDD A,(HL) LD A,(nn)
32 LDD (HL),A LD (nn),A
2A LDI A,(HL) LD HL,(nn)
22 LDI (HL),A LD (nn),HL
08 LD (nn),SP EX AF,AF'
E0 LDH (n),A RET NV
F0 LDH A,(n) RET P
F8 LD HL,(SP+e) RET M
E8 ADD SP,e RET V
CB 3x SWAP r SL1 r (undocumented)
10 STOP DJNZ
D9 RETI EXX
这是一个很小的帮助,LD A,(nn)
并且LD (nn),A
在这两者上都可用,并且仅使用不同的操作码即可。