diff options
Diffstat (limited to 'src/mame/drivers/galpanic.c')
-rw-r--r-- | src/mame/drivers/galpanic.c | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c index 925f913b4ce..1744ea982ad 100644 --- a/src/mame/drivers/galpanic.c +++ b/src/mame/drivers/galpanic.c @@ -354,6 +354,29 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, galpanic_state ) AM_RANGE(0xf80000, 0xf80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */ ADDRESS_MAP_END +static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, galpanic_state ) + AM_RANGE(0x000000, 0x4fffff) AM_ROM + AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram") + AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram") + AM_RANGE(0x580000, 0x583fff) AM_RAM //_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times! + AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */ + AM_RANGE(0x680000, 0x68001f) AM_RAM + AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") + AM_RANGE(0x780000, 0x78001f) AM_RAM + AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1") + AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2") + AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM") + AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r) + AM_RANGE(0x80000e, 0x80000f) AM_READ(comad_timer_r) + AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */ + AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP + AM_RANGE(0xc00000, 0xc0ffff) AM_RAM + AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP + AM_RANGE(0xe00012, 0xe00013) AM_WRITENOP + AM_RANGE(0xe80000, 0xe80001) AM_WRITENOP + AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */ +ADDRESS_MAP_END + static INPUT_PORTS_START( galpanic ) PORT_START("DSW1") @@ -615,16 +638,23 @@ static MACHINE_CONFIG_DERIVED( supmodel, comad ) MCFG_CPU_PROGRAM_MAP(supmodel_map) //MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", galpanic_state, galpanic_scanline, "screen", 0, 1) - /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update_comad) - MCFG_SCREEN_VBLANK_NONE() - /* sound hardware */ MCFG_OKIM6295_REPLACE("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( smissw, comad ) // 951127 PCB, 12 & 16 clocks + + /* basic machine hardware */ + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_CLOCK(12000000) + MCFG_CPU_PROGRAM_MAP(smissw_map) + MCFG_TIMER_MODIFY("scantimer") + MCFG_TIMER_DRIVER_CALLBACK(galpanic_state, galhustl_scanline) + +MACHINE_CONFIG_END + + static MACHINE_CONFIG_DERIVED( fantsia2, comad ) @@ -933,6 +963,28 @@ ROM_START( missmw96 ) ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) ) ROM_END +ROM_START( smissw ) + ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */ + ROM_LOAD16_BYTE( "10_PROG2.UE17", 0x000000, 0x80000, CRC(e99e520f) SHA1(edd06a3b0f8d30a4020e6ea452abb0afd79d426a) ) + ROM_LOAD16_BYTE( "6_PROG1.UD17", 0x000001, 0x80000, CRC(22831657) SHA1(eeabcdef543048ccceabc4c3b4b288aec959a14f) ) + ROM_LOAD16_BYTE( "9_IM1-B.UE16B", 0x100000, 0x80000, CRC(fff1eee4) SHA1(1b88d45b5cc0b5a03296d4dc950e570fa4dc19c2) ) + ROM_LOAD16_BYTE( "5_IM1-A.UE16A", 0x100001, 0x80000, CRC(2134a72d) SHA1(f907ec8a1d6e5755a821e69564074ff05e426bb1) ) + ROM_LOAD16_BYTE( "8_IM2-B.UE15B", 0x200000, 0x80000, CRC(cf44b638) SHA1(0fe5bdb62492c31c3efffa6d85f5d6a3b4ddb2e0) ) + ROM_LOAD16_BYTE( "4_IM2-A.UE15A", 0x200001, 0x80000, CRC(d22b270f) SHA1(21bd2ced1b5fb3c08687addaa890ee621a56fff0) ) + ROM_LOAD16_BYTE( "7_IM3-B.UE14B", 0x300000, 0x80000, CRC(12a9441d) SHA1(d9cd51e0c3ffac5fc561e0927c419bce0157337e) ) + ROM_LOAD16_BYTE( "3_IM3-A.UE14A", 0x300001, 0x80000, CRC(8c656fc9) SHA1(c3fe5de7cd6cd520bbd205ec62ac0dda51f71eeb) ) + + ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */ + ROM_LOAD( "15_OBJ11.U5", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) ) + + ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */ + /* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */ + ROM_LOAD( "1_MUSIC1.UB6", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) ) + ROM_RELOAD( 0x40000, 0x80000 ) + ROM_LOAD( "2_MUSIC2.UC6", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) ) +ROM_END + + ROM_START( fantsia2 ) ROM_REGION( 0x500000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_BYTE( "prog2.g17", 0x000000, 0x80000, CRC(57c59972) SHA1(4b1da928b537cf340a67026d07bc3dfc078b0d0f) ) @@ -1134,6 +1186,8 @@ GAME( 1996, missw96a, missw96, comad, missw96, driver_device, 0, ROT0, "C GAME( 1996, missw96b, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (set 3)", GAME_NO_COCKTAIL ) GAME( 1996, missmw96, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL ) +GAME( 1996, smissw, 0, smissw, missw96, driver_device, 0, ROT0, "Comad", "Super Miss World", GAME_NO_COCKTAIL ) // 951127 PCB + GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL ) GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL ) |