CNROM, UNROM bus conflict emulation, Cybernoid CHR bug on music change fixed
This commit is contained in:
parent
42801f4f10
commit
c129070dc0
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include "mapinc.h"
|
||||
|
||||
static uint8 bus_conflict = 0;
|
||||
static uint8 latche, latcheinit;
|
||||
static uint16 addrreg0, addrreg1;
|
||||
static void(*WSync)(void);
|
||||
|
@ -27,6 +28,9 @@ static void(*WSync)(void);
|
|||
static DECLFW(LatchWrite)
|
||||
{
|
||||
// FCEU_printf("bs %04x %02x\n",A,V);
|
||||
if(bus_conflict)
|
||||
latche=V&CartBR(A);
|
||||
else
|
||||
latche=V;
|
||||
WSync();
|
||||
}
|
||||
|
@ -53,6 +57,7 @@ static void Latch_Init(CartInfo *info, void (*proc)(void), uint8 init, uint16 ad
|
|||
info->Power=LatchPower;
|
||||
GameStateRestore=StateRestore;
|
||||
AddExState(&latche, 1, 0, "LATC");
|
||||
AddExState(&bus_conflict, 1, 0, "BUSC");
|
||||
}
|
||||
|
||||
//------------------ CPROM ---------------------------
|
||||
|
@ -98,6 +103,7 @@ static void CNROMSync(void)
|
|||
|
||||
void CNROM_Init(CartInfo *info)
|
||||
{
|
||||
bus_conflict = 1;
|
||||
Latch_Init(info, CNROMSync, 0, 0x8000, 0xFFFF);
|
||||
}
|
||||
|
||||
|
@ -266,6 +272,7 @@ static void UNROMSync(void)
|
|||
|
||||
void UNROM_Init(CartInfo *info)
|
||||
{
|
||||
bus_conflict = 1;
|
||||
Latch_Init(info, UNROMSync, 0, 0x8000, 0xFFFF);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
/vc9_fceux.ncb
|
||||
/vc9_fceux.suo
|
||||
/vc9_fceux.vcproj.CaH4.CaH4e3.user
|
||||
/vc9_obj_Release
|
Loading…
Reference in New Issue