diff --git a/src/burn/drivers/misc_pre90s/d_lwings.cpp b/src/burn/drivers/misc_pre90s/d_lwings.cpp index 75c280f12..12ac5d78f 100644 --- a/src/burn/drivers/misc_pre90s/d_lwings.cpp +++ b/src/burn/drivers/misc_pre90s/d_lwings.cpp @@ -1050,7 +1050,6 @@ static INT32 DrvExit() ZetExit(); BurnYM2203Exit(); - MSM5205Exit(); BurnFree (AllMem); @@ -1060,6 +1059,12 @@ static INT32 DrvExit() return 0; } +static INT32 TrojanExit() +{ + MSM5205Exit(); + return DrvExit(); +} + static void draw_foreground(INT32 colbase) { for (INT32 offs = 0x20; offs < 0x3e0; offs++) @@ -1883,7 +1888,7 @@ struct BurnDriver BurnDrvTrojan = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_SCRFIGHT, 0, NULL, trojanRomInfo, trojanRomName, NULL, NULL, DrvInputInfo, TrojanlsDIPInfo, - TrojanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + TrojanInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 256, 240, 4, 3 }; @@ -1937,7 +1942,7 @@ struct BurnDriver BurnDrvTrojanr = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_SCRFIGHT, 0, NULL, trojanrRomInfo, trojanrRomName, NULL, NULL, DrvInputInfo, TrojanDIPInfo, - TrojanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + TrojanInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 256, 240, 4, 3 }; @@ -1991,7 +1996,7 @@ struct BurnDriver BurnDrvTrojanj = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_SCRFIGHT, 0, NULL, trojanjRomInfo, trojanjRomName, NULL, NULL, DrvInputInfo, TrojanDIPInfo, - TrojanInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + TrojanInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 256, 240, 4, 3 }; @@ -2052,7 +2057,7 @@ struct BurnDriver BurnDrvAvengers = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED, 2, HARDWARE_MISC_PRE90S, GBF_SCRFIGHT, 0, NULL, avengersRomInfo, avengersRomName, NULL, NULL, DrvInputInfo, AvengersDIPInfo, - AvengersInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + AvengersInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 240, 256, 3, 4 }; @@ -2106,7 +2111,7 @@ struct BurnDriver BurnDrvAvenger2 = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED, 2, HARDWARE_MISC_PRE90S, GBF_SCRFIGHT, 0, NULL, avenger2RomInfo, avenger2RomName, NULL, NULL, DrvInputInfo, AvengersDIPInfo, - AvengersInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + AvengersInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 240, 256, 3, 4 }; @@ -2160,6 +2165,6 @@ struct BurnDriver BurnDrvBuraiken = { NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED, 2, HARDWARE_MISC_PRE90S, GBF_SCRFIGHT, 0, NULL, buraikenRomInfo, buraikenRomName, NULL, NULL, DrvInputInfo, AvengersDIPInfo, - AvengersInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, + AvengersInit, TrojanExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x400, 240, 256, 3, 4 }; diff --git a/src/burn/drivers/misc_pre90s/d_renegade.cpp b/src/burn/drivers/misc_pre90s/d_renegade.cpp index e99775cbb..f69df50a0 100644 --- a/src/burn/drivers/misc_pre90s/d_renegade.cpp +++ b/src/burn/drivers/misc_pre90s/d_renegade.cpp @@ -1059,7 +1059,7 @@ static INT32 DrvExit() { M6502Exit(); M6809Exit(); - m6805Exit(); + if (!nSimulateMCU && !DisableMCUEmulation) m6805Exit(); BurnYM3526Exit();