From 02ebd24bcdac0396a9ae8842c4285d48991b2fe2 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Fri, 3 Feb 2017 18:16:20 +0100 Subject: [PATCH] aerofgt.cpp: cleaned up audiocpu rom loading, avoided some tag lookups, thus minor speed up (nw) --- src/mame/drivers/aerofgt.cpp | 58 +++++++++++++----------------------- src/mame/includes/aerofgt.h | 7 +++-- 2 files changed, 26 insertions(+), 39 deletions(-) diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp index 3fd5d2b8953..2fb4748ccdd 100644 --- a/src/mame/drivers/aerofgt.cpp +++ b/src/mame/drivers/aerofgt.cpp @@ -93,7 +93,7 @@ WRITE8_MEMBER(aerofgt_state::pending_command_clear_w) WRITE8_MEMBER(aerofgt_state::aerofgt_sh_bankswitch_w) { - membank("bank1")->set_entry(data & 0x03); + m_soundbank->set_entry(data & 0x03); } WRITE16_MEMBER(aerofgt_state::pspikesb_oki_banking_w) @@ -112,9 +112,9 @@ WRITE16_MEMBER(aerofgt_state::aerfboo2_okim6295_banking_w) WRITE8_MEMBER(aerofgt_state::aerfboot_okim6295_banking_w) { - /*bit 2 (0x4) setted too?*/ + /*bit 2 (0x4) set too?*/ if (data & 0x4) - membank("okibank")->set_entry(data & 0x3); + m_okibank->set_entry(data & 0x3); } WRITE8_MEMBER(aerofgt_state::karatblzbl_d7759_write_port_0_w) @@ -374,7 +374,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, aerofgt_state ) AM_RANGE(0x0000, 0x77ff) AM_ROM AM_RANGE(0x7800, 0x7fff) AM_RAM - AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") + AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank") ADDRESS_MAP_END static ADDRESS_MAP_START( turbofrc_sound_portmap, AS_IO, 8, aerofgt_state ) @@ -1304,9 +1304,7 @@ MACHINE_START_MEMBER(aerofgt_state,common) MACHINE_START_MEMBER(aerofgt_state,aerofgt) { - uint8_t *rom = memregion("audiocpu")->base(); - - membank("bank1")->configure_entries(0, 4, &rom[0x10000], 0x8000); + m_soundbank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x8000); MACHINE_START_CALL_MEMBER(common); } @@ -1320,7 +1318,7 @@ MACHINE_RESET_MEMBER(aerofgt_state,aerofgt) { MACHINE_RESET_CALL_MEMBER(common); - membank("bank1")->set_entry(0); /* needed by spinlbrk */ + m_soundbank->set_entry(0); /* needed by spinlbrk */ } static MACHINE_CONFIG_START( pspikes, aerofgt_state ) @@ -1922,9 +1920,8 @@ ROM_START( pspikes ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "pspikes2.bin", 0x00000, 0x40000, CRC(ec0c070e) SHA1(4ddcc184e835a2f9d15f01aaa03734fd75fe797e) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) @@ -1947,9 +1944,8 @@ ROM_START( pspikesk ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "20", 0x00000, 0x40000, CRC(75cdcee2) SHA1(272a08c46c1d0989f9fbb156e28e6a7ffa9c0a53) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) @@ -1973,9 +1969,8 @@ ROM_START( pspikesu ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "svolly91.73", 0x00000, 0x40000, CRC(bfbffcdb) SHA1(2bba99cb6d0cb2fbb3cd1242551dd7e2c6ebef50) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) @@ -1995,9 +1990,8 @@ ROM_START( svolly91 ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "u11.jpn", 0x00000, 0x40000, CRC(ea2e4c82) SHA1(f9cf9122499d9b1e54221fb8b6ef9c12004ca85e) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) @@ -2374,9 +2368,8 @@ ROM_START( karatblz ) ROM_LOAD16_WORD_SWAP( "rom2v3", 0x00000, 0x40000, CRC(01f772e1) SHA1(f87f19a82d75839b5671f23ce14218d7b910eabc) ) ROM_LOAD16_WORD_SWAP( "1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) ) @@ -2406,9 +2399,8 @@ ROM_START( karatblza ) ROM_LOAD16_WORD_SWAP( "v2.u14", 0x00000, 0x40000, CRC(7a78976e) SHA1(3b74b80765622b8488bdd0729ec98a2c7584cad5) ) ROM_LOAD16_WORD_SWAP( "v1.u15", 0x40000, 0x40000, CRC(47e410fe) SHA1(d26fc93f91ccf00856db2b7dfd0d905d87e99bd8) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) ) @@ -2438,9 +2430,8 @@ ROM_START( karatblzu ) ROM_LOAD16_WORD_SWAP( "2.u14", 0x00000, 0x40000, CRC(202e6220) SHA1(2605511a0574cbc39fdf3d8ae27a0aa9b43345fb) ) ROM_LOAD16_WORD_SWAP( "1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) ) @@ -2470,9 +2461,8 @@ ROM_START( karatblzj ) ROM_LOAD16_WORD_SWAP( "2tecmo.u14", 0x00000, 0x40000, CRC(57e52654) SHA1(15939d8f7c693b9248f3dd2b2ad5fbae2c19621f) ) ROM_LOAD16_WORD_SWAP( "1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) ) @@ -2560,9 +2550,8 @@ ROM_START( turbofrc ) // World version with no copyright notice ROM_LOAD16_WORD_SWAP( "4v1.subpcb.u1", 0x40000, 0x40000, CRC(6cd5312b) SHA1(57b109fe268fb963e981c91b6d288667a3c9a665) ) // 27c2048 - located on a OR-10 SUB BOARD - 4 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "4v3.u14", 0x80000, 0x40000, CRC(63f50557) SHA1(f8dba8c9ba412c9a67457ec31a804c57593ab20b) ) // 27c2048 - 4 stamped on chip with VideoSystem logo V - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) ROM_LOAD( "lh534ggs.u94", 0x000000, 0x80000, CRC(baa53978) SHA1(7f103122dd0bf675226ccf309fba73f645e0c79b) ) // mask rom @@ -2595,9 +2584,8 @@ ROM_START( turbofrcu ) // US version: most notable thing in there is the points ROM_LOAD16_WORD_SWAP( "8v1.subpcb.u1", 0x40000, 0x40000, CRC(cc324da6) SHA1(ed2eaff7351914e3ebaf925ddc01be9d44d89fa6) ) // 27c2048 - located on a OR-10 SUB BOARD - 8 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "8v3.u14", 0x80000, 0x40000, CRC(c0a15480) SHA1(1ec99382e0a00a8167773b1d454a63cc5cd6199c) ) // 27c2048 - 8 stamped on chip with VideoSystem logo V - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) ROM_LOAD( "lh534ggs.u94", 0x000000, 0x80000, CRC(baa53978) SHA1(7f103122dd0bf675226ccf309fba73f645e0c79b) ) // mask rom @@ -2628,9 +2616,8 @@ ROM_START( aerofgt ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "1.u4", 0x00000, 0x80000, CRC(6fdff0a2) SHA1(7cc9529b426091027aa3e23586cb7d162376c0ff) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x100000, "gfx1", 0 ) ROM_LOAD( "538a54.124", 0x000000, 0x80000, CRC(4d2c4df2) SHA1(f51c2b3135f0a921ac1a79e63d6878c03cb6254b) ) @@ -2652,9 +2639,8 @@ ROM_START( aerofgtb ) ROM_LOAD16_BYTE( "v2", 0x00000, 0x40000, CRC(5c9de9f0) SHA1(93b62c59f0bc052c6fdbd5aae292a7ab2122dfd1) ) ROM_LOAD16_BYTE( "v1", 0x00001, 0x40000, CRC(89c1dcf4) SHA1(41401d63049c140e4254dc791022d85c44271390) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "v3", 0x00000, 0x20000, CRC(cbb18cf4) SHA1(7119a7536cf710660ff06d1e7d2879c79ef12b3d) ) - ROM_RELOAD( 0x10000, 0x20000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) ) @@ -2682,9 +2668,8 @@ ROM_START( aerofgtc ) ROM_LOAD16_BYTE( "v2.149", 0x00000, 0x40000, CRC(f187aec6) SHA1(8905af34f114ae22fbfbd3ae115f19280bdd4fb3) ) ROM_LOAD16_BYTE( "v1.111", 0x00001, 0x40000, CRC(9e684b19) SHA1(b5e1e5b74ed9fd223c9315ee2d548e620224c102) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) - ROM_RELOAD( 0x10000, 0x20000 ) /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */ ROM_REGION( 0x080000, "gfx1", 0 ) @@ -2713,9 +2698,8 @@ ROM_START( sonicwi ) ROM_LOAD16_BYTE( "2.149", 0x00000, 0x40000, CRC(3d1b96ba) SHA1(941be323c0cb15e05c92b897984617b05c5cf676) ) ROM_LOAD16_BYTE( "1.111", 0x00001, 0x40000, CRC(a3d09f94) SHA1(a1064d659488878f5303edc2b8636312ab632a83) ) - ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k for the audio CPU + banks */ ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) // 3.156 - ROM_RELOAD( 0x10000, 0x20000 ) /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */ ROM_REGION( 0x080000, "gfx1", 0 ) @@ -2823,7 +2807,7 @@ ROM_END DRIVER_INIT_MEMBER(aerofgt_state, banked_oki) { - membank("okibank")->configure_entries(0, 4, memregion("oki")->base() + 0x20000, 0x20000); + m_okibank->configure_entries(0, 4, memregion("oki")->base() + 0x20000, 0x20000); } diff --git a/src/mame/includes/aerofgt.h b/src/mame/includes/aerofgt.h index 7404cd3d689..621de27e2ad 100644 --- a/src/mame/includes/aerofgt.h +++ b/src/mame/includes/aerofgt.h @@ -29,7 +29,9 @@ public: m_spr(*this, "vsystem_spr"), m_spr_old(*this, "vsystem_spr_old"), m_spr_old2(*this, "vsystem_spr_ol2"), - m_soundlatch(*this, "soundlatch") { } + m_soundlatch(*this, "soundlatch"), + m_soundbank(*this, "soundbank"), + m_okibank(*this, "okibank") { } /* memory pointers */ required_shared_ptr m_bg1videoram; @@ -53,7 +55,8 @@ public: optional_device m_spr_old2; // or a pair of them.. optional_device m_soundlatch; - + optional_memory_bank m_soundbank; + optional_memory_bank m_okibank; /* video-related */ tilemap_t *m_bg1_tilemap;