Merge pull request #144 from retro-wertz/vsuni_updates
Fix for vsunisystem input not working
This commit is contained in:
@@ -591,7 +591,7 @@ void retro_get_system_av_info(struct retro_system_av_info *info)
|
|||||||
|
|
||||||
static void check_system_specs(void)
|
static void check_system_specs(void)
|
||||||
{
|
{
|
||||||
// TODO - when we get it running at fullspeed on PSP, set to 4
|
/* TODO - when we get it running at fullspeed on PSP, set to 4 */
|
||||||
unsigned level = 5;
|
unsigned level = 5;
|
||||||
environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level);
|
environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level);
|
||||||
}
|
}
|
||||||
@@ -707,7 +707,7 @@ void FCEUD_RegionOverride(int region)
|
|||||||
FCEUPPU_SetVideoSystem(w || dendy);
|
FCEUPPU_SetVideoSystem(w || dendy);
|
||||||
SetSoundVariables();
|
SetSoundVariables();
|
||||||
|
|
||||||
// Update the geometry
|
/* Update the geometry */
|
||||||
retro_get_system_av_info(&av_info);
|
retro_get_system_av_info(&av_info);
|
||||||
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
|
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
|
||||||
}
|
}
|
||||||
@@ -1053,10 +1053,7 @@ static void FCEUD_UpdateInput(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (GameInfo->type == GIT_VSUNI)
|
if (GameInfo->type == GIT_VSUNI)
|
||||||
FCEU_VSUniSwap(&pad[0], &pad[1]); /* TODO: Incomplete! Some
|
FCEU_VSUniSwap(&pad[0], &pad[1]);
|
||||||
* non-zapper/gun game
|
|
||||||
* still has no input.
|
|
||||||
*/
|
|
||||||
|
|
||||||
JSReturn[0] = pad[0] | (pad[1] << 8);
|
JSReturn[0] = pad[0] | (pad[1] << 8);
|
||||||
|
|
||||||
@@ -1103,7 +1100,7 @@ static void retro_run_blit(uint8_t *gfx)
|
|||||||
width -= 16;
|
width -= 16;
|
||||||
height -= 16;
|
height -= 16;
|
||||||
}
|
}
|
||||||
texture_vram_p = (void*) (0x44200000 - (256 * 256)); // max VRAM address - frame size
|
texture_vram_p = (void*) (0x44200000 - (256 * 256)); /* max VRAM address - frame size */
|
||||||
|
|
||||||
sceKernelDcacheWritebackRange(retro_palette,256 * 2);
|
sceKernelDcacheWritebackRange(retro_palette,256 * 2);
|
||||||
sceKernelDcacheWritebackRange(XBuf, 256*240 );
|
sceKernelDcacheWritebackRange(XBuf, 256*240 );
|
||||||
@@ -1715,7 +1712,6 @@ void *retro_get_memory_data(unsigned type)
|
|||||||
data = NULL;
|
data = NULL;
|
||||||
break;
|
break;
|
||||||
case RETRO_MEMORY_SYSTEM_RAM:
|
case RETRO_MEMORY_SYSTEM_RAM:
|
||||||
// TODO: add ExWRAM(0x2000) support ?
|
|
||||||
data = RAM;
|
data = RAM;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1741,8 +1737,6 @@ size_t retro_get_memory_size(unsigned type)
|
|||||||
size = 0;
|
size = 0;
|
||||||
break;
|
break;
|
||||||
case RETRO_MEMORY_SYSTEM_RAM:
|
case RETRO_MEMORY_SYSTEM_RAM:
|
||||||
// TODO: detect ExWRAM(0x2000) ?
|
|
||||||
// NES BASE RAM (0x800)
|
|
||||||
size = 0x800;
|
size = 0x800;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -98,8 +98,11 @@ static void FP_FASTAPASS(3) UpdateGP(int w, void *data, int arg) {
|
|||||||
if (FCEUnetplay) NetplayUpdate(joy);
|
if (FCEUnetplay) NetplayUpdate(joy);
|
||||||
#endif
|
#endif
|
||||||
FCEUMOV_AddJoy(joy);
|
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]);
|
FCEU_VSUniSwap(&joy[0], &joy[1]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static INPUTC GPC = { ReadGP, 0, StrobeGP, UpdateGP, 0, 0 };
|
static INPUTC GPC = { ReadGP, 0, StrobeGP, UpdateGP, 0, 0 };
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ static pal *palpoint[8] =
|
|||||||
rp2c04_0002,
|
rp2c04_0002,
|
||||||
rp2c04_0003,
|
rp2c04_0003,
|
||||||
rp2c04_0004,
|
rp2c04_0004,
|
||||||
|
rp2c03,
|
||||||
};
|
};
|
||||||
|
|
||||||
void FCEUI_SetPaletteArray(uint8 *pal) {
|
void FCEUI_SetPaletteArray(uint8 *pal) {
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ pal rp2c04_0004[64] = {
|
|||||||
#include "rp2c04-0004.h"
|
#include "rp2c04-0004.h"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pal rp2c03[64] = {
|
||||||
|
#include "rp2c03.h"
|
||||||
|
};
|
||||||
|
|
||||||
pal unvpalette[7] = {
|
pal unvpalette[7] = {
|
||||||
{ 0x00 << 2, 0x00 << 2, 0x00 << 2 }, // Black
|
{ 0x00 << 2, 0x00 << 2, 0x00 << 2 }, // Black
|
||||||
{ 0x3F << 2, 0x3F << 2, 0x34 << 2 }, // White
|
{ 0x3F << 2, 0x3F << 2, 0x34 << 2 }, // White
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ void FCEU_VSUniCheck(uint64 md5partial, int *MapperNo, uint8 *Mirroring) {
|
|||||||
while (vs->name) {
|
while (vs->name) {
|
||||||
if (md5partial == vs->md5partial) {
|
if (md5partial == vs->md5partial) {
|
||||||
if (vs->ppu < RCP2C03B) pale = vs->ppu;
|
if (vs->ppu < RCP2C03B) pale = vs->ppu;
|
||||||
|
else pale = 5;
|
||||||
*MapperNo = vs->mapper;
|
*MapperNo = vs->mapper;
|
||||||
*Mirroring = vs->mirroring;
|
*Mirroring = vs->mirroring;
|
||||||
GameInfo->type = GIT_VSUNI;
|
GameInfo->type = GIT_VSUNI;
|
||||||
|
|||||||
Reference in New Issue
Block a user