Набор команд Z-80 является расширенным набором команд 8080. LR35902 имеет много общего с 8080, но заменяет некоторые инструкции 8080 другими и расширяет набор команд в некоторых направлениях, отличных от Z-80. LR35902 не совместим с Z-80 и не совместим с 8080.
Вам нужно будет найти все варианты использования несовместимых инструкций и заменить их патчами, которые обеспечивают ту же функциональность. Поскольку TI84 намного быстрее, чем оригинальный процессор GameBoy, дополнительное время не будет проблемой, и будет легко кодировать замены для самих инструкций. Разборка ПЗУ и отделение кода от данных займет много времени.
Тем не менее, вы можете взять существующий эмулятор 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
доступны для обоих и просто используют разные коды операций.