diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c index 5c099c59bff..194c701a568 100644 --- a/src/mess/drivers/pc9801.c +++ b/src/mess/drivers/pc9801.c @@ -69,7 +69,6 @@ - Absolutely Mahjong: Transitions are too fast. - Agumix Selects!: needs GDC = 5 MHz, interlace doesn't work properly; - Alice no Yakata: doesn't set bitmap interlace properly, can't do disk swaps via the File Manager; - - Animahjong V3: accesses port 0x88; - Anniversary - Memories of Summer: thinks that a button is pressed; - Another Genesis: fails loading; - Apple Club 1: how to pass an hand? @@ -82,7 +81,7 @@ - Bakasuka Wars: drawing seems busted (either mouse or upd7220) - Band-Kun: (how to run this without installing?) - Battle Chess: wants some dip-switches to be on in DSW4, too slow during IA thinking? - - Bishoujo Audition: Moans with a "(program) ended. remove the floppy disk and turn off the poewr." + - Bishoujo Audition: Moans with a "(program) ended. remove the floppy disk and turn off the power." - Bishoujo Hunter ZX: Doesn't color cycle at intro (seems stuck?), doesn't clear text selection at new game screen; - Bishoujo Shanshinkan: has white rectangles all over the place; - Bishoujo Tsuushin: hangs with a beep while writing some intro text; @@ -104,6 +103,7 @@ - Policenauts: EMS error at boot; Notes: + - Animahjong V3 is your typical game with dual sound board support (generally OPN is used for SFX / samples and OPNA for BGM). - Apple Club 1/2 needs data disks to load properly; - Beast Lord: needs a titan.fnt, in MS-DOS @@ -3736,7 +3736,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( pc9801_cbus ) MCFG_PC9801CBUS_SLOT_ADD("cbus0", pc9801_cbus, "pc9801_26", NULL) -// MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus, NULL, NULL) + MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus, NULL, NULL) // TODO: six max slots MACHINE_CONFIG_END diff --git a/src/mess/machine/pc9801_118.c b/src/mess/machine/pc9801_118.c index ef434048935..f7c916a8bcd 100644 --- a/src/mess/machine/pc9801_118.c +++ b/src/mess/machine/pc9801_118.c @@ -6,6 +6,7 @@ TODO: - preliminary, presumably needs CS-4231 too + - joystick code should be shared between -26, -86 and -118 ***************************************************************************/ @@ -96,10 +97,10 @@ static INPUT_PORTS_START( pc9801_118 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Joystick Button 2") PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) -// PORT_START("OPN_DSW") -// PORT_CONFNAME( 0x01, 0x01, "PC-9801-118: Port Base" ) -// PORT_CONFSETTING( 0x00, "0x088" ) -// PORT_CONFSETTING( 0x01, "0x188" ) + PORT_START("OPN3_DSW") + PORT_CONFNAME( 0x01, 0x00, "PC-9801-118: Port Base" ) + PORT_CONFSETTING( 0x00, "0x088" ) + PORT_CONFSETTING( 0x01, "0x188" ) INPUT_PORTS_END ioport_constructor pc9801_118_device::device_input_ports() const @@ -170,9 +171,6 @@ void pc9801_118_device::install_device(offs_t start, offs_t end, offs_t mask, of void pc9801_118_device::device_start() { - UINT16 port_base = 0x100;//(ioport("OPN_DSW")->read() & 1) << 8; - install_device(port_base + 0x0088, port_base + 0x008f, 0, 0, read8_delegate(FUNC(pc9801_118_device::pc9801_118_r), this), write8_delegate(FUNC(pc9801_118_device::pc9801_118_w), this) ); - install_device(0xa460, 0xa463, 0, 0, read8_delegate(FUNC(pc9801_118_device::pc9801_118_ext_r), this), write8_delegate(FUNC(pc9801_118_device::pc9801_118_ext_w), this) ); } @@ -182,6 +180,9 @@ void pc9801_118_device::device_start() void pc9801_118_device::device_reset() { + UINT16 port_base = (ioport("OPN3_DSW")->read() & 1) << 8; + install_device(port_base + 0x0088, port_base + 0x008f, 0, 0, read8_delegate(FUNC(pc9801_118_device::pc9801_118_r), this), write8_delegate(FUNC(pc9801_118_device::pc9801_118_w), this) ); + install_device(0xa460, 0xa463, 0, 0, read8_delegate(FUNC(pc9801_118_device::pc9801_118_ext_r), this), write8_delegate(FUNC(pc9801_118_device::pc9801_118_ext_w), this) ); m_ext_reg = 1; // TODO: enabled or disabled? } diff --git a/src/mess/machine/pc9801_26.c b/src/mess/machine/pc9801_26.c index 5d4189ef9c7..0bf55d866d9 100644 --- a/src/mess/machine/pc9801_26.c +++ b/src/mess/machine/pc9801_26.c @@ -4,6 +4,9 @@ Legacy sound card for PC-98xx family, composed by a single YM2203 + TODO: + - joystick code should be shared between -26, -86 and -118 + ***************************************************************************/ #include "emu.h" @@ -96,10 +99,10 @@ static INPUT_PORTS_START( pc9801_26 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) -// PORT_START("OPN_DSW") -// PORT_CONFNAME( 0x01, 0x01, "PC-9801-26: Port Base" ) -// PORT_CONFSETTING( 0x00, "0x088" ) -// PORT_CONFSETTING( 0x01, "0x188" ) + PORT_START("OPN_DSW") + PORT_CONFNAME( 0x01, 0x01, "PC-9801-26: Port Base" ) + PORT_CONFSETTING( 0x00, "0x088" ) + PORT_CONFSETTING( 0x01, "0x188" ) INPUT_PORTS_END ioport_constructor pc9801_26_device::device_input_ports() const @@ -160,8 +163,7 @@ void pc9801_26_device::install_device(offs_t start, offs_t end, offs_t mask, off void pc9801_26_device::device_start() { - UINT16 port_base = 0x100;//(ioport("OPN_DSW")->read() & 1) << 8; - install_device(port_base + 0x0088, port_base + 0x008b, 0, 0, read8_delegate(FUNC(pc9801_26_device::pc9801_26_r), this), write8_delegate(FUNC(pc9801_26_device::pc9801_26_w), this) ); + } @@ -171,6 +173,8 @@ void pc9801_26_device::device_start() void pc9801_26_device::device_reset() { + UINT16 port_base = (ioport("OPN_DSW")->read() & 1) << 8; + install_device(port_base + 0x0088, port_base + 0x008b, 0, 0, read8_delegate(FUNC(pc9801_26_device::pc9801_26_r), this), write8_delegate(FUNC(pc9801_26_device::pc9801_26_w), this) ); } diff --git a/src/mess/machine/pc9801_86.c b/src/mess/machine/pc9801_86.c index 2d70bc417d6..4971432e588 100644 --- a/src/mess/machine/pc9801_86.c +++ b/src/mess/machine/pc9801_86.c @@ -6,7 +6,7 @@ YM2203 TODO: - - i/o port base jumper + - joystick code should be shared between -26, -86 and -118 ***************************************************************************/ @@ -107,10 +107,10 @@ static INPUT_PORTS_START( pc9801_86 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Joystick Button 2") PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) -// PORT_START("OPN_DSW") -// PORT_CONFNAME( 0x01, 0x01, "PC-9801-86: Port Base" ) -// PORT_CONFSETTING( 0x00, "0x088" ) -// PORT_CONFSETTING( 0x01, "0x188" ) + PORT_START("OPNA_DSW") + PORT_CONFNAME( 0x01, 0x00, "PC-9801-86: Port Base" ) + PORT_CONFSETTING( 0x00, "0x088" ) + PORT_CONFSETTING( 0x01, "0x188" ) INPUT_PORTS_END ioport_constructor pc9801_86_device::device_input_ports() const @@ -171,9 +171,6 @@ void pc9801_86_device::install_device(offs_t start, offs_t end, offs_t mask, off void pc9801_86_device::device_start() { - UINT16 port_base = 0x100;//(ioport("OPN_DSW")->read() & 1) << 8; - install_device(port_base + 0x0088, port_base + 0x008f, 0, 0, read8_delegate(FUNC(pc9801_86_device::pc9801_86_r), this), write8_delegate(FUNC(pc9801_86_device::pc9801_86_w), this) ); -// install_device(0xa460, 0xa463, 0, 0, read8_delegate(FUNC(pc9801_86_device::pc9801_86_ext_r), this), write8_delegate(FUNC(pc9801_86_device::pc9801_86_ext_w), this) ); } @@ -184,6 +181,10 @@ void pc9801_86_device::device_start() void pc9801_86_device::device_reset() { + UINT16 port_base = (ioport("OPNA_DSW")->read() & 1) << 8; + install_device(port_base + 0x0088, port_base + 0x008f, 0, 0, read8_delegate(FUNC(pc9801_86_device::pc9801_86_r), this), write8_delegate(FUNC(pc9801_86_device::pc9801_86_w), this) ); +// install_device(0xa460, 0xa463, 0, 0, read8_delegate(FUNC(pc9801_86_device::pc9801_86_ext_r), this), write8_delegate(FUNC(pc9801_86_device::pc9801_86_ext_w), this) ); + }