English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 07 March 2015, 11:34   #1
SparkyNZ
Registered User
 
Join Date: Oct 2014
Location: New Zealand
Posts: 62
Question WinUAE Debugger - Breakpoints when memory read

I'm new to this.. I'm trying to get the WinUAE debugger to break when an address is read between a certain range.

I'm running Mercenary Escape from Targ as per my last post. The text which is displayed by Benson lies in the region of memory 0x65100-66AFF

I've tried the following command right at the start of the game but its not working for me. What am I doing wrong?

Code:
w 0 65100 100 R
I would expect this to look for any memory reads between 65100 and 65200 but it isn't happening for me.
SparkyNZ is offline  
Old 07 March 2015, 11:57   #2
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,187
Addresses are in hex, so it will break on reads between $65100 and $65200. Also if the blitter accesses those addresses, the breakpoint won't fire. Some games have 2 copies of the data aswell, often from loading a file at a particular address then depacking it into the correct location. And therefore 2 can sometimes be in memory, one won't work, one will.
Codetapper is offline  
Old 07 March 2015, 12:13   #3
SparkyNZ
Registered User
 
Join Date: Oct 2014
Location: New Zealand
Posts: 62
Quote:
Originally Posted by Codetapper View Post
Addresses are in hex, so it will break on reads between $65100 and $65200. Also if the blitter accesses those addresses, the breakpoint won't fire. Some games have 2 copies of the data aswell, often from loading a file at a particular address then depacking it into the correct location. And therefore 2 can sometimes be in memory, one won't work, one will.
Yeah those were hex addresses and you are correct. I don't believe there are 2 copies but I will have another look in the morning. Just wondering tho.. After I set the watch range, I resume WinUAE with the 'g' command. Maybe I should be using a different command to resume execution?
SparkyNZ is offline  
Old 07 March 2015, 13:08   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
All DMA channels have been recently added to memwatch points. CPU only is the default.

Append extra string parameter(s) at the end of w command to change supported access types. "ALL" = everything, "COP" = copper only, "BLT" = all blitter channels, "BLTA" = A only. Check debug.cpp memwatch_access_masks for all combinations
Toni Wilen is offline  
Old 07 March 2015, 22:15   #5
SparkyNZ
Registered User
 
Join Date: Oct 2014
Location: New Zealand
Posts: 62
Quote:
Originally Posted by Toni Wilen View Post
All DMA channels have been recently added to memwatch points. CPU only is the default.

Append extra string parameter(s) at the end of w command to change supported access types. "ALL" = everything, "COP" = copper only, "BLT" = all blitter channels, "BLTA" = A only. Check debug.cpp memwatch_access_masks for all combinations
I found 3 occurrences in memory of the sets of strings. I tried adding watchpoints on all 3 sections but I cannot get WinUAE to break - it just keeps running.

Is the below syntax correct?
Code:
s "DAMAGE CONTROL REPORT"
Searching from 00000000 to 00C80000..
Scanning.. 00000000 - 00200000 (Chip memory)
Scanning.. 00000000 - 00c80000 (Chip memory)
 000362AD 000651DD 000701DD

w 4 362ad 100 ALL
w 5 651dd 100 ALL
w 6 701ff 100 ALL
g
I have used a length of 0x100 (256 bytes) which should be enough to capture one of the strings. Here's the contents of 651dd which is where the strings are being copied from. They get put into the 362ad range but disappear when I do a dump at various times. Will the 'w' command pickup block memory copies that start outside of the 651dd address, finish outside but include the 651dd address?

Code:
m 651dd
000651DD 4441 4D41 4745 2043 4F4E 5452 4F4C 2052  DAMAGE CONTROL R
000651ED 4550 4F52 5400 0000 0120 534F 4D45 2043  EPORT.... SOME C
000651FD 4F4E 464C 4943 5420 4441 4D41 4745 0000  ONFLICT DAMAGE..
0006520D 0120 2020 2020 2020 4348 4543 4B49 4E47  .       CHECKING
0006521D 0000 1400 3200 0406 CE00 0D00 F800 0090  ....2...........
0006522D 0000 0120 2020 2020 2045 4D45 5247 454E  ...      EMERGEN
0006523D 4359 2100 0000 0120 4755 4944 414E 4345  CY!.... GUIDANCE
0006524D 2053 5953 5445 4D20 4641 554C 5400 0000   SYSTEM FAULT...
0006525D 0120 2020 434F 4C4C 4953 494F 4E20 434F  .   COLLISION CO
0006526D 5552 5345 0000 1901 0080 0000 0120 4449  URSE......... DI
0006527D 5345 4E47 4147 494E 4720 4E4F 5641 4452  SENGAGING NOVADR
0006528D 4956 4500 0000 0406 CE00 0406 CE00 0120  IVE............ 
0006529D 2020 554E 4142 4C45 2054 4F20 434F 5252    UNABLE TO CORR
000652AD 4543 5400 0000 1901 00FF FF00 014D 4158  ECT..........MAX
000652BD 494D 554D 2052 4556 4552 5345 2054 4852  IMUM REVERSE THR
000652CD 5553 5400 0000 0302 D200 0120 2020 2020  UST........     
000652DD 4352 4153 4800 0000 1100 4000 0500 0F00  CRASH.....@.....
000652ED FE00 0100 2000 0400 0F00 FE00 0700 2000  .... ......... .
000652FD 0400 0F00 FE00 0C00 2000 0400 1400 3200  ........ .....2.
0006530D 0406 E200 0120 2020 2043 5241 5348 2049  .....    CRASH I
SparkyNZ is offline  
Old 07 March 2015, 23:48   #6
SparkyNZ
Registered User
 
Join Date: Oct 2014
Location: New Zealand
Posts: 62
Figured it out. Above syntax was fine.. The block of text is copied to 7011a or thereabouts. I wasn't watching the correct region at the right time
SparkyNZ is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Need help using the WinUAE Debugger Steve support.WinUAE 9 10 January 2009 20:00
WinUAE Debugger BippyM support.WinUAE 7 02 April 2008 07:59
replay breakpoints BippyM support.WinUAE 5 03 December 2007 22:59
WinUAE Debugger help Jherek Carnelia Coders. General 3 26 May 2007 15:52
WinUAE Debugger ???? RetroMan support.WinUAE 2 27 January 2004 12:17

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 09:17.

Top

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