summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2020-08-24 21:28:49 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2020-08-24 21:49:43 +0100
commitacfb16f1897dd6dcad5534b4cf7b63d440c6d0ca (patch)
treef4f76906a487d748b96f0816d03adad465e7d69b
parentd44d242c69abb791b8da0f24d7ae3b0370c7a456 (diff)
bbc_autocue: Corrected RAM page register.
-rw-r--r--src/devices/bus/bbc/exp/autocue.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/devices/bus/bbc/exp/autocue.cpp b/src/devices/bus/bbc/exp/autocue.cpp
index 8b8e1e5cd71..4c9fa193c3a 100644
--- a/src/devices/bus/bbc/exp/autocue.cpp
+++ b/src/devices/bus/bbc/exp/autocue.cpp
@@ -61,6 +61,10 @@ void bbc_autocue_device::device_start()
/* ram disk - board with 8 x HM62256LFP-12 - 256K expandable to 512K */
m_ram = make_unique_clear<uint8_t[]>(0x40000);
m_nvram->set_base(m_ram.get(), 0x40000);
+
+ /* register for save states */
+ save_item(NAME(m_ram_page));
+ save_pointer(NAME(m_ram), 0x40000);
}
@@ -72,10 +76,9 @@ void bbc_autocue_device::fred_w(offs_t offset, uint8_t data)
{
switch (offset)
{
- case 0xff: m_ram_page = (m_ram_page & 0x00ff) | (data << 8); break;
- case 0xfe: m_ram_page = (m_ram_page & 0xff00) | (data << 0); break;
+ case 0xfe: m_ram_page = (m_ram_page & 0x00ff) | (data << 8); break;
+ case 0xff: m_ram_page = (m_ram_page & 0xff00) | (data << 0); break;
}
- //logerror("Write ram_page=%04x\n", m_ram_page);
}
uint8_t bbc_autocue_device::jim_r(offs_t offset)
@@ -86,13 +89,12 @@ uint8_t bbc_autocue_device::jim_r(offs_t offset)
{
data = m_ram[(m_ram_page << 8) | offset];
}
- //logerror("Read %04x -> %02x\n", offset | 0xfd00, data);
+
return data;
}
void bbc_autocue_device::jim_w(offs_t offset, uint8_t data)
{
- //logerror("Write %04x <- %02x\n", offset | 0xfd00, data);
if (m_ram_page < 0x400)
{
m_ram[(m_ram_page << 8) | offset] = data;