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/10/16 13:21]
M.G.
mg_notes:general:io_page [2022/08/01 18:37] (current)
M.G. [Address List] clarify KBD
Line 4: Line 4:
  
 Unless stated otherwise, all IIe I/O applies to the Apple IIe Card for Macintosh LC ("IIe PDS Card"​). Unless stated otherwise, all IIe I/O applies to the Apple IIe Card for Macintosh LC ("IIe PDS Card"​).
 +
 +===== Address List =====
  
 ^ 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 17: 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 50: 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 ​     |   CG | W    | ROM bank select toggle (IIgs = ROM 0/1 only) |+| 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  ​|
 |            | MAINROM ​     |  M   | WR   | IIe PDS Card: Select main firmware | |            | MAINROM ​     |  M   | WR   | IIe PDS Card: Select main firmware |
 | C029 49193 | NEWVIDEO ​    ​| ​   G |    V | New Video: 129=SHR, 1=None, Bit 6=Linearize,​ Bit 5=BW | | C029 49193 | NEWVIDEO ​    ​| ​   G |    V | New Video: 129=SHR, 1=None, Bit 6=Linearize,​ Bit 5=BW |
Line 58: Line 61:
 | C02C 49196 | CHARROM ​     |    G |      | Addr for test mode read of character ROM | | C02C 49196 | CHARROM ​     |    G |      | Addr for test mode read of character ROM |
 | C02D 49197 | SLTROMSEL ​   |    G |      | Slot Register; Bits 1-7=use slot card | | C02D 49197 | SLTROMSEL ​   |    G |      | Slot Register; Bits 1-7=use slot card |
-| C02E 49198 | VERTCNT ​     |    G |      | Addr for read of video cntr bits V5-VB | +| C02E 49198 | VERTCNT ​     |    G |      | Addr for read of video cntr bits V5-VB \\ Vertical addr / 2) 
-| C02F 49199 | HORIZCNT ​    ​| ​   G |      | Addr for read of video cntr bits VA-H0 |+| C02F 49199 | HORIZCNT ​    ​| ​   G |      | Addr for read of video cntr bits VA-H0 \\ Vertical low bit, Horizontal ​|
 | C030 48200 | SPKR         | OECG |  R   | Toggle Speaker | | C030 48200 | SPKR         | OECG |  R   | Toggle Speaker |
-| C031 49201 | DISKREG ​     |    G |      | Disk Interface: Bit 6=3.5 Bit 7=RWHead ​1 |+| C031 49201 | DISKREG ​     |    G |      | Disk Interface: Bit 6=3.5 enable, ​Bit 7=head select ​1 |
 | C032 49202 | SCANINT ​     |    G |    V | VGC Interrupt-Clear | | C032 49202 | SCANINT ​     |    G |    V | VGC Interrupt-Clear |
-| C033 49203 | CLOCKDATA ​   |    G |      | Interface to Battery RAM (undocumented) ​+| C033 49203 | CLOCKDATA ​   |    G |      | Clock data register ​
-| C034 49204 | CLOCKCTL ​    ​| ​   G |      | b0-3=borderColor b5=stopBit b6=read b7=start |+| C034 49204 | CLOCKCTL ​    ​| ​   G |      | Clock control register \\ b7=dclk, b6=read(1)/​write,​ b5=chip enable after xfer \\  ​b0-3=borderColor b5=stopBit b6=read b7=start |
 | C035 49205 | SHADOW ​      ​| ​   G |      | Inhibit Shadowing: \\ Bit 6: I/O Memory, Bit 5: Alternate Display Mode \\ Bit 4: Auxilary HGR, Bit 3: Super HiRes, Bit 2: HiRes Page 2 \\ Bit 1: HiRes Page 1, Bit 0: Text/LoRes | | C035 49205 | SHADOW ​      ​| ​   G |      | Inhibit Shadowing: \\ Bit 6: I/O Memory, Bit 5: Alternate Display Mode \\ Bit 4: Auxilary HGR, Bit 3: Super HiRes, Bit 2: HiRes Page 2 \\ Bit 1: HiRes Page 1, Bit 0: Text/LoRes |
-| C036 49206 | CYAREG ​      ​| ​   G |      | Bits 0-3=Disk Detect Bit 4=Shadow All Banks Bit 7=Fast | +| C036 49206 | CYAREG ​      ​| ​   G |      | Bits 0-3=Disk Detect ​slots 4-7 Bit 4=Shadow All Banks Bit 7=Fast | 
-| C037 49207 | BMAREG ​      |    G |      | Bit 5=BW |+| C037 49207 | DMAREG ​      |    G |      | DMA Bank register ​|
 | C038 49208 | SCCBREG ​     |    G |      | SCC Command Channel B | | C038 49208 | SCCBREG ​     |    G |      | SCC Command Channel B |
 | C039 49209 | SCCAREG ​     |    G |      | SCC Command Channel A | | C039 49209 | SCCAREG ​     |    G |      | SCC Command Channel A |
Line 132: 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 155: 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 188: 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 204: 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 222: 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 ===== 
 + 
 +Borrowed from [[http://​www.txbobsc.com/​aal/​1987/​aal8701.html|here]].
  
 +^     ^ C02x      ^ C03x       ^ C04x      ^ C05x     ^ C06x      ^
 +^  0  | //​rsvd// ​ | Speaker ​   | //​rsvd// ​ | Graphics | Switch 3  |
 +^  1  | MONO      | 3.5 Disk   | Mouse Int | Text     | Switch 0  |
 +^  2  | TXT Color | Scan Int   | //​rsvd// ​ | Unmixed ​ | Switch 1  |
 +^  3  | VGC Int   | Clock Data | //​rsvd// ​ | Mixed    | Switch 2  |
 +^  4  | MouseData | Clock Ctrl | M Delta X | Text 1   | Paddle 0  |
 +^  5  | Key Mods  | Shadow ​    | M Delta Y | Text 2   | Paddle 1  |
 +^  6  | KM Data   | Speed      | M Flags   | Lo Res   | Paddle 2  |
 +^  7  | KM Status | DMA Bank   | VBL Int   | Hi Res   | Paddle 3  |
 +^  8  | ROM Bank  | SCC B Cmd  | XY Int    | Clr AN0  | State Reg |
 +^  9  | New Video | SCC A Cmd  | //​rsvd// ​ | Set AN0  | //​rsvd// ​ |
 +^  A  | //​rsvd// ​ | SCC B Data | //​rsvd// ​ | Clr AN1  | //​rsvd// ​ |
 +^  B  | Lang Sel  | SCC A Data | //​rsvd// ​ | Set AN1  | //​rsvd// ​ |
 +^  C  | CharROM ​  | Sound Ctrl | //​rsvd// ​ | Clr AN2  | //​rsvd// ​ |
 +^  D  | Slot ROM  | Sound Data | //​rsvd// ​ | Set AN2  | Test Mode |
 +^  E  | Vert Cnt  | Sound AdrL | //​rsvd// ​ | Clr AN3  | Test Off  |
 +^  F  | Horiz Cnt | Sound AdrH | //​rsvd// ​ | Set AN3  | Test On   |