Hi again :)
I setup the Trap vector to an address where I added the Line-A opcode to trigger a machine68k trap handler. But I cannot find the original trap params on stack...
Can you tell me what I did wrong ?
def trap_handler(self, op, pc):
logger.info(f"Trap handler called for opcode {op:02X} @{pc:06X}")
sp = self.machine.cpu.r_reg(15)
trap_opcode = self.machine.mem.cpu_r16(sp - 10)
logger.warning(f"GEMDOS trap call at {pc:06x} with stack @{sp:0X} and opcode: {trap_opcode}")
for i in range(-16, +18, 2):
logger.warning(f"[{i:0X}]: {self.machine.mem.cpu_r16(sp + i):0X}")
When I print the stack content based on A7, I expected to see the #$2 trap opcode but no...
2025-07-03 12:59:54.901 | INFO | machine:instr_hook:347 - 0016d4: move.w #$2, -(A7) | 3f3c0002
2025-07-03 12:59:54.901 | INFO | machine:instr_hook:347 - 0016d8: trap #$1 | 4e41584f
2025-07-03 12:59:54.901 | INFO | machine:instr_hook:347 - fc4d48: dc.w $a001; opcode 1010
2025-07-03 12:59:54.901 | INFO | __main__:trap_handler:59 - Trap handler called for opcode A001 @FC4D48
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:37 - GEMDOS trap call at fc4d48 with stack @6FA and opcode: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-10]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-E]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-C]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-A]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-8]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-6]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-4]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [-2]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [0]: 700
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [2]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [4]: 16DA
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [6]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [8]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [A]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [C]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [E]: 0
2025-07-03 12:59:54.901 | WARNING | __main__:trap_handler:40 - [10]: 0
Thanks !
Hi again :)
I setup the Trap vector to an address where I added the Line-A opcode to trigger a machine68k trap handler. But I cannot find the original trap params on stack...
Can you tell me what I did wrong ?
When I print the stack content based on A7, I expected to see the #$2 trap opcode but no...
Thanks !