Post Reply 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GE Debugger: Basic Questions
01-10-2015, 05:09 AM
Post: #1
Question GE Debugger: Basic Questions
cxrE3HC.png (imgur)
Step Frame: Goes to next frame
Step Tex: Goes until the next texture is loaded
Step Draw: ???
Step Prim: ???
Step Into: Just like the "step" command anywhere you have ever seen one: executes the current step and moves the instruction pointer to the next one
Resume: Like the "run" command, resumes execution
Display list: What is this?
What are the three addresses?
On the far right it looks like decoded instructions like in the "disassembly" view for the CPU. Is there a list somewhere of what all the things do, like is in the MIPS manual?
What are all these tabs and what does the data there mean?
What does a color table look like?
OK great. I have this lovely texture (above screenshot) and I would like to dump it to any type of image format (using the PSP memory dump as the source). I'd like to do it "by hand" using a program I'll write myself. How do I do that? I want to understand how the texture is structured because I'd like to modify it later.
I checked stickies and did a forum search for "debugger" with no luck.
Find all posts by this user
Quote this message in a reply
01-10-2015, 06:49 AM
Post: #2
RE: GE Debugger: Basic Questions
Step Draw steps to the next time we flush drawcalls. For example, the game may send several triangles to be sent, but for optimization reasons we batch them into groups. Step Draw jumps to the next batch. Note that the framebuffer preview won't change until the draw.

Step Prim means primitive. That's when the game sends a group of triangles (but again, we group these into larger batches for efficiency.) Using Step Prim will highlight in red the areas the game is drawing to.

Display lists are basically like programs that run on the GPU, essentially. These are the instructions that run on the GPU (they mostly just update GPU registers, like lighting, texture address, or etc.) The other tabs show the current state of most of these registers. Unfortunately there's not a ton of great documentation, at least that I know of.

A color table, or CLUT, has a few registers (look at the Texture tab) that say where it is, what format it's in (e.g. RGB 565), and how the indexes are determined (e.g. 4 bit, shifted left, offset, etc.)

Right now the easiest way to dump the texture is probably by using a screenshot, or else editing PPSSPP's souce code. But, if you want the memory behind it, you can look at the texture address in the Texture tab, and then go to the memory viewer (under Debug) and dump that ram to a file.

That said, many games load textures from files. You might run it using a debug log and look at what files it's accessing when loading that memory (you could set a CPU breakpoint on that RAM to see when it writes it.)

Find all posts by this user
Quote this message in a reply
01-12-2015, 06:27 PM
Post: #3
RE: GE Debugger: Basic Questions

♦ Intel Core i7-6700HQ | 16 GB RAM | NVIDIA GeForce GTX 960M | Debian Testing
♦ Intel Core i7-2630QM | 4 GB RAM | NVIDIA GeForce GT 540M | Debian Testing
♦ PSP-3004 | 6.60 PRO-C2
Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump: