Fix for sound desync in Tengai and tile corruption in Samurai Aces on savestate load
This commit is contained in:
parent
232634c08c
commit
05fefca63c
|
@ -880,7 +880,7 @@ UINT16 __fastcall gunbirdReadWord(UINT32 sekAddress)
|
|||
case 0xC00000: // Joysticks
|
||||
return ~DrvInput[0];
|
||||
case 0xC00002: { // Inputs / Sound CPU status
|
||||
bprintf(PRINT_NORMAL, _T(" - Sound reply read.\n"));
|
||||
// bprintf(PRINT_NORMAL, _T(" - Sound reply read.\n"));
|
||||
PsikyoSynchroniseZ80(0);
|
||||
if (!nSoundlatchAck) {
|
||||
return ~DrvInput[1];
|
||||
|
@ -1960,13 +1960,31 @@ static INT32 DrvScan(INT32 nAction, INT32 *pnMin)
|
|||
|
||||
SCAN_VAR(bVBlank);
|
||||
|
||||
BurnYM2610Scan(nAction, pnMin);
|
||||
// March 29, 2014 - sound desync fix -> Burn[CHIP]Scan(); depending on hardware - dink
|
||||
switch (PsikyoHardwareVersion) {
|
||||
case PSIKYO_HW_SAMURAIA:
|
||||
case PSIKYO_HW_GUNBIRD: {
|
||||
BurnYM2610Scan(nAction, pnMin);
|
||||
break;
|
||||
}
|
||||
case PSIKYO_HW_S1945:
|
||||
case PSIKYO_HW_TENGAI: {
|
||||
BurnYMF278BScan(nAction, pnMin);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SCAN_VAR(nSoundlatch); SCAN_VAR(nSoundlatchAck);
|
||||
|
||||
SCAN_VAR(nPsikyoZ80Bank);
|
||||
|
||||
TengaiMCUScan(nAction, pnMin);
|
||||
//TengaiMCUScan(nAction, pnMin);
|
||||
// no! only call this if the game uses the TengaiMCU otherwise
|
||||
// it'll change the tile banks to some strange value
|
||||
// March 30, 2014: Fix for corrupted tiles after loading savestate in Samurai Aces - dink
|
||||
if (PsikyoHardwareVersion == PSIKYO_HW_TENGAI || PsikyoHardwareVersion == PSIKYO_HW_S1945) {
|
||||
TengaiMCUScan(nAction, pnMin);
|
||||
}
|
||||
|
||||
if (nAction & ACB_WRITE) {
|
||||
int nBank = nPsikyoZ80Bank;
|
||||
|
|
Loading…
Reference in New Issue