15 November 2013, 12:37 | #1 |
Registered User
Join Date: Oct 2013
Location: Hamburg
Posts: 70
|
Visual live memory dump
This is a bit of an exotic feature, as it would primarily be useful for debugging and reverse engineering.
The idea would be to have an extra window running showing the memory contents as they are updated. For a 1MB configuration and with 1 pixel per byte, a 1024×1024 area could show the whole memory. Has this idea been brought up before? Would it really be useful for anyone? I imagine it would be insightful to be able to see your own/other code »working«, where to start to understand a routine etc. (I remember an unexpected moment of enlightenment when I saw via Action Replay how a printer driver drew the page bitmap in memory.) The next step could be to enrich the memory dump with access info markers (color overlays, borders or something): Highlight memory reads and writes by the blitter, by the copper, by the CPU, by display DMA. It vaguely suspect that might be fairly easy to implement as a prototype (grab memory, plot pixels, repeat), but that’s a) a totally ignorant assumption and b) I don’t have any C++-foo. Also, c) this whole idea might be useless. What do you think? Cheers, losso PS: I stumbled across a reverse engineering talk today (PDF Slides, [ Show youtube player ], via p01) and that approach seemed kind of familiar (it’s for analyzing executables, though). |
17 November 2013, 19:31 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,570
|
Do you mean something similar to Agnus DMA visualizer? Type "v -3" in debugger window to activate it (cycle-exact mode required)
|
19 November 2013, 13:55 | #3 |
Registered User
Join Date: Oct 2013
Location: Hamburg
Posts: 70
|
Huh! Didn’t know that feature, nice! “possibly useless but cool!”
Actually, that was not quite what I had in mind, but I find that very insightful, too (how does this effect work, how does my code behave, what’s the blitter load etc.) Not useless at all! My idea revolved more around the memory perspective: what gets loaded where, where are copperlists and bitmaps read from, where is the PC and, um, stuff like that. As it is, the DMA debugger is great, and plotting a live memory dump isn’t so easy, after all: using an extra window, gathering the different memory types and areas, drawing overhead… (Sorry about the “easy to implement” remark, I hate it myself when other people with no clue assume that about my code.) |
30 November 2013, 16:43 | #4 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,570
|
I think some kind of "heat map" (color becomes brighter the more address is accessed and it darkens when not accessed) of address space memory accesses (different color for different subsystem, cpu, bitplane dma etc..) could work using same method as current dma debugger.
I'll do some experiments after 2.7.0 is out. |
21 December 2013, 04:17 | #5 |
Lone CBM user
|
A Bit off topic, for c64 emulator. Shows everthing in memory in a graphical way and you can see the program running in real time.
[ Show youtube player ] ICU64: Real-time Hacking of a C64 Emulator www.youtube.com This is a preview of the hacking tool ICU64 that provides real-time view and edit of the C64 internals. Enjoy the hacker's view of the Commodore 64! See also... |
19 February 2016, 02:40 | #6 |
Registered User
Join Date: Oct 2013
Location: Hamburg
Posts: 70
|
Bumping this old thread to say how glad I am to see it implemented in recent WinUAE versions — thanks, Toni!
It just helped me optimize a timing/concurrency issue, as seen in the screenshot (beige is the CPU pre-rendering anim frames, blue is bitmap DMA, the issue was: how early can I start playing back the frames even when the pre-rendering is not fully done yet; see attachment). Also, it's quite insightful (and fun!) analyzing the use of buffers, copper/blitter/sound activity etc. by watching at chip mem in real time… To those who have missed the feature (like I did, failing to activate it correctly at first), do this in the debugger: Code:
>v-4 DMA debugger enabled, mode=4. >vh Memwatch breakpoints enabled ... Heatmap enabled |
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 |
Open Video Toaster reaches an Agreement with with Visual Inspirations | Pyromania | Amiga scene | 5 | 13 December 2012 13:34 |
Visual 6502 in JavaScript | Charlie | Retrogaming General Discussion | 1 | 03 October 2010 13:35 |
Visual C++ Runtime library error | stefcep | support.WinUAE | 9 | 15 August 2007 15:25 |
amiga visual editor | thinlega | request.Apps | 1 | 22 January 2003 15:48 |
|
|