From 72aacc18c6ec227ac798bd556e2ed9a48efc9cde Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Thu, 26 Feb 2015 07:56:36 -0500 Subject: [PATCH] Various 8-bit Tecmo drivers: use configured banks (nw) --- src/mame/drivers/tbowl.c | 40 +++++++++------------------- src/mame/drivers/tecmo.c | 17 +++++------- src/mame/drivers/wc90.c | 28 +++++++------------- src/mame/drivers/wc90b.c | 56 +++++++++++++-------------------------- src/mame/includes/tbowl.h | 5 +--- src/mame/includes/wc90.h | 2 +- src/mame/includes/wc90b.h | 2 +- 7 files changed, 50 insertions(+), 100 deletions(-) diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c index 2d461b34ee4..89ca2c7d1b5 100644 --- a/src/mame/drivers/tbowl.c +++ b/src/mame/drivers/tbowl.c @@ -33,40 +33,18 @@ note: check this, its borrowed from tecmo.c / wc90.c at the moment and could wel WRITE8_MEMBER(tbowl_state::tbowlb_bankswitch_w) { - int bankaddress; - UINT8 *RAM = memregion("maincpu")->base(); - - - bankaddress = 0x10000 + ((data & 0xf8) << 8); - membank("bank1")->set_base(&RAM[bankaddress]); + membank("mainbank")->set_entry(data >> 3); } WRITE8_MEMBER(tbowl_state::tbowlc_bankswitch_w) { - int bankaddress; - UINT8 *RAM = memregion("sub")->base(); - - - bankaddress = 0x10000 + ((data & 0xf8) << 8); - - - membank("bank2")->set_base(&RAM[bankaddress]); + membank("subbank")->set_entry(data >> 3); } /*** Shared Ram Handlers ***/ -READ8_MEMBER(tbowl_state::shared_r) -{ - return m_shared_ram[offset]; -} - -WRITE8_MEMBER(tbowl_state::shared_w) -{ - m_shared_ram[offset] = data; -} - WRITE8_MEMBER(tbowl_state::tbowl_sound_command_w) { soundlatch_byte_w(space, offset, data); @@ -92,8 +70,8 @@ static ADDRESS_MAP_START( 6206B_map, AS_PROGRAM, 8, tbowl_state ) AM_RANGE(0xc000, 0xdfff) AM_RAM_WRITE(tbowl_bgvideoram_w) AM_SHARE("bgvideoram") AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(tbowl_txvideoram_w) AM_SHARE("txvideoram") // AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown_write) * written during start-up, not again */ - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1") - AM_RANGE(0xf800, 0xfbff) AM_READWRITE(shared_r, shared_w) AM_SHARE("shared_ram") /* check */ + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("mainbank") + AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("shared_ram") /* check */ AM_RANGE(0xfc00, 0xfc00) AM_READ_PORT("P1") AM_WRITE(tbowlb_bankswitch_w) AM_RANGE(0xfc01, 0xfc01) AM_READ_PORT("P2") // AM_RANGE(0xfc01, 0xfc01) AM_WRITE(unknown_write) /* written during start-up, not again */ @@ -132,8 +110,8 @@ static ADDRESS_MAP_START( 6206C_map, AS_PROGRAM, 8, tbowl_state ) AM_RANGE(0xc000, 0xd7ff) AM_WRITEONLY AM_RANGE(0xd800, 0xdfff) AM_WRITEONLY AM_SHARE("spriteram") AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // 2x palettes, one for each monitor? - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2") - AM_RANGE(0xf800, 0xfbff) AM_READWRITE(shared_r, shared_w) + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank") + AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("shared_ram") AM_RANGE(0xfc00, 0xfc00) AM_WRITE(tbowlc_bankswitch_w) AM_RANGE(0xfc01, 0xfc01) AM_WRITENOP /* ? */ AM_RANGE(0xfc02, 0xfc02) AM_WRITE(tbowl_trigger_nmi) /* ? */ @@ -436,6 +414,12 @@ The game is displayed on 2 monitors ***/ +void tbowl_state::machine_start() +{ + membank("mainbank")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x800); + membank("subbank")->configure_entries(0, 32, memregion("sub")->base() + 0x10000, 0x800); +} + void tbowl_state::machine_reset() { m_adpcm_pos[0] = m_adpcm_pos[1] = 0; diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c index 1d74f1919f0..e16516159fb 100644 --- a/src/mame/drivers/tecmo.c +++ b/src/mame/drivers/tecmo.c @@ -56,12 +56,7 @@ f80b ???? WRITE8_MEMBER(tecmo_state::bankswitch_w) { - int bankaddress; - UINT8 *RAM = memregion("maincpu")->base(); - - - bankaddress = 0x10000 + ((data & 0xf8) << 8); - membank("bank1")->set_base(&RAM[bankaddress]); + membank("bank1")->set_entry(data >> 3); } WRITE8_MEMBER(tecmo_state::sound_command_w) @@ -601,6 +596,8 @@ GFXDECODE_END void tecmo_state::machine_start() { + membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x800); + save_item(NAME(m_adpcm_pos)); save_item(NAME(m_adpcm_end)); save_item(NAME(m_adpcm_data)); @@ -769,7 +766,7 @@ Notes: */ ROM_START( rygar ) - ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "5.5p", 0x00000, 0x08000, CRC(062cd55d) SHA1(656e29c890f5de964920b7841b3e11469cd20051) ) /* code */ ROM_LOAD( "cpu_5m.bin", 0x08000, 0x04000, CRC(7ac5191b) SHA1(305f39d974f906f9bc24e9fe2ca58e647925ab63) ) /* code */ ROM_LOAD( "cpu_5j.bin", 0x10000, 0x08000, CRC(ed76d606) SHA1(39c8a07e9a1f218ad088d00a2c9dfc993efafb6b) ) /* banked at f000-f7ff */ @@ -803,7 +800,7 @@ ROM_START( rygar ) ROM_END ROM_START( rygar2 ) - ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "5p.bin", 0x00000, 0x08000, CRC(151ffc0b) SHA1(0eb877f2c68d3d1f52d7b12d0a8ad08c9932c054) ) /* code */ ROM_LOAD( "cpu_5m.bin", 0x08000, 0x04000, CRC(7ac5191b) SHA1(305f39d974f906f9bc24e9fe2ca58e647925ab63) ) /* code */ ROM_LOAD( "cpu_5j.bin", 0x10000, 0x08000, CRC(ed76d606) SHA1(39c8a07e9a1f218ad088d00a2c9dfc993efafb6b) ) /* banked at f000-f7ff */ @@ -838,7 +835,7 @@ ROM_END /* There is a known bootleg board which uses U locations but without Tecmo etchings which is a match for rygar3 */ ROM_START( rygar3 ) - ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "cpu_5p.bin", 0x00000, 0x08000, CRC(e79c054a) SHA1(1aaffa53d121d5c55899bf18e85c42333fe0df54) ) /* code */ ROM_LOAD( "cpu_5m.bin", 0x08000, 0x04000, CRC(7ac5191b) SHA1(305f39d974f906f9bc24e9fe2ca58e647925ab63) ) /* code */ ROM_LOAD( "cpu_5j.bin", 0x10000, 0x08000, CRC(ed76d606) SHA1(39c8a07e9a1f218ad088d00a2c9dfc993efafb6b) ) /* banked at f000-f7ff */ @@ -872,7 +869,7 @@ ROM_START( rygar3 ) ROM_END ROM_START( rygarj ) - ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "cpuj_5p.bin", 0x00000, 0x08000, CRC(b39698ba) SHA1(01a5a12a71973ad117b0bbd763e470f89c439e45) ) /* code */ ROM_LOAD( "cpuj_5m.bin", 0x08000, 0x04000, CRC(3f180979) SHA1(c4c2e9f83b06b8677978800bfcc39f4ba3b344ab) ) /* code */ diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c index 75dd4c15a23..25cfa8ebfa6 100644 --- a/src/mame/drivers/wc90.c +++ b/src/mame/drivers/wc90.c @@ -81,22 +81,12 @@ voice.ic82 CRC32 abc61f3d SHA1 c6f123d16a26c4d77c635617dd97bb4b906c463a WRITE8_MEMBER(wc90_state::bankswitch_w) { - int bankaddress; - UINT8 *RAM = memregion("maincpu")->base(); - - - bankaddress = 0x10000 + ( ( data & 0xf8 ) << 8 ); - membank("bank1")->set_base(&RAM[bankaddress] ); + membank("mainbank")->set_entry(data >> 3); } WRITE8_MEMBER(wc90_state::bankswitch1_w) { - int bankaddress; - UINT8 *RAM = memregion("sub")->base(); - - - bankaddress = 0x10000 + ( ( data & 0xf8 ) << 8 ); - membank("bank2")->set_base(&RAM[bankaddress] ); + membank("subbank")->set_entry(data >> 3); } WRITE8_MEMBER(wc90_state::sound_command_w) @@ -115,7 +105,7 @@ static ADDRESS_MAP_START( wc90_map_1, AS_PROGRAM, 8, wc90_state ) AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram") AM_RANGE(0xd000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram") /* tx video ram */ - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1") + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("mainbank") AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") AM_RANGE(0xfc00, 0xfc00) AM_READ_PORT("P1") AM_RANGE(0xfc02, 0xfc02) AM_READ_PORT("P2") @@ -145,7 +135,7 @@ static ADDRESS_MAP_START( wc90_map_2, AS_PROGRAM, 8, wc90_state ) AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0xd800, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2") + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank") AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") AM_RANGE(0xfc00, 0xfc00) AM_WRITE(bankswitch1_w) AM_RANGE(0xfc01, 0xfc01) AM_WRITE(watchdog_reset_w) @@ -288,13 +278,13 @@ static GFXDECODE_START( wc90 ) GFXDECODE_END - -/* handler called by the 2608 emulator when the internal timers cause an IRQ */ -WRITE_LINE_MEMBER(wc90_state::irqhandler) +void wc90_state::machine_start() { - m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); + membank("mainbank")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x800); + membank("subbank")->configure_entries(0, 32, memregion("sub")->base() + 0x10000, 0x800); } + static MACHINE_CONFIG_START( wc90, wc90_state ) /* basic machine hardware */ @@ -330,7 +320,7 @@ static MACHINE_CONFIG_START( wc90, wc90_state ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ymsnd", YM2608, XTAL_8MHz) /* verified on pcb */ - MCFG_YM2608_IRQ_HANDLER(WRITELINE(wc90_state, irqhandler)) + MCFG_YM2608_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.50) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c index 5e1e16bf13c..10c62c69090 100644 --- a/src/mame/drivers/wc90b.c +++ b/src/mame/drivers/wc90b.c @@ -98,20 +98,12 @@ Noted added by ClawGrip 28-Mar-2008: WRITE8_MEMBER(wc90b_state::wc90b_bankswitch_w) { - int bankaddress; - UINT8 *ROM = memregion("maincpu")->base(); - - bankaddress = 0x10000 + ((data & 0xf8) << 8); - membank("bank1")->set_base(&ROM[bankaddress]); + membank("mainbank")->set_entry(data >> 3); } WRITE8_MEMBER(wc90b_state::wc90b_bankswitch1_w) { - int bankaddress; - UINT8 *ROM = memregion("sub")->base(); - - bankaddress = 0x10000 + ((data & 0xf8) << 8); - membank("bank2")->set_base(&ROM[bankaddress]); + membank("subbank")->set_entry(data >> 3); } WRITE8_MEMBER(wc90b_state::wc90b_sound_command_w) @@ -122,13 +114,7 @@ WRITE8_MEMBER(wc90b_state::wc90b_sound_command_w) WRITE8_MEMBER(wc90b_state::adpcm_control_w) { - int bankaddress; - UINT8 *ROM = memregion("audiocpu")->base(); - - /* the code writes either 2 or 3 in the bottom two bits */ - bankaddress = 0x10000 + (data & 0x01) * 0x4000; - membank("bank3")->set_base(&ROM[bankaddress]); - + membank("audiobank")->set_entry(data & 0x01); m_msm->reset_w(data & 0x08); } @@ -144,7 +130,7 @@ static ADDRESS_MAP_START( wc90b_map1, AS_PROGRAM, 8, wc90b_state ) AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(wc90b_fgvideoram_w) AM_SHARE("fgvideoram") AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(wc90b_bgvideoram_w) AM_SHARE("bgvideoram") AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(wc90b_txvideoram_w) AM_SHARE("txvideoram") - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1") + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("mainbank") AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90b_bankswitch_w) AM_RANGE(0xfd00, 0xfd00) AM_WRITE(wc90b_sound_command_w) @@ -166,14 +152,14 @@ static ADDRESS_MAP_START( wc90b_map2, AS_PROGRAM, 8, wc90b_state ) AM_RANGE(0xd800, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0xe800, 0xefff) AM_ROM - AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2") + AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank") AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90b_bankswitch1_w) ADDRESS_MAP_END static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, wc90b_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank3") + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("audiobank") AM_RANGE(0xe000, 0xe000) AM_WRITE(adpcm_control_w) AM_RANGE(0xe400, 0xe400) AM_WRITE(adpcm_data_w) AM_RANGE(0xe800, 0xe801) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) @@ -322,13 +308,6 @@ GFXDECODE_END -/* handler called by the 2203 emulator when the internal timers cause an IRQ */ -WRITE_LINE_MEMBER(wc90b_state::irqhandler) -{ - /* NMI writes to MSM ports *only*! -AS */ - //m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE); -} - WRITE_LINE_MEMBER(wc90b_state::adpcm_int) { m_toggle ^= 1; @@ -341,6 +320,13 @@ WRITE_LINE_MEMBER(wc90b_state::adpcm_int) m_msm->data_w((m_msm5205next & 0x0f) >> 0); } +void wc90b_state::machine_start() +{ + membank("mainbank")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x800); + membank("subbank")->configure_entries(0, 32, memregion("sub")->base() + 0x10000, 0x800); + membank("audiobank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000); +} + static MACHINE_CONFIG_START( wc90b, wc90b_state ) @@ -375,7 +361,6 @@ static MACHINE_CONFIG_START( wc90b, wc90b_state ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ymsnd", YM2203, YM2203_CLOCK) - MCFG_YM2203_IRQ_HANDLER(WRITELINE(wc90b_state, irqhandler)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) MCFG_SOUND_ADD("msm", MSM5205, MSM5205_CLOCK) @@ -393,9 +378,8 @@ ROM_START( wc90b1 ) ROM_LOAD( "a04.bin", 0x00000, 0x10000, CRC(3d535e2f) SHA1(f1e1878b5a8316e770c74a1e1f29a7a81a4e5dfe) ) /* c000-ffff is not used */ ROM_LOAD( "a05.bin", 0x10000, 0x10000, CRC(9e421c4b) SHA1(e23a1f1d5d1e960696f45df653869712eb889839) ) /* banked at f000-f7ff */ - ROM_REGION( 0x18000, "audiocpu", 0 ) - ROM_LOAD( "a01.bin", 0x00000, 0x8000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) - ROM_CONTINUE( 0x10000, 0x8000 ) /* banked at 8000-bfff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "a01.bin", 0x00000, 0x10000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) ROM_REGION( 0x010000, "gfx1", 0 ) ROM_LOAD( "a06.bin", 0x000000, 0x04000, CRC(3b5387b7) SHA1(b839b4eafe8bf6f9e841e19fee1bdb64a66f3448) ) @@ -436,9 +420,8 @@ ROM_START( wc90b2 ) ROM_LOAD( "a04.bin", 0x00000, 0x10000, CRC(3d535e2f) SHA1(f1e1878b5a8316e770c74a1e1f29a7a81a4e5dfe) ) /* c000-ffff is not used */ ROM_LOAD( "a05.bin", 0x10000, 0x10000, CRC(9e421c4b) SHA1(e23a1f1d5d1e960696f45df653869712eb889839) ) /* banked at f000-f7ff */ - ROM_REGION( 0x18000, "audiocpu", 0 ) - ROM_LOAD( "a01.bin", 0x00000, 0x8000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) - ROM_CONTINUE( 0x10000, 0x8000 ) /* banked at 8000-bfff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "a01.bin", 0x00000, 0x10000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) ROM_REGION( 0x010000, "gfx1", 0 ) ROM_LOAD( "a06", 0x000000, 0x04000, CRC(0c054481) SHA1(eebab099a4db5fbf13522ecd67bfa741e16e40d4) ) @@ -490,9 +473,8 @@ ROM_START( wc90ba ) ROM_LOAD( "a04.bin", 0x00000, 0x10000, CRC(3d535e2f) SHA1(f1e1878b5a8316e770c74a1e1f29a7a81a4e5dfe) ) /* c000-ffff is not used */ ROM_LOAD( "el_ic98_27c512_05.bin",0x10000, 0x10000, CRC(c70d8c13) SHA1(365718725ea7d0355c68ba703b7f9624cb1134bc) ) - ROM_REGION( 0x18000, "audiocpu", 0 ) - ROM_LOAD( "a01.bin", 0x00000, 0x8000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) - ROM_CONTINUE( 0x10000, 0x8000 ) /* banked at 8000-bfff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "a01.bin", 0x00000, 0x10000, CRC(3d317622) SHA1(ae4e8c5247bc215a2769786cb8639bce2f80db22) ) ROM_REGION( 0x010000, "gfx1", 0 ) ROM_LOAD( "a06.bin", 0x000000, 0x04000, CRC(3b5387b7) SHA1(b839b4eafe8bf6f9e841e19fee1bdb64a66f3448) ) diff --git a/src/mame/includes/tbowl.h b/src/mame/includes/tbowl.h index 29b1038e29c..fdfbc3bb8af 100644 --- a/src/mame/includes/tbowl.h +++ b/src/mame/includes/tbowl.h @@ -6,7 +6,6 @@ class tbowl_state : public driver_device public: tbowl_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_shared_ram(*this, "shared_ram"), m_txvideoram(*this, "txvideoram"), m_bgvideoram(*this, "bgvideoram"), m_bg2videoram(*this, "bg2videoram"), @@ -23,7 +22,6 @@ public: int m_adpcm_pos[2]; int m_adpcm_end[2]; int m_adpcm_data[2]; - required_shared_ptr m_shared_ram; required_shared_ptr m_txvideoram; required_shared_ptr m_bgvideoram; required_shared_ptr m_bg2videoram; @@ -38,8 +36,6 @@ public: DECLARE_WRITE8_MEMBER(tbowl_coin_counter_w); DECLARE_WRITE8_MEMBER(tbowlb_bankswitch_w); DECLARE_WRITE8_MEMBER(tbowlc_bankswitch_w); - DECLARE_READ8_MEMBER(shared_r); - DECLARE_WRITE8_MEMBER(shared_w); DECLARE_WRITE8_MEMBER(tbowl_sound_command_w); DECLARE_WRITE8_MEMBER(tbowl_trigger_nmi); DECLARE_WRITE8_MEMBER(tbowl_adpcm_start_w); @@ -59,6 +55,7 @@ public: TILE_GET_INFO_MEMBER(get_tx_tile_info); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_bg2_tile_info); + virtual void machine_start(); virtual void machine_reset(); virtual void video_start(); UINT32 screen_update_tbowl_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); diff --git a/src/mame/includes/wc90.h b/src/mame/includes/wc90.h index e2dbad41f15..de7c66acdc7 100644 --- a/src/mame/includes/wc90.h +++ b/src/mame/includes/wc90.h @@ -62,7 +62,6 @@ public: DECLARE_WRITE8_MEMBER(bgvideoram_w); DECLARE_WRITE8_MEMBER(fgvideoram_w); DECLARE_WRITE8_MEMBER(txvideoram_w); - DECLARE_WRITE_LINE_MEMBER(irqhandler); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); @@ -70,6 +69,7 @@ public: TILE_GET_INFO_MEMBER(track_get_bg_tile_info); TILE_GET_INFO_MEMBER(track_get_fg_tile_info); + virtual void machine_start(); virtual void video_start(); DECLARE_VIDEO_START(wc90t); diff --git a/src/mame/includes/wc90b.h b/src/mame/includes/wc90b.h index 043dc7b362e..4c459183a07 100644 --- a/src/mame/includes/wc90b.h +++ b/src/mame/includes/wc90b.h @@ -45,10 +45,10 @@ public: TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); TILE_GET_INFO_MEMBER(get_tx_tile_info); + virtual void machine_start(); virtual void video_start(); UINT32 screen_update_wc90b(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority ); - DECLARE_WRITE_LINE_MEMBER(irqhandler); DECLARE_WRITE_LINE_MEMBER(adpcm_int); required_device m_maincpu; required_device m_audiocpu;