Page 1 of 1

PS2 Undocumented GS registers

Posted: Tue Apr 20, 2004 2:56 am
by jayteemaster
Has anyone some info on this PS2 GS registers:

GS_SMODE1 *((volatile unsigned long *)0x12000010)
GS_SMODE2 *((volatile unsigned long *)0x12000020)
GS_SRFSH *((volatile unsigned long *)0x12000030)
GS_SYNCH1 *((volatile unsigned long *)0x12000040)
GS_SYNCH2 *((volatile unsigned long *)0x12000050)
GS_SYNCV *((volatile unsigned long *)0x12000060)

I know that they are used to set the video mode refresh rate, number of scanlines, vertical and horizontal frequency. But i do not know how to set them. The Bios kernel through function SetGsCrt already does the job but i want to make a custom PAL mode with less scanlines. It seems that there is no info on them

Any info or help is appreciated.

Posted: Tue Apr 20, 2004 3:11 am
by ooPo
The best information I've found on these registers came from the ps2gs.c file in the ps2linux kernel source. Here's a quick link I found with google:

http://www.playstation2-linux.com/viewc ... cvs-markup

If you're interested in creating a new video mode I'd suggest sticking very close to the PAL (and maybe NTSC) standard and instead play with the information the output chip is given for each scanline. Manipulation of things like a dot clock can put more information onscreen without resorting to mode/sync trickery.

At the very least, be very careful playing with these registers. At best, if you mess up, you'll create a mode that only works on your display. At worst you could make things explode. :)

Good luck. Let us know how it goes.

Posted: Thu Apr 22, 2004 10:34 am
by dagamer34
Exploding things isn't a good thing. :/