I could be wrong but I think that PAL60 would not help with the flickering. Flickering is caused with the interlaced display mode on television with graphics that are not very suitable for it. I think that ScummVM DC uses 640x480 display mode or something like that. It looks wonderful on VGA monitor using DC VGA Box. But with television, it flickers badly. One solution would be to tell Dreamcast to use lower non-interlaced resolution if it detects that it is connected to TV like 320x200. After all that is the native resolution of most (but not all) games that ScummVM plays.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
/* Set up video registers to the desired
video mode
in:
cabletype (0=VGA, 2=RGB, 3=Composite)
pixel mode (0=RGB555, 1=RGB565, 3=RGB888)
tvmode (0 = off, 1 = on)
res (0 = 320 x 240, 1 = 640 x 240, 2 = 640 x 480)
hz50 (0 = 60Hz, 1 = 50 Hz)
pal (0 = NTSC, 1 = PAL, 2 = PALM, 3 = PALN)
voffset (vertical offset of screen in TV mode. Added to the
base offset.)
*/
void dc_init_video(int cabletype, int mode, int tvmode, int res,
int hz50, int pal, int voffset)
And /ronin-src/video.h=
START_EXTERN_C
void dc_init_pvr();
void dc_init_video(int cabletype, int mode, int tvmode, int res,
int hz50, int pal, int voffset);
void dc_video_on();
int dc_check_cable();
void dc_waitvbl();
void dc_setup_ta();
void dc_reset_screen( int hires, int lace );
void dc_set_border( unsigned int color );
void dc_draw_string(int x, int y, const char *message, int color);
void dc_draw_char12(int x, int y, int c, int color);
void dc_clrscr(int color);
void dc_multibuffer_set(int show, int draw);
void dc_tvmode(int on);
END_EXTERN_C
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, if you know your way around, feel free to provide a patch on our patch tracker. Other than that, i don't think posting header fragments in here will help anybody :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=12935
What is the status of this item?
Logged In: YES
user_id=1180484
yep please add it
Logged In: YES
user_id=891525
Marcus, the latest available version (0.7.0) still output at
50Hz, please add 60Hz support, the flickering on the image
is not comfortable.
Logged In: YES
user_id=166507
What is the status of this item?
Logged In: YES
user_id=1637759
Originator: NO
Any news about this? I got a PAL Dreamcast and having the same problem :(
Logged In: YES
user_id=1699558
Originator: NO
I could be wrong but I think that PAL60 would not help with the flickering. Flickering is caused with the interlaced display mode on television with graphics that are not very suitable for it. I think that ScummVM DC uses 640x480 display mode or something like that. It looks wonderful on VGA monitor using DC VGA Box. But with television, it flickers badly. One solution would be to tell Dreamcast to use lower non-interlaced resolution if it detects that it is connected to TV like 320x200. After all that is the native resolution of most (but not all) games that ScummVM plays.
Logged In: YES
user_id=1111054
Originator: NO
Look:
/ronin-src/c_video.cc_video.c =
/* Set up video registers to the desired
video mode
in:
cabletype (0=VGA, 2=RGB, 3=Composite)
pixel mode (0=RGB555, 1=RGB565, 3=RGB888)
tvmode (0 = off, 1 = on)
res (0 = 320 x 240, 1 = 640 x 240, 2 = 640 x 480)
hz50 (0 = 60Hz, 1 = 50 Hz)
pal (0 = NTSC, 1 = PAL, 2 = PALM, 3 = PALN)
voffset (vertical offset of screen in TV mode. Added to the
base offset.)
*/
void dc_init_video(int cabletype, int mode, int tvmode, int res,
int hz50, int pal, int voffset)
And /ronin-src/video.h=
START_EXTERN_C
void dc_init_pvr();
void dc_init_video(int cabletype, int mode, int tvmode, int res,
int hz50, int pal, int voffset);
void dc_video_on();
int dc_check_cable();
void dc_waitvbl();
void dc_setup_ta();
void dc_reset_screen( int hires, int lace );
void dc_set_border( unsigned int color );
void dc_draw_string(int x, int y, const char *message, int color);
void dc_draw_char12(int x, int y, int c, int color);
void dc_clrscr(int color);
void dc_multibuffer_set(int show, int draw);
void dc_tvmode(int on);
END_EXTERN_C
Logged In: YES
user_id=12935
Originator: NO
Well, if you know your way around, feel free to provide a patch on our patch tracker. Other than that, i don't think posting header fragments in here will help anybody :-)