diff --git a/src/devices/sound/sn76496.cpp b/src/devices/sound/sn76496.cpp index 3d59fb62603..83f2d0c5e50 100644 --- a/src/devices/sound/sn76496.cpp +++ b/src/devices/sound/sn76496.cpp @@ -178,11 +178,6 @@ sn76496_device::sn76496_device(const machine_config &mconfig, const char *tag, d { } -u8106_device::u8106_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : sn76496_base_device(mconfig, U8106, tag, 0x4000, 0x01, 0x02, true, false, 8, false, true, owner, clock) -{ -} - y2404_device::y2404_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : sn76496_base_device(mconfig, Y2404, tag, 0x10000, 0x04, 0x08, false, false, 8, false, true, owner, clock) { @@ -477,7 +472,6 @@ void sn76496_base_device::register_for_save_states() } DEFINE_DEVICE_TYPE(SN76496, sn76496_device, "sn76496", "SN76496") -DEFINE_DEVICE_TYPE(U8106, u8106_device, "u8106", "U8106") DEFINE_DEVICE_TYPE(Y2404, y2404_device, "y2404", "Y2404") DEFINE_DEVICE_TYPE(SN76489, sn76489_device, "sn76489", "SN76489") DEFINE_DEVICE_TYPE(SN76489A, sn76489a_device, "sn76489a", "SN76489A") diff --git a/src/devices/sound/sn76496.h b/src/devices/sound/sn76496.h index 07fb3a47932..f58e259b439 100644 --- a/src/devices/sound/sn76496.h +++ b/src/devices/sound/sn76496.h @@ -7,7 +7,6 @@ DECLARE_DEVICE_TYPE(SN76496, sn76496_device) -DECLARE_DEVICE_TYPE(U8106, u8106_device) DECLARE_DEVICE_TYPE(Y2404, y2404_device) DECLARE_DEVICE_TYPE(SN76489, sn76489_device) DECLARE_DEVICE_TYPE(SN76489A, sn76489a_device) @@ -87,13 +86,6 @@ public: sn76496_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; -// U8106 not verified yet. todo: verify; (a custom marked sn76489? only used on mr. do and maybe other universal games) -class u8106_device : public sn76496_base_device -{ -public: - u8106_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; - // Y2404 not verified yet. todo: verify; (don't be fooled by the Y, it's a TI chip, not Yamaha) class y2404_device : public sn76496_base_device { diff --git a/src/mame/drivers/mrdo.cpp b/src/mame/drivers/mrdo.cpp index ae79f9154dd..bf195f52aa6 100644 --- a/src/mame/drivers/mrdo.cpp +++ b/src/mame/drivers/mrdo.cpp @@ -5,8 +5,6 @@ Mr Do! driver by Nicola Salmoria -Updated 02/2010 with proper XTAL values thanks to Oliver_A - PCB Model: 8201 Main Clock: XTAL = 8.2 MHz Video clock: XTAL = 19.6 MHz @@ -18,6 +16,10 @@ VBlank duration: 1/VSYNC * (70/262) = 4457 us The manual for this model clearly shows above values in 'Misc' parts listings. There's a chance that certain bootlegs might have the different 8/20 MHz XTALS. +Sound chips have custom label "8106", the original label was scratched off. +They are presumedly SN76489. Note that Lady Bug's PCB S/N is also 8106 and +has the same sound chips. + ***************************************************************************/ #include "emu.h" @@ -56,8 +58,8 @@ void mrdo_state::main_map(address_map &map) map(0x8800, 0x8fff).ram().w(FUNC(mrdo_state::mrdo_fgvideoram_w)).share("fgvideoram"); map(0x9000, 0x90ff).writeonly().share("spriteram"); map(0x9800, 0x9800).w(FUNC(mrdo_state::mrdo_flipscreen_w)); // screen flip + playfield priority - map(0x9801, 0x9801).w("u8106_1", FUNC(u8106_device::write)); - map(0x9802, 0x9802).w("u8106_2", FUNC(u8106_device::write)); + map(0x9801, 0x9801).w("sn1", FUNC(sn76489_device::write)); + map(0x9802, 0x9802).w("sn2", FUNC(sn76489_device::write)); map(0x9803, 0x9803).r(FUNC(mrdo_state::mrdo_SECRE_r)); map(0xa000, 0xa000).portr("P1"); map(0xa001, 0xa001).portr("P2"); @@ -177,7 +179,7 @@ GFXDECODE_END void mrdo_state::mrdo(machine_config &config) { // Basic machine hardware - Z80(config, m_maincpu, MAIN_CLOCK/2); // Verified + Z80(config, m_maincpu, MAIN_CLOCK/2); // Verified m_maincpu->set_addrmap(AS_PROGRAM, &mrdo_state::main_map); m_maincpu->set_vblank_int("screen", FUNC(mrdo_state::irq0_line_hold)); @@ -193,9 +195,8 @@ void mrdo_state::mrdo(machine_config &config) // Sound hardware SPEAKER(config, "mono").front_center(); - U8106(config, "u8106_1", MAIN_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.50); // sn76489-equivalent?, Verified - - U8106(config, "u8106_2", MAIN_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.50); // sn76489-equivalent?, Verified + SN76489(config, "sn1", MAIN_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.50); // Verified + SN76489(config, "sn2", MAIN_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.50); // Verified } void mrdo_state::mrlo(machine_config &config)