Merge pull request #125 from retro-wertz/updates

minor updates
This commit is contained in:
hizzlekizzle
2017-08-24 09:42:21 -05:00
committed by GitHub
3 changed files with 53 additions and 57 deletions

View File

@@ -348,7 +348,7 @@ static void StateRestore(int version) {
static DECLFR(ReadLow) { static DECLFR(ReadLow) {
switch (A & 0x7700) { switch (A & 0x7700) {
case 0x5100: return reg[2] | reg[0] | reg[1] | reg[3] ^ 0xff; break; case 0x5100: return reg[2] | reg[0] | reg[1] | (reg[3] ^ 0xff); break;
case 0x5500: case 0x5500:
if (trigger) if (trigger)
return reg[2] | reg[1]; // Lei Dian Huang Bi Ka Qiu Chuan Shuo (NJ046) may broke other games return reg[2] | reg[1]; // Lei Dian Huang Bi Ka Qiu Chuan Shuo (NJ046) may broke other games

View File

@@ -99,7 +99,7 @@ static uint64 CartList[] =
int DetectPRGbonus(CartInfo *tmp) { int DetectPRGbonus(CartInfo *tmp) {
int x, i = 0; int x, i = 0;
uint64 partialmd5; uint64 partialmd5 = 0;
for (x = 0; x < 8; x++) for (x = 0; x < 8; x++)
partialmd5 |= (uint64)tmp->MD5[15 - x] << (x * 8); partialmd5 |= (uint64)tmp->MD5[15 - x] << (x * 8);

View File

@@ -733,7 +733,6 @@ void retro_get_system_av_info(struct retro_system_av_info *info)
info->timing.fps = 838977920.0/16777215.0; info->timing.fps = 838977920.0/16777215.0;
else else
info->timing.fps = 1008307711.0/16777215.0; info->timing.fps = 1008307711.0/16777215.0;
info->timing.sample_rate = 32040.5;
} }
static void check_system_specs(void) static void check_system_specs(void)
@@ -1103,24 +1102,23 @@ static void check_variables(bool startup)
* each player * each player
*/ */
unsigned char turbo_p0_toggle[] = {0,0}; unsigned char turbo_p0_toggle[] = { 0, 0 };
unsigned char turbo_p1_toggle[] = {0,0}; unsigned char turbo_p1_toggle[] = { 0, 0 };
static void FCEUD_UpdateInput(void) static void FCEUD_UpdateInput(void)
{ {
unsigned i; unsigned p, i;
unsigned char pad[2]; unsigned char pad[2];
pad[0] = 0; pad[0] = pad[1] = 0;
pad[1] = 0;
poll_cb(); poll_cb();
for (p = 0; p < 2; p++)
{
for ( i = 0; i < 8; i++) for ( i = 0; i < 8; i++)
pad[0] |= input_cb(0, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro) ? bindmap[i].nes : 0; pad[p] |= input_cb(p, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro) ? bindmap[i].nes : 0;
}
for ( i = 0; i < 8; i++)
pad[1] |= input_cb(1, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro) ? bindmap[i].nes : 0;
/* /*
* Turbo A and Turbo B buttons are * Turbo A and Turbo B buttons are
@@ -1135,53 +1133,55 @@ static void FCEUD_UpdateInput(void)
*/ */
if (turbo_enabler == 1 || turbo_enabler == 3) if (turbo_enabler == 1 || turbo_enabler == 3)
{ {
// Handle turbo buttons - player 1 /* Handle turbo buttons - player 1 */
for ( i = 8; i < 10; i++) { for ( i = 8; i < 10; i++)
if(input_cb(0, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro)) { {
if (turbo_p0_toggle[i-8] == 0) { if (input_cb(0, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro))
{
if (turbo_p0_toggle[i-8] == 0)
pad[0] |= bindmap[i].nes; pad[0] |= bindmap[i].nes;
}
turbo_p0_toggle[i-8]++; turbo_p0_toggle[i-8]++;
if (turbo_p0_toggle[i-8] > turbo_delay) { if (turbo_p0_toggle[i-8] > turbo_delay)
// Reset the toggle if {
// delay value is reached /* Reset the toggle if
* delay value is reached */
pad[0] |= bindmap[i].nes; pad[0] |= bindmap[i].nes;
turbo_p0_toggle[i-8] = 0; turbo_p0_toggle[i-8] = 0;
} }
} else {
// If the button is not pressed, just reset the toggle
turbo_p0_toggle[i-8] = 0;
} }
else
/* If the button is not pressed, just reset the toggle */
turbo_p0_toggle[i-8] = 0;
} }
} }
if (turbo_enabler == 2 || turbo_enabler == 3) if (turbo_enabler == 2 || turbo_enabler == 3)
{ {
// Handle turbo buttons - player 2 /* Handle turbo buttons - player 2 */
for ( i = 8; i < 10; i++) { for ( i = 8; i < 10; i++)
if(input_cb(1, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro)) { {
if (turbo_p1_toggle[i-8] == 0) { if (input_cb(1, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro))
{
if (turbo_p1_toggle[i-8] == 0)
pad[1] |= bindmap[i].nes; pad[1] |= bindmap[i].nes;
}
turbo_p1_toggle[i-8]++; turbo_p1_toggle[i-8]++;
if (turbo_p1_toggle[i-8] > turbo_delay) { if (turbo_p1_toggle[i-8] > turbo_delay)
// Reset the toggle if {
// delay value is reached /* Reset the toggle if
* delay value is reached */
pad[1] |= bindmap[i].nes; pad[1] |= bindmap[i].nes;
turbo_p1_toggle[i-8] = 0; turbo_p1_toggle[i-8] = 0;
} }
} else {
// If the button is not pressed, just reset the toggle
turbo_p1_toggle[i-8] = 0;
} }
else
/* If the button is not pressed, just reset the toggle */
turbo_p1_toggle[i-8] = 0;
} }
} }
JSReturn[0] = pad[0] | (pad[1] << 8); JSReturn[0] = pad[0] | (pad[1] << 8);
if (input_cb(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R2)) if (input_cb(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R2))
{
FCEU_VSUniCoin(); /* Insert Coin VS System */ FCEU_VSUniCoin(); /* Insert Coin VS System */
}
if (GameInfo->type == GIT_FDS) /* Famicom Disk System */ if (GameInfo->type == GIT_FDS) /* Famicom Disk System */
{ {
@@ -1190,15 +1190,11 @@ static void FCEUD_UpdateInput(void)
static bool prevL = false, prevR = false; static bool prevL = false, prevR = false;
if (curL && !prevL) if (curL && !prevL)
{
FCEU_FDSSelect(); /* Swap FDisk side */ FCEU_FDSSelect(); /* Swap FDisk side */
}
prevL = curL; prevL = curL;
if (curR && !prevR) if (curR && !prevR)
{
FCEU_FDSInsert(-1); /* Insert or eject the disk */ FCEU_FDSInsert(-1); /* Insert or eject the disk */
}
prevR = curR; prevR = curR;
} }
} }