This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
mg_notes:general:io_page [2017/10/12 20:38] 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 | | + | | | | 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 | | ||
+ | | C06B 49259 | FASTCHIP_6B | E | W | FastChip %%//%%e: Enable other registers | | ||
+ | | | | E | R7 | FastChip %%//%%e: b7=1 Registers enabled | | ||
+ | | 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 | | ||
| C06E 49262 | CLRTM | ???? | | Clear Test Mode | | | C06E 49262 | CLRTM | ???? | | Clear Test Mode | | ||
+ | | | 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 | | ||
| 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 181: | 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 197: | 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 215: | 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 | | ||