PS2 Undocumented GS registers

Discuss the development of software, tools, libraries and anything else that helps make ps2dev happen.

Moderators: cheriff, Herben

Post Reply
jayteemaster
Posts: 5
Joined: Tue Apr 06, 2004 12:22 am

PS2 Undocumented GS registers

Post 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.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post 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.
User avatar
dagamer34
Posts: 35
Joined: Sat Jan 24, 2004 12:04 pm
Contact:

Post by dagamer34 »

Exploding things isn't a good thing. :/
while (your_engine >= my_engine)
my_engine++; :P
Post Reply