forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

GU/GE questions & crashes

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
Brunni



Joined: 08 Oct 2005
Posts: 186

PostPosted: Wed Jun 21, 2006 5:45 pm    Post subject: GU/GE questions & crashes Reply with quote

Hello, I have some questions about libGU and the GE, I hope you can help me ;-)

- I wonder how display lists are handled. In fact, what does happen if I init a display list, send 3 commands and then do some heavy CPU task without calling sceGuFinish (because I'll still have to draw some other things later). In this case, it might crash because the display list is never ended (after the 3 first commands), isn't it?

- Are writes into the display list cached? That wouldn't make sense, but in the PSPSDK samples, the default display list alignment is 16, and a cache line is 32 (IIRC), so that could cause a conflict when writeback happen if 16 bytes of a line are cached (normal data before/after the display list), and the 16 others bypass it (display list), no?

- I have very rare random crashes that are usually happen as freezes, graphic glitches, flickering and so on. I was thinking about a stack overflow or such, but no exception is ever triggered, just freezes, so the CPU seems to be intact. So maybe could it come from the GE (problem like above)? Has anyone had such problems?

- Is GU implemented in the PSP OS? It seems not, because we can find the GU source in the PSPSDK, but on the otherside, some people said at the begining "I discovered how to use sceGuXY", that wouldn't make sense if it's not reverse engineered...

Thank you in advance
_________________
Sorry for my bad english
Oldschool library for PSP - PC version released
Back to top
View user's profile Send private message
chp



Joined: 23 Jun 2004
Posts: 313

PostPosted: Wed Jun 21, 2006 8:52 pm    Post subject: Reply with quote

- If you use direct-executed lists (started with sceGuStart(GU_DIRECT);) the library will keep track of the most recent "safe" address (the stall address), and the GE will not execute past this point.

- Writes to the displaylist are uncached.

- Don't know about the crashes, but if you can dump and look through the recently executed list after a crash maybe you can see something.

- I created pspgu from reverse-engineering the game Puzzle Bobble which contained a lot of helpful debug information like type-information and function names. The rest of the information has been discovered through comparing calls/naming conventions to OpenGL and just simply calling the function to see what it does.
_________________
GE Dominator
Back to top
View user's profile Send private message
Brunni



Joined: 08 Oct 2005
Posts: 186

PostPosted: Fri Jun 23, 2006 6:01 pm    Post subject: Reply with quote

Thanks for your answer :-)
I've tried to align my display list to more than 16, I'll test deeply to see if I still get random crashes ^^

Else, I was wondering but didn't find anything about that, are system calls (sce...) slower? Are those sony routines copied in RAM at boot or executed from the flash?
_________________
Sorry for my bad english
Oldschool library for PSP - PC version released
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group