Site Tools


Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mg_notes:general:io_page [2017/11/22 17:57]
M.G. quick ref table
mg_notes:general:io_page [2022/08/01 18:37] (current)
M.G. [Address List] clarify KBD
Line 8: Line 8:
  
 ^ Address ^ Name ^ Comp((O = Apple II+, E = Apple IIe, C = Apple IIc and IIc Plus, P = Apple IIc Plus Only, G = Apple IIgs, M = IIe PDS Card Only)) ^ Act((R = Read, W = Write, 7 = Bit 7, V = register)) ^ Description ^ ^ Address ^ Name ^ Comp((O = Apple II+, E = Apple IIe, C = Apple IIc and IIc Plus, P = Apple IIc Plus Only, G = Apple IIgs, M = IIe PDS Card Only)) ^ Act((R = Read, W = Write, 7 = Bit 7, V = register)) ^ Description ^
-| C000 49152 | KBD          | OECG |  R   | Last Key Pressed + 128 |+| C000 49152 | KBD          | OECG |  R   | Last Key Pressed ​(+ 128 if strobe not cleared) ​|
 |            | 80STOREOFF ​  ​| ​ ECG | W    | Use $C002-$C005 for Aux Memory | |            | 80STOREOFF ​  ​| ​ ECG | W    | Use $C002-$C005 for Aux Memory |
 | C001 49153 | 80STOREON ​   |  ECG | W    | Use PAGE2 for Aux Memory | | C001 49153 | 80STOREON ​   |  ECG | W    | Use PAGE2 for Aux Memory |
Line 19: Line 19:
 | C008 49160 | SETSTDZP ​    ​| ​ ECG | W    | Main Stack and Zero Page | | C008 49160 | SETSTDZP ​    ​| ​ ECG | W    | Main Stack and Zero Page |
 | C009 49161 | SETALTZP ​    ​| ​ ECG | W    | Aux Stack and Zero Page | | C009 49161 | SETALTZP ​    ​| ​ ECG | W    | Aux Stack and Zero Page |
-| C00A 49162 | SETINTC3ROM ​ |  E G | W    | ROM in Slot 3 | +| C00A 49162 | SETINTC3ROM ​ |  E G | W    | Use Internal ​Slot 3 ROM 
-| C00B 49163 | SETSLOTC3ROM |  E G | W    | ROM in Aux Slot |+| C00B 49163 | SETSLOTC3ROM |  E G | W    | Use Card Slot 3 ROM |
 | C00C 49164 | CLR80VID ​    ​| ​ ECG | W    | 40 Columns | | C00C 49164 | CLR80VID ​    ​| ​ ECG | W    | 40 Columns |
 | C00D 49165 | SET80VID ​    ​| ​ ECG | W    | 80 Columns | | C00D 49165 | SET80VID ​    ​| ​ ECG | W    | 80 Columns |
Line 52: Line 52:
 | C026 49190 | DATAREG ​     |    G |    V | ADB Command/​Data \\ b0-2=# b3=valid b4=clr buf b5=reboot b6=abort b7=status | | C026 49190 | DATAREG ​     |    G |    V | ADB Command/​Data \\ b0-2=# b3=valid b4=clr buf b5=reboot b6=abort b7=status |
 | C027 49191 | KMSTATUS ​    ​| ​   G |    V | ADB Status \\ b0=cmdFull b1=mouseX b2=keyIntr b3=key \\ b4=cmdIntr b5=data 6=mouseInt 7=mouse | | C027 49191 | KMSTATUS ​    ​| ​   G |    V | ADB Status \\ b0=cmdFull b1=mouseX b2=keyIntr b3=key \\ b4=cmdIntr b5=data 6=mouseInt 7=mouse |
-| C028 49192 | ROMBANK ​     |   ​C ​ | W    | ROM bank select toggle |+| C028 49192 | ROMBANK ​     |   ​C ​ | W    | ROM bank select toggle. \\ Not on unmodified machines with original 16K ROM.  ​|
 |            | ROMBANK ​     |    G | WR   | ROM bank select toggle (ROM 0/1 IIgs only) \\ Switch $D000-FFFF between \\ $FFD000-$FFFFFF and $FF9000-$FFBFFFF ​ | |            | ROMBANK ​     |    G | WR   | ROM bank select toggle (ROM 0/1 IIgs only) \\ Switch $D000-FFFF between \\ $FFD000-$FFFFFF and $FF9000-$FFBFFFF ​ |
 |            | MAINROM ​     |  M   | WR   | IIe PDS Card: Select main firmware | |            | MAINROM ​     |  M   | WR   | IIe PDS Card: Select main firmware |
Line 135: Line 135:
 |            | CGGA_5F ​     |   ​P ​ | WR   | IIc+/Zip Chip: Paddle delay & Language Card cache | |            | CGGA_5F ​     |   ​P ​ | WR   | IIc+/Zip Chip: Paddle delay & Language Card cache |
 |            | ZIPGS_5F ​    ​| ​   G |  R   | ZipGS: Read last tag and reset cshupd | |            | ZIPGS_5F ​    ​| ​   G |  R   | ZipGS: Read last tag and reset cshupd |
 +| C060-C06F ​ | OKI6242 ​     |   ​C ​ | WR   | AE Z-RAM Ultra Clock - OKI 6242 chip (low 4 bits of each location) |
 | C060 49248 | TAPEIN ​      | OE   ​| ​ R7  | Read Cassette Input (not on IIe PDS Card) | | C060 49248 | TAPEIN ​      | OE   ​| ​ R7  | Read Cassette Input (not on IIe PDS Card) |
 |            |              |   ​C ​ |  R7  | Status of 80/40 Column Switch (not IIc Plus) | |            |              |   ​C ​ |  R7  | Status of 80/40 Column Switch (not IIc Plus) |
Line 158: Line 159:
 |            | FASTCHIP_6E ​ |  E   ​| ​   V | FastChip %%//%%e: Config register select | |            | FASTCHIP_6E ​ |  E   ​| ​   V | FastChip %%//%%e: Config register select |
 | C06F 49263 | ENTM         | ???? |      | Enable Test Mode | | C06F 49263 | ENTM         | ???? |      | Enable Test Mode |
-|            | FASTCHIP_6F ​ |  E   ​| ​   V | FastChip //e: Config register value |+|            | FASTCHIP_6F ​ |  E   ​| ​   V | FastChip ​%%//%%e: Config register value |
 | C070 49264 | PTRIG        | OECG |  R   | Analog Input Reset | | C070 49264 | PTRIG        | OECG |  R   | Analog Input Reset |
 |            |              |   ​C ​ | WR   | Analog Input Reset + Reset VBLINT Flag | |            |              |   ​C ​ | WR   | Analog Input Reset + Reset VBLINT Flag |
Line 191: Line 192:
 | C08E 49294 |              | OECG |  R   | Read ROM; no write | | C08E 49294 |              | OECG |  R   | Read ROM; no write |
 | C08F 49295 |              | OECG |  RR  | Read/write RAM bank 1 | | C08F 49295 |              | OECG |  RR  | Read/write RAM bank 1 |
-| C090--C09F |              | OE G | | slot 1 (not IIe PDS Card) |+| C090--C09F |              | OE G | | slot 1 (virtual in IIe PDS Card) |
 | C098       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx data register | | C098       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx data register |
 | C099       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx status register | | C099       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx status register |
 | C09A       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx command register | | C09A       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx command register |
 | C09B       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx control register | | C09B       ​| ​             |   ​C ​ |    V | ACIA 1 tx/rx control register |
-| C0A0--C0AF |              | OE G | | slot 2 (not IIe PDS Card) |+| C0A0--C0AF |              | OE G | | slot 2 (virtual in IIe PDS Card) |
 | C098       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx data register | | C098       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx data register |
 | C099       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx status register | | C099       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx status register |
 | C09A       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx command register | | C09A       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx command register |
 | C09B       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx control register | | C09B       ​| ​             |   ​C ​ |    V | ACIA 2 tx/rx control register |
-| C0B0--C0BF |              | OE G | | slot 3 (not IIe PDS Card) |+| C0B0--C0BF |              | OE G | | slot 3 (video only in IIe PDS Card) |
 | C0C0--C0CF |              | OE G | | slot 4 (not IIe PDS Card) | | C0C0--C0CF |              | OE G | | slot 4 (not IIe PDS Card) |
 | C0C0       | ADDRL        |   ​C ​ |    V | IIc Mem Expansion: Address low byte | | C0C0       | ADDRL        |   ​C ​ |    V | IIc Mem Expansion: Address low byte |
Line 207: Line 208:
 | C0C2       | ADDRH        |   ​C ​ |    V | IIc Mem Expansion: Address high byte | | C0C2       | ADDRH        |   ​C ​ |    V | IIc Mem Expansion: Address high byte |
 | C0C3       | DATA         ​| ​  ​C ​ |    V | IIc Mem Expansion: Address data byte | | C0C3       | DATA         ​| ​  ​C ​ |    V | IIc Mem Expansion: Address data byte |
-| C0D0--C0DF |              | OE G | | slot 5 (not IIe PDS Card) | +| C0D0--C0DF |              | OE G | | slot 5 (virtual in IIe PDS Card) | 
-| C0E0--C0EF |              | OE G | | slot 6 (not IIe PDS Card) |+| C0E0--C0EF |              | OE G | | slot 6 (Disk II only in IIe PDS Card) |
 | C0E0       ​| ​             |  MCG | | IWM:PH0 off | | C0E0       ​| ​             |  MCG | | IWM:PH0 off |
 | C0E1       ​| ​             |  MCG | | IWM:PH0 on | | C0E1       ​| ​             |  MCG | | IWM:PH0 on |
Line 225: Line 226:
 | C0EE       ​| ​             |  MCG | | IWM:Q7 off (WP sense/read) | | C0EE       ​| ​             |  MCG | | IWM:Q7 off (WP sense/read) |
 | C0EF       ​| ​             |  MCG | | IWM:Q7 on (Write) | | C0EF       ​| ​             |  MCG | | IWM:Q7 on (Write) |
-| C0F0--C0FF |              | OE G | | slot 7 (not IIe PDS Card) |+| C0F0--C0FF |              | OE G | | slot 7 (virtual in IIe PDS Card) |
  
 ===== IIgs Quick Ref Table ===== ===== IIgs Quick Ref Table =====
Line 231: Line 232:
 Borrowed from [[http://​www.txbobsc.com/​aal/​1987/​aal8701.html|here]]. Borrowed from [[http://​www.txbobsc.com/​aal/​1987/​aal8701.html|here]].
  
-^     ^ C02x      ​C03x       C04x      ​C05x     C06x       | +^     ^ C02x      ​C03x       C04x      ​C05x     C06x      ^ 
-^  0  | --rsvd--  | Speaker ​   | --rsvd--  | Graphics | Switch 3?? +^  0  | //rsvd//  | Speaker ​   | //rsvd//  | Graphics | Switch 3  
-^  1  | MONO      | 3.5 Disk   | Mouse Int | Text     | Switch ​1   +^  1  | MONO      | 3.5 Disk   | Mouse Int | Text     | Switch ​0  ​
-^  2  | TXT Color | Scan Int   ​| ​--rsvd--  | Unmixed ​ | Switch 1   ​+^  2  | TXT Color | Scan Int   ​| ​//rsvd//  | Unmixed ​ | Switch 1  
-^  3  | VGC Int   | Clock Data | --rsvd--  | Mixed    | Switch 2   ​+^  3  | VGC Int   | Clock Data | //rsvd//  | Mixed    | Switch 2  
-^  4  | MouseData | Clock Ctrl | M Delta X | Text 1   | Paddle 0   ​+^  4  | MouseData | Clock Ctrl | M Delta X | Text 1   | Paddle 0  
-^  5  | Key Mods  | Shadow ​    | M Delta Y | Text 2   | Paddle 1   ​+^  5  | Key Mods  | Shadow ​    | M Delta Y | Text 2   | Paddle 1  
-^  6  | KM Data   | Speed      | M Flags   | Lo Res   | Paddle 2   ​+^  6  | KM Data   | Speed      | M Flags   | Lo Res   | Paddle 2  
-^  7  | KM Status | DMA Bank   | VBL Int   | Hi Res   | Paddle 3   ​+^  7  | KM Status | DMA Bank   | VBL Int   | Hi Res   | Paddle 3  
-^  8  | ROM Bank  | SCC B Cmd  | XY Int    | Clr AN0  | State Reg  +^  8  | ROM Bank  | SCC B Cmd  | XY Int    | Clr AN0  | State Reg | 
-^  9  | New Video | SCC A Cmd  | --rsvd--  | Set AN0  | --rsvd--   +^  9  | New Video | SCC A Cmd  | //rsvd//  | Set AN0  | //rsvd//  ​
-^  A  | --rsvd--  | SCC B Data | --rsvd--  | Clr AN1  | --rsvd--   +^  A  | //rsvd//  | SCC B Data | //rsvd//  | Clr AN1  | //rsvd//  ​
-^  B  | Lang Sel  | SCC A Data | --rsvd--  | Set AN1  | --rsvd--   +^  B  | Lang Sel  | SCC A Data | //rsvd//  | Set AN1  | //rsvd//  ​
-^  C  | CharROM ​  | Sound Ctrl | --rsvd--  | Clr AN2  | --rsvd--   +^  C  | CharROM ​  | Sound Ctrl | //rsvd//  | Clr AN2  | //rsvd//  ​
-^  D  | Slot ROM  | Sound Data | --rsvd--  | Set AN2  | Test Mode  +^  D  | Slot ROM  | Sound Data | //rsvd//  | Set AN2  | Test Mode | 
-^  E  | Vert Cnt  | Sound AdrL | --rsvd--  | Clr AN3  | Test Off   ​+^  E  | Vert Cnt  | Sound AdrL | //rsvd//  | Clr AN3  | Test Off  
-^  F  | Horiz Cnt | Sound AdrH | --rsvd--  | Set AN3  | Test On    |+^  F  | Horiz Cnt | Sound AdrH | //rsvd//  | Set AN3  | Test On   ​|