Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentations:devices:6821 [2015/03/01 17:53] – [Sound and Games PIA] pulkomandydocumentations:devices:6821 [2018/08/17 09:10] (current) pulkomandy
Line 43: Line 43:
 ===== Uses ===== ===== Uses =====
 ==== MO "System" PIA ==== ==== MO "System" PIA ====
-=== 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 52: Line 52:
 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. 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 66: Line 66:
 ==== TO "System" PIA ==== ==== TO "System" PIA ====
  
-=== Data port A ===+=== Data port A (E7C8) ===
  
 == PA0: KTEST == == PA0: KTEST ==
Line 74: Line 74:
 These bits are wired to printer port D1-D7. Bit 0 is PB0 (this would have been too simple!) These bits are wired to printer port D1-D7. Bit 0 is PB0 (this would have been too simple!)
  
-=== Data port B ===+=== Data port B (E7C9) ===
  
 == PB0-PB1: printer missing bits == == PB0-PB1: printer missing bits ==
Line 106: Line 106:
 Seriously, this system is a mess. Use the new banking from the gate array if you can. Seriously, this system is a mess. Use the new banking from the gate array if you can.
  
-=== Control port A ===+=== Control port A (E7CA) ===
 == CA1: video incrustation sync == == CA1: video incrustation sync ==
 This is connected to the video incrustation CLRG signal. The only use is detecting that the signal is available from software. This is useful, because switching the video incrustation on without this would crash the machine. This is connected to the video incrustation CLRG signal. The only use is detecting that the signal is available from software. This is useful, because switching the video incrustation on without this would crash the machine.
Line 116: Line 116:
 Triggered when the lightpen sensor detects the screen refresh. Triggered when the lightpen sensor detects the screen refresh.
  
-=== Control port B ===+=== Control port B (E7CB) ===
 ==== "Sound and Games" PIA ==== ==== "Sound and Games" PIA ====
  
Line 123: Line 123:
 <columns> <columns>
  
-=== Data port A ===+=== Data port A (x7CC) ===
 ^Bit^Joystick 0 ^Mouse       ^Joystick 1^ ^Bit^Joystick 0 ^Mouse       ^Joystick 1^
 |PA0|Up         |Left click  | | |PA0|Up         |Left click  | |
Line 136: Line 136:
 <newcolumn> <newcolumn>
  
-=== Data port B ===+=== Data port B (x7CD) ===
  
 ^Bit^Joysticks      ^Mouse^Sound    ^ ^Bit^Joysticks      ^Mouse^Sound    ^
Line 150: Line 150:
 </columns> </columns>
  
-=== Control ports ===+=== Control ports (x7CE/x7CF) ===
 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. 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
documentations/devices/6821.1425228838.txt.gz · Last modified: 2015/03/01 17:53 by pulkomandy
CC0 1.0 Universal
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0