summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/r10696.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/r10696.c')
-rw-r--r--src/emu/machine/r10696.c202
1 files changed, 101 insertions, 101 deletions
diff --git a/src/emu/machine/r10696.c b/src/emu/machine/r10696.c
index 50191c0ede7..7dca19866f6 100644
--- a/src/emu/machine/r10696.c
+++ b/src/emu/machine/r10696.c
@@ -34,7 +34,7 @@
#include "emu.h"
#include "machine/r10696.h"
-#define VERBOSE 1
+#define VERBOSE 1
#if VERBOSE
#define LOG(x) logerror x
#else
@@ -50,9 +50,9 @@
const device_type R10696 = &device_creator<r10696_device>;
r10696_device::r10696_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, R10696, "Rockwell 10696", tag, owner, clock, "r10696", __FILE__),
- m_io_a(0), m_io_b(0), m_io_c(0),
- m_iord(*this), m_iowr(*this)
+ : device_t(mconfig, R10696, "Rockwell 10696", tag, owner, clock, "r10696", __FILE__),
+ m_io_a(0), m_io_b(0), m_io_c(0),
+ m_iord(*this), m_iowr(*this)
{
}
@@ -61,12 +61,12 @@ r10696_device::r10696_device(const machine_config &mconfig, const char *tag, dev
*/
void r10696_device::device_start()
{
- m_iord.resolve();
- m_iowr.resolve();
+ m_iord.resolve();
+ m_iowr.resolve();
- save_item(NAME(m_io_a));
- save_item(NAME(m_io_b));
- save_item(NAME(m_io_c));
+ save_item(NAME(m_io_a));
+ save_item(NAME(m_io_b));
+ save_item(NAME(m_io_c));
}
/**
@@ -87,101 +87,101 @@ void r10696_device::device_reset()
WRITE8_MEMBER( r10696_device::io_w )
{
- assert(offset < 16);
- const UINT8 io_a = m_io_a;
- const UINT8 io_b = m_io_b;
- const UINT8 io_c = m_io_c;
- switch (offset)
- {
- case 0x0A: // Read Group A
- case 0x09: // Read Group B
- case 0x03: // Read Group C
- case 0x00: // Read Groups A | B | C
- case 0x01: // Read Groups B | C
- case 0x02: // Read Groups A | C
- case 0x08: // Read Groups A | B
- break;
-
- case 0x0E: // Set Group A
- m_io_a = data & 0x0f;
- break;
- case 0x0D: // Set Group B
- m_io_b = data & 0x0f;
- break;
- case 0x07: // Set Group C
- m_io_c = data & 0x0f;
- break;
- case 0x04: // Set Groups A, B and C
- m_io_a = m_io_b = m_io_c = data & 0x0f;
- break;
- case 0x05: // Set Groups B and C
- m_io_b = m_io_c = data & 0x0f;
- break;
- case 0x06: // Set Groups A and C
- m_io_a = m_io_c = data & 0x0f;
- break;
- case 0x0C: // Set Groups A and B
- m_io_a = m_io_b = data & 0x0f;
- break;
- }
- if (io_a != m_io_a)
- m_iowr(0, m_io_a, 0x0f);
- if (io_b != m_io_b)
- m_iowr(1, m_io_b, 0x0f);
- if (io_c != m_io_c)
- m_iowr(2, m_io_c, 0x0f);
+ assert(offset < 16);
+ const UINT8 io_a = m_io_a;
+ const UINT8 io_b = m_io_b;
+ const UINT8 io_c = m_io_c;
+ switch (offset)
+ {
+ case 0x0A: // Read Group A
+ case 0x09: // Read Group B
+ case 0x03: // Read Group C
+ case 0x00: // Read Groups A | B | C
+ case 0x01: // Read Groups B | C
+ case 0x02: // Read Groups A | C
+ case 0x08: // Read Groups A | B
+ break;
+
+ case 0x0E: // Set Group A
+ m_io_a = data & 0x0f;
+ break;
+ case 0x0D: // Set Group B
+ m_io_b = data & 0x0f;
+ break;
+ case 0x07: // Set Group C
+ m_io_c = data & 0x0f;
+ break;
+ case 0x04: // Set Groups A, B and C
+ m_io_a = m_io_b = m_io_c = data & 0x0f;
+ break;
+ case 0x05: // Set Groups B and C
+ m_io_b = m_io_c = data & 0x0f;
+ break;
+ case 0x06: // Set Groups A and C
+ m_io_a = m_io_c = data & 0x0f;
+ break;
+ case 0x0C: // Set Groups A and B
+ m_io_a = m_io_b = data & 0x0f;
+ break;
+ }
+ if (io_a != m_io_a)
+ m_iowr(0, m_io_a, 0x0f);
+ if (io_b != m_io_b)
+ m_iowr(1, m_io_b, 0x0f);
+ if (io_c != m_io_c)
+ m_iowr(2, m_io_c, 0x0f);
}
READ8_MEMBER( r10696_device::io_r )
{
- assert(offset < 16);
- UINT8 io_a, io_b, io_c;
- UINT8 data = 0xf;
- switch (offset)
- {
- case 0x0A: // Read Group A
- io_a = m_iord(0);
- data = io_a & 0x0f;
- break;
- case 0x09: // Read Group B
- io_b = m_iord(1);
- data = io_b & 0x0f;
- break;
- case 0x03: // Read Group C
- io_c = m_iord(2);
- data = io_c & 0x0f;
- break;
- case 0x00: // Read Groups A | B | C
- io_a = m_iord(0);
- io_b = m_iord(1);
- io_c = m_iord(2);
- data = (io_a | io_b | io_a) & 0x0f;
- break;
- case 0x01: // Read Groups B | C
- io_b = m_iord(1);
- io_c = m_iord(2);
- data = (io_b | io_c) & 0x0f;
- break;
- case 0x02: // Read Groups A | C
- io_a = m_iord(0);
- io_c = m_iord(2);
- data = (io_a | io_c) & 0x0f;
- break;
- case 0x08: // Read Groups A | B
- io_a = m_iord(0);
- io_b = m_iord(1);
- data = (io_a | io_b) & 0x0f;
- break;
-
- case 0x0E: // Set Group A
- case 0x0D: // Set Group B
- case 0x07: // Set Group C
- case 0x04: // Set Groups A, B and C
- case 0x05: // Set Groups B and C
- case 0x06: // Set Groups A and C
- case 0x0C: // Set Groups A and B
- break;
- }
- return data;
+ assert(offset < 16);
+ UINT8 io_a, io_b, io_c;
+ UINT8 data = 0xf;
+ switch (offset)
+ {
+ case 0x0A: // Read Group A
+ io_a = m_iord(0);
+ data = io_a & 0x0f;
+ break;
+ case 0x09: // Read Group B
+ io_b = m_iord(1);
+ data = io_b & 0x0f;
+ break;
+ case 0x03: // Read Group C
+ io_c = m_iord(2);
+ data = io_c & 0x0f;
+ break;
+ case 0x00: // Read Groups A | B | C
+ io_a = m_iord(0);
+ io_b = m_iord(1);
+ io_c = m_iord(2);
+ data = (io_a | io_b | io_a) & 0x0f;
+ break;
+ case 0x01: // Read Groups B | C
+ io_b = m_iord(1);
+ io_c = m_iord(2);
+ data = (io_b | io_c) & 0x0f;
+ break;
+ case 0x02: // Read Groups A | C
+ io_a = m_iord(0);
+ io_c = m_iord(2);
+ data = (io_a | io_c) & 0x0f;
+ break;
+ case 0x08: // Read Groups A | B
+ io_a = m_iord(0);
+ io_b = m_iord(1);
+ data = (io_a | io_b) & 0x0f;
+ break;
+
+ case 0x0E: // Set Group A
+ case 0x0D: // Set Group B
+ case 0x07: // Set Group C
+ case 0x04: // Set Groups A, B and C
+ case 0x05: // Set Groups B and C
+ case 0x06: // Set Groups A and C
+ case 0x0C: // Set Groups A and B
+ break;
+ }
+ return data;
}