English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 26 June 2019, 14:29   #1
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Memory watch point on blitter writing to memory?

Does anyone know if it is possible to set a memory watch point in WinUAE that is triggered when the blitter does a write to the memory?

It seems I can only get this to work with the CPU but the issue I have is that I have a rogue blitter operations somewhere causing memory corruption and I can't find it.

Any help appreciated,
Geezer
mcgeezer is online now  
Old 26 June 2019, 15:00   #2
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 1,243
I haven't tested this, but perhaps you can use the 'write to address' breakpoint feature of the debugger and set it to trigger when the blitsize register is written?

That might work.
roondar is offline  
Old 26 June 2019, 15:03   #3
chb
Registered User

 
Join Date: Dec 2014
Location: germany
Posts: 154
also not tested myself, but winuae should support memwatches for all dma channels, see this thread:
http://eab.abime.net/showthread.php?t=77340
chb is offline  
Old 26 June 2019, 15:37   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 22,954
BLTD (in place of "CPU") works in this case. (Didn't you already ask this few month ago? Someone surely did)
Toni Wilen is online now  
Old 26 June 2019, 16:03   #5
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Quote:
Originally Posted by Toni Wilen View Post
BLTD (in place of "CPU") works in this case. (Didn't you already ask this few month ago? Someone surely did)
Thanks Toni.

I asked about logging Blitter operations...similar question I guess.
mcgeezer is online now  
Old 26 June 2019, 16:04   #6
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Quote:
Originally Posted by roondar View Post
I haven't tested this, but perhaps you can use the 'write to address' breakpoint feature of the debugger and set it to trigger when the blitsize register is written?

That might work.
But that would cause every blitter operationto breakpoint... I just want to break when the blitter changes a memory location that I'm not expecting it to.
mcgeezer is online now  
Old 26 June 2019, 17:14   #7
Antiriad_UK
Registered User

 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 65
Could you create a new CPU routine that runs periodically and it does a kind of check on the memory area (don't know if the corruption is a pattern you can check for)? If the routine finds something it doesn't like it could set a flag somewhere - then you could set a breakpoint on that flag.
Antiriad_UK is offline  
Old 26 June 2019, 19:02   #8
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Quote:
Originally Posted by Antiriad_UK View Post
Could you create a new CPU routine that runs periodically and it does a kind of check on the memory area (don't know if the corruption is a pattern you can check for)? If the routine finds something it doesn't like it could set a flag somewhere - then you could set a breakpoint on that flag.
Believe me I've been knee deep in this.

Marking the start of every function and putting canaries all over the place.

The problem is so intermittent it is frustrating (it might do it 1/20 times).....it doesn't actually crash the game so I don't get a clean state when it happens.
mcgeezer is online now  
Old 26 June 2019, 20:18   #9
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 916
@Geezer: Are you using COPJMPs by any chance?
hooverphonique is offline  
Old 26 June 2019, 20:40   #10
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Quote:
Originally Posted by hooverphonique View Post
@Geezer: Are you using COPJMPs by any chance?
In some places i do yes.
mcgeezer is online now  
Old 26 June 2019, 21:09   #11
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 1,823
Quote:
Originally Posted by mcgeezer View Post
In some places i do yes.
You have to be very carefully!
http://eab.abime.net/showpost.php?p=...&postcount=122

There is a situation, with the Copper waiting and the Blitter running, where a write with CPU to COPJMP update a blitter channel pointer instead of the copper address.

Why do you write to COPJMP? There is usually no reason.
ross is offline  
Old 26 June 2019, 22:00   #12
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 916
Quote:
Originally Posted by ross View Post
There is a situation, with the Copper waiting and the Blitter running, where a write with CPU to COPJMP update a blitter channel pointer instead of the copper address.

This is what I was hinting at, yes..
hooverphonique is offline  
Old 26 June 2019, 22:12   #13
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 1,250
Quote:
Originally Posted by ross View Post
You have to be very carefully!
http://eab.abime.net/showpost.php?p=...&postcount=122

There is a situation, with the Copper waiting and the Blitter running, where a write with CPU to COPJMP update a blitter channel pointer instead of the copper address.

Why do you write to COPJMP? There is usually no reason.

OK, I think I understand but the conditions for writing the COPJMP are not happening when the game corrupts.

In answer to the question, when Rygar enters the sanctuary scene and the bonus text is displayed I jump to another copper list to display different text colours.

I'm pretty sure this is just a case of I'm not managing game objects properly and I have a memory leak somewhere, I'll find it soon enough I'm sure.
mcgeezer is online now  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
When is the 68k processor faster then the blitter at copying memory redblade Coders. Asm / Hardware 20 08 May 2019 22:57
WinUAE 3.2.1. memory dump for fake fast memory areas broken StingRay support.WinUAE 1 14 December 2015 20:39
Blizzard Turbo Memory - SMD memory chips doesn't work sanjyuubi Hardware mods 5 26 May 2010 15:40
[68000 ASM] Move memory to memory AmigaBoy Coders. General 7 08 December 2009 08:16
Chip memory, VGA output, IPF writing Hideki support.Hardware 10 09 January 2007 15:18

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 08:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.07750 seconds with 13 queries