コード例 #1
0
ファイル: init.c プロジェクト: AKuHAK/Fceumm-PS2
void init_custom_screen()
{
    if (Settings.display == 0) {
        gsGlobal->Mode = GS_MODE_NTSC;
        gsGlobal->Interlace = GS_INTERLACED;
        gsGlobal->Field = GS_FIELD;
        gsGlobal->Width = 640;
        gsGlobal->Height = 448;
        VCK = 4;
    }
    else if (Settings.display == 1) {
        gsGlobal->Mode = GS_MODE_PAL;
        gsGlobal->Interlace = GS_INTERLACED;
        gsGlobal->Field = GS_FIELD;
        gsGlobal->Width = 640;
        gsGlobal->Height = 512;
        VCK = 4;
    }
    else if (Settings.display == 2) {
        gsGlobal->Mode = GS_MODE_DTV_480P;
        gsGlobal->Interlace = GS_NONINTERLACED;
        gsGlobal->Field = GS_FRAME;
        gsGlobal->Width = 640;
        gsGlobal->Height = 480;
        VCK = 2;
    }

    if (Settings.display == 0 || Settings.display == 1) {
        if (!Settings.interlace) {
            gsGlobal->Interlace = GS_NONINTERLACED;
            gsGlobal->Height = gsGlobal->Height / 2;
            VCK = 2;
        }
    }

    gsKit_vram_clear(gsGlobal);
    gsKit_init_screen(gsGlobal); /* Apply settings. */
    gsKit_set_display_offset(gsGlobal, Settings.offset_x * VCK, Settings.offset_y);
    gsKit_mode_switch(gsGlobal, GS_ONESHOT);
}
コード例 #2
0
ファイル: init.c プロジェクト: AKuHAK/Fceumm-PS2
void SetDisplayOffset()
{
    gsKit_set_display_offset(gsGlobal, Settings.offset_x * VCK, Settings.offset_y);
}
コード例 #3
0
ファイル: main.c プロジェクト: ps2dev/gsKit
int main(int argc, char *argv[])
{
#ifdef HIRES_MODE
	GSGLOBAL *gsGlobal = gsKit_hires_init_global();
#else
	GSGLOBAL *gsGlobal = gsKit_init_global();
#endif
	int iPassCount;

#if 0
	gsGlobal->Mode = GS_MODE_NTSC;
	gsGlobal->Interlace = GS_INTERLACED;
	//gsGlobal->Field = GS_FIELD;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 704;
	gsGlobal->Height = 464;
	iXOffset = -32;
	iYOffset = 8;
	iPassCount = 2;
#endif
#if 0
	gsGlobal->Mode = GS_MODE_PAL;
	gsGlobal->Interlace = GS_INTERLACED;
	//gsGlobal->Field = GS_FIELD;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 704;
	gsGlobal->Height = 556;
	iXOffset = -10;
	iYOffset = 5;
	iPassCount = 3;
#endif
#if 0
	gsGlobal->Mode = GS_MODE_DTV_480P;
	gsGlobal->Interlace = GS_NONINTERLACED;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 704;
	gsGlobal->Height = 462;
	iXOffset = -4;
	iYOffset = 3;
	iPassCount = 2;
#endif
#if 0
	gsGlobal->Mode = GS_MODE_DTV_576P;
	gsGlobal->Interlace = GS_NONINTERLACED;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 704;
	gsGlobal->Height = 556;
	iXOffset = 0;
	iYOffset = 0;
	iPassCount = 3;
#endif
#if 0
	gsGlobal->Mode = GS_MODE_DTV_720P;
	gsGlobal->Interlace = GS_NONINTERLACED;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 1280;
	gsGlobal->Height = 720;//704;
	iXOffset = 0;
	iYOffset = 0;
	iPassCount = 3;
#endif
#if 1
	gsGlobal->Mode = GS_MODE_DTV_1080I;
	gsGlobal->Interlace = GS_INTERLACED;
	//gsGlobal->Field = GS_FIELD;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width  = 1920;
	gsGlobal->Height = 1080;
	iXOffset = 0;
	iYOffset = 0;
	iPassCount = 3;
#endif
#if 0
	gsGlobal->Mode = GS_MODE_VGA_1280_60;
	gsGlobal->Interlace = GS_NONINTERLACED;
	gsGlobal->Field = GS_FRAME;
	gsGlobal->Width = 1280;
	gsGlobal->Height = 1024;
	iXOffset = 0;
	iYOffset = 0;
	iPassCount = 4;
#endif

	if ((gsGlobal->Interlace == GS_INTERLACED) && (gsGlobal->Field == GS_FRAME))
		gsGlobal->Height /= 2;

	gsGlobal->PSM  = GS_PSM_CT16S;
	gsGlobal->PSMZ = GS_PSMZ_16S;

	gsGlobal->Dithering = GS_SETTING_ON;
	gsGlobal->DoubleBuffering = GS_SETTING_ON;
	gsGlobal->ZBuffering = GS_SETTING_ON;

	dmaKit_init(D_CTRL_RELE_OFF, D_CTRL_MFD_OFF, D_CTRL_STS_UNSPEC,
		    D_CTRL_STD_OFF, D_CTRL_RCYC_8, 1 << DMA_CHANNEL_GIF);

	// Initialize the DMAC
	dmaKit_chan_init(DMA_CHANNEL_GIF);

#ifdef HIRES_MODE
	gsKit_hires_init_screen(gsGlobal, iPassCount);
#else
	gsKit_init_screen(gsGlobal);
#endif
	gsKit_set_display_offset(gsGlobal, iXOffset, iYOffset);

	render(gsGlobal);

#ifdef HIRES_MODE
	gsKit_hires_deinit_global(gsGlobal);
#else
	gsKit_deinit_global(gsGlobal);
#endif

	return 0;
}