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
|
case 0xC00000: // Joysticks
|
||||||
return ~DrvInput[0];
|
return ~DrvInput[0];
|
||||||
case 0xC00002: { // Inputs / Sound CPU status
|
case 0xC00002: { // Inputs / Sound CPU status
|
||||||
bprintf(PRINT_NORMAL, _T(" - Sound reply read.\n"));
|
// bprintf(PRINT_NORMAL, _T(" - Sound reply read.\n"));
|
||||||
PsikyoSynchroniseZ80(0);
|
PsikyoSynchroniseZ80(0);
|
||||||
if (!nSoundlatchAck) {
|
if (!nSoundlatchAck) {
|
||||||
return ~DrvInput[1];
|
return ~DrvInput[1];
|
||||||
|
@ -1960,13 +1960,31 @@ static INT32 DrvScan(INT32 nAction, INT32 *pnMin)
|
||||||
|
|
||||||
SCAN_VAR(bVBlank);
|
SCAN_VAR(bVBlank);
|
||||||
|
|
||||||
|
// 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);
|
BurnYM2610Scan(nAction, pnMin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PSIKYO_HW_S1945:
|
||||||
|
case PSIKYO_HW_TENGAI: {
|
||||||
|
BurnYMF278BScan(nAction, pnMin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SCAN_VAR(nSoundlatch); SCAN_VAR(nSoundlatchAck);
|
SCAN_VAR(nSoundlatch); SCAN_VAR(nSoundlatchAck);
|
||||||
|
|
||||||
SCAN_VAR(nPsikyoZ80Bank);
|
SCAN_VAR(nPsikyoZ80Bank);
|
||||||
|
|
||||||
|
//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);
|
TengaiMCUScan(nAction, pnMin);
|
||||||
|
}
|
||||||
|
|
||||||
if (nAction & ACB_WRITE) {
|
if (nAction & ACB_WRITE) {
|
||||||
int nBank = nPsikyoZ80Bank;
|
int nBank = nPsikyoZ80Bank;
|
||||||
|
|
Loading…
Reference in New Issue