Debug tracking for misc_post90s a-b completed, fixes where necessary

This commit is contained in:
Barry Harris 2011-12-11 21:41:33 +00:00
parent b132d5444c
commit 866d3cdb0c
10 changed files with 191 additions and 161 deletions

View File

@ -427,7 +427,9 @@ static INT32 DrvDoReset(INT32 full_reset)
}
MSM6295Reset(0);
ZetOpen(2);
BurnYM2203Reset();
ZetClose();
interrupt_vectors[0] = 0xff;
interrupt_vectors[1] = 0xfd;

View File

@ -433,6 +433,7 @@ static INT32 DrvExit()
{
GenericTilesExit();
BurnYM2151Exit();
MSM6295Exit(0);
SekExit();
ZetExit();

View File

@ -472,6 +472,7 @@ static INT32 DrvExit()
{
GenericTilesExit();
BurnYM3812Exit();
MSM6295Exit(0);
SekExit();
ZetExit();

View File

@ -37,6 +37,7 @@ static INT32 Finalttr = 0;
static INT32 Twinadv = 0;
static INT32 Honeydol = 0;
static INT32 Wintbob = 0;
static INT32 Snowbro3 = 0;
static INT32 HyperpacNumTiles = 0;
static INT32 HyperpacNumTiles8bpp = 0;
@ -108,7 +109,7 @@ static struct BurnInputInfo SnowbrosInputList[] = {
STDINPUTINFO(Snowbros)
inline void HyperpacClearOpposites(UINT8* nJoystickInputs)
static inline void HyperpacClearOpposites(UINT8* nJoystickInputs)
{
if ((*nJoystickInputs & 0x03) == 0x03) {
*nJoystickInputs &= ~0x03;
@ -118,7 +119,7 @@ inline void HyperpacClearOpposites(UINT8* nJoystickInputs)
}
}
inline void HyperpacMakeInputs()
static inline void HyperpacMakeInputs()
{
// Reset Inputs
HyperpacInput[0] = HyperpacInput[1] = HyperpacInput[2] = 0x00;
@ -1088,7 +1089,7 @@ static struct BurnRomInfo Snowbro3RomDesc[] = {
STD_ROM_PICK(Snowbro3)
STD_ROM_FN(Snowbro3)
INT32 HyperpacDoReset()
static INT32 HyperpacDoReset()
{
HyperpacSoundLatch = 0;
@ -1110,7 +1111,7 @@ INT32 HyperpacDoReset()
return 0;
}
INT32 SnowbrosDoReset()
static INT32 SnowbrosDoReset()
{
HyperpacSoundLatch = 0;
@ -1127,7 +1128,7 @@ INT32 SnowbrosDoReset()
return 0;
}
INT32 Snowbro3DoReset()
static INT32 Snowbro3DoReset()
{
SekOpen(0);
SekReset();
@ -1141,7 +1142,7 @@ INT32 Snowbro3DoReset()
return 0;
}
void HyperpacYM2151IrqHandler(INT32 Irq)
static void HyperpacYM2151IrqHandler(INT32 Irq)
{
if (Irq) {
ZetSetIRQLine(0xff, ZET_IRQSTATUS_ACK);
@ -1482,7 +1483,6 @@ UINT16 __fastcall HoneydolReadWord(UINT32 a)
case 0x900002:
case 0x900004: {
SEK_DEF_READ_WORD(0, a);
return 0;
}
}
@ -1958,7 +1958,7 @@ static INT32 Snowbro3MemIndex()
return 0;
}
INT32 HyperpacMachineInit()
static INT32 HyperpacMachineInit()
{
BurnSetRefreshRate(57.5);
@ -2028,7 +2028,7 @@ static INT32 Snowbro38BppPlaneOffsets[8] = { 8, 9, 10, 11, 0, 1, 2, 3 };
static INT32 Snowbro38BppXOffsets[16] = { 0, 4, 16, 20, 32, 36, 48, 52, 512, 516, 528, 532, 544, 548, 560, 564 };
static INT32 Snowbro38BppYOffsets[16] = { 0, 64, 128, 192, 256, 320, 384, 448, 1024, 1088, 1152, 1216, 1280, 1344, 1408, 1472 };
INT32 HyperpacInit()
static INT32 HyperpacInit()
{
INT32 nRet = 0, nLen;
@ -2084,7 +2084,7 @@ INT32 HyperpacInit()
return 0;
}
INT32 Cookbib2Init()
static INT32 Cookbib2Init()
{
INT32 nRet = 0, nLen;
@ -2126,7 +2126,7 @@ INT32 Cookbib2Init()
return 0;
}
INT32 Cookbib3Init()
static INT32 Cookbib3Init()
{
INT32 nRet = 0, nLen;
@ -2177,7 +2177,7 @@ INT32 Cookbib3Init()
return 0;
}
INT32 MoremoreInit()
static INT32 MoremoreInit()
{
INT32 nRet = 0, nLen;
@ -2223,7 +2223,7 @@ INT32 MoremoreInit()
return 0;
}
INT32 TwinkleInit()
static INT32 TwinkleInit()
{
INT32 nRet = 0, nLen;
@ -2263,7 +2263,7 @@ INT32 TwinkleInit()
return 0;
}
INT32 PzlbreakInit()
static INT32 PzlbreakInit()
{
INT32 nRet = 0, nLen;
@ -2304,7 +2304,7 @@ INT32 PzlbreakInit()
return 0;
}
void Fourin1bootDescrambleRom()
static void Fourin1bootDescrambleRom()
{
UINT8 *buffer;
UINT8 *src = HyperpacRom;
@ -2337,7 +2337,7 @@ void Fourin1bootDescrambleRom()
}
}
INT32 Fourin1bootInit()
static INT32 Fourin1bootInit()
{
INT32 nRet = 0, nLen;
@ -2377,7 +2377,7 @@ INT32 Fourin1bootInit()
return 0;
}
INT32 FinalttrInit()
static INT32 FinalttrInit()
{
INT32 nRet = 0, nLen;
@ -2422,7 +2422,7 @@ INT32 FinalttrInit()
return 0;
}
INT32 TwinadvInit()
static INT32 TwinadvInit()
{
INT32 nRet = 0, nLen;
@ -2475,6 +2475,7 @@ INT32 TwinadvInit()
// Setup the Z80 emulation
ZetInit(1);
ZetOpen(0);
ZetMapArea(0x0000, 0x7fff, 0, HyperpacZ80Rom);
ZetMapArea(0x0000, 0x7fff, 2, HyperpacZ80Rom);
ZetMapArea(0x8000, 0x87ff, 0, HyperpacZ80Ram);
@ -2496,7 +2497,7 @@ INT32 TwinadvInit()
return 0;
}
INT32 HoneydolInit()
static INT32 HoneydolInit()
{
INT32 nRet = 0, nLen;
@ -2582,7 +2583,7 @@ INT32 HoneydolInit()
return 0;
}
INT32 SnowbrosInit()
static INT32 SnowbrosInit()
{
INT32 nRet = 0, nLen;
@ -2674,9 +2675,11 @@ INT32 SnowbrosInit()
return 0;
}
INT32 Snowbro3Init()
static INT32 Snowbro3Init()
{
INT32 nRet = 0, nLen;
Snowbro3 = 1;
HyperpacNumTiles = 0x1000;
HyperpacNumTiles8bpp = 0x4000;
@ -2745,16 +2748,17 @@ INT32 Snowbro3Init()
return 0;
}
INT32 HyperpacExit()
static INT32 HyperpacExit()
{
BurnYM3812Exit();
BurnYM2151Exit();
MSM6295Exit(0);
SekExit();
ZetExit();
GenericTilesExit();
if (!Twinadv && !Honeydol) BurnYM2151Exit();
if (Honeydol) BurnYM3812Exit();
BurnFree(Mem);
@ -2768,17 +2772,18 @@ INT32 HyperpacExit()
Finalttr = 0;
Twinadv = 0;
Honeydol = 0;
Snowbro3 = 0;
return 0;
}
INT32 SnowbrosExit()
static INT32 SnowbrosExit()
{
BurnYM3812Exit();
MSM6295Exit(0);
if (!Snowbro3) BurnYM3812Exit();
if (Snowbro3) MSM6295Exit(0);
SekExit();
ZetExit();
if (!Snowbro3) ZetExit();
GenericTilesExit();
@ -2790,11 +2795,12 @@ INT32 SnowbrosExit()
Snowbro3Music = 0;
Snowbro3MusicPlaying = 0;
Snowbro3 = 0;
return 0;
}
void HyperpacRenderSpriteLayer()
static void HyperpacRenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -2855,7 +2861,7 @@ void HyperpacRenderSpriteLayer()
}
}
void TwinadvRenderSpriteLayer()
static void TwinadvRenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -2910,7 +2916,7 @@ void TwinadvRenderSpriteLayer()
}
}
void HoneydolRenderSpriteLayer()
static void HoneydolRenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -3015,7 +3021,7 @@ void HoneydolRenderSpriteLayer()
}
}
void SnowbrosRenderSpriteLayer()
static void SnowbrosRenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -3076,7 +3082,7 @@ void SnowbrosRenderSpriteLayer()
}
}
void WintbobRenderSpriteLayer()
static void WintbobRenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -3133,7 +3139,7 @@ void WintbobRenderSpriteLayer()
}
}
void Snowbro3RenderSpriteLayer()
static void Snowbro3RenderSpriteLayer()
{
INT32 x = 0, y = 0, Offs;
@ -3225,7 +3231,7 @@ inline static UINT32 CalcCol(UINT16 nColour)
return BurnHighCol(r, g, b, 0);
}
INT32 HyperpacCalcPalette()
static INT32 HyperpacCalcPalette()
{
INT32 i;
UINT16* ps;
@ -3238,7 +3244,7 @@ INT32 HyperpacCalcPalette()
return 0;
}
INT32 HoneydolCalcPalette()
static INT32 HoneydolCalcPalette()
{
INT32 i;
UINT16* ps;
@ -3251,7 +3257,7 @@ INT32 HoneydolCalcPalette()
return 0;
}
INT32 Snowbro3CalcPalette()
static INT32 Snowbro3CalcPalette()
{
INT32 i;
UINT16* ps;
@ -3264,7 +3270,7 @@ INT32 Snowbro3CalcPalette()
return 0;
}
void HyperpacRender()
static void HyperpacRender()
{
HyperpacCalcPalette();
@ -3276,7 +3282,7 @@ void HyperpacRender()
BurnTransferCopy(HyperpacPalette);
}
void PzlbreakRender()
static void PzlbreakRender()
{
HyperpacCalcPalette();
@ -3288,7 +3294,7 @@ void PzlbreakRender()
BurnTransferCopy(HyperpacPalette);
}
void TwinadvRender()
static void TwinadvRender()
{
HyperpacCalcPalette();
@ -3300,7 +3306,7 @@ void TwinadvRender()
BurnTransferCopy(HyperpacPalette);
}
void HoneydolRender()
static void HoneydolRender()
{
HoneydolCalcPalette();
@ -3312,7 +3318,7 @@ void HoneydolRender()
BurnTransferCopy(HyperpacPalette);
}
void SnowbrosRender()
static void SnowbrosRender()
{
HyperpacCalcPalette();
@ -3328,7 +3334,7 @@ void SnowbrosRender()
BurnTransferCopy(HyperpacPalette);
}
void Snowbro3Render()
static void Snowbro3Render()
{
Snowbro3CalcPalette();
@ -3341,7 +3347,7 @@ void Snowbro3Render()
BurnTransferCopy(HyperpacPalette);
}
INT32 HyperpacFrame()
static INT32 HyperpacFrame()
{
INT32 nInterleave = 4;
@ -3409,7 +3415,7 @@ INT32 HyperpacFrame()
return 0;
}
INT32 PzlbreakFrame()
static INT32 PzlbreakFrame()
{
INT32 nInterleave = 4;
@ -3477,7 +3483,7 @@ INT32 PzlbreakFrame()
return 0;
}
INT32 FinalttrFrame()
static INT32 FinalttrFrame()
{
INT32 nInterleave = 4;
@ -3545,7 +3551,7 @@ INT32 FinalttrFrame()
return 0;
}
INT32 TwinadvFrame()
static INT32 TwinadvFrame()
{
INT32 nInterleave = 4;
@ -3611,7 +3617,7 @@ INT32 TwinadvFrame()
return 0;
}
INT32 HoneydolFrame()
static INT32 HoneydolFrame()
{
INT32 nInterleave = 4;
@ -3645,8 +3651,6 @@ INT32 HoneydolFrame()
if (i == 3) SekSetIRQLine(2, SEK_IRQSTATUS_AUTO);
}
SekClose();
nCycles68KSync = SekTotalCycles();
BurnTimerEndFrameYM3812(nCyclesTotal[1]);
if (pBurnSoundOut) {
@ -3667,7 +3671,7 @@ INT32 HoneydolFrame()
return 0;
}
INT32 SnowbrosFrame()
static INT32 SnowbrosFrame()
{
INT32 nInterleave = 4;
@ -3701,8 +3705,6 @@ INT32 SnowbrosFrame()
if (i == 3) SekSetIRQLine(2, SEK_IRQSTATUS_AUTO);
}
SekClose();
nCycles68KSync = SekTotalCycles();
BurnTimerEndFrameYM3812(nCyclesTotal[1]);
if (pBurnSoundOut) BurnYM3812Update(pBurnSoundOut, nBurnSoundLen);
@ -3720,7 +3722,7 @@ INT32 SnowbrosFrame()
return 0;
}
INT32 Snowbro3Frame()
static INT32 Snowbro3Frame()
{
INT32 nInterleave = 4;
@ -3762,8 +3764,6 @@ INT32 Snowbro3Frame()
}
}
SekClose();
nCyclesDone[0] = SekTotalCycles() - nCyclesTotal[0];
SekClose();

View File

@ -100,12 +100,12 @@ MCURun ToyboxMCURun;
typedef void (*FrameRender)();
FrameRender Kaneko16FrameRender;
void BerlwallFrameRender();
void BlazeonFrameRender();
void BloodwarFrameRender();
void ExplbrkrFrameRender();
void GtmrFrameRender();
void MgcrystlFrameRender();
static void BerlwallFrameRender();
static void BlazeonFrameRender();
static void BloodwarFrameRender();
static void ExplbrkrFrameRender();
static void GtmrFrameRender();
static void MgcrystlFrameRender();
typedef INT32 (*ParseSprite)(INT32, struct tempsprite*);
ParseSprite Kaneko16ParseSprite;
@ -1347,7 +1347,7 @@ static struct {
UINT16 mult_a, mult_b;
} hit;
INT16 calc_compute_x(void)
static INT16 calc_compute_x(void)
{
INT16 x_coll;
@ -1361,7 +1361,7 @@ INT16 calc_compute_x(void)
return x_coll;
}
INT16 calc_compute_y(void)
static INT16 calc_compute_y(void)
{
INT16 y_coll;
@ -3246,15 +3246,15 @@ static INT32 ExplbrkrInit()
pAY8910Buffer[4] = pFMBuffer + nBurnSoundLen * 4;
pAY8910Buffer[5] = pFMBuffer + nBurnSoundLen * 5;
Kaneko16Eeprom = 1;
EEPROMInit(&eeprom_interface_93C46);
AY8910Init(0, 2000000, nBurnSoundRate, NULL, NULL, NULL, NULL);
AY8910Init(1, 2000000, nBurnSoundRate, &Kaneko16EepromRead, NULL, NULL, &Kaneko16EepromReset);
// Setup the OKIM6295 emulation
MSM6295Init(0, (12000000 / 6) / 132, 100.0, 1);
Kaneko16Eeprom = 1;
EEPROMInit(&eeprom_interface_93C46);
Kaneko16FrameRender = ExplbrkrFrameRender;
// Reset the driver
@ -3382,7 +3382,7 @@ static INT32 GtmrevoInit()
return 0;
}
INT32 Gtmr2Init()
static INT32 Gtmr2Init()
{
INT32 nRet = 0, nLen;
@ -3444,7 +3444,7 @@ INT32 Gtmr2Init()
return 0;
}
INT32 Gtmr2uInit()
static INT32 Gtmr2uInit()
{
INT32 nRet = 0, nLen;
@ -3587,15 +3587,15 @@ static INT32 MgcrystlInit()
pAY8910Buffer[4] = pFMBuffer + nBurnSoundLen * 4;
pAY8910Buffer[5] = pFMBuffer + nBurnSoundLen * 5;
Kaneko16Eeprom = 1;
EEPROMInit(&eeprom_interface_93C46);
AY8910Init(0, 2000000, nBurnSoundRate, NULL, NULL, NULL, NULL);
AY8910Init(1, 2000000, nBurnSoundRate, &Kaneko16EepromRead, NULL, NULL, &Kaneko16EepromReset);
// Setup the OKIM6295 emulation
MSM6295Init(0, (12000000 / 4) / 165, 100.0, 1);
Kaneko16Eeprom = 1;
EEPROMInit(&eeprom_interface_93C46);
Kaneko16FrameRender = MgcrystlFrameRender;
// Reset the driver
@ -3604,18 +3604,10 @@ static INT32 MgcrystlInit()
return 0;
}
INT32 Kaneko16Exit()
static INT32 Kaneko16Exit()
{
SekExit();
MSM6295Exit(0);
MSM6295Exit(1);
if (Kaneko16Eeprom) EEPROMExit();
ZetExit();
BurnYM2151Exit();
for (INT32 i = 0; i < 2; i++) {
AY8910Exit(i);
}
GenericTilesExit();
@ -3660,6 +3652,40 @@ INT32 Kaneko16Exit()
return 0;
}
static INT32 BerlwallExit()
{
AY8910Exit(0);
AY8910Exit(1);
MSM6295Exit(0);
return Kaneko16Exit();
}
static INT32 BlazeonExit()
{
ZetExit();
BurnYM2151Exit();
return Kaneko16Exit();
}
static INT32 GtmrMachineExit()
{
MSM6295Exit(0);
MSM6295Exit(1);
return Kaneko16Exit();
}
static INT32 ExplbrkrExit()
{
AY8910Exit(0);
AY8910Exit(1);
MSM6295Exit(0);
return Kaneko16Exit();
}
/*==============================================================================================
Sprite Rendering
===============================================================================================*/
@ -4063,7 +4089,7 @@ static void Kaneko16RenderLayerQueue(INT32 Layer, INT32 Priority)
}
}
void Kaneko16RenderTileLayer(INT32 Layer, INT32 PriorityDraw, INT32 xScroll)
static void Kaneko16RenderTileLayer(INT32 Layer, INT32 PriorityDraw, INT32 xScroll)
{
INT32 mx, my, Code, Attr, Colour, Flip, Priority, x, y, TileIndex = 0;
@ -4241,7 +4267,7 @@ Graphics Rendering
} \
\
void BerlwallFrameRender()
static void BerlwallFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4293,7 +4319,7 @@ void BerlwallFrameRender()
BurnTransferCopy(Kaneko16Palette);
}
void BlazeonFrameRender()
static void BlazeonFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4332,7 +4358,7 @@ void BlazeonFrameRender()
BurnTransferCopy(Kaneko16Palette);
}
void BloodwarFrameRender()
static void BloodwarFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4391,7 +4417,7 @@ void BloodwarFrameRender()
BurnTransferCopy(Kaneko16Palette);
}
void ExplbrkrFrameRender()
static void ExplbrkrFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4448,7 +4474,7 @@ void ExplbrkrFrameRender()
BurnTransferCopy(Kaneko16Palette);
}
void GtmrFrameRender()
static void GtmrFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4507,7 +4533,7 @@ void GtmrFrameRender()
BurnTransferCopy(Kaneko16Palette);
}
void MgcrystlFrameRender()
static void MgcrystlFrameRender()
{
INT32 i;
INT32 Layer0Enabled = 0;
@ -4568,7 +4594,7 @@ void MgcrystlFrameRender()
Frame functions
===============================================================================================*/
INT32 ExplbrkrFrame()
static INT32 ExplbrkrFrame()
{
INT32 nInterleave = 10;
nSoundBufferPos = 0;
@ -4649,7 +4675,7 @@ INT32 ExplbrkrFrame()
return 0;
}
INT32 BlazeonFrame()
static INT32 BlazeonFrame()
{
INT32 nInterleave = 10;
nSoundBufferPos = 0;
@ -4713,7 +4739,7 @@ INT32 BlazeonFrame()
return 0;
}
INT32 GtmrFrame()
static INT32 GtmrFrame()
{
if (Kaneko16Reset) GtmrDoReset();
@ -4864,7 +4890,7 @@ struct BurnDriver BurnDrvBerlwall = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, BerlwallRomInfo, BerlwallRomName, NULL, NULL, BerlwallInputInfo, BerlwallDIPInfo,
BerlwallInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
BerlwallInit, BerlwallExit, ExplbrkrFrame, NULL, ExplbrkrScan,
&Kaneko16RecalcBg15Palette, 0x9000, 256, 224, 4, 3
};
@ -4874,7 +4900,7 @@ struct BurnDriver BurnDrvBerlwallt = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, BerlwalltRomInfo, BerlwalltRomName, NULL, NULL, BerlwallInputInfo, BerlwalltDIPInfo,
BerlwallInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
BerlwallInit, BerlwallExit, ExplbrkrFrame, NULL, ExplbrkrScan,
&Kaneko16RecalcBg15Palette, 0x9000, 256, 224, 4, 3
};
@ -4884,7 +4910,7 @@ struct BurnDriver BurnDrvBlazeon = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_HORSHOOT, 0,
NULL, BlazeonRomInfo, BlazeonRomName, NULL, NULL, BlazeonInputInfo, BlazeonDIPInfo,
BlazeonInit, Kaneko16Exit, BlazeonFrame, NULL, BlazeonScan,
BlazeonInit, BlazeonExit, BlazeonFrame, NULL, BlazeonScan,
NULL, 0x1000, 320, 232, 4, 3
};
@ -4894,7 +4920,7 @@ struct BurnDriver BurnDrvBloodwar = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_VSFIGHT, 0,
NULL, BloodwarRomInfo, BloodwarRomName, NULL, NULL, BloodwarInputInfo, BloodwarDIPInfo,
BloodwarInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
BloodwarInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4904,7 +4930,7 @@ struct BurnDriver BurnDrvBonkadv = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, BonkadvRomInfo, BonkadvRomName, NULL, NULL, BonkadvInputInfo, BonkadvDIPInfo,
BonkadvInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
BonkadvInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4914,7 +4940,7 @@ struct BurnDriver BurnDrvExplbrkr = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED, 2, HARDWARE_MISC_POST90S, GBF_VERSHOOT, 0,
NULL, ExplbrkrRomInfo, ExplbrkrRomName, NULL, NULL, ExplbrkrInputInfo, ExplbrkrDIPInfo,
ExplbrkrInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
ExplbrkrInit, ExplbrkrExit, ExplbrkrFrame, NULL, ExplbrkrScan,
NULL, 0x1000, 224, 256, 3, 4
};
@ -4924,7 +4950,7 @@ struct BurnDriver BurnDrvBakubrkr = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED, 2, HARDWARE_MISC_POST90S, GBF_VERSHOOT, 0,
NULL, BakubrkrRomInfo, BakubrkrRomName, NULL, NULL, ExplbrkrInputInfo, ExplbrkrDIPInfo,
ExplbrkrInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
ExplbrkrInit, ExplbrkrExit, ExplbrkrFrame, NULL, ExplbrkrScan,
NULL, 0x1000, 224, 256, 3, 4
};
@ -4934,7 +4960,7 @@ struct BurnDriver BurnDrvGtmr = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, GtmrRomInfo, GtmrRomName, NULL, NULL, GtmrInputInfo, GtmrDIPInfo,
GtmrInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
GtmrInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4944,7 +4970,7 @@ struct BurnDriver BurnDrvGtmra = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, GtmraRomInfo, GtmraRomName, NULL, NULL, GtmrInputInfo, GtmrDIPInfo,
GtmrInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
GtmrInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4954,7 +4980,7 @@ struct BurnDriver BurnDrvGtmre = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, GtmreRomInfo, GtmreRomName, NULL, NULL, GtmrInputInfo, GtmrDIPInfo,
GtmrevoInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
GtmrevoInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4964,7 +4990,7 @@ struct BurnDriver BurnDrvGtmrusa = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, GtmrusaRomInfo, GtmrusaRomName, NULL, NULL, GtmrInputInfo, GtmrDIPInfo,
GtmrevoInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
GtmrevoInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4974,7 +5000,7 @@ struct BurnDriver BurnDrvGtmr2 = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, Gtmr2RomInfo, Gtmr2RomName, NULL, NULL, GtmrInputInfo, Gtmr2DIPInfo,
Gtmr2Init, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
Gtmr2Init, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4984,7 +5010,7 @@ struct BurnDriver BurnDrvGtmr2a = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, Gtmr2aRomInfo, Gtmr2aRomName, NULL, NULL, GtmrInputInfo, Gtmr2DIPInfo,
Gtmr2Init, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
Gtmr2Init, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -4994,7 +5020,7 @@ struct BurnDriver BurnDrvGtmr2u = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_RACING, 0,
NULL, Gtmr2uRomInfo, Gtmr2uRomName, NULL, NULL, GtmrInputInfo, Gtmr2DIPInfo,
Gtmr2uInit, Kaneko16Exit, GtmrFrame, NULL, GtmrScan,
Gtmr2uInit, GtmrMachineExit, GtmrFrame, NULL, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
@ -5004,7 +5030,7 @@ struct BurnDriver BurnDrvMgcrsytl = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, MgcrystlRomInfo, MgcrystlRomName, NULL, NULL, MgcrystlInputInfo, MgcrystlDIPInfo,
MgcrystlInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
MgcrystlInit, ExplbrkrExit, ExplbrkrFrame, NULL, ExplbrkrScan,
NULL, 0x1000, 256, 224, 4, 3
};
@ -5014,7 +5040,7 @@ struct BurnDriver BurnDrvMgcrsytlo = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, MgcrystloRomInfo, MgcrystloRomName, NULL, NULL, MgcrystlInputInfo, MgcrystlDIPInfo,
MgcrystlInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
MgcrystlInit, ExplbrkrExit, ExplbrkrFrame, NULL, ExplbrkrScan,
NULL, 0x1000, 256, 224, 4, 3
};
@ -5024,6 +5050,6 @@ struct BurnDriver BurnDrvMgcrsytlj = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0,
NULL, MgcrystljRomInfo, MgcrystljRomName, NULL, NULL, MgcrystlInputInfo, MgcrystlDIPInfo,
MgcrystlInit, Kaneko16Exit, ExplbrkrFrame, NULL, ExplbrkrScan,
MgcrystlInit, ExplbrkrExit, ExplbrkrFrame, NULL, ExplbrkrScan,
NULL, 0x1000, 256, 224, 4, 3
};

View File

@ -2426,15 +2426,6 @@ UINT16 __fastcall ssmissin_main_read_word(UINT32 address)
return 0;
}
static void macross2_sound_sync()
{
/* INT32 cycles = (SekTotalCycles() * 4) / 10;
if (cycles > ZetTotalCycles() && cycles < 71429) {
BurnTimerUpdate(cycles);
}*/
}
UINT8 __fastcall macross2_main_read_byte(UINT32 address)
{
switch (address)
@ -2461,9 +2452,6 @@ UINT8 __fastcall macross2_main_read_byte(UINT32 address)
case 0x10000e:
case 0x10000f:
if (macross2_sound_enable) {
macross2_sound_sync();
}
return *soundlatch2;
}
@ -2487,9 +2475,6 @@ UINT16 __fastcall macross2_main_read_word(UINT32 address)
return (DrvDips[1] << 8) | DrvDips[1];
case 0x10000e:
if (macross2_sound_enable) {
macross2_sound_sync();
}
return *soundlatch2;
}
@ -2518,19 +2503,11 @@ void __fastcall macross2_main_write_word(UINT32 address, UINT16 data)
return;
case 0x100016:
bprintf (0, _T("%x, %x ww\n"), address, data);
if (data == 0) {
if (macross2_sound_enable != 0) {
macross2_sound_sync();
ZetReset();
}
} else {
// INT32 cycles = ((SekTotalCycles() * 4) / 10) - ZetTotalCycles();
// if (cycles > 0 && cycles < 71429) {
// ZetIdle(cycles);
// }
}
macross2_sound_enable = data;
return;
@ -2541,10 +2518,6 @@ void __fastcall macross2_main_write_word(UINT32 address, UINT16 data)
return;
case 0x10001e:
if (macross2_sound_enable) {
macross2_sound_sync();
}
*soundlatch = data;
return;
}
@ -3953,14 +3926,17 @@ static INT32 NMK004DoReset()
SekOpen(0);
SekReset();
SekClose();
BurnYM2203Reset();
MSM6295Reset(0);
MSM6295Reset(1);
MSM6295SetInitialBanks(2);
SekOpen(0);
NMK004_init();
SekClose();
return 0;
}
@ -4464,9 +4440,6 @@ static INT32 CommonExit()
{
GenericTilesExit();
MSM6295Exit(0);
MSM6295ROM = NULL;
SekExit();
BurnFree (AllMem);
@ -4480,6 +4453,26 @@ static INT32 CommonExit()
return 0;
}
static INT32 DrvExit()
{
ZetExit();
BurnYM2203Exit();
MSM6295Exit(0);
MSM6295Exit(1);
MSM6295ROM = NULL;
return CommonExit();
}
static INT32 MSM6295x1Exit()
{
ZetExit();
MSM6295Exit(0);
MSM6295ROM = NULL;
return CommonExit();
}
static INT32 SeibuSoundExit()
{
GenericTilesExit();
@ -4499,34 +4492,31 @@ static INT32 SeibuSoundExit()
static INT32 AfegaExit()
{
BurnYM2151Exit();
MSM6295Exit(1);
ZetExit();
BurnYM2151Exit();
MSM6295Exit(0);
MSM6295Exit(1);
MSM6295ROM = NULL;
return CommonExit();
}
static INT32 BjtwinExit()
{
BurnYM2151Exit();
MSM6295Exit(0);
MSM6295Exit(1);
MSM6295ROM = NULL;
return CommonExit();
}
static INT32 DrvExit()
{
BurnYM2203Exit();
MSM6295Exit(1);
ZetExit();
return CommonExit();
}
static INT32 NMK004Exit()
{
BurnYM2203Exit();
MSM6295Exit(0);
MSM6295Exit(1);
MSM6295ROM = NULL;
return CommonExit();
}
@ -5372,8 +5362,6 @@ static INT32 BjtwinFrame()
BjtwinDoReset();
}
ZetNewFrame();
{
DrvInputs[0] = ~input_high[0];
DrvInputs[1] = ~input_high[1];
@ -5964,7 +5952,7 @@ struct BurnDriver BurnDrvSsmissin = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL, 2, HARDWARE_MISC_POST90S, GBF_VERSHOOT, 0,
NULL, ssmissinRomInfo, ssmissinRomName, NULL, NULL, SsmissinInputInfo, SsmissinDIPInfo,
SsmissinInit, CommonExit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
SsmissinInit, MSM6295x1Exit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
224, 256, 3, 4
};
@ -6001,7 +5989,7 @@ struct BurnDriver BurnDrvAirattck = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL, 2, HARDWARE_MISC_POST90S, GBF_VERSHOOT, 0,
NULL, airattckRomInfo, airattckRomName, NULL, NULL, SsmissinInputInfo, SsmissinDIPInfo,
SsmissinInit, CommonExit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
SsmissinInit, MSM6295x1Exit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
224, 256, 3, 4
};
@ -6038,7 +6026,7 @@ struct BurnDriver BurnDrvAirattcka = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL, 2, HARDWARE_MISC_POST90S, GBF_VERSHOOT, 0,
NULL, airattckaRomInfo, airattckaRomName, NULL, NULL, SsmissinInputInfo, SsmissinDIPInfo,
SsmissinInit, CommonExit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
SsmissinInit, MSM6295x1Exit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
224, 256, 3, 4
};
@ -6996,7 +6984,7 @@ struct BurnDriver BurnDrvTwinactn = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_MISC_POST90S, GBF_HORSHOOT, 0,
NULL, twinactnRomInfo, twinactnRomName, NULL, NULL, CommonInputInfo, TwinactnDIPInfo,
TwinactnInit, CommonExit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
TwinactnInit, MSM6295x1Exit, SsmissinFrame, MacrossDraw, NULL, NULL, 0x400,
256, 224, 4, 3
};

View File

@ -577,6 +577,8 @@ static INT32 DrvExit()
SekExit();
ZetExit();
m6805Exit();
BurnYM2203Exit();
BurnFree (AllMem);

View File

@ -1684,6 +1684,7 @@ static INT32 DrvExit()
BurnYM2151Exit();
} else {
AY8910Exit(0);
BurnYM3526Exit();
}
DACExit();

View File

@ -1299,15 +1299,14 @@ static INT32 Zeropnt2Init()
return 0;
}
static INT32 DrvExit()
static INT32 CommonExit()
{
SekExit();
BurnYM3812Exit();
MSM6295Exit(0);
GenericTilesExit();
BurnGunExit();
if (nBurnGunNumPlayers) BurnGunExit();
DrvScrollX0 = 0;
DrvScrollY0 = 0;
@ -1327,14 +1326,23 @@ static INT32 DrvExit()
return 0;
}
static INT32 DrvExit()
{
BurnYM3812Exit();
return CommonExit();
}
static INT32 Zeropnt2Exit()
{
INT32 nRet = CommonExit();
BurnYM2151Exit();
MSM6295Exit(1);
EEPROMExit();
return DrvExit();
return nRet;
}
static void DrvRenderSprites(INT32 PriorityDraw)

View File

@ -682,6 +682,7 @@ static INT32 DrvExit()
BurnYM3812Exit();
SekExit();
ZetExit();
GenericTilesExit();
BurnFree (AllMem);