summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/devices/bus/isa/ide.cpp7
-rw-r--r--src/devices/bus/isa/mcd.cpp7
-rw-r--r--src/mame/casio/cps2000.cpp21
-rw-r--r--src/mame/itech/itech32.cpp9
-rw-r--r--src/mame/mame.lst5
-rw-r--r--src/mame/misc/xtom3d.cpp11
-rw-r--r--src/mame/nec/pc9801.cpp7
-rw-r--r--src/mame/pinball/macp.cpp8
-rw-r--r--src/mame/sealy/sealy_z80.cpp255
-rw-r--r--src/mame/skeleton/alesis_qs.cpp7
-rw-r--r--src/mame/sunwise/jankmg2.cpp4
-rw-r--r--src/mame/tvgames/generalplus_gp327902.cpp3
-rw-r--r--src/mame/tvgames/generalplus_gpm453x_nand.cpp3
13 files changed, 300 insertions, 47 deletions
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index 9565851fafc..22ac0defe64 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -50,8 +50,8 @@ void isa16_ide_device::ide_interrupt(int state)
void isa16_ide_device::cdrom_headphones(device_t *device)
{
cdda_device *cdda = device->subdevice<cdda_device>("cdda");
- cdda->add_route(0, "^^lheadphone", 1.0);
- cdda->add_route(1, "^^rheadphone", 1.0);
+ cdda->add_route(0, "^^headphone", 1.0, 0);
+ cdda->add_route(1, "^^headphone", 1.0, 1);
}
static INPUT_PORTS_START( ide )
@@ -76,8 +76,7 @@ void isa16_ide_device::device_add_mconfig(machine_config &config)
IDE_CONTROLLER(config, m_ide).options(ata_devices, "hdd", nullptr, false);
m_ide->irq_handler().set(FUNC(isa16_ide_device::ide_interrupt));
- SPEAKER(config, "lheadphone").front_left();
- SPEAKER(config, "rheadphone").front_right();
+ SPEAKER(config, "headphone", 2).front();
m_ide->slot(0).set_option_machine_config("cdrom", cdrom_headphones);
m_ide->slot(1).set_option_machine_config("cdrom", cdrom_headphones);
diff --git a/src/devices/bus/isa/mcd.cpp b/src/devices/bus/isa/mcd.cpp
index 085ab3676b9..0b78d68a98f 100644
--- a/src/devices/bus/isa/mcd.cpp
+++ b/src/devices/bus/isa/mcd.cpp
@@ -26,11 +26,10 @@ DEFINE_DEVICE_TYPE(ISA16_MCD, mcd_isa_device, "mcd_isa", "Mitsumi ISA CD-ROM Ada
void mcd_isa_device::device_add_mconfig(machine_config &config)
{
- SPEAKER(config, "lheadphone").front_left();
- SPEAKER(config, "rheadphone").front_right();
+ SPEAKER(config, "headphone", 2).front();
CDDA(config, m_cdda);
- m_cdda->add_route(0, "lheadphone", 1.0);
- m_cdda->add_route(1, "rheadphone", 1.0);
+ m_cdda->add_route(0, "headphone", 1.0, 0);
+ m_cdda->add_route(1, "headphone", 1.0, 1);
m_cdda->set_cdrom_tag(*this);
}
diff --git a/src/mame/casio/cps2000.cpp b/src/mame/casio/cps2000.cpp
index eba186ad19a..df68b1f60a3 100644
--- a/src/mame/casio/cps2000.cpp
+++ b/src/mame/casio/cps2000.cpp
@@ -312,8 +312,7 @@ void cps2000_state::cps2000(machine_config &config)
MSM6200(config, m_kbd, 4.9468_MHz_XTAL);
m_kbd->irq_cb().set_inputline(m_maincpu, UPD7810_INTF1);
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ SPEAKER(config, "speaker", 2).front();
// UPD932(config, "upd932a", 4.9468_MHz_XTAL);
// UPD932(config, "upd932b", 4.9468_MHz_XTAL);
@@ -326,17 +325,17 @@ void cps2000_state::cps2000(machine_config &config)
FILTER_RC(config, "bass_rc1").set_lowpass(RES_K(47), CAP_N(47)).add_route(0, "bass_rc2", 1.0);
FILTER_RC(config, "bass_rc2").set_lowpass(RES_K(22), CAP_N(47))
- .add_route(0, "lspeaker", 0.25).add_route(0, "rspeaker", 0.25);
+ .add_route(0, "speaker", 0.25, 0).add_route(0, "speaker", 0.25, 1);
UPD934G(config, m_pcm, 4.9468_MHz_XTAL / 4);
- m_pcm->add_route(0, "lspeaker", 0.25);
- m_pcm->add_route(0, "rspeaker", 0.125);
- m_pcm->add_route(1, "lspeaker", 0.25);
- m_pcm->add_route(1, "rspeaker", 0.125);
- m_pcm->add_route(2, "lspeaker", 0.125);
- m_pcm->add_route(2, "rspeaker", 0.25);
- m_pcm->add_route(3, "lspeaker", 0.125);
- m_pcm->add_route(3, "rspeaker", 0.25);
+ m_pcm->add_route(0, "speaker", 0.25, 0);
+ m_pcm->add_route(0, "speaker", 0.125, 1);
+ m_pcm->add_route(1, "speaker", 0.25, 0);
+ m_pcm->add_route(1, "speaker", 0.125, 1);
+ m_pcm->add_route(2, "speaker", 0.125, 0);
+ m_pcm->add_route(2, "speaker", 0.25, 1);
+ m_pcm->add_route(3, "speaker", 0.125, 0);
+ m_pcm->add_route(3, "speaker", 0.25, 1);
}
/**************************************************************************/
diff --git a/src/mame/itech/itech32.cpp b/src/mame/itech/itech32.cpp
index ceb01d738a1..ca31776556d 100644
--- a/src/mame/itech/itech32.cpp
+++ b/src/mame/itech/itech32.cpp
@@ -1867,12 +1867,13 @@ void drivedge_state::drivedge(machine_config &config)
m_screen->screen_vblank().set_nop(); // interrupt not used?
- SPEAKER(config, "left_back").front_left(); // Sound PCB has hook-ups & AMPs for 5 channels
- SPEAKER(config, "right_back").front_right(); // As per Sound Tests Menu: Left Front, Right Front, Left Rear, Right Rear, Under Seat
+ // Sound PCB has hook-ups & AMPs for 5 channels
+ // As per Sound Tests Menu: Left Front, Right Front, Left Rear, Right Rear, Under Seat
+ SPEAKER(config, "back", 2).rear();
m_ensoniq->set_channels(2);
- m_ensoniq->add_route(2, "right_back", 0.1); // swapped stereo
- m_ensoniq->add_route(3, "left_back", 0.1);
+ m_ensoniq->add_route(2, "back", 0.1, 1); // swapped stereo
+ m_ensoniq->add_route(3, "back", 0.1, 0);
}
void shoottv_state::shoottv(machine_config &config)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 50e3d6a2d8d..2e11c78c78f 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -39734,6 +39734,11 @@ qczl
@source:sealy/sealy_fr.cpp
snowbwar
+@source:sealy/sealy_z80.cpp
+bbddz
+ddz2
+djddz
+
@source:sega/angelkds.cpp
angelkds
spcpostn
diff --git a/src/mame/misc/xtom3d.cpp b/src/mame/misc/xtom3d.cpp
index d714f134d9b..e479ac7a535 100644
--- a/src/mame/misc/xtom3d.cpp
+++ b/src/mame/misc/xtom3d.cpp
@@ -661,8 +661,8 @@ void xtom3d_state::romdisk_config(device_t *device)
void xtom3d_state::piu10_config(device_t *device)
{
isa16_piu10 &piu10 = *downcast<isa16_piu10 *>(device);
- piu10.add_route(0, ":lmicrophone", 0.25);
- piu10.add_route(1, ":rmicrophone", 0.25);
+ piu10.add_route(0, ":microphone", 0.25, 0);
+ piu10.add_route(1, ":microphone", 0.25, 1);
}
// TODO: unverified PCI config space
@@ -728,16 +728,15 @@ void xtom3d_state::xtom3d(machine_config &config)
// TODO: stub for drive options (speed/drive type etc.)
static void cdrom_config(device_t *device)
{
- device->subdevice<cdda_device>("cdda")->add_route(0, ":lmicrophone", 0.25);
- device->subdevice<cdda_device>("cdda")->add_route(1, ":rmicrophone", 0.25);
+ device->subdevice<cdda_device>("cdda")->add_route(0, ":microphone", 0.25, 0);
+ device->subdevice<cdda_device>("cdda")->add_route(1, ":microphone", 0.25, 1);
}
void xtom3d_state::pumpitup(machine_config &config)
{
xtom3d(config);
- SPEAKER(config, "lmicrophone").front_left();
- SPEAKER(config, "rmicrophone").front_right();
+ SPEAKER(config, "microphone", 2).front();
m_pci_ide->subdevice<bus_master_ide_controller_device>("ide1")->slot(0).set_default_option("cdrom");
m_pci_ide->subdevice<bus_master_ide_controller_device>("ide1")->slot(0).set_option_machine_config("cdrom", cdrom_config);
diff --git a/src/mame/nec/pc9801.cpp b/src/mame/nec/pc9801.cpp
index c9e7bcb0211..641d6426563 100644
--- a/src/mame/nec/pc9801.cpp
+++ b/src/mame/nec/pc9801.cpp
@@ -2343,14 +2343,13 @@ void pc9801_state::pc9801_sasi(machine_config &config)
void pc9801vm_state::cdrom_headphones(device_t *device)
{
cdda_device *cdda = device->subdevice<cdda_device>("cdda");
- cdda->add_route(0, "^^lheadphone", 1.0);
- cdda->add_route(1, "^^rheadphone", 1.0);
+ cdda->add_route(0, "^^headphone", 1.0, 0);
+ cdda->add_route(1, "^^headphone", 1.0, 1);
}
void pc9801vm_state::pc9801_ide(machine_config &config)
{
- SPEAKER(config, "lheadphone").front_left();
- SPEAKER(config, "rheadphone").front_right();
+ SPEAKER(config, "headphone", 2).front();
ATA_INTERFACE(config, m_ide[0]).options(ata_devices, "hdd", nullptr, false);
m_ide[0]->irq_handler().set("ideirq", FUNC(input_merger_device::in_w<0>));
ATA_INTERFACE(config, m_ide[1]).options(pc9801_atapi_devices, "pc98_cd", nullptr, false);
diff --git a/src/mame/pinball/macp.cpp b/src/mame/pinball/macp.cpp
index 9ae7e1ae167..3805fa57246 100644
--- a/src/mame/pinball/macp.cpp
+++ b/src/mame/pinball/macp.cpp
@@ -363,20 +363,20 @@ void macp_state::mac16k(machine_config &config)
genpin_audio(config);
//2x AY8910
- SPEAKER(config, "lspkr").front_left();
+ SPEAKER(config, "speaker", 2).front();
+
AY8910(config, m_ay8910[0], 3'800'000/2);
m_ay8910[0]->set_resistors_load(10e3,10e3,10e3);
m_ay8910[0]->port_a_write_callback().set(FUNC(macp_state::ay0_a_w));
m_ay8910[0]->port_b_write_callback().set(FUNC(macp_state::ay0_b_w));
- m_ay8910[0]->add_route(ALL_OUTPUTS, "lspkr", 0.50);
+ m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 0.50, 0);
- SPEAKER(config, "rspkr").front_right();
AY8910(config, m_ay8910[1], 3'800'000/2);
m_ay8910[1]->set_resistors_load(10e3,10e3,10e3);
m_ay8910[1]->port_a_write_callback().set(FUNC(macp_state::ay1_a_w));
m_ay8910[1]->port_b_write_callback().set(FUNC(macp_state::ay1_b_w));
m_ay8910[1]->port_b_read_callback().set(FUNC(macp_state::ay1_b_r));
- m_ay8910[1]->add_route(ALL_OUTPUTS, "rspkr", 0.50);
+ m_ay8910[1]->add_route(ALL_OUTPUTS, "speaker", 0.50, 1);
}
void macp_state::mac32k(machine_config &config)
diff --git a/src/mame/sealy/sealy_z80.cpp b/src/mame/sealy/sealy_z80.cpp
new file mode 100644
index 00000000000..d813a9fec74
--- /dev/null
+++ b/src/mame/sealy/sealy_z80.cpp
@@ -0,0 +1,255 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+Sealy Z80-based games
+
+Main components:
+Z80C0006PEC or equivalent
+12.000 MHz XTAL
+6264 RAM (manufacturer and latency may vary)
+62256 RAM (manufacturer and latency may vary)
+Altera MAX EPM3256AOC208-10
+93C46 EEPROM
+U6295 (Oki M6295 clone)
+
+TODO:
+- program ROMs are encrypted
+- GFX ROMs seem encrypted
+*/
+
+
+#include "emu.h"
+#include "cpu/z80/z80.h"
+#include "machine/eepromser.h"
+#include "sound/okim6295.h"
+
+#include "emupal.h"
+#include "screen.h"
+#include "speaker.h"
+#include "tilemap.h"
+
+
+namespace {
+
+class sealy_z80_state : public driver_device
+{
+public:
+ sealy_z80_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void sealy(machine_config &config) ATTR_COLD;
+
+ void init_djddz() ATTR_COLD;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ void program_map(address_map &map) ATTR_COLD;
+};
+
+
+uint32_t sealy_z80_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+
+void sealy_z80_state::program_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+}
+
+
+static INPUT_PORTS_START( djddz ) // TODO
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+// no DIP switches, just one reset push button
+INPUT_PORTS_END
+
+
+static GFXDECODE_START( gfx ) // TODO
+GFXDECODE_END
+
+
+void sealy_z80_state::sealy(machine_config &config)
+{
+ Z80(config, m_maincpu, 12_MHz_XTAL / 2); // divider not verified, but part rated for 6 MHz
+ m_maincpu->set_addrmap(AS_PROGRAM, &sealy_z80_state::program_map);
+
+ EEPROM_93C46_8BIT(config, "eeprom");
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0, 256-1);
+ screen.set_screen_update(FUNC(sealy_z80_state::screen_update));
+
+ GFXDECODE(config, "gfxdecode", "palette", gfx);
+ PALETTE(config, "palette").set_entries(0x100); // TODO
+
+ SPEAKER(config, "mono").front_center();
+ OKIM6295(config, "oki", 12_MHz_XTAL / 12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin 7 not verified
+}
+
+
+// 百变斗地主 (Bǎi Biàn Dòu Dìzhǔ). All labels have 百变斗地主
+ROM_START( bbddz )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD( "u7", 0x00000, 0x20000, CRC(d82df292) SHA1(f354a3d9b29abb61a447d507b37d28f49983e59d) ) // 27c1001a
+
+ ROM_REGION( 0x200000, "gfx1", 0 )
+ ROM_LOAD( "u15", 0x000000, 0x200000, CRC(937e9e76) SHA1(95907ddadc2bf260d88a391ab1f61e8931ec7cc3) ) // 29f1611
+
+ ROM_REGION( 0x200000, "gfx2", 0 )
+ ROM_LOAD( "u13", 0x000000, 0x200000, CRC(1ee033bb) SHA1(14ab0702e17add44dfc82ce21dd5a37c05a1b2a2) ) // 29f1611
+
+ ROM_REGION( 0x80000, "oki", 0 )
+ ROM_LOAD( "u9", 0x00000, 0x80000, NO_DUMP ) // 29f040
+
+ ROM_REGION( 0x80, "eeprom", ROMREGION_ERASE00 )
+ ROM_LOAD( "93c46", 0x00, 0x80, NO_DUMP )
+ROM_END
+
+// 斗地主Ⅱ (Dòu Dìzhǔ II). All labels prepend 斗地主Ⅱ to what's below
+ROM_START( ddz2 )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD( "3.u11", 0x00000, 0x20000, CRC(01cbe7a5) SHA1(f46339bec4e898afaa78831632cea4013877258d) ) // 27c4010
+
+ ROM_REGION( 0x200000, "gfx1", 0 )
+ ROM_LOAD( "1.u18", 0x000000, 0x200000, CRC(200ece45) SHA1(ab9b19464850c9e75646e382334a5d28a360195c) ) // 27c4096
+
+ ROM_REGION( 0x200000, "gfx2", 0 )
+ ROM_LOAD( "2.u21", 0x000000, 0x200000, CRC(c62be0a4) SHA1(1cbfecba43b475f1a175f69fda498e662ac26720) ) // 27c4096
+
+ ROM_REGION( 0x80000, "oki", ROMREGION_ERASE00 )
+ ROM_LOAD( "4.u23", 0x00000, 0x80000, NO_DUMP )
+
+ ROM_REGION( 0x80, "eeprom", ROMREGION_ERASE00 )
+ ROM_LOAD( "93c46", 0x00, 0x80, NO_DUMP )
+ROM_END
+
+// 顶级斗地主 (Dǐngjí Dòu Dìzhǔ). All labels prepend 顶级斗地主 to what's below
+ROM_START( djddz )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD( "3.u11", 0x00000, 0x20000, CRC(54abc7a0) SHA1(25494e0862aa6b03398270efe2a3659180be38ec) ) // 27c010
+
+ ROM_REGION( 0x200000, "gfx1", 0 )
+ ROM_LOAD( "1.u18", 0x000000, 0x200000, CRC(6fa8f11e) SHA1(731f90a929b5b638fa45de24918df6377136276d) ) // 27c4096, FIXED BITS (xxxxxxxx0xxxxxxx)
+
+ ROM_REGION( 0x200000, "gfx2", 0 )
+ ROM_LOAD( "2.u21", 0x000000, 0x200000, CRC(74997b0f) SHA1(1c2b0aeaf71fa000856b8aa405d7853f8e652257) ) // 27c4096
+
+ ROM_REGION( 0x80000, "oki", 0 )
+ ROM_LOAD( "4.u23", 0x00000, 0x80000, CRC(249b1a34) SHA1(94af1a9c64fb7d06a7510d527c176b2fa6845885) ) // 27c020
+
+ ROM_REGION( 0x80, "eeprom", ROMREGION_ERASE00 )
+ ROM_LOAD( "93c46", 0x00, 0x80, NO_DUMP )
+ROM_END
+
+
+void sealy_z80_state::init_djddz() // TODO: not enough
+{
+ uint8_t *rom = memregion("maincpu")->base();
+
+ for (int i = 0; i < 0x20000; i++)
+ {
+ switch (i & 0x14ca)
+ {
+ case 0x0000: rom[i] ^= 0xc0; break;
+ case 0x0002: rom[i] ^= 0x41; break;
+ case 0x0008: rom[i] ^= 0xc0; break;
+ case 0x000a: rom[i] ^= 0x30; break;
+ case 0x0040: rom[i] ^= 0x64; break;
+ case 0x0042: rom[i] ^= 0x41; break;
+ case 0x0048: rom[i] ^= 0x30; break;
+ case 0x004a: rom[i] ^= 0x41; break;
+ case 0x0080: rom[i] ^= 0x30; break;
+ case 0x0082: rom[i] ^= 0x81; break;
+ case 0x0088: rom[i] ^= 0x41; break;
+ case 0x008a: rom[i] ^= 0x64; break;
+ case 0x00c0: rom[i] ^= 0x30; break;
+ case 0x00c2: rom[i] ^= 0x81; break;
+ case 0x00c8: rom[i] ^= 0x41; break;
+ case 0x00ca: rom[i] ^= 0x30; break;
+ case 0x0400: rom[i] ^= 0xc0; break;
+ case 0x0402: rom[i] ^= 0x30; break;
+ case 0x0408: rom[i] ^= 0x81; break;
+ case 0x040a: rom[i] ^= 0xc0; break;
+ case 0x0440: rom[i] ^= 0x64; break;
+ case 0x0442: rom[i] ^= 0x41; break;
+ case 0x0448: rom[i] ^= 0x64; break;
+ case 0x044a: rom[i] ^= 0x81; break;
+ case 0x0480: rom[i] ^= 0x41; break;
+ case 0x0482: rom[i] ^= 0x81; break;
+ case 0x0488: rom[i] ^= 0x30; break;
+ case 0x048a: rom[i] ^= 0xc0; break;
+ case 0x04c0: rom[i] ^= 0x64; break;
+ case 0x04c2: rom[i] ^= 0x81; break;
+ case 0x04c8: rom[i] ^= 0xc0; break;
+ case 0x04ca: rom[i] ^= 0x64; break;
+ case 0x1000: rom[i] ^= 0x30; break;
+ case 0x1002: rom[i] ^= 0x81; break;
+ case 0x1008: rom[i] ^= 0xc0; break;
+ case 0x100a: rom[i] ^= 0x64; break;
+ case 0x1040: rom[i] ^= 0xc0; break;
+ case 0x1042: rom[i] ^= 0x30; break;
+ case 0x1048: rom[i] ^= 0x81; break;
+ case 0x104a: rom[i] ^= 0x41; break;
+ case 0x1080: rom[i] ^= 0x81; break;
+ case 0x1082: rom[i] ^= 0x64; break;
+ case 0x1088: rom[i] ^= 0xc0; break;
+ case 0x108a: rom[i] ^= 0x41; break;
+ case 0x10c0: rom[i] ^= 0x30; break;
+ case 0x10c2: rom[i] ^= 0x64; break;
+ case 0x10c8: rom[i] ^= 0x81; break;
+ case 0x10ca: rom[i] ^= 0x64; break;
+ case 0x1400: rom[i] ^= 0x41; break;
+ case 0x1402: rom[i] ^= 0xc0; break;
+ case 0x1408: rom[i] ^= 0x41; break;
+ case 0x140a: rom[i] ^= 0x81; break;
+ case 0x1440: rom[i] ^= 0x30; break;
+ case 0x1442: rom[i] ^= 0xc0; break;
+ case 0x1448: rom[i] ^= 0x41; break;
+ case 0x144a: rom[i] ^= 0x64; break;
+ case 0x1480: rom[i] ^= 0xc0; break;
+ case 0x1482: rom[i] ^= 0x81; break;
+ case 0x1488: rom[i] ^= 0x30; break;
+ case 0x148a: rom[i] ^= 0xc0; break;
+ case 0x14c0: rom[i] ^= 0x41; break;
+ case 0x14c2: rom[i] ^= 0x64; break;
+ case 0x14c8: rom[i] ^= 0x30; break;
+ case 0x14ca: rom[i] ^= 0x81; break;
+ }
+ }
+}
+
+} // anonymous namespace
+
+
+GAME( 200?, bbddz, 0, sealy, djddz, sealy_z80_state, init_djddz, ROT0, "Sealy", "Bai Bian Dou Dizhu", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
+GAME( 200?, ddz2, 0, sealy, djddz, sealy_z80_state, empty_init, ROT0, "Sealy", "Dou Dizhu II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
+GAME( 200?, djddz, 0, sealy, djddz, sealy_z80_state, init_djddz, ROT0, "Sealy", "Dingji Dou Dizhu", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
diff --git a/src/mame/skeleton/alesis_qs.cpp b/src/mame/skeleton/alesis_qs.cpp
index af28367e06e..73fe9aa2683 100644
--- a/src/mame/skeleton/alesis_qs.cpp
+++ b/src/mame/skeleton/alesis_qs.cpp
@@ -71,11 +71,10 @@ void qs_state::qs7(machine_config &config)
//TODO: add LCD display controller here
/* sound hardware */
- //SPEAKER(config, "left").front_left();
- //SPEAKER(config, "right").front_right();
+ //SPEAKER(config, "speaker", 2).front();
//alesis_qs_series_device &sound(ALESIS_QS_SERIES(config, "sound", SND_CLOCK));
- //sound.add_route(0, "left", 1.0);
- //sound.add_route(1, "right", 1.0);
+ //sound.add_route(0, "speaker", 1.0, 0);
+ //sound.add_route(1, "speaker", 1.0, 1);
/* Interfaces */
//PCMCIA
diff --git a/src/mame/sunwise/jankmg2.cpp b/src/mame/sunwise/jankmg2.cpp
index 4195277eecf..330415391ed 100644
--- a/src/mame/sunwise/jankmg2.cpp
+++ b/src/mame/sunwise/jankmg2.cpp
@@ -2,7 +2,7 @@
// copyright-holders:
/*
-Janken Man 2
+Ganso Janken Man 2
'S9405021 CPU-DM-NEW' PCB
Z0840004PSC
@@ -164,4 +164,4 @@ ROM_END
} // anonymous namespace
// title machine translated from auction, not verified
-GAME( 199?, jankmg2, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Janken Man Ganso 2", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+GAME( 199?, jankmg2, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man 2", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
diff --git a/src/mame/tvgames/generalplus_gp327902.cpp b/src/mame/tvgames/generalplus_gp327902.cpp
index 6b142d7c26a..b9ca53e121e 100644
--- a/src/mame/tvgames/generalplus_gp327902.cpp
+++ b/src/mame/tvgames/generalplus_gp327902.cpp
@@ -133,8 +133,7 @@ void generalplus_gp327902_game_state::gp327902(machine_config &config)
m_screen->set_visarea(0, 320-1, 0, 240-1);
m_screen->set_screen_update(FUNC(generalplus_gp327902_game_state::screen_update_gp327902));
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ SPEAKER(config, "speaker", 2).front();
TIMER(config, "timer").configure_periodic(FUNC(generalplus_gp327902_game_state::timer), attotime::from_hz(1000));
}
diff --git a/src/mame/tvgames/generalplus_gpm453x_nand.cpp b/src/mame/tvgames/generalplus_gpm453x_nand.cpp
index 124e4825bda..90daafa1b53 100644
--- a/src/mame/tvgames/generalplus_gpm453x_nand.cpp
+++ b/src/mame/tvgames/generalplus_gpm453x_nand.cpp
@@ -91,8 +91,7 @@ void generalplus_gpm453x_game_state::gpm453x(machine_config &config)
m_screen->set_visarea(0, 320-1, 0, 240-1);
m_screen->set_screen_update(FUNC(generalplus_gpm453x_game_state::screen_update));
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ SPEAKER(config, "speaker", 2).front();
}
ROM_START( leapland )