View Single Post
Old 09 August 2020, 22:52   #126
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
@toni - I've had time today to try out the uaedbg side loader and new printf functionality in 4.4.0.

On the uaedbg, I'm finding the debugger is breaking on instruction fetch changes.

Configuration is A1200 with Cycle exact, here's my code snippet:

Code:
agdPingPong:
	tst.l	.dir
	beq.s	.down
	bmi.s	.up		
	bra.s	.exit

.down:	cmp.w	#$8c,CAMERA_YPOS
	beq.s	.swap
	bsr	agdPanDown
	bra	.exit

.up:	cmp.w	#$0,CAMERA_YPOS
	beq.s	.swap
	bsr	agdPanUp
	bra	.exit
	
.swap:	not.l	.dir
	bra.s	.exit
	
.dir:	dc.l	0

.exit:	rts
As you can see I'm using local/private variables in the code.

Whenever the not.l is executed the debugger is breaking with:

Code:
Invalid access. Addr=7000968c RW=R Size=4: Instruction fetch from memory that was modified after being executed at least once
Is there a valid reason the debugger is breaking due to this? If I was to guess what was happening I'd say the cache is being loaded and then the code is changing the value in memory causing it to break - but I'm not self modding the code.

Is there any way to disable this particular check if what I think is happening is correct?

Cheers,
Graeme
mcgeezer is offline  
 
Page generated in 0.05794 seconds with 11 queries