ghidra icon indicating copy to clipboard operation
ghidra copied to clipboard

M68000: implement lineA/lineF opcodes

Open lab313ru opened this issue 5 years ago • 2 comments

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.

lab313ru avatar Apr 21 '19 15:04 lab313ru

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.

epozzobon avatar Feb 19 '23 12:02 epozzobon

This is needed for m68k "classic" Mac OS binaries as well.

jduerstock avatar Apr 16 '24 13:04 jduerstock