23 April 2015, 10:29 | #1 |
Registered User
Join Date: Aug 2013
Location: Germany
Posts: 81
|
visual DMA debugger crash and questions
Hello,
I just discovered the visual DMA debugger... ;-) I run WinUAE 3.1.0 Beta 12 at the moment. A1200 ROM, Cycle exact, no Floppy/Harddisk In the boot animation I press Shift F12 for the debugger. I tried v -1, v -2, v -3 and v -4 WinUAE says "DMA debugger enabled, mode=4" Then I type g <enter> With -1 nothing seems to happen? The other modes show a colorfull rectangle on the animation. Nice. Question: What do the colors mean? Can I see how much time is spent for DMA for which action and in which line? Crash: Often it works, but very often WinUAE crashes immediately after entering g. regards selco |
23 April 2015, 19:43 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Don't change mode after it has been started once. It will crash, it is a "feature"..
-1 = enable (without visual mode) -2 and -3: visual mode v <vpos> [<hpos>] = show detailed cycle usage of line <vpos>. hpos is optional. (also don't use invalid vpos or hpos, it probably will crash too..) Colors are described in some change log entry. Too lazy to find it |
27 April 2015, 11:36 | #3 |
Registered User
Join Date: Aug 2013
Location: Germany
Posts: 81
|
Hi Toni,
ok, I found a changelog at https://github.com/tonioni/WinUAE/bl...echangelog.txt There I found 2.8.0 Beta 1 - DMA debugger blitter color changed, now normal blit, fill blit and line blits are different enough. 2.7.0 Beta 4 - Added CPU interrupt level information to visual DMA debugger. Each scanline has extra pixel on left side of DMA usage image that shows scanline's highest CPU interrupt level 2.0.0 Beta 18 - visual DMA debugger (possibly useless but cool!) different colors mark different DMA channels, "v <val>" to enable, no parameter or -1 = normal,-2 = small visual, -3 = wide and -4 = big. CE-only Current colors: yellow = copper, green = blitter (light=normal, dark=line), blue = bitplane, cpu = gray, audio = red, sprite = white, disk = purple 2.0.0 Beta 2 - "DMA cycle debugger", v <vpos> [<hpos>] lists selected scanline's DMA activity, hpos, custom register, data, address. This made compatibility testing much easier. (just compare this data to logic analyzer data) Second row can contain extra characters: N = blitter cycle given for CPU, b = blitter interrupt, B = blitter finished. (not necessarily exactly same thing) I started WinUAE again with Kick3.1 into the Boot Animation and entered v 97 to see what happens in line 97 ($61). (Correct ?) Could you please comment the values of the first lines for me? Code:
v 97 Line: 61 97 HPOS 00 0: [00 0] [01 1] [02 2] [03 3] [04 4] [05 5] [06 6] [07 7] COP 08C COP 180 COP 08C W 0180 0414 0182 0002DE74 0002DE76 0002DE78 D60BB400 D60BB600 D60BB800 D60BBA00 D60BBC00 D60BBE00 D60BC000 D60BC200 [08 8] [09 9] [0A 10] [0B 11] [0C 12] [0D 13] [0E 14] [0F 15] COP 182 COP 08C COP 184 COP 08C 0EA8 0184 0A76 0186 0002DE7A 0002DE7C 0002DE7E 0002DE80 D60BC400 D60BC600 D60BC800 D60BCA00 D60BCC00 D60BCE00 D60BD000 D60BD200 [10 16] [11 17] [12 18] [13 19] [14 20] [15 21] [16 22] [17 23] COP 186 COP 08C COP 188 COP 08C 0000 0188 0238 018A 0002DE82 0002DE84 0002DE86 0002DE88 D60BD400 D60BD600 D60BD800 D60BDA00 D60BDC00 D60BDE00 D60BE000 D60BE200 Copperlist as read from COP2LCH is 0002de70: 6101 fffe ; Wait for vpos >= 0x61 and hpos >= 0x00 ; VP 61, VE 7f; HP 00, HE fe; BFD 1 0002de74: 0180 0414 ; COLOR00 := 0x0414 0002de78: 0182 0ea8 ; COLOR01 := 0x0ea8 0002de7c: 0184 0a76 ; COLOR02 := 0x0a76 0002de80: 0186 0000 ; COLOR03 := 0x0000 0002de84: 0188 0238 ; COLOR04 := 0x0238 0002de88: 018a 0226 ; COLOR05 := 0x0226 0002de8c: 018c 0987 ; COLOR06 := 0x0987 ... best regards Last edited by selco; 27 April 2015 at 13:32. |
27 April 2015, 12:21 | #4 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
First "slot": COP = access type. 08C = custom register accessed Number below is value written/read (0180) Larger number below is address of access (in this case copper list pointer, 0002DE74) Final number is UAE internal cycle counter (D60BB800) Copper move cycle: (0180 0414) Load first word to $08c. (0002DE74: 0180) Load second word to custom register loaded in first word. (0002DE76: Write $414 to $dff180) Use "od" command to enable "o" copper list command vertical/horizontal values. It will help to match "v" and "o" commands. |
|
28 April 2015, 09:53 | #5 |
Registered User
Join Date: Aug 2013
Location: Germany
Posts: 81
|
Great. Thanks!
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Visual FX for imagefx | amiga | request.Apps | 3 | 14 October 2020 21:02 |
DMA debugger and 14Mhz 68K | ovale | support.WinUAE | 3 | 10 June 2014 15:10 |
Visual 6502 in JavaScript | Charlie | Retrogaming General Discussion | 1 | 03 October 2010 13:35 |
Questions about bitplane DMA | Leffmann | Coders. General | 11 | 15 July 2008 15:08 |
A500 Crash and serial connection questions... | Scatter | support.Hardware | 2 | 28 December 2004 11:31 |
|
|