diff options
author | Joakim Larsson Edström <joakimlarsson42@gmail.com> | 2015-07-21 02:30:04 +0200 |
---|---|---|
committer | Joakim Larsson Edström <joakimlarsson42@gmail.com> | 2015-07-21 02:30:04 +0200 |
commit | 06f46524f9fb257ba660857937b351545b18a8cb (patch) | |
tree | 3fc4956d16cc6bd4a34441c522ed6be216117f00 /src/emu/machine | |
parent | 776915947deabc358786fc8f3db1689abc7b6053 (diff) |
started support for CPU-1 Centronics port on Port B
Diffstat (limited to 'src/emu/machine')
-rw-r--r-- | src/emu/machine/68230pit.c | 23 | ||||
-rw-r--r-- | src/emu/machine/68230pit.h | 1 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/emu/machine/68230pit.c b/src/emu/machine/68230pit.c index 8c7385c5f69..647bd7884bb 100644 --- a/src/emu/machine/68230pit.c +++ b/src/emu/machine/68230pit.c @@ -67,6 +67,7 @@ void pit68230_device::device_reset() m_pbcr = 0; m_padr = 0; m_pbdr = 0; + m_psr = 0; } WRITE8_MEMBER( pit68230_device::data_w ) @@ -98,6 +99,14 @@ WRITE8_MEMBER( pit68230_device::data_w ) printf("PBCR"); m_pbcr = data; break; + case PIT_68230_PADR: + printf("PADR"); + m_padr = data; + break; + case PIT_68230_PSR: + printf("PSR"); + m_padr = data; + break; default: printf("unhandled register %02x", offset); } @@ -139,12 +148,24 @@ READ8_MEMBER( pit68230_device::data_r ) printf("PADR"); data = m_padr; break; - case PIT_68230_PBDR: + case PIT_68230_PBDR: + /* 4.6.2. PORT B DATA REGISTER (PBDR). The port B data register is a holding register for moving data +to and from port B pins. The port B data direction register determines whether each pin is an input (zero) +or an output (one). This register is readable and writable at all times. Depending on the chosen mode/submode, +reading or writing may affect the double-buffered handshake mechanism. The port B data register is not affected +by the assertion of the RESET pin. PB0-PB7 sits on pins 17-24 on a 48 pin DIP package */ printf("PBDR"); data = m_pbdr; + // data = (m_pbdr & 0xfc) | 1; // CPU-1 centronics interface expects to see 2 lowest bits equal 1 for printer + break; + case PIT_68230_PSR: + printf("PSR"); + data = m_psr; + // data = m_psr | 1; // CPU-1 centronics interface expects status to be non zero break; default: printf("unhandled register %02x", offset); + data = 0; } printf("\n"); diff --git a/src/emu/machine/68230pit.h b/src/emu/machine/68230pit.h index 5d9eb1463d8..a79999a2395 100644 --- a/src/emu/machine/68230pit.h +++ b/src/emu/machine/68230pit.h @@ -66,6 +66,7 @@ private: UINT8 m_pbcr; // Port B Control register UINT8 m_padr; // Port A Data register UINT8 m_pbdr; // Port B Data register + UINT8 m_psr; // Port Status Register }; |