diff options
Diffstat (limited to 'src/mame/drivers/dgpix.cpp')
-rw-r--r-- | src/mame/drivers/dgpix.cpp | 69 |
1 files changed, 18 insertions, 51 deletions
diff --git a/src/mame/drivers/dgpix.cpp b/src/mame/drivers/dgpix.cpp index 5214a49169a..dc698c6caeb 100644 --- a/src/mame/drivers/dgpix.cpp +++ b/src/mame/drivers/dgpix.cpp @@ -153,10 +153,11 @@ Notes: #include "emu.h" #include "cpu/e132xs/e132xs.h" -#include "cpu/ks0164/ks0164.h" +#include "sound/ks0164.h" #include "machine/nvram.h" #include "emupal.h" #include "screen.h" +#include "speaker.h" class dgpix_state : public driver_device @@ -166,10 +167,8 @@ public: driver_device(mconfig, type, tag), m_flash(*this, "flash"), m_maincpu(*this, "maincpu"), - m_soundcpu(*this, "soundcpu"), - m_vblank(*this, "VBLANK"), - m_sndrom(*this, "soundcpu"), - m_sndrombank(*this, "sndrombank") + m_sound(*this, "ks1064"), + m_vblank(*this, "VBLANK") { } void dgpix(machine_config &config); @@ -190,10 +189,8 @@ private: required_memory_region m_flash; required_device<cpu_device> m_maincpu; - required_device<ks0164_device> m_soundcpu; + required_device<ks0164_device> m_sound; required_ioport m_vblank; - required_region_ptr<u16> m_sndrom; - required_memory_bank m_sndrombank; std::unique_ptr<u16[]> m_vram; int m_vbuffer; @@ -201,8 +198,6 @@ private: int m_old_vbuf; u32 m_flash_cmd; s32 m_first_offset; - u16 m_sndrombank_val; - u16 m_sndrombank_mask; u32 flash_r(offs_t offset); void flash_w(offs_t offset, u32 data, u32 mem_mask = ~0); @@ -215,23 +210,8 @@ private: u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void mem_map(address_map &map); void io_map(address_map &map); - void snd_map(address_map &map); - u16 snd_rom_bank_r(); - void snd_rom_bank_w(offs_t, u16 data, u16 mem_mask); }; -u16 dgpix_state::snd_rom_bank_r() -{ - return m_sndrombank->entry(); -} - -void dgpix_state::snd_rom_bank_w(offs_t, u16 data, u16 mem_mask) -{ - COMBINE_DATA(&m_sndrombank_val); - logerror("bank4000 = %04x\n", m_sndrombank_val); - m_sndrombank->set_entry(m_sndrombank_val & m_sndrombank_mask); -} - u32 dgpix_state::flash_r(offs_t offset) { u32 *ROM = (u32 *)m_flash->base(); @@ -365,15 +345,6 @@ void dgpix_state::io_map(address_map &map) map(0x0c84, 0x0c87).nopr(); // sound status, checks bit 0x40 and 0x80 } -void dgpix_state::snd_map(address_map &map) -{ - map(0x0000, 0x3fff).rom(); - map(0x0020, 0x007f).unmaprw(); - map(0x0062, 0x0063).rw(FUNC(dgpix_state::snd_rom_bank_r), FUNC(dgpix_state::snd_rom_bank_w)); - map(0x4000, 0x7fff).bankr("sndrombank"); - map(0xe000, 0xffff).ram(); -} - static INPUT_PORTS_START( dgpix ) PORT_START("VBLANK") PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") @@ -438,11 +409,6 @@ void dgpix_state::machine_start() save_item(NAME(m_flash_cmd)); save_item(NAME(m_first_offset)); save_item(NAME(m_old_vbuf)); - save_item(NAME(m_sndrombank_val)); - - m_sndrombank->configure_entries(0, m_sndrom.bytes()/0x4000, m_sndrom, 0x4000); - m_sndrombank->set_entry(0); - m_sndrombank_mask = m_sndrom.bytes()/0x4000 - 1; } void dgpix_state::machine_reset() @@ -451,9 +417,6 @@ void dgpix_state::machine_reset() m_flash_cmd = 0; m_first_offset = -1; m_old_vbuf = 3; - - m_sndrombank_val = 0; - m_sndrombank->set_entry(0); } @@ -463,9 +426,6 @@ void dgpix_state::dgpix(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &dgpix_state::mem_map); m_maincpu->set_addrmap(AS_IO, &dgpix_state::io_map); - KS0164(config, m_soundcpu, 16.9344_MHz_XTAL); - m_soundcpu->set_addrmap(AS_PROGRAM, &dgpix_state::snd_map); - NVRAM(config, "nvram", nvram_device::DEFAULT_NONE); /* video hardware */ @@ -478,6 +438,13 @@ void dgpix_state::dgpix(machine_config &config) screen.set_palette("palette"); PALETTE(config, "palette", palette_device::BGR_555); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + KS0164(config, m_sound, 16.9344_MHz_XTAL); + m_sound->add_route(0, "lspeaker", 1.0); + m_sound->add_route(1, "rspeaker", 1.0); } @@ -496,7 +463,7 @@ ROM_START( elfin ) ROM_LOAD16_WORD_SWAP( "flash.u8", 0x1800000, 0x400000, CRC(eb56d7ca) SHA1(7c1cfcc68579cf3bdd9707da7d745a410223b8d9) ) ROM_LOAD16_WORD_SWAP( "flash.u9", 0x1c00000, 0x400000, CRC(cbf64ef4) SHA1(1a231872ee14e6d718c3f8888185ede7483e79dd) ) /* game settings & highscores are saved in here */ - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "flash.u10", 0x000000, 0x400000, CRC(d378fe55) SHA1(5cc7bc5ae258cd48816857793a262e7c6c330795) ) ROM_REGION( 0x1000, "cpu2", ROMREGION_ERASEFF ) /* PIC */ @@ -518,7 +485,7 @@ ROM_START( jumpjump ) ROM_LOAD16_WORD_SWAP( "jumpjump.u8", 0x1800000, 0x400000, CRC(210dfd8b) SHA1(a1aee4ec8c01832e77d2e4e334a62c246d7e3635) ) ROM_LOAD16_WORD_SWAP( "jumpjump.u9", 0x1c00000, 0x400000, CRC(16d1e352) SHA1(3c43974fb8d90b0c84472dd9f2167eb983142095) ) - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "jumpjump.u10", 0x000000, 0x400000, CRC(2152ecce) SHA1(522d389952a07fa0830ca8aaa6de3aacf834e32e) ) ROM_REGION( 0x1000, "cpu2", ROMREGION_ERASEFF ) /* PIC */ @@ -543,7 +510,7 @@ ROM_START( xfiles ) ROM_LOAD16_WORD_SWAP( "flash.u8", 0x1800000, 0x400000, CRC(231ad82a) SHA1(a1cc5c4122605e564d51137f1dca2afa82616202) ) ROM_LOAD16_WORD_SWAP( "flash.u9", 0x1c00000, 0x400000, CRC(d68994b7) SHA1(c1752d6795f7aaa6beef73643327205a1c32f0f5) ) - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "flash.u10", 0x0000000, 0x400000, CRC(1af33cda) SHA1(9bbcfb07a4a5bcff3efc1c7bcc51bc16c47ca9e6) ) ROM_REGION( 0x1000, "cpu2", 0 ) /* PIC */ @@ -576,7 +543,7 @@ ROM_START( xfilesk ) ROM_LOAD16_WORD_SWAP( "u8.bin", 0x1800000, 0x400000, CRC(3b2c2bc1) SHA1(1c07fb5bd8a8c9b5fb169e6400fef845f3aee7aa) ) ROM_LOAD16_WORD_SWAP( "u9.bin", 0x1c00000, 0x400000, CRC(6ecdd1eb) SHA1(e26c9711e589865cc75ec693d382758fa52528b8) ) - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "u10.bin", 0x0000000, 0x400000, CRC(f2ef1eb9) SHA1(d033d140fce6716d7d78509aa5387829f0a1404c) ) ROM_REGION( 0x1000, "cpu2", 0 ) /* PIC */ @@ -600,7 +567,7 @@ ROM_START( kdynastg ) ROM_LOAD16_WORD_SWAP( "flash.u8", 0x1800000, 0x400000, CRC(1016b61c) SHA1(eab4934e1f41cc26259e5187a94ceebd45888a94) ) ROM_LOAD16_WORD_SWAP( "flash.u9", 0x1c00000, 0x400000, CRC(093d9243) SHA1(2a643acc7144193aaa3606a84b0c67aadb4c543b) ) - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "flash.u10", 0x0000000, 0x400000, CRC(3f103cb1) SHA1(2ff9bd73f3005f09d872018b81c915b01d6703f5) ) ROM_REGION( 0x1000, "cpu2", 0 ) /* PIC */ @@ -624,7 +591,7 @@ ROM_START( fmaniac3 ) ROM_LOAD16_WORD_SWAP( "flash.u8", 0x1800000, 0x400000, CRC(dc08a224) SHA1(4d14145eb84ad13674296f81e90b9d60403fa0de) ) ROM_LOAD16_WORD_SWAP( "flash.u9", 0x1c00000, 0x400000, CRC(c1fee95f) SHA1(0ed5ed9fa18e7da9242a6df2c210c46de25a2281) ) - ROM_REGION( 0x400000, "soundcpu", 0 ) /* sound rom */ + ROM_REGION( 0x400000, "ks1064", 0 ) /* sound rom */ ROM_LOAD16_WORD_SWAP( "flash.u10", 0x000000, 0x400000, CRC(dfeb91a0) SHA1(a4a79073c3f6135957ea8a4a66a9c71a3a39893c) ) ROM_REGION( 0x1000, "cpu2", ROMREGION_ERASEFF ) /* PIC */ |