summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/m6502/m5074x.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/m6502/m5074x.c')
-rw-r--r--src/emu/cpu/m6502/m5074x.c189
1 files changed, 94 insertions, 95 deletions
diff --git a/src/emu/cpu/m6502/m5074x.c b/src/emu/cpu/m6502/m5074x.c
index 7c6699f0d7c..fb82c61a5b0 100644
--- a/src/emu/cpu/m6502/m5074x.c
+++ b/src/emu/cpu/m6502/m5074x.c
@@ -9,14 +9,14 @@
// MACROS / CONSTANTS
//**************************************************************************
-#define IRQ_CNTRREQ (0x80)
-#define IRQ_CNTRENA (0x40)
-#define IRQ_TMR1REQ (0x20)
-#define IRQ_TMR1ENA (0x10)
-#define IRQ_TMR2REQ (0x08)
-#define IRQ_TMR2ENA (0x04)
-#define IRQ_INTREQ (0x02)
-#define IRQ_INTENA (0x01)
+#define IRQ_CNTRREQ (0x80)
+#define IRQ_CNTRENA (0x40)
+#define IRQ_TMR1REQ (0x20)
+#define IRQ_TMR1ENA (0x10)
+#define IRQ_TMR2REQ (0x08)
+#define IRQ_TMR2ENA (0x04)
+#define IRQ_INTREQ (0x02)
+#define IRQ_INTENA (0x01)
#define TMRC_TMRXREQ (0x80)
#define TMRC_TMRXENA (0x40)
@@ -64,7 +64,7 @@ void m5074x_device::device_start()
write_p0.resolve_safe();
write_p1.resolve_safe();
write_p2.resolve_safe();
- write_p3.resolve_safe();
+ write_p3.resolve_safe();
for (int i = 0; i < NUM_TIMERS; i++)
{
@@ -243,7 +243,7 @@ void m5074x_device::recalc_timer(int timer)
break;
case 2:
- // Timer X modes: 00 = free run countdown, 01 = invert CNTR pin each time expires,
+ // Timer X modes: 00 = free run countdown, 01 = invert CNTR pin each time expires,
// 10 = count each time CNTR pin inverts, 11 = count when CNTR pin low
if ((m_tmrctrl & TMRC_TMRXMDE) == 0)
{
@@ -291,111 +291,111 @@ void m5074x_device::send_port(address_space &space, UINT8 offset, UINT8 data)
UINT8 m5074x_device::read_port(UINT8 offset)
{
- UINT8 incoming = 0;
+ UINT8 incoming = 0;
- switch (offset)
- {
- case 0:
- incoming = read_p0();
- break;
+ switch (offset)
+ {
+ case 0:
+ incoming = read_p0();
+ break;
- case 1:
- incoming = read_p1();
- break;
+ case 1:
+ incoming = read_p1();
+ break;
- case 2:
- incoming = read_p2();
- break;
+ case 2:
+ incoming = read_p2();
+ break;
- case 3:
- incoming = read_p3();
- break;
- }
+ case 3:
+ incoming = read_p3();
+ break;
+ }
- // apply data direction registers
- incoming &= (m_ddrs[offset] ^ 0xff);
- // OR in ddr-masked version of port writes
- incoming |= (m_ports[offset] & m_ddrs[offset]);
+ // apply data direction registers
+ incoming &= (m_ddrs[offset] ^ 0xff);
+ // OR in ddr-masked version of port writes
+ incoming |= (m_ports[offset] & m_ddrs[offset]);
- return incoming;
+ return incoming;
}
READ8_MEMBER(m5074x_device::ports_r)
{
- switch (offset)
- {
- case 0:
- return read_port(0);
+ switch (offset)
+ {
+ case 0:
+ return read_port(0);
- case 1:
- return m_ddrs[0];
+ case 1:
+ return m_ddrs[0];
- case 2:
- return read_port(1);
+ case 2:
+ return read_port(1);
- case 3:
- return m_ddrs[1];
+ case 3:
+ return m_ddrs[1];
- case 4:
- return read_port(2);
+ case 4:
+ return read_port(2);
- case 5:
- return m_ddrs[2];
+ case 5:
+ return m_ddrs[2];
- case 8:
- return read_port(3);
+ case 8:
+ return read_port(3);
- case 9:
- return m_ddrs[3];
- }
+ case 9:
+ return m_ddrs[3];
+ }
- return 0xff;
+ return 0xff;
}
WRITE8_MEMBER(m5074x_device::ports_w)
{
- switch (offset)
- {
- case 0: // p0
- send_port(space, 0, data & m_ddrs[0]);
- m_ports[0] = data;
- break;
-
- case 1: // p0 ddr
- send_port(space, 0, m_ports[0] & data);
- m_ddrs[0] = data;
- break;
-
- case 2: // p1
- send_port(space, 1, data & m_ddrs[1]);
- m_ports[1] = data;
- break;
-
- case 3: // p1 ddr
- send_port(space, 1, m_ports[1] & data);
- m_ddrs[1] = data;
- break;
-
- case 4: // p2
- send_port(space, 2, data & m_ddrs[2]);
- m_ports[2] = data;
- break;
-
- case 5: // p2 ddr
- send_port(space, 2, m_ports[2] & data);
- m_ddrs[2] = data;
- break;
-
- case 8: // p3
- send_port(space, 3, data & m_ddrs[3]);
- m_ports[3] = data;
- break;
-
- case 9: // p3 ddr
- send_port(space, 3, m_ports[3] & data);
- m_ddrs[3] = data;
- break;
- }
+ switch (offset)
+ {
+ case 0: // p0
+ send_port(space, 0, data & m_ddrs[0]);
+ m_ports[0] = data;
+ break;
+
+ case 1: // p0 ddr
+ send_port(space, 0, m_ports[0] & data);
+ m_ddrs[0] = data;
+ break;
+
+ case 2: // p1
+ send_port(space, 1, data & m_ddrs[1]);
+ m_ports[1] = data;
+ break;
+
+ case 3: // p1 ddr
+ send_port(space, 1, m_ports[1] & data);
+ m_ddrs[1] = data;
+ break;
+
+ case 4: // p2
+ send_port(space, 2, data & m_ddrs[2]);
+ m_ports[2] = data;
+ break;
+
+ case 5: // p2 ddr
+ send_port(space, 2, m_ports[2] & data);
+ m_ddrs[2] = data;
+ break;
+
+ case 8: // p3
+ send_port(space, 3, data & m_ddrs[3]);
+ m_ports[3] = data;
+ break;
+
+ case 9: // p3 ddr
+ send_port(space, 3, m_ports[3] & data);
+ m_ddrs[3] = data;
+ break;
+ }
}
READ8_MEMBER(m5074x_device::tmrirq_r)
@@ -429,7 +429,7 @@ READ8_MEMBER(m5074x_device::tmrirq_r)
WRITE8_MEMBER(m5074x_device::tmrirq_w)
{
-// printf("%02x to tmrirq @ %d\n", data, offset);
+// printf("%02x to tmrirq @ %d\n", data, offset);
switch (offset)
{
@@ -505,4 +505,3 @@ m50741_device::m50741_device(const machine_config &mconfig, device_type type, co
m5074x_device(mconfig, type, name, tag, owner, clock, ADDRESS_MAP_NAME(m50741_map), shortname, source)
{
}
-