JayFoxRox / xbox-tools

A collection of tools related to original Xbox
62 stars 11 forks source link

Add a new nv2a-step method (wip) #51

Closed JayFoxRox closed 6 years ago

JayFoxRox commented 6 years ago

This is a new method for nv2a-step which works rather reliably, but slow. There's plenty of room for improvements, but I'll probably add a couple of debuggers to this already.

I did not test my old code, so it's possible that this actually runs worse.

The code is also horrible as I left all my prototypes in it.

JayFoxRox commented 6 years ago
18
@0x021B2D90
0x021B2D90: Opcode: 0x44101818; Method: 0x1818 (260 times)
At 0x021B2D90, target is 0x021B31A4 (Real: 0x01FC2050) << Target is too far away, so we won't reach it
0x021B2F90 / 0x021B31A4 / 0x00000000 << Note how GET pointer is bad; not all elements did fit the cache
unknown opcode type << this belongs to the following line
0x021B2F90: Opcode: 0x416A0000 << We are now parsing data as commands
unknown opcode type
0x021B2F90: Opcode: 0x416A0000

So there needs to be some way to either finish remaining commands, or ignore the method-count altogether (which is probably not a good idea, as FIFO debugging is more documenting).

JayFoxRox commented 6 years ago

Moved to https://github.com/XboxDev/nv2a-trace