X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=gp2x%2Femu.c;h=49f714946ff16a2ba6ab241ab01824e30ae6bc7f;hb=fcf58ef66e8c280bd3b390ae19462508accddb36;hp=77e33f28ea85c14ceeb8096c7c961b2c39f4d1a5;hpb=ab8a8d36598061ddae8741c6585fbaa3e257c037;p=libpicofe.git diff --git a/gp2x/emu.c b/gp2x/emu.c index 77e33f2..49f7149 100644 --- a/gp2x/emu.c +++ b/gp2x/emu.c @@ -78,7 +78,9 @@ void pemu_prep_defconfig(void) memset(&defaultConfig, 0, sizeof(defaultConfig)); defaultConfig.EmuOpt = 0x9d | EOPT_RAM_TIMINGS|EOPT_CONFIRM_SAVE|EOPT_EN_CD_LEDS; - defaultConfig.s_PicoOpt = 0x0f | POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC|POPT_ACC_SPRITES; + defaultConfig.s_PicoOpt = POPT_EN_STEREO|POPT_EN_FM|POPT_EN_PSG|POPT_EN_Z80 | + POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC|POPT_ACC_SPRITES | + POPT_EN_32X|POPT_EN_PWM; defaultConfig.s_PsndRate = 44100; defaultConfig.s_PicoRegion = 0; // auto defaultConfig.s_PicoAutoRgnOrder = 0x184; // US, EU, JP @@ -327,7 +329,7 @@ void pemu_update_display(const char *fps, const char *notice) gp2x_video_setpalette(localPal, ret); } // a hack for VR - if (PicoRead16Hook == PicoSVPRead16) + if (PicoAHW & PAHW_SVP) memset32((int *)(PicoDraw2FB+328*8+328*223), 0xe0e0e0e0, 328); // do actual copy vidcpyM2(g_screen_ptr, PicoDraw2FB+328*8, @@ -498,10 +500,14 @@ static void vidResetMode(void) make_local_pal = (PicoAHW & PAHW_SMS) ? make_local_pal_sms : make_local_pal_md; } -void plat_video_toggle_renderer(int is_next, int is_menu) +void plat_video_toggle_renderer(int is_next, int force_16bpp, int is_menu) { + if (force_16bpp) { + PicoOpt &= ~POPT_ALT_RENDERER; + currentConfig.EmuOpt |= EOPT_16BPP; + } /* alt, 16bpp, 8bpp */ - if (PicoOpt & POPT_ALT_RENDERER) { + else if (PicoOpt & POPT_ALT_RENDERER) { PicoOpt &= ~POPT_ALT_RENDERER; if (is_next) currentConfig.EmuOpt |= EOPT_16BPP;