summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/naomi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/naomi.c')
-rw-r--r--src/mame/machine/naomi.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/mame/machine/naomi.c b/src/mame/machine/naomi.c
index 369ddefa22e..56e78f28e60 100644
--- a/src/mame/machine/naomi.c
+++ b/src/mame/machine/naomi.c
@@ -192,7 +192,6 @@ DRIVER_INIT_MEMBER(naomi_state,naomi)
{
//m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this); // rev e bios
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios
- jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
create_pic_from_retdat();
@@ -201,18 +200,35 @@ DRIVER_INIT_MEMBER(naomi_state,naomi)
DRIVER_INIT_MEMBER(naomi_state,naomi2)
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi2_biose_idle_skip_r),this)); // rev e bios
- jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
create_pic_from_retdat();
}
+INPUT_CHANGED_MEMBER(naomi_state::naomi_mp_w)
+{
+ m_mp_mux = newval;
+}
+CUSTOM_INPUT_MEMBER(naomi_state::naomi_mp_r)
+{
+ const char *tagptr = (const char *)param;
+ UINT8 retval = 0;
+
+ for (int i = 0x80; i >= 0x08; i >>= 1)
+ {
+ if (m_mp_mux & i)
+ retval |= ioport(tagptr)->read_safe(0);
+ tagptr += strlen(tagptr) + 1;
+ }
+ return retval;
+}
+
DRIVER_INIT_MEMBER(naomi_state,naomi_mp)
{
//m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this); // rev e bios
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios
- jvsboard_type = JVSBD_MAHJONG;
actel_id = 0xffff;
+ m_mp_mux = 0;
create_pic_from_retdat();
}
@@ -221,7 +237,6 @@ DRIVER_INIT_MEMBER(naomi_state,naomigd)
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this)); // rev e bios
//m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios
- jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
create_pic_from_retdat();
@@ -231,8 +246,8 @@ DRIVER_INIT_MEMBER(naomi_state,naomigd_mp)
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this)); // rev e bios
//m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios
- jvsboard_type = JVSBD_MAHJONG;
actel_id = 0xffff;
+ m_mp_mux = 0;
create_pic_from_retdat();
}