Code:
MOVE.L ($00FF81A4),A0 ;loading an index into a pointer table
MOVE.L (A0),A0 ;reading a relative pointer table
ADDA.L #$01,A0 ;adjusting relative pointer to absolute address of data
;(even though the table is nowhere near the data, data at ~$18000, table at about ~$C0000)
LEA ($00FF491A),A1 ;now A0 has the pointer to some compressed data.
If I'm reading this right, ADDA.L should increase A0 by 1, but in the trace log, I see A0 is increased by 0x18000. I'm not seeing 0x18000 in any of the other registers, could it be pulled from memory or something (even though the 1 looks like an immediate value).MOVE.L (A0),A0 ;reading a relative pointer table
ADDA.L #$01,A0 ;adjusting relative pointer to absolute address of data
;(even though the table is nowhere near the data, data at ~$18000, table at about ~$C0000)
LEA ($00FF491A),A1 ;now A0 has the pointer to some compressed data.