People, please do not only read, contribute too. I encourage you! –
Sorry about not answering the questions. Few time here. I recognize that we could extent the "How to Use" section on the first page of this thread. It would be very simple to do if someone just pickup some of very well explanations from dlanor and compile them by topic, and send to me a PM just to put it into the first page.
Here there are some ideas from my mind based on previous ones to reduce some GSM issues.
I really dunno when I have time to test them.
We could activate a trapping routine that checks if vmode enforced by GSM is progressive and original mode is interlaced,
Every time that the GS register be poll returns 0 & 1.
How to implement it: store original and enforced modes to allow comparison between them later, and trap binary readings from gs register using a persistent binary flag to alternate return value.
Let's assume that a title can call the SetGsCrt routine many times in a short period of time (maybe due to a bad coding).
For instance, for every advertisement and/or introduction movies, the initial title menu, gameplay, transition movies during gameplay, etc.
Certainly there could be some circumstances where GS is too demanded to acompplish many tasks and therefore near to its processing limit.
If we are running GSM together (with its hooking and trapping approachs) with the existent stuff maybe GS can not deal with this additional job, becoming overload and causing crashs and/or freezings.
So we could implement some flags into GSM to check if the title is calling SetGsCrt many times (and allow to enforce vmode and call SetGsCrt once), or some GS Register value trapped is equal to the one that GSM already trapped and previously wrote.
This and other scenarios could save GS from many unnecessary - and potentially freezing - tasks.
Last edited by doctorxyz; 05-05-2010 at 10:50 PM.
Reason: typos/grammar fixes
doctorxyz's PS2 & PS3 stuff: (http://psx-scene.com/forums/f257/doctorxyzs-ps2-ps3-stuff-101348/)