summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2016-06-14 18:13:58 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2016-06-14 18:13:58 +0200
commit4ceb1a97f3eda4413b0f94d2956e21818af65c78 (patch)
tree9b21f9e1808cc8069156d4d47397b5bc797815aa
parentdfe4681161eab4bff9c78e167dda897e3aa08465 (diff)
system16.cpp: reorganized the different sound configurations in "fragments" and added preliminary sound to 2-3 bootlegs. (nw)
-rw-r--r--src/mame/drivers/system16.cpp181
-rw-r--r--src/mame/includes/system16.h1
2 files changed, 101 insertions, 81 deletions
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index 264921fbf39..3291f592b37 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -53,7 +53,7 @@
Passing Shot (2 sets)
Wonderboy 3
- System 18 (more commplex tilemaps)
+ System 18 (more complex tilemaps)
----------------------------------
Alien Storm
@@ -100,12 +100,6 @@
#define SHADOW_COLORS_MULTIPLIER 3
-INTERRUPT_GEN_MEMBER(segas1x_bootleg_state::sys16_interrupt)
-{
- device.execute().set_input_line(4, HOLD_LINE); /* Interrupt vector 4, used by VBlank */
-}
-
-
/***************************************************************************/
WRITE16_MEMBER(segas1x_bootleg_state::sound_command_nmi_w)
@@ -551,7 +545,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::s16bl_fgscrollx_bank_w)
scroll += 0x200;
set_tile_bank(bank);
- scroll += 3; // so that the character portraits in attract mode are properly aligned (alighnment on character select no longer matches original tho?)
+ scroll += 3; // so that the character portraits in attract mode are properly aligned (alignment on character select no longer matches original tho?)
m_fg_scrollx = -scroll;
}
@@ -1963,35 +1957,11 @@ GFXDECODE_END
/*************************************
*
- * Machine driver
+ * Sound fragments
*
*************************************/
-/* System 16A/B Bootlegs */
-static MACHINE_CONFIG_START( system16_base, segas1x_bootleg_state )
-
- /* basic machine hardware */
- MCFG_CPU_ADD("maincpu", M68000, 10000000)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, sys16_interrupt)
-
- /* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(40*8, 36*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system16)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_GFXDECODE_ADD("gfxdecode", "palette", sys16)
- MCFG_PALETTE_ADD("palette", 2048*SHADOW_COLORS_MULTIPLIER)
-
- MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
-
- MCFG_GENERIC_LATCH_8_ADD("soundlatch")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_DERIVED( system16, system16_base )
+static MACHINE_CONFIG_FRAGMENT( z80_ym2151 )
MCFG_CPU_ADD("soundcpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(sound_map)
@@ -2011,23 +1981,26 @@ WRITE_LINE_MEMBER(segas1x_bootleg_state::sound_cause_nmi)
m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_DERIVED( system16_7759, system16 )
-
- /* basic machine hardware */
+static MACHINE_CONFIG_FRAGMENT( z80_ym2151_upd7759 )
- MCFG_CPU_MODIFY("soundcpu")
+ MCFG_CPU_ADD("soundcpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(sound_7759_map)
MCFG_CPU_IO_MAP(sound_7759_io_map)
/* sound hardware */
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+
+ MCFG_YM2151_ADD("ymsnd", 4000000)
+ MCFG_SOUND_ROUTE(0, "lspeaker", 0.32)
+ MCFG_SOUND_ROUTE(1, "rspeaker", 0.32)
+
MCFG_SOUND_ADD("7759", UPD7759, UPD7759_STANDARD_CLOCK)
MCFG_UPD7759_DRQ_CALLBACK(WRITELINE(segas1x_bootleg_state,sound_cause_nmi))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.48)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.48)
MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_FRAGMENT( system16_datsu_sound )
+static MACHINE_CONFIG_FRAGMENT( datsu_ym2151_msm5205 )
/* TODO:
- other games might use this sound configuration
- speaker is likely to be mono for the bootlegs, not stereo.
@@ -2039,8 +2012,6 @@ static MACHINE_CONFIG_FRAGMENT( system16_datsu_sound )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_GENERIC_LATCH_8_ADD("soundlatch")
-
MCFG_YM2151_ADD("ymsnd", 4000000)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.32)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.32)
@@ -2052,19 +2023,7 @@ static MACHINE_CONFIG_FRAGMENT( system16_datsu_sound )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( shinobi_datsu, system16_base )
-
- /* basic machine hardware */
- MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_PROGRAM_MAP(shinobib_map)
-
- MCFG_BOOTLEG_SYS16A_SPRITES_ADD("sprites")
- MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
-
- MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_shinobi )
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
-
+static MACHINE_CONFIG_FRAGMENT( datsu_2x_ym2203 )
MCFG_CPU_ADD("soundcpu", Z80, 4000000)
MCFG_CPU_PERIODIC_INT_DRIVER(segas1x_bootleg_state, nmi_line_pulse, 3000) // or from the YM2203?
MCFG_CPU_PROGRAM_MAP(shinobi_datsu_sound_map)
@@ -2087,11 +2046,56 @@ static MACHINE_CONFIG_DERIVED( shinobi_datsu, system16_base )
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
MCFG_SOUND_ROUTE(3, "mono", 0.80)
+MACHINE_CONFIG_END
+/*************************************
+ *
+ * Machine driver
+ *
+ *************************************/
+
+/* System 16A/B Bootlegs */
+static MACHINE_CONFIG_START( system16_base, segas1x_bootleg_state )
+
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", M68000, 10000000)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, irq4_line_hold)
+
+ /* video hardware */
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MCFG_SCREEN_SIZE(40*8, 36*8)
+ MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system16)
+ MCFG_SCREEN_PALETTE("palette")
+
+ MCFG_GFXDECODE_ADD("gfxdecode", "palette", sys16)
+ MCFG_PALETTE_ADD("palette", 2048*SHADOW_COLORS_MULTIPLIER)
+
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
+
+ MCFG_GENERIC_LATCH_8_ADD("soundlatch")
+MACHINE_CONFIG_END
+
+static MACHINE_CONFIG_DERIVED( shinobi_datsu, system16_base )
+
+ /* basic machine hardware */
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(shinobib_map)
+
+ MCFG_BOOTLEG_SYS16A_SPRITES_ADD("sprites")
+ MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
+
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_shinobi )
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
+
+ MCFG_FRAGMENT_ADD(datsu_2x_ym2203)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( passshtb, system16_7759 )
+static MACHINE_CONFIG_DERIVED( passshtb, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2104,10 +2108,12 @@ static MACHINE_CONFIG_DERIVED( passshtb, system16_7759 )
MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151_upd7759)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( passsht4b, system16_7759 )
+static MACHINE_CONFIG_DERIVED( passsht4b, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2121,9 +2127,11 @@ static MACHINE_CONFIG_DERIVED( passsht4b, system16_7759 )
MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg_passht4b)
+
+ MCFG_FRAGMENT_ADD(datsu_2x_ym2203)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( wb3bb, system16 )
+static MACHINE_CONFIG_DERIVED( wb3bb, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2137,6 +2145,8 @@ static MACHINE_CONFIG_DERIVED( wb3bb, system16 )
MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_wb3bl )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151)
MACHINE_CONFIG_END
@@ -2146,7 +2156,7 @@ static MACHINE_CONFIG_START( goldnaxeb1, segas1x_bootleg_state )
MCFG_CPU_ADD("maincpu", M68000, 10000000)
MCFG_CPU_PROGRAM_MAP(goldnaxeb1_map)
MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, sys16_interrupt)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, irq4_line_hold)
/* video hardware */
@@ -2192,35 +2202,28 @@ static MACHINE_CONFIG_DERIVED( bayrouteb2, goldnaxeb1 )
MCFG_CPU_PROGRAM_MAP(bayrouteb2_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_DECRYPTED_OPCODES)
- MCFG_FRAGMENT_ADD(system16_datsu_sound)
+ MCFG_GENERIC_LATCH_8_ADD("soundlatch")
+
+ MCFG_FRAGMENT_ADD(datsu_ym2151_msm5205)
MCFG_DEVICE_MODIFY("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( tturfbl, system16_7759 )
+static MACHINE_CONFIG_DERIVED( tturfbl, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tturfbl_map)
- MCFG_CPU_MODIFY("soundcpu")
- MCFG_CPU_PROGRAM_MAP(tturfbl_sound_map)
- MCFG_CPU_IO_MAP(tturfbl_sound_io_map)
-
- MCFG_DEVICE_REMOVE("7759")
- MCFG_SOUND_ADD("5205", MSM5205, 220000)
- MCFG_MSM5205_VCLK_CB(WRITELINE(segas1x_bootleg_state, tturfbl_msm5205_callback))
- MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S48_4B)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
+ MCFG_FRAGMENT_ADD(datsu_ym2151_msm5205)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( dduxbl, system16 )
+static MACHINE_CONFIG_DERIVED( dduxbl, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2228,9 +2231,11 @@ static MACHINE_CONFIG_DERIVED( dduxbl, system16 )
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( eswatbl, system16_7759 )
+static MACHINE_CONFIG_DERIVED( eswatbl, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2238,11 +2243,13 @@ static MACHINE_CONFIG_DERIVED( eswatbl, system16_7759 )
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-124)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151_upd7759)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( tetrisbl, system16 )
+static MACHINE_CONFIG_DERIVED( tetrisbl, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2250,10 +2257,22 @@ static MACHINE_CONFIG_DERIVED( tetrisbl, system16 )
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151)
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( altbeastbl, system16_base )
+ /* basic machine hardware */
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(tetrisbl_map)
+
+ MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
+ MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
+
+ MCFG_FRAGMENT_ADD(datsu_2x_ym2203)
+MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( beautyb, system16 )
+static MACHINE_CONFIG_DERIVED( beautyb, system16_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2261,6 +2280,8 @@ static MACHINE_CONFIG_DERIVED( beautyb, system16 )
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
+
+ MCFG_FRAGMENT_ADD(z80_ym2151)
MACHINE_CONFIG_END
@@ -3254,7 +3275,7 @@ ROM_END
Michael Jackson's Mooonwalker bootleg - Complete Dump
-This romset comes from a bootleg pcb.This is the complement of which lacks in the existing set (mwalkbl)
+This romset comes from a bootleg pcb. This is the complement of which lacks in the existing set (mwalkbl)
Hardware info:
Main cpu 68000P10
Sound cpu Z80A
@@ -3265,7 +3286,7 @@ mwb5snd - sound program
mwb10snd to mwb15snd - adpcm samples
mwb16obj to mwb31obj - sprites/objects
Rest of eproms (main program and tiles/bg) are identical of existing set and original set respectively.
-Note - sound section was been heavily modified: sound program to use only samples and some musics are cut (not present).Sprite eproms are splitted from original set.
+Note - sound section was been heavily modified: sound program to use only samples and some musics are cut (not present). Sprite eproms are split from original set.
Eproms are 27512, 27010
*/
@@ -3779,7 +3800,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,astormbl)
GAME( 1987, shinobld, shinobi, shinobi_datsu, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg, set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1987, shinoblda, shinobi, shinobi_datsu, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg, set 2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1988, passshtb, passsht, passshtb, passsht, segas1x_bootleg_state, passsht, ROT270, "bootleg", "Passing Shot (2 Players) (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1988, passht4b, passsht, passsht4b, passht4b, segas1x_bootleg_state, shinobl, ROT270, "bootleg", "Passing Shot (4 Players) (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND )
+GAME( 1988, passht4b, passsht, passsht4b, passht4b, segas1x_bootleg_state, shinobl, ROT270, "bootleg", "Passing Shot (4 Players) (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1988, wb3bbl, wb3, wb3bb, wb3b, segas1x_bootleg_state, wb3bbl, ROT0, "bootleg", "Wonder Boy III - Monster Lair (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS)
GAME( 1988, wb3bble, wb3, wb3bb, wb3b, segas1x_bootleg_state, wb3bbl, ROT0, "bootleg", "Wonder Boy III - Monster Lair (encrypted bootleg)", MACHINE_NOT_WORKING )
@@ -3790,8 +3811,8 @@ GAME( 1989, goldnaxeb1, goldnaxe, goldnaxeb1, goldnaxe, segas1x_bootleg_state
GAME( 1989, goldnaxeb2, goldnaxe, goldnaxeb2, goldnaxe, segas1x_bootleg_state, goldnaxeb2, ROT0, "bootleg", "Golden Axe (bootleg)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 1989, tturfbl, tturf, tturfbl, tturf, segas1x_bootleg_state, tturfbl, ROT0, "bootleg (Datsu)", "Tough Turf (Datsu bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1989, dduxbl, ddux, dduxbl, ddux, segas1x_bootleg_state, dduxbl, ROT0, "bootleg (Datsu)", "Dynamite Dux (Datsu bootleg)", MACHINE_NOT_WORKING )
-GAME( 1988, altbeastbl, altbeast, tetrisbl, tetris, segas1x_bootleg_state, altbeastbl, ROT0, "bootleg (Datsu)", "Altered Beast (Datsu bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND )
-GAME( 1988, mutantwarr, altbeast, tetrisbl, tetris, segas1x_bootleg_state, altbeastbl, ROT0, "bootleg (Datsu)", "Mutant Warrior (Altered Beast - Datsu bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND )
+GAME( 1988, altbeastbl, altbeast, altbeastbl, tetris, segas1x_bootleg_state, altbeastbl, ROT0, "bootleg (Datsu)", "Altered Beast (Datsu bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1988, mutantwarr, altbeast, altbeastbl, tetris, segas1x_bootleg_state, altbeastbl, ROT0, "bootleg (Datsu)", "Mutant Warrior (Altered Beast - Datsu bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1989, eswatbl, eswat, eswatbl, eswat, segas1x_bootleg_state, eswatbl, ROT0, "bootleg", "E-Swat - Cyber Police (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1988, tetrisbl, tetris, tetrisbl, tetris, segas1x_bootleg_state, dduxbl, ROT0, "bootleg", "Tetris (bootleg)", 0 )
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index cf4bde12f5f..db4ccb86b57 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -212,7 +212,6 @@ public:
UINT32 screen_update_system18old(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_s16a_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_s16a_bootleg_passht4b(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(sys16_interrupt);
void setup_system16_bootleg_spritebanking( );
void update_page( );
void set_tile_bank( int data );