From: <pal...@us...> - 2004-11-01 02:32:56
|
Update of /cvsroot/gc-linux/libgx/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14584/src Modified Files: gx.c Log Message: Included PAL50 changes based on 528 row efb Index: gx.c =================================================================== RCS file: /cvsroot/gc-linux/libgx/src/gx.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- gx.c 31 Oct 2004 22:35:00 -0000 1.3 +++ gx.c 1 Nov 2004 02:32:45 -0000 1.4 @@ -304,12 +304,12 @@ GX_LoadTexMtxImm(identity_matrix,GX_IDENTITY,GX_MTX3x4); GX_LoadTexMtxImm(identity_matrix,GX_DTTIDENTITY,GX_MTX3x4); - GX_SetViewport(0.0,0.0,640.0,(f32)pgxi->height,0.0,1.0); + GX_SetViewport(0.0,0.0,640.0,(f32)pgxi->efbHeight,0.0,1.0); GX_SetCoPlanar(GX_DISABLE); GX_SetCullMode(GX_CULL_BACK); GX_SetClipMode(GX_CLIP_DISABLE); - GX_SetScissor(0,0,640,pgxi->height); + GX_SetScissor(0,0,640,pgxi->efbHeight); GX_SetScissorBoxOffset(0,0); GX_SetNumChans(0); @@ -382,9 +382,9 @@ GX_SetFieldMode(GX_FALSE,GX_DISABLE); GX_SetCopyClear((GXColor)GX_DEFAULT_BG,0x00ffffff); - GX_SetDispCopySrc(0,0,640,pgxi->height); - GX_SetDispCopyDst(640,pgxi->height); - GX_SetDispCopyYScale(1.0); + GX_SetDispCopySrc(0,0,640,pgxi->efbHeight); + GX_SetDispCopyDst(640,pgxi->efbHeight); + GX_SetDispCopyYScale((f32)pgxi->xfbHeight / (f32)pgxi->efbHeight); GX_SetCopyClamp(GX_CLAMP_TOP|GX_CLAMP_BOTTOM); GX_SetCopyFilter(GX_FALSE,NULL,GX_FALSE,NULL); GX_SetDispCopyGamma(GX_GM_1_0); @@ -685,14 +685,17 @@ /* if pal mode */ if (_viReg[1] & 0x0100) { - /* check horizontal timing to see if pal50/60 */ - pInit->vType = ( *((u32*)(_viReg+2)) == 0x476901AD ) ? PAL60 : PAL50; - pInit->height = ((pInit->vType == PAL50) ? 576 : 480); + /* pal 50 */ + pInit->vType = PAL50; + pInit->efbHeight = 528; + pInit->xfbHeight = 576; } else { + /* NTSC / PAL60 */ pInit->vType = NTSC; - pInit->height = 480; + pInit->efbHeight = 480; + pInit->xfbHeight = 480; } _gx[0x01] = 0; |