ghidra
ghidra copied to clipboard
M68000: implement lineA/lineF opcodes
Sega Mega Drive has special handlers for opcodes that started with 0xF/0xA nibbles. In these cases Sega calls vectors places at 0x0B(LineF) and at 0x0A(LineA) positions in vectors table.
As minimum size of Motorola opcode is 2, and maximum is not defined, handler may parse data that follows after such opcodes in its own way, but, again, minimum size is 2.
Task: implement lineA/lineF opcodes.
I made a small change to 68000.sinc: https://github.com/NationalSecurityAgency/ghidra/compare/master...epozzobon:ghidra:68000-lineA-lineF
It's by no means a complete implementation of lineA/lineF opcodes but at least it prevents the disassembler from considering those invalid instructions.
This is needed for m68k "classic" Mac OS binaries as well.