640x512 PAL mode
Posted: Mon Jun 14, 2004 5:19 am
Hi,
I've just started my home brew PS2 hacking -- first of all thanks to all of you who provided invaluable information that helped me get going.
I managed to run my code using independence exploit and Xploder.
Too bad naplink doesn't seem to recognize my cable, but I've got a
network adaptor and I'm gonna try using it for development.
I'm developing a simple demo and I'm struggling with basic video mode
setting. I'm trying to setup a basic 640x512 PAL mode, and here's what
I've got so far:
I'm using SetGsCrt syscall to set the mode (interlaced=1, mode=3, frame_field=0). Then I stuff some magic numbers into DISPLAY2.
I'm using standard double buffering technique, polling for vsync
using CSR register.
It all kinda works, but the are a couple of things I'm trying to nail down:
- the image flickers as if I was running 10-15 Hz refresh rate. What am I
doing wrong? Certainly there is a bit of flickering when I play games in
this video mode, but not as bad as my demo.
- The screen is shifted a bit to the left and there is uninitialized crap
at the bottom of the screen. This probably has to do with how to initialize
DISPLAY2 register, but I've tried following the tutorials and using
the PS2 Linux code (ps2gs.c) to compute them -- it's always a bit off.
What are the definite guidelines on how to set this up?
- Anyone knows how can I avoid vsync polling and setup interrupt handler
for this?
Thanks, any help appreciated!
I've just started my home brew PS2 hacking -- first of all thanks to all of you who provided invaluable information that helped me get going.
I managed to run my code using independence exploit and Xploder.
Too bad naplink doesn't seem to recognize my cable, but I've got a
network adaptor and I'm gonna try using it for development.
I'm developing a simple demo and I'm struggling with basic video mode
setting. I'm trying to setup a basic 640x512 PAL mode, and here's what
I've got so far:
I'm using SetGsCrt syscall to set the mode (interlaced=1, mode=3, frame_field=0). Then I stuff some magic numbers into DISPLAY2.
I'm using standard double buffering technique, polling for vsync
using CSR register.
It all kinda works, but the are a couple of things I'm trying to nail down:
- the image flickers as if I was running 10-15 Hz refresh rate. What am I
doing wrong? Certainly there is a bit of flickering when I play games in
this video mode, but not as bad as my demo.
- The screen is shifted a bit to the left and there is uninitialized crap
at the bottom of the screen. This probably has to do with how to initialize
DISPLAY2 register, but I've tried following the tutorials and using
the PS2 Linux code (ps2gs.c) to compute them -- it's always a bit off.
What are the definite guidelines on how to set this up?
- Anyone knows how can I avoid vsync polling and setup interrupt handler
for this?
Thanks, any help appreciated!