Added 2 slots for cbus, now you can load two sound boards at once

This commit is contained in:
Angelo Salese 2012-12-25 19:22:34 +00:00
parent baa42bd580
commit 3d66173eed
4 changed files with 30 additions and 24 deletions

View File

@ -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

View File

@ -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?
}

View File

@ -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) );
}

View File

@ -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) );
}