SVI-3x8 PPI
SVI uses same 8255 PPI as MSX. Both machines use "MODE 0" communication, but it has different function in the system.
Here is how it is connected:
I/O port | R/W | Description |
---|---|---|
94 | W | PPI 8255 Port A |
95 | W | PPI 8255 Port B (Can't be used) |
96 | W | PPI 8255 Port C |
97 | W | PPI 8255 Mode select and I/O setup of A,B,C |
98 | R | PPI 8255 Port A |
99 | R | PPI 8255 Port B |
9A | R | PPI 8255 Port C |
9B | R | PPI 8255 Mode select and I/O setup of A,B,C |
Contents |
Mode select I/O Port address #97 (out) / #9B (in)
The ports A and B are input and port C is output. This means that in any normal situation the mode select byte should be #92 (See 8255 manual) Exception to this rule is how ever, if computer needs to communicate outside trough joystick ports (ie. while reading graphics pad). In this case the port A can be changed to output (Mode select byte = #82) Please note: Writing mode byte will reset the ports and therefore turn cassette motor on.
This port can be used also to toggle bits in port C. (See 8255 manual)
Port A I/O Port address: #98 (In) / #94 (Out)
- Bit 7: Cassette: Read data
- Bit 6: Cassette: Ready status
- Bit 5: Joystick 2: Trigger (pin 6)
- Bit 4: Joystick 1: Trigger (pin 6)
- Bit 3: Joystick 2: EOC (pin 9)
- Bit 2: Joystick 2: /SENSE (pin 5)
- Bit 1: Joystick 1: EOC (pin 9)
- Bit 0: Joystick 1: /SENSE (pin 5)
Please see: SVI-3x8 Joystick port
Port B Input Port address: #99
- Bit 7: Keyboard: Column status of selected line
- Bit 6: Keyboard: Column status of selected line
- Bit 5: Keyboard: Column status of selected line
- Bit 4: Keyboard: Column status of selected line
- Bit 3: Keyboard: Column status of selected line
- Bit 2: Keyboard: Column status of selected line
- Bit 1: Keyboard: Column status of selected line
- Bit 0: Keyboard: Column status of selected line
Please see: SVI-3x8 keyboard
Port C output Port address: #96
- Bit 7: Key click sound output (pulse)
- Bit 6: Cassette: Audio output (1=Audio output enabled, only available in SV-903, not in SV-904)
- Bit 5: Cassette: Write data
- Bit 4: Cassette: Motor relay control (0=on, 1=off)
- Bit 3: Keyboard: Line select 3
- Bit 2: Keyboard: Line select 2
- Bit 1: Keyboard: Line select 1
- Bit 0: Keyboard: Line select 0