From 8be0835eedfbaf2294d4d44fc73580230c588d3f Mon Sep 17 00:00:00 2001 From: retro-wertz Date: Fri, 8 Sep 2017 02:13:11 +0800 Subject: [PATCH] Fix for vsunisystem input not working --- src/drivers/libretro/libretro.c | 5 +---- src/input/pads.c | 5 ++++- src/palette.c | 1 + src/palettes/palettes.h | 4 ++++ src/vsuni.c | 1 + 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/drivers/libretro/libretro.c b/src/drivers/libretro/libretro.c index a26934b..66e86ee 100644 --- a/src/drivers/libretro/libretro.c +++ b/src/drivers/libretro/libretro.c @@ -1053,10 +1053,7 @@ static void FCEUD_UpdateInput(void) } if (GameInfo->type == GIT_VSUNI) - FCEU_VSUniSwap(&pad[0], &pad[1]); /* TODO: Incomplete! Some - * non-zapper/gun game - * still has no input. - */ + FCEU_VSUniSwap(&pad[0], &pad[1]); JSReturn[0] = pad[0] | (pad[1] << 8); diff --git a/src/input/pads.c b/src/input/pads.c index 7fedc39..875323c 100644 --- a/src/input/pads.c +++ b/src/input/pads.c @@ -98,8 +98,11 @@ static void FP_FASTAPASS(3) UpdateGP(int w, void *data, int arg) { if (FCEUnetplay) NetplayUpdate(joy); #endif FCEUMOV_AddJoy(joy); - if (GameInfo->type == GIT_VSUNI) +#ifdef __LIBRETRO__ +#else + if (GameInfo->type == GIT_VSUNI) /* moved to libretro.c */ FCEU_VSUniSwap(&joy[0], &joy[1]); +#endif } static INPUTC GPC = { ReadGP, 0, StrobeGP, UpdateGP, 0, 0 }; diff --git a/src/palette.c b/src/palette.c index bb94733..8a9a34e 100644 --- a/src/palette.c +++ b/src/palette.c @@ -56,6 +56,7 @@ static pal *palpoint[8] = rp2c04_0002, rp2c04_0003, rp2c04_0004, + rp2c03, }; void FCEUI_SetPaletteArray(uint8 *pal) { diff --git a/src/palettes/palettes.h b/src/palettes/palettes.h index 945bddf..c7ee95d 100644 --- a/src/palettes/palettes.h +++ b/src/palettes/palettes.h @@ -13,6 +13,10 @@ pal rp2c04_0004[64] = { #include "rp2c04-0004.h" }; +pal rp2c03[64] = { + #include "rp2c03.h" +}; + pal unvpalette[7] = { { 0x00 << 2, 0x00 << 2, 0x00 << 2 }, // Black { 0x3F << 2, 0x3F << 2, 0x34 << 2 }, // White diff --git a/src/vsuni.c b/src/vsuni.c index 2d4aa3e..748c099 100644 --- a/src/vsuni.c +++ b/src/vsuni.c @@ -296,6 +296,7 @@ void FCEU_VSUniCheck(uint64 md5partial, int *MapperNo, uint8 *Mirroring) { while (vs->name) { if (md5partial == vs->md5partial) { if (vs->ppu < RCP2C03B) pale = vs->ppu; + else pale = 5; *MapperNo = vs->mapper; *Mirroring = vs->mirroring; GameInfo->type = GIT_VSUNI;