From 61d68d14fef01881b836c493df11f22a1cd30b53 Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Tue, 19 Aug 2014 02:19:11 +0000 Subject: [PATCH] (MESS) Apple II: hook up ACIAs for Laser 128 series, remove cassette for IIc and Laser. [R. Belmont] --- src/mess/drivers/apple2.c | 3 +++ src/mess/machine/apple2.c | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/mess/drivers/apple2.c b/src/mess/drivers/apple2.c index e42c75c6e2b..a3acf0f64ac 100644 --- a/src/mess/drivers/apple2.c +++ b/src/mess/drivers/apple2.c @@ -1204,6 +1204,9 @@ static MACHINE_CONFIG_DERIVED( apple2c, apple2ee ) MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2c) MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2c) + // IIc and friends have no cassette port + MCFG_DEVICE_REMOVE("cassette") + MCFG_A2BUS_SLOT_REMOVE("sl1") // IIc has no slots, of course :) MCFG_A2BUS_SLOT_REMOVE("sl2") MCFG_A2BUS_SLOT_REMOVE("sl3") diff --git a/src/mess/machine/apple2.c b/src/mess/machine/apple2.c index 03c12125a35..a0d3bab8ea8 100644 --- a/src/mess/machine/apple2.c +++ b/src/mess/machine/apple2.c @@ -347,7 +347,7 @@ READ8_MEMBER(apple2_state::apple2_c080_r) offset &= 0x7F; slot = offset / 0x10; - if ((m_machinetype == APPLE_IIC) || (m_machinetype == APPLE_IICPLUS)) + if ((m_machinetype == APPLE_IIC) || (m_machinetype == APPLE_IICPLUS) || (m_machinetype == LASER128)) { if (slot == 1) { @@ -366,7 +366,8 @@ READ8_MEMBER(apple2_state::apple2_c080_r) } } } - else if ((m_machinetype == LASER128) && (slot == 6)) + + if ((m_machinetype == LASER128) && (slot == 6)) { offset &= 0xf; return m_laserudc->read(offset); @@ -394,7 +395,7 @@ WRITE8_MEMBER(apple2_state::apple2_c080_w) offset &= 0x7F; slot = offset / 0x10; - if ((m_machinetype == APPLE_IIC) || (m_machinetype == APPLE_IICPLUS)) + if ((m_machinetype == APPLE_IIC) || (m_machinetype == APPLE_IICPLUS) || (m_machinetype == LASER128)) { if (slot == 1) { @@ -415,7 +416,8 @@ WRITE8_MEMBER(apple2_state::apple2_c080_w) } } } - else if ((m_machinetype == LASER128) && (slot == 6)) + + if ((m_machinetype == LASER128) && (slot == 6)) { offset &= 0xf; m_laserudc->write(space, offset, data);