Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
documentations:devices:6821 [2014/06/19 16:57] – [Registers] sandrus | documentations:devices:6821 [2018/08/17 09:08] – [MO System PIA] pulkomandy | ||
---|---|---|---|
Line 43: | Line 43: | ||
===== Uses ===== | ===== Uses ===== | ||
==== MO " | ==== MO " | ||
- | === data port A === | + | === data port A (A7C0) |
* bit 0: /FORME - Switch the screen RAM mapping between pixel and attribute RAMs | * bit 0: /FORME - Switch the screen RAM mapping between pixel and attribute RAMs | ||
* bits 1-4: border color (R,G,B,P) | * bits 1-4: border color (R,G,B,P) | ||
Line 50: | Line 50: | ||
* bit 7: tape drive data input | * bit 7: tape drive data input | ||
- | Bit 7 is low when no tape drive is plugged, and high when there is one. The monitor loading and saving code checks for this to detect the ape drive. | + | Bit 7 is low when no tape drive is plugged, and high when there is one. The monitor loading and saving code checks for this to detect the tape drive. |
- | === data port B === | + | === data port B (A7C1) |
* bit 0: sound output | * bit 0: sound output | ||
* bits 1-3: keyboard column to scan | * bits 1-3: keyboard column to scan | ||
Line 58: | Line 58: | ||
* bit 7: state of key selected by the column and line | * bit 7: state of key selected by the column and line | ||
- | === Control ports === | + | === Control ports (A7C2, A7C3) === |
* CA1: lightpen interrupt (IRQA is wired to 6809 FIRQ) | * CA1: lightpen interrupt (IRQA is wired to 6809 FIRQ) | ||
* CA2: tape drive motor control (output) | * CA2: tape drive motor control (output) | ||
Line 120: | Line 120: | ||
Available as an expansion for the TO7, TO7/70, TO9 and MO5, this is built-in for the other machines. | Available as an expansion for the TO7, TO7/70, TO9 and MO5, this is built-in for the other machines. | ||
+ | |||
+ | < | ||
=== Data port A === | === Data port A === | ||
Line 131: | Line 133: | ||
|PA6| | |Left | | |PA6| | |Left | | ||
|PA7| | |Right| | |PA7| | |Right| | ||
+ | |||
+ | < | ||
=== Data port B === | === Data port B === | ||
Line 143: | Line 147: | ||
|PB6|Joy0 button 1 |YA | | | |PB6|Joy0 button 1 |YA | | | ||
|PB7|Joy1 button 1 | | | | |PB7|Joy1 button 1 | | | | ||
+ | |||
+ | </ | ||
+ | |||
=== Control ports === | === Control ports === | ||
+ | The joystick buttons are wired both to port input pins and to control pins. This makes it possible to trigger interrupts on them, but read the complete joystick state for both joysticks on data ports A and B without having to also test the control ports. | ||
* CA1: Joy0 button 2 | * CA1: Joy0 button 2 | ||
* CA2: Joy0 button 1 | * CA2: Joy0 button 1 | ||
Line 149: | Line 157: | ||
* CB2: Joy1 button 1 | * CB2: Joy1 button 1 | ||
- | It is not possible to use the DAC and the joysticks at the same time! | + | It is not possible to use the DAC and the joysticks |
- | The sound output can be muted by using the 6846 buzzer output to force it low. | + | |
+ | The sound output | ||
===== Documents ===== | ===== Documents ===== | ||
* {{: | * {{: |