Jump to content

Jaguar Gpu Debugger


Orion_

Recommended Posts

ok, it has been about 2 months released in private beta now I try a public release :)

 

here is a little Jaguar GPU Debugger I made to get rid of headaches I had coding on the jaguar gpu ^^

it's far from being complete but it helps debugging the common gpu/dsp code I do, and hopefully will helps you too ;)

the source code are fully included and can be compiled with the free "delphi like" compiler: Lazarus

so you can add any features you want or correct some bugs ;)

 

Enjoy :)

 

GPU Debugger v0.8 beta, source included

 

gpudbugv05.jpg

Link to comment
Share on other sites

Thanks for this.

 

Do you emulate the GPU pipeline also?

 

About division, how do you emulate 16.16 division?

What is a 16.16 division?

Do you also emulate that the G_REMAIN does not

necessary contain the remainder but a value

that permits to compute the remainder?

Link to comment
Share on other sites

Do you emulate the GPU pipeline also?

read the readme ;)

I don't emulate that, because it would be a bit complicated to represent in the debugger, plus, the debugging process would be fastidious and a bit strange if it was following the exact pipeline.

 

About division, how do you emulate 16.16 division?

What is a 16.16 division?

Do you also emulate that the G_REMAIN does not

necessary contain the remainder but a value

that permits to compute the remainder?

I don't emulate any of that for the moment :)

Link to comment
Share on other sites

  • 2 weeks later...

excellent stuff man!

 

thanks very much for releasing it!

Link to comment
Share on other sites

  • 2 weeks later...

Asshoot... though I commented on this =)

 

This is just great work man!..

I never got the GPU debugger option to work with my alpine.. so always debugged code in my head.

Now i can use it for something else =)

 

I hope work on this will be continued it is a verry useful tool.

 

THANK Y-O-U! Orion & coworkers for beeing the F-I-R-S-T one to release such a Great! tool for the jaguar scene! ;)

 

/Sym

Link to comment
Share on other sites

About division, how do you emulate 16.16 division?

What is a 16.16 division?

Do you also emulate that the G_REMAIN does not

necessary contain the remainder but a value

that permits to compute the remainder?

 

I know I can hack myself the code ;)

 

Anyway, it seems that you can emulate the division unit of the GPU/DSP

by doing

 

q = a/b
REMAIN = a%b
if (q & 1) == 0 then REMAIN-=b;

 

For the 16.16 division, it is simply the result of dividing

(a << 16) by b

(48 bits integer for (a << 16))

 

 

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

I have just tested it. It works even with wine under linux!!

 

This is really a cool app, thank you Orion!

 

I found a bug: ADDC is not correctly emulated.

 

Looking at the source, I think you update the Carry FLAG too early.

(ie before doing the addition !)

 

 

 

Link to comment
Share on other sites

thanks, I will take a look at ADDC :)

I think you can compile it directly for linux because lazarus is multiplatform

maybe you could add a linux version to the distribution :)

 

I just quickly tested this morning and I was too lazy to recompile it ;)

but I'll try that.

If I manage to get lazarus working on my PC, I will even try to fix the

problem of ADDC (and probably SUBC too)

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...