summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2diskiing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2diskiing.cpp')
-rw-r--r--src/devices/bus/a2bus/a2diskiing.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/devices/bus/a2bus/a2diskiing.cpp b/src/devices/bus/a2bus/a2diskiing.cpp
index 72051c191a9..9ce3a0df64c 100644
--- a/src/devices/bus/a2bus/a2diskiing.cpp
+++ b/src/devices/bus/a2bus/a2diskiing.cpp
@@ -117,7 +117,8 @@ a2bus_diskiing13_device::a2bus_diskiing13_device(const machine_config &mconfig,
}
a2bus_applesurance_device::a2bus_applesurance_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- diskiing_device(mconfig, A2BUS_APPLESURANCE, tag, owner, clock)
+ diskiing_device(mconfig, A2BUS_APPLESURANCE, tag, owner, clock),
+ m_c800_bank(1)
{
}
@@ -170,5 +171,21 @@ uint8_t a2bus_applesurance_device::read_cnxx(uint8_t offset)
uint8_t a2bus_applesurance_device::read_c800(uint16_t offset)
{
+ if (offset == 0x7ff)
+ {
+ m_c800_bank = 1;
+ }
+
+ if (!m_c800_bank)
+ {
+ return m_rom[offset];
+ }
+
return m_rom[offset+0x800];
}
+
+void a2bus_applesurance_device::device_reset()
+{
+ m_c800_bank = 1;
+ diskiing_device::device_reset();
+}