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
Last revision Both sides next revision
mg_notes:general:io_page [2017/10/13 16:56]
M.G. FastChip //e
mg_notes:general:io_page [2022/08/01 18:35]
M.G. [Address List] clarify $C028.
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 ^
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 |+|            |              |   ​C ​ |  R7  | Status of 80/40 Column Switch ​(not IIc Plus) |
 |            | BUTN3        |    G |  R7  | Switch Input 3 | |            | BUTN3        |    G |  R7  | Switch Input 3 |
 | C061 49249 | BUTN0        | OECG |  R7  | Switch Input 0 \\ Open Apple/​Command (not II/II+) | | C061 49249 | BUTN0        | OECG |  R7  | Switch Input 0 \\ Open Apple/​Command (not II/II+) |
Line 146: Line 150:
 |            | RDMOUY1 ​     |   ​C ​ |  R7  | Mouse Vert Position | |            | RDMOUY1 ​     |   ​C ​ |  R7  | Mouse Vert Position |
 | C068 49256 | STATEREG ​    ​| ​   G |    V | b0=INTCXROM b1=ROMBANK b2=LCBNK2 b3=RDROM \\ b4=RAMWRT b5=RAMRD b6=PAGE2 b7=ALTZP | | C068 49256 | STATEREG ​    ​| ​   G |    V | b0=INTCXROM b1=ROMBANK b2=LCBNK2 b3=RDROM \\ b4=RAMWRT b5=RAMRD b6=PAGE2 b7=ALTZP |
-| C06A 49258 | FASTCHIP_6A ​ |  E   | W    | FastChip //e: Lock/Unlock register | +| C06A 49258 | FASTCHIP_6A ​ |  E   | W    | FastChip ​%%//%%e: Lock/Unlock register | 
-| C06B 49259 | FASTCHIP_6B ​ |  E   | W    | FastChip //e: Enable other registers | +| C06B 49259 | FASTCHIP_6B ​ |  E   | W    | FastChip ​%%//%%e: Enable other registers | 
-|            |              |  E   ​| ​ R7  | FastChip //e: b7=1 Registers enabled | +|            |              |  E   ​| ​ R7  | FastChip ​%%//%%e: b7=1 Registers enabled | 
-| C06C 49260 | FASTCHIP_6C ​ |  E   ​| ​   V | FastChip //e: Slot speed register |+| C06C 49260 | FASTCHIP_6C ​ |  E   ​| ​   V | FastChip ​%%//%%e: Slot speed register |
 | C06D 49261 | TESTREG ​     | ???? |      | Test Mode Bit Register | | C06D 49261 | TESTREG ​     | ???? |      | Test Mode Bit Register |
-|            | FASTCHIP_6D ​ |  E   ​| ​   V | FastChip //e: Clock speed register |+|            | FASTCHIP_6D ​ |  E   ​| ​   V | FastChip ​%%//%%e: Clock speed register |
 | C06E 49262 | CLRTM        | ???? |      | Clear Test Mode | | C06E 49262 | CLRTM        | ???? |      | Clear Test Mode |
-|            | 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   |