[hatari-devel] Truncated PC address value with code running in TT-RAM? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
After some debugging I found out why disassembly didn't work with LILO.
It wasn't actually related to LILO, but code running in TT-RAM.
WinUAE core seems to now return 24-bit values for M68000_GetPC() macro,
although I've disabled 24-bit mode. With code running in TT-RAM,
M68000_GetPC() returns values pointing to ST-RAM addresses (which
contents happen to be zeroed).
Adding TT-RAM offset to return PC value, shows the correct disassembly:
disasm "pc + 0x1000000"
Even WinAUE core function for showing register values shows wrong
address for the next PC.
Because things still *run* correctly, and I'm pretty sure M68000_GetPC()
returned earlier correct 32-bit values for code running in TT-RAM, it
seems that CPU core PC register variable has changed into some kind
of memory segment offset value.
Nicolas?
- Eero