summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2016-07-20 23:13:03 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2016-07-20 23:13:03 +0200
commit005ed11061ec3a4ba63c72d4af0787fd8f090ad5 (patch)
treee589c774f0d2612b9622b71fe3c49fde16487154 /src
parente78ee1be2e0cfc410d88c75aa85d255529f7eb16 (diff)
expro02.cpp: oki map instead of memcpy, standard palette, removed a pair of unused variables, enabled save state support (nw)
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/expro02.cpp290
1 files changed, 125 insertions, 165 deletions
diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp
index 362dccd324d..b1bbf6448fc 100644
--- a/src/mame/drivers/expro02.cpp
+++ b/src/mame/drivers/expro02.cpp
@@ -159,7 +159,7 @@ U78 (22CV10)
------------- Comad games ------------------
The Comad games are clearly derived from this version of the game, not
-the one in galspanic.c. Fantasia even still has the encrypted tile
+the one in galspanic.cpp. Fantasia even still has the encrypted tile
roms and makes use of the extra layer. The other games write to the
RAM for this layer, but don't have any roms.
@@ -218,40 +218,38 @@ class expro02_state : public driver_device
public:
expro02_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_expro02_fg_ind8_pixram(*this, "fg_ind8ram"),
- m_expro02_bg_rgb555_pixram(*this, "bg_rgb555ram"),
- m_view2_0(*this, "view2_0"),
- m_kaneko_spr(*this, "kan_spr"),
- m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu"),
m_palette(*this, "palette"),
- m_generic_paletteram_16(*this, "paletteram"),
- m_screen(*this, "screen")
+ m_screen(*this, "screen"),
+ m_paletteram(*this, "palette"),
+ m_fg_ind8_pixram(*this, "fg_ind8ram"),
+ m_bg_rgb555_pixram(*this, "bg_rgb555ram"),
+ m_view2_0(*this, "view2_0"),
+ m_kaneko_spr(*this, "kan_spr"),
+ m_spriteram(*this, "spriteram")
{ }
+
+ required_device<cpu_device> m_maincpu;
+ required_device<palette_device> m_palette;
+ required_device<screen_device> m_screen;
- optional_shared_ptr<UINT16> m_expro02_fg_ind8_pixram;
- optional_shared_ptr<UINT16> m_expro02_bg_rgb555_pixram;
+ required_shared_ptr<UINT16> m_paletteram;
+ required_shared_ptr<UINT16> m_fg_ind8_pixram;
+ required_shared_ptr<UINT16> m_bg_rgb555_pixram;
optional_device<kaneko_view2_tilemap_device> m_view2_0;
- optional_device<kaneko16_sprite_device> m_kaneko_spr;
- optional_shared_ptr<UINT16> m_spriteram;
+ required_device<kaneko16_sprite_device> m_kaneko_spr;
+ required_shared_ptr<UINT16> m_spriteram;
- UINT16 m_vram_0_bank_num;
- UINT16 m_vram_1_bank_num;
DECLARE_WRITE16_MEMBER(expro02_6295_bankswitch_w);
- DECLARE_WRITE16_MEMBER(expro02_paletteram_w);
+
DECLARE_DRIVER_INIT(expro02);
- virtual void machine_reset() override;
- virtual void video_start() override;
+ virtual void machine_start() override;
DECLARE_PALETTE_INIT(expro02);
+
UINT32 screen_update_backgrounds(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- UINT32 screen_update_expro02(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_zipzap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(expro02_scanline);
-
- required_device<cpu_device> m_maincpu;
- required_device<palette_device> m_palette;
- required_shared_ptr<UINT16> m_generic_paletteram_16;
- required_device<screen_device> m_screen;
+ TIMER_DEVICE_CALLBACK_MEMBER(scanline);
// comad
READ16_MEMBER(comad_timer_r);
@@ -260,6 +258,11 @@ public:
};
+void expro02_state::machine_start()
+{
+ membank("okibank")->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
+}
+
PALETTE_INIT_MEMBER(expro02_state, expro02)
{
int i;
@@ -285,11 +288,11 @@ UINT32 expro02_state::screen_update_backgrounds(screen_device &screen, bitmap_in
for (x=0;x<256;x++)
{
- UINT16 dat = (m_expro02_bg_rgb555_pixram[count] & 0xfffe)>>1;
+ UINT16 dat = (m_bg_rgb555_pixram[count] & 0xfffe)>>1;
dat+=2048;
// never seen to test
- //if (!(m_expro02_bg_rgb555_pixram[count] & 0x0001))
+ //if (!(m_bg_rgb555_pixram[count] & 0x0001))
{
dest[x] = dat;
}
@@ -311,9 +314,9 @@ UINT32 expro02_state::screen_update_backgrounds(screen_device &screen, bitmap_in
for (x=0;x<256;x++)
{
- UINT16 dat = (m_expro02_fg_ind8_pixram[count]);
+ UINT16 dat = (m_fg_ind8_pixram[count]);
dat &=0x7ff;
- if (!(m_generic_paletteram_16[(dat&0x7ff)] & 0x0001))
+ if (!(m_paletteram[(dat&0x7ff)] & 0x0001))
dest[x] = dat;
count++;
@@ -338,7 +341,7 @@ UINT32 expro02_state::screen_update_backgrounds(screen_device &screen, bitmap_in
return 0;
}
-UINT32 expro02_state::screen_update_expro02(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+UINT32 expro02_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen_update_backgrounds(screen, bitmap, cliprect);
m_kaneko_spr->kaneko16_render_sprites(bitmap,cliprect, screen.priority(), m_spriteram, m_spriteram.bytes());
@@ -353,11 +356,6 @@ UINT32 expro02_state::screen_update_zipzap(screen_device &screen, bitmap_ind16 &
}
-void expro02_state::video_start()
-{
-}
-
-
/*************************************
*
* Game-specific port definitions
@@ -629,25 +627,10 @@ WRITE16_MEMBER(expro02_state::expro02_6295_bankswitch_w)
{
if (ACCESSING_BITS_8_15)
{
- UINT8 *rom = memregion("oki")->base();
- memcpy(&rom[0x30000],&rom[0x40000 + ((data >> 8) & 0x0f) * 0x10000],0x10000);
+ membank("okibank")->set_entry((data >> 8) & 0x0f);
}
}
-/*************************************
- *
- * Video handlers
- *
- *************************************/
-
-WRITE16_MEMBER(expro02_state::expro02_paletteram_w)
-{
- data = COMBINE_DATA(&m_generic_paletteram_16[offset]);
- m_palette->set_pen_color(offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
-}
-
-
-
/*************************************
*
@@ -660,7 +643,7 @@ static ADDRESS_MAP_START( expro02_video_base_map, AS_PROGRAM, 16, expro02_state
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(expro02_paletteram_w) AM_SHARE("paletteram") // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette?
AM_RANGE(0x680000, 0x68001f) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_regs_r, kaneko_tmap_regs_w)
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
@@ -672,7 +655,7 @@ static ADDRESS_MAP_START( expro02_video_base_map_noview2, AS_PROGRAM, 16, expro0
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_NOP // games still makes leftover accesses
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(expro02_paletteram_w) AM_SHARE("paletteram") // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette?
AM_RANGE(0x680000, 0x68001f) AM_NOP // games still makes leftover accesses
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
@@ -814,6 +797,10 @@ static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
ADDRESS_MAP_END
+static ADDRESS_MAP_START( oki_map, AS_0, 8, expro02_state )
+ AM_RANGE(0x00000, 0x2ffff) AM_ROM
+ AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
+ADDRESS_MAP_END
/*************************************
*
@@ -821,7 +808,7 @@ ADDRESS_MAP_END
*
*************************************/
-TIMER_DEVICE_CALLBACK_MEMBER(expro02_state::expro02_scanline)
+TIMER_DEVICE_CALLBACK_MEMBER(expro02_state::scanline)
{
int scanline = param;
@@ -833,10 +820,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(expro02_state::expro02_scanline)
m_maincpu->set_input_line(4, HOLD_LINE);
}
-void expro02_state::machine_reset()
-{
-}
-
/*************************************
*
* Comad specific (kludges?)
@@ -861,9 +844,7 @@ WRITE16_MEMBER(expro02_state::galpanica_6295_bankswitch_w)
{
if (ACCESSING_BITS_8_15)
{
- UINT8 *rom = memregion("oki")->base();
-
- memcpy(&rom[0x30000],&rom[0x40000 + ((data >> 8) & 0x0f) * 0x10000],0x10000);
+ membank("okibank")->set_entry((data >> 8) & 0x0f);
}
}
@@ -908,7 +889,7 @@ static MACHINE_CONFIG_START( expro02, expro02_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(expro02_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", expro02_state, expro02_scanline, "screen", 0, 1)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", expro02_state, scanline, "screen", 0, 1)
/* CALC01 MCU @ 16Mhz (unknown type, simulated) */
@@ -918,11 +899,12 @@ static MACHINE_CONFIG_START( expro02, expro02_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-32-1)
- MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_expro02)
+ MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", expro02)
MCFG_PALETTE_ADD("palette", 2048 + 32768)
+ MCFG_PALETTE_FORMAT(GGGGGRRRRRBBBBBx)
MCFG_PALETTE_INIT_OWNER(expro02_state, expro02)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
@@ -948,6 +930,7 @@ static MACHINE_CONFIG_START( expro02, expro02_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 12000000/6, OKIM6295_PIN7_LOW)
+ MCFG_DEVICE_ADDRESS_MAP(AS_0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
@@ -986,6 +969,7 @@ static MACHINE_CONFIG_DERIVED( supmodel, comad_noview2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(supmodel_map)
MCFG_OKIM6295_REPLACE("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
+ MCFG_DEVICE_ADDRESS_MAP(AS_0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
@@ -1003,6 +987,7 @@ static MACHINE_CONFIG_DERIVED( galhustl, comad_noview2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(galhustl_map)
MCFG_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
+ MCFG_DEVICE_ADDRESS_MAP(AS_0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SCREEN_MODIFY("screen")
@@ -1014,6 +999,7 @@ static MACHINE_CONFIG_DERIVED( zipzap, comad_noview2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(zipzap_map)
MCFG_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
+ MCFG_DEVICE_ADDRESS_MAP(AS_0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SCREEN_MODIFY("screen") // doesn't work with original kaneko_spr implementation
@@ -1058,11 +1044,10 @@ ROM_START( galsnew ) /* EXPRO-02 PCB */
ROM_LOAD( "pm016e.u92", 0x180000, 0x080000, CRC(c0b9494c) SHA1(f0b066dd78eb9fcf947da90ddb6c7b62299c5743) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "pm008e.u46", 0x00000, 0x80000, CRC(d9379ba8) SHA1(5ae7c743319b1a12f2b101a9f0f8fe0728ed1476) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "pm007e.u47", 0xc0000, 0x80000, CRC(c7ed7950) SHA1(133258b058d3c562208d0d00b9fac71202647c32) )
+ ROM_LOAD( "pm007e.u47", 0x80000, 0x80000, CRC(c7ed7950) SHA1(133258b058d3c562208d0d00b9fac71202647c32) )
ROM_END
ROM_START( galsnewa ) /* EXPRO-02 PCB */
@@ -1097,11 +1082,10 @@ ROM_START( galsnewa ) /* EXPRO-02 PCB */
ROM_LOAD( "pm015e.u91", 0x100000, 0x080000, CRC(a563f8ef) SHA1(6e4171746e4d401992bf3a7619d5bed0063d57e5) )
ROM_LOAD( "pm016e.u92", 0x180000, 0x080000, CRC(c0b9494c) SHA1(f0b066dd78eb9fcf947da90ddb6c7b62299c5743) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "pm008e.u46", 0x00000, 0x80000, CRC(d9379ba8) SHA1(5ae7c743319b1a12f2b101a9f0f8fe0728ed1476) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "pm007e.u47", 0xc0000, 0x80000, CRC(c7ed7950) SHA1(133258b058d3c562208d0d00b9fac71202647c32) )
+ ROM_LOAD( "pm007e.u47", 0x80000, 0x80000, CRC(c7ed7950) SHA1(133258b058d3c562208d0d00b9fac71202647c32) )
ROM_END
ROM_START( galsnewj ) /* EXPRO-02 PCB */
@@ -1136,11 +1120,10 @@ ROM_START( galsnewj ) /* EXPRO-02 PCB */
ROM_LOAD( "pm015e.u91", 0x100000, 0x080000, CRC(a563f8ef) SHA1(6e4171746e4d401992bf3a7619d5bed0063d57e5) )
ROM_LOAD( "pm016e.u92", 0x180000, 0x080000, CRC(c0b9494c) SHA1(f0b066dd78eb9fcf947da90ddb6c7b62299c5743) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "pm008j.u46", 0x00000, 0x80000, CRC(f394670e) SHA1(171f8dc519a13f352e6440aaadebe490c82361f0) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "pm007j.u47", 0xc0000, 0x80000, CRC(06780287) SHA1(8b9b57f6604b86d6dff42e5e51cd59a7111e1e79) )
+ ROM_LOAD( "pm007j.u47", 0x80000, 0x80000, CRC(06780287) SHA1(8b9b57f6604b86d6dff42e5e51cd59a7111e1e79) )
ROM_END
ROM_START( galsnewk ) /* EXPRO-02 PCB, Korean title is "Ddang Dda Meok Gi" */
@@ -1175,11 +1158,10 @@ ROM_START( galsnewk ) /* EXPRO-02 PCB, Korean title is "Ddang Dda Meok Gi" */
ROM_LOAD( "pm016e.u92", 0x180000, 0x080000, CRC(c0b9494c) SHA1(f0b066dd78eb9fcf947da90ddb6c7b62299c5743) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "pm008k.u46", 0x00000, 0x80000, CRC(7498483f) SHA1(d1f7461c8d1469704cc34460d7283f0a914afc29) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "pm007k.u47", 0xc0000, 0x80000, CRC(a8dc1fd5) SHA1(c324f7eab7302e4a71d505c915ab2ad591b8ff33) )
+ ROM_LOAD( "pm007k.u47", 0x80000, 0x80000, CRC(a8dc1fd5) SHA1(c324f7eab7302e4a71d505c915ab2ad591b8ff33) )
ROM_END
@@ -1263,11 +1245,10 @@ ROM_START( fantasia ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD940429 MADE IN K
ROM_LOAD( "17.scr3", 0x00000, 0x80000, CRC(aadb6eb7) SHA1(6eaa994ad7b4e8341360eaf5ddb46240316b7274) )
/* SCR1 and SCR2 are unpopulated */
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "2.music1", 0x00000, 0x80000, CRC(22955efb) SHA1(791c18d1aa0c10810da05c199108f51f99fe1d49) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "1.music2", 0xc0000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
+ ROM_LOAD( "1.music2", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */
@@ -1296,11 +1277,10 @@ ROM_START( fantasiaa ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD 940307 MADE IN
ROM_LOAD( "obj1_17.u5", 0x00000, 0x80000, CRC(aadb6eb7) SHA1(6eaa994ad7b4e8341360eaf5ddb46240316b7274) ) /* same data, different PCB location */
/* U4 OBJ2 18 and U3 OBJ3 19 are unpopulated */
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music1_1.ub6", 0x00000, 0x80000, CRC(af0be817) SHA1(5c8897dcd9957add19ff9553c01ce03fec68b354) ) /* This sound sample is different, Earlier ver or BAD??? */
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music2_2.uc6", 0xc0000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) ) /* same data, different PCB location */
+ ROM_LOAD( "music2_2.uc6", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) ) /* same data, different PCB location */
ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */
@@ -1328,11 +1308,10 @@ ROM_START( fantasiab )
ROM_LOAD( "17.scr3", 0x00000, 0x80000, CRC(aadb6eb7) SHA1(6eaa994ad7b4e8341360eaf5ddb46240316b7274) )
/* SCR1 and SCR2 are unpopulated */
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "2.music1", 0x00000, 0x80000, CRC(22955efb) SHA1(791c18d1aa0c10810da05c199108f51f99fe1d49) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "1.music2", 0xc0000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
+ ROM_LOAD( "1.music2", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */
@@ -1390,11 +1369,10 @@ ROM_START( fantsy95 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "obj1.13", 0x00000, 0x80000, CRC(832cd451) SHA1(29dfab1d4b7a15f3fe9fbedef41d405a40235a77) ) // sldh
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music1.1", 0x00000, 0x80000, CRC(3117e2ef) SHA1(6581a7104556d44f814c537bbd74998922927034) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music2.2", 0xc0000, 0x80000, CRC(0c1109f9) SHA1(0e4ea534a32b1649e2e9bb8af7254b917ec03a90) )
+ ROM_LOAD( "music2.2", 0x80000, 0x80000, CRC(0c1109f9) SHA1(0e4ea534a32b1649e2e9bb8af7254b917ec03a90) )
ROM_END
ROM_START( fantasian ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD 940803 MADE IN KOREA */
@@ -1413,11 +1391,10 @@ ROM_START( fantasian ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD 940803 MADE IN
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "obj1_13.u5", 0x00000, 0x80000, CRC(f99751f5) SHA1(10f0a2e369abc36a6df2f0c9879ffb7071ee214b) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music1_1.ub6", 0x00000, 0x80000, CRC(22955efb) SHA1(791c18d1aa0c10810da05c199108f51f99fe1d49) ) /* sample roms same as expro02.c sets, but different positions */
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music2_2.uc6", 0xc0000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
+ ROM_LOAD( "music2_2.uc6", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) )
ROM_END
ROM_START( newfant )
@@ -1436,11 +1413,10 @@ ROM_START( newfant )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "nf95obj1.13", 0x00000, 0x80000, CRC(e6d1bc71) SHA1(df0b6c1742c01991196659bab2691230323e7b8d) ) // sldh
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "musc1.01", 0x00000, 0x80000, CRC(10347fce) SHA1(f5fbe8ef363fe18b7104be5d2fa92943d1a5d7a2) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "musc2.02", 0xc0000, 0x80000, CRC(b9646a8c) SHA1(e9432261ac86e4251a2c97301c6d014c05110a9c) )
+ ROM_LOAD( "musc2.02", 0x80000, 0x80000, CRC(b9646a8c) SHA1(e9432261ac86e4251a2c97301c6d014c05110a9c) )
ROM_END
ROM_START( newfanta )
@@ -1459,11 +1435,10 @@ ROM_START( newfanta )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "obj1.13", 0x00000, 0x80000, CRC(832cd451) SHA1(29dfab1d4b7a15f3fe9fbedef41d405a40235a77) ) // sldh
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "musc1.01", 0x00000, 0x80000, CRC(10347fce) SHA1(f5fbe8ef363fe18b7104be5d2fa92943d1a5d7a2) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "musc2.02", 0xc0000, 0x80000, CRC(b9646a8c) SHA1(e9432261ac86e4251a2c97301c6d014c05110a9c) )
+ ROM_LOAD( "musc2.02", 0x80000, 0x80000, CRC(b9646a8c) SHA1(e9432261ac86e4251a2c97301c6d014c05110a9c) )
ROM_END
ROM_START( missw96 )
@@ -1480,11 +1455,10 @@ ROM_START( missw96 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "mw96_11.bin", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "mw96_01.bin", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
+ ROM_LOAD( "mw96_02.bin", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
ROM_START( missw96a )
@@ -1501,11 +1475,10 @@ ROM_START( missw96a )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "mw96_11.bin", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "mw96_01.bin", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
+ ROM_LOAD( "mw96_02.bin", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
ROM_START( missw96b )
@@ -1522,11 +1495,10 @@ ROM_START( missw96b )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "mw96_11.bin", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "mw96_01.bin", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
+ ROM_LOAD( "mw96_02.bin", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
ROM_START( missw96c )
@@ -1543,11 +1515,10 @@ ROM_START( missw96c )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "20_OBJ1.U5", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "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_LOAD( "2_MUSIC2.UC6", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
@@ -1565,11 +1536,10 @@ ROM_START( missmw96 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "mmw96_11.bin", 0x00000, 0x80000, CRC(7d491f8c) SHA1(63f580bd65579cac70b90eaa0e7f2413ef1597b8) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "mw96_01.bin", 0x00000, 0x80000, CRC(e78a659e) SHA1(d209184c70e0d7e6d17034c6f536535cda782d42) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "mw96_02.bin", 0xc0000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
+ ROM_LOAD( "mw96_02.bin", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
ROM_START( smissw )
@@ -1586,11 +1556,10 @@ ROM_START( smissw )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "15_OBJ11.U5", 0x00000, 0x80000, CRC(3983152f) SHA1(6308e936ba54e88b34253f1d4fbd44725e9d88ae) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "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_LOAD( "2_MUSIC2.UC6", 0x80000, 0x80000, CRC(60fa0c00) SHA1(391aa31e61663cc083a8a2320ba48a9859f3fd4e) )
ROM_END
@@ -1611,11 +1580,10 @@ ROM_START( fantsia2 )
ROM_LOAD( "obj1.1i", 0x00000, 0x80000, CRC(52e6872a) SHA1(7e5274b9a415ee0e536cd3b87f73d3eae9644669) )
ROM_LOAD( "obj2.2i", 0x80000, 0x80000, CRC(ea6e3861) SHA1(463b40f5441231a0451571a0b8afe1ed0fd4b164) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music2.1b", 0x00000, 0x80000, CRC(23cc4f9c) SHA1(06b5342c25de966ce590917c571e5b19af1fef7d) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music1.1a", 0xc0000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
+ ROM_LOAD( "music1.1a", 0x80000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
ROM_END
ROM_START( fantsia2a )
@@ -1635,11 +1603,10 @@ ROM_START( fantsia2a )
ROM_LOAD( "obj1.1i", 0x00000, 0x80000, CRC(52e6872a) SHA1(7e5274b9a415ee0e536cd3b87f73d3eae9644669) )
ROM_LOAD( "obj2.2i", 0x80000, 0x80000, CRC(ea6e3861) SHA1(463b40f5441231a0451571a0b8afe1ed0fd4b164) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music2.1b", 0x00000, 0x80000, CRC(23cc4f9c) SHA1(06b5342c25de966ce590917c571e5b19af1fef7d) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music1.1a", 0xc0000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
+ ROM_LOAD( "music1.1a", 0x80000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
ROM_END
/* sole change seems to be copyright date, PCB has chip references instead of grid references. Not correcting all labels in other sets in case these are legitimate labels */
@@ -1660,11 +1627,10 @@ ROM_START( fantsia2n )
ROM_LOAD( "23_OBJ1.U5", 0x00000, 0x80000, CRC(b45c9234) SHA1(b5eeec91b9c6952b338130458405997e1a51bf2f) )
ROM_LOAD( "obj2.2i", 0x80000, 0x80000, CRC(ea6e3861) SHA1(463b40f5441231a0451571a0b8afe1ed0fd4b164) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music2.1b", 0x00000, 0x80000, CRC(23cc4f9c) SHA1(06b5342c25de966ce590917c571e5b19af1fef7d) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music1.1a", 0xc0000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
+ ROM_LOAD( "music1.1a", 0x80000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
ROM_END
ROM_START( wownfant)
@@ -1678,11 +1644,10 @@ ROM_START( wownfant)
ROM_LOAD( "ep-4001 42750001 u113.bin", 0x00000, 0x80000, CRC(3e77ca1f) SHA1(f946e65a29bc02b89c02b2a869578d38cfe7e2d0) )
ROM_LOAD( "ep-4001 42750001 u112.bin", 0x80000, 0x80000, CRC(51f4b604) SHA1(52e8ce0a2c1b9b00f04e0c775789bc550bad8ae0) )
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "ep-4001 42750001 u4.bin", 0x00000, 0x80000, CRC(06dc889e) SHA1(726561ff01bbde43669293a6ff7ee22b048b4118) ) // almost the same as fantasia2, just some changes to the sample references in the header
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "ep-4001 42750001 u1.bin", 0xc0000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
+ ROM_LOAD( "ep-4001 42750001 u1.bin", 0x80000, 0x80000, CRC(864167c2) SHA1(c454b26b6dea993e6bd64546f92beef05e46d7d7) )
ROM_END
ROM_START( galhustl ) // An original PCB has been seen with genuine AFEGA labels
@@ -1692,11 +1657,10 @@ ROM_START( galhustl ) // An original PCB has been seen with genuine AFEGA labels
ROM_REGION16_BE( 0x100000, "maincpudata", ROMREGION_ERASEFF ) /* 68000 Data */
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "galhstl1.ub6", 0x00000, 0x80000, CRC(23848790) SHA1(2e77fbe04f46e258daecb4c5917e383c7c06a306) ) // Also found as AFEGA 1
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "galhstl2.uc6", 0xc0000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) ) // Also found as AFEGA 2
+ ROM_LOAD( "galhstl2.uc6", 0x80000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) ) // Also found as AFEGA 2
ROM_REGION( 0x100000, "gfx1", 0 )
ROM_LOAD( "galhstl5.u5", 0x00000, 0x80000, CRC(44a18f15) SHA1(1217cf7fbbb442358b15016099efeface5dcbd22) ) // Also found as AFEGA 5
@@ -1714,8 +1678,7 @@ ROM_START( pgalvip ) // this set has extra data roms for the gfx
ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "afega_12.ub6", 0x00000, 0x20000, CRC(d32a6c0c) SHA1(6f16043ed1e174b42de83462e2ea7a601bac6678) )
- ROM_RELOAD( 0x40000, 0x20000 )
- ROM_LOAD( "afega_11.uc6", 0xc0000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) )
+ ROM_LOAD( "afega_11.uc6", 0x80000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) )
ROM_REGION( 0x100000, "gfx1", 0 )
ROM_LOAD( "afega_17.u5", 0x00000, 0x80000, CRC(a8a50745) SHA1(e51963947c7a7556b8531d172b9d7bf9f321b21b) )
@@ -1728,11 +1691,10 @@ ROM_START( pgalvipa ) // this set is more like Gals Hustler
ROM_REGION16_BE( 0x100000, "maincpudata", ROMREGION_ERASEFF ) /* 68000 Data */
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "pgalvip_1.ub6", 0x00000, 0x20000, CRC(d32a6c0c) SHA1(6f16043ed1e174b42de83462e2ea7a601bac6678) )
- ROM_RELOAD( 0x40000, 0x20000 )
- ROM_LOAD( "pgalvip_2.uc6", 0xc0000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) )
+ ROM_LOAD( "pgalvip_2.uc6", 0x80000, 0x80000, CRC(2168e54a) SHA1(87534334b16d3ddc3daefcb1b8086aff44157ccf) )
ROM_REGION( 0x100000, "gfx1", 0 )
ROM_LOAD( "pgalvip_5.u5", 0x00000, 0x80000, CRC(2d6e5a90) SHA1(b5487e5764d83dfecd982a8614d213c9075fbee4) )
@@ -1755,11 +1717,10 @@ ROM_START( supmodel )
ROM_REGION( 0x80000, "gfx1", 0 ) /* sprites */
ROM_LOAD( "obj1.13", 0x00000, 0x80000, CRC(832cd451) SHA1(29dfab1d4b7a15f3fe9fbedef41d405a40235a77) ) // sldh
- ROM_REGION( 0x140000, "oki", 0 ) /* OKIM6295 samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* OKIM6295 samples */
/* 00000-2ffff is fixed, 30000-3ffff is bank switched from all the ROMs */
ROM_LOAD( "music1.1", 0x00000, 0x80000, CRC(2b1f6655) SHA1(e7b52cf4bd16590c598c375d5a97b724bc9ef631) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_LOAD( "music2.2", 0xc0000, 0x80000, CRC(cccae65a) SHA1(5e4e2e51884eaf191f103aa189ff33371fc91d6d) )
+ ROM_LOAD( "music2.2", 0x80000, 0x80000, CRC(cccae65a) SHA1(5e4e2e51884eaf191f103aa189ff33371fc91d6d) )
ROM_END
@@ -1800,10 +1761,9 @@ ROM_START( zipzap )
ROM_REGION( 0x100000, "gfx1", 0 ) // sprites
ROM_LOAD( "u5.bin", 0x000000, 0x80000, CRC(c274d8b5) SHA1(2c45961aaf8311f027a734df7e33fe085dfdd099) )
- ROM_REGION( 0x140000, "oki", 0 ) /* Samples */
+ ROM_REGION( 0x100000, "oki", 0 ) /* Samples */
ROM_LOAD( "snd.bin", 0x00000, 0x80000, CRC(bc20423e) SHA1(1f4bd52ec4f9b3b3e6b10ac2b3afaadf76a2c7c9) )
- ROM_RELOAD( 0x40000, 0x80000 )
- ROM_RELOAD( 0xc0000, 0x80000 )
+ ROM_RELOAD( 0x80000, 0x80000 )
ROM_END
@@ -1853,41 +1813,41 @@ DRIVER_INIT_MEMBER(expro02_state,expro02)
*
*************************************/
-GAME( 1990, galsnew, 0, expro02, expro02, expro02_state, expro02, ROT90, "Kaneko", "Gals Panic (US, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL )
-GAME( 1990, galsnewa, galsnew, expro02, galsnewa, expro02_state, expro02, ROT90, "Kaneko", "Gals Panic (Export, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL )
-GAME( 1990, galsnewj, galsnew, expro02, galsnewj, expro02_state, expro02, ROT90, "Kaneko (Taito license)", "Gals Panic (Japan, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL )
-GAME( 1990, galsnewk, galsnew, expro02, galsnewj, expro02_state, expro02, ROT90, "Kaneko (Inter license)", "Gals Panic (Korea, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL )
+GAME( 1990, galsnew, 0, expro02, expro02, expro02_state, expro02, ROT90, "Kaneko", "Gals Panic (US, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, galsnewa, galsnew, expro02, galsnewa, expro02_state, expro02, ROT90, "Kaneko", "Gals Panic (Export, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, galsnewj, galsnew, expro02, galsnewj, expro02_state, expro02, ROT90, "Kaneko (Taito license)", "Gals Panic (Japan, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, galsnewk, galsnew, expro02, galsnewj, expro02_state, expro02, ROT90, "Kaneko (Inter license)", "Gals Panic (Korea, EXPRO-02 PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
/* the first version of Fantasia clones the EXPRO02 almost exactly, including the encrypted tiles*/
-GAME( 1994, fantasia, 0, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940429 PCB, set 1)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, fantasiab, fantasia, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940429 PCB, set 2)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, fantasiaa, fantasia, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940307 PCB)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1994, fantasia, 0, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940429 PCB, set 1)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, fantasiab, fantasia, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940429 PCB, set 2)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, fantasiaa, fantasia, comad, fantasia, expro02_state, expro02, ROT90, "Comad & New Japan System", "Fantasia (940307 PCB)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
/* subsequent releases remove the encrypted tile (View2 layer) but leave the unused writes to it in the program code */
-GAME( 1994, fantasian,fantasia, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "Fantasia (940803 PCB)", MACHINE_NO_COCKTAIL )
+GAME( 1994, fantasian,fantasia, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "Fantasia (940803 PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, supmodel, 0, supmodel, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "Super Model",MACHINE_NO_COCKTAIL )
+GAME( 1994, supmodel, 0, supmodel, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "Super Model",MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1995, newfant, 0, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "New Fantasia (1995 copyright)", MACHINE_NO_COCKTAIL ) // the only difference between the two is the gfx rom containing the copyright
-GAME( 1994, newfanta, newfant, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "New Fantasia (1994 copyright)", MACHINE_NO_COCKTAIL )
-GAME( 1995, fantsy95, newfant, fantasia, fantasiaa, driver_device, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", MACHINE_NO_COCKTAIL )
+GAME( 1995, newfant, 0, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "New Fantasia (1995 copyright)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // the only difference between the two is the gfx rom containing the copyright
+GAME( 1994, newfanta, newfant, fantasia, fantasiaa, driver_device, 0, ROT90, "Comad & New Japan System", "New Fantasia (1994 copyright)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1995, fantsy95, newfant, fantasia, fantasiaa, driver_device, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
// the PCB label (A/B) could be related to the 3 different levels of nudity Comad offered
-GAME( 1996, missw96, 0, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 1)", MACHINE_NO_COCKTAIL )
-GAME( 1996, missw96a, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 2)", MACHINE_NO_COCKTAIL )
-GAME( 1996, missw96b, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 3)", MACHINE_NO_COCKTAIL )
-GAME( 1996, missw96c, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000B PCB)", MACHINE_NO_COCKTAIL )
+GAME( 1996, missw96, 0, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 1)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1996, missw96a, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 2)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1996, missw96b, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000A PCB, set 3)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1996, missw96c, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude) (C-3000B PCB)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1996, missmw96, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", MACHINE_NO_COCKTAIL )
+GAME( 1996, missmw96, missw96, fantasia, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1996, smissw, 0, smissw, missw96, driver_device, 0, ROT0, "Comad", "Super Miss World", MACHINE_NO_COCKTAIL ) // 951127 PCB
+GAME( 1996, smissw, 0, smissw, missw96, driver_device, 0, ROT0, "Comad", "Super Miss World", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // 951127 PCB
-GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", MACHINE_NO_COCKTAIL )
-GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", MACHINE_NO_COCKTAIL )
-GAME( 1998, fantsia2n,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (1998)", MACHINE_NO_COCKTAIL )
+GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
+GAME( 1998, fantsia2n,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (1998)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 2002, wownfant, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "WOW New Fantasia", MACHINE_NO_COCKTAIL )
+GAME( 2002, wownfant, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "WOW New Fantasia", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1996, pgalvip, 0, galhustl, galhustl, driver_device, 0, ROT0, "ACE International / Afega","Pocket Gals V.I.P (set 1)", MACHINE_IMPERFECT_GRAPHICS ) // roms were all AFEGA stickered, select screen seems wrong? maybe not a final version.
-GAME( 1997, pgalvipa, pgalvip, galhustl, galhustl, driver_device, 0, ROT0, "<unknown>", "Pocket Gals V.I.P (set 2)", 0 )
-GAME( 1997, galhustl, pgalvip, galhustl, galhustl, driver_device, 0, ROT0, "ACE International", "Gals Hustler", 0 ) // hack of the above?
+GAME( 1996, pgalvip, 0, galhustl, galhustl, driver_device, 0, ROT0, "ACE International / Afega","Pocket Gals V.I.P (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // roms were all AFEGA stickered, select screen seems wrong? maybe not a final version.
+GAME( 1997, pgalvipa, pgalvip, galhustl, galhustl, driver_device, 0, ROT0, "<unknown>", "Pocket Gals V.I.P (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, galhustl, pgalvip, galhustl, galhustl, driver_device, 0, ROT0, "ACE International", "Gals Hustler", MACHINE_SUPPORTS_SAVE ) // hack of the above?
-GAME( 1995, zipzap, 0, zipzap, zipzap, driver_device, 0, ROT90, "Barko Corp", "Zip & Zap", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND )
+GAME( 1995, zipzap, 0, zipzap, zipzap, driver_device, 0, ROT90, "Barko Corp", "Zip & Zap", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )