This is an old revision of the document!
The IIgs screen buffers listed are not where the hardware actually draws them from. The real screen buffers are in Mega II “Slow RAM” bank $E0 and $E1. The IIgs hardware supports shadowing of the Bank 0 screen buffers to bank $E0.
Address(es) | Use |
---|---|
0000–00FF | 6502 Zero Page |
0100–01FF | 6502 Stack |
0200–02FF | Input buffer (monitor routines) |
0300–03FF | Page 3 |
03D0–03D2 | Warm start jump vector (Q in IIgs monitor jumps here if $3D0=$4C) |
03F0–03F1 | BRK vector |
03F2–03F3 | Reset Vector |
03F4 | PWRUP byte = $3F3 XOR $A5 |
03F5–03F7 | Applesoft & Vector |
03F8–03FA | Monitor Ctrl-Y jump vector |
03FB–03FD | NMI jump vector |
03FE–03FF | IRQ vector |
0400–07FF | Text page 0 |
0800–BFFF | Free memory with no DOS |
0800–BEFF | Free memory under ProDOS 8 |
0800–09FF | Boot firmware loads block 0 here |
0800–0CFF | Text screen 2 |
1000–…. | ProDOS 8 loads ATINIT here |
1000–12FF | ProDOS 8 copies QUIT code here and jumps to it |
2000–…. | ProDOS 8 system programs load here |
2000–4000 | HGR page 1 |
4000–6000 | HGR page 2 |
6800–…. | Start.GS.OS gets loaded here |
BD00–BDFF | GS/OS direct page |
BE00–BEFF | BASIC.SYSTEM global page |
BF00–BFFF | ProDOS 8 global page |
C000–CFFF | I/O space On IIgs this is mapped to Mega II |
C000–C0FF | I/O Page |
C080–C0FF | Slots (or ports) 0–7 Device Select $C080+$n0–$C08F+$n0 (usually H/W) |
C100–CFFF | Apple IIe/IIc/IIgs: INTCXROM |
C100–C7FF | Slots (or ports) 1–7 I/O select $CxFF (usually ROM) |
C800–CFFF | Slots 1–7 I/O Strobe (usually shared ROM space) |
CFFF | All slots should release $C800 space |
D000–FFFF | Bank 0 language card |
D000–DFFF | Bank 1 language card |
D000–FFFF | ROM |
D000–F7FF | Applesoft BASIC |
D000–D7FF | D0 ROM, Programmer's Aid #1 (Integer II) |
D800–D8FF | D8 ROM |
E000–F7FF | Integer Basic and Sweet 16 |
E000 | BASIC cold start |
E003 | BASIC warm start |
F800–FFFF | Monitor ROM |
FFFA–FFFF | 6502 Vectors |
The IIgs supports shadowing of the Bank 1 screen buffers to bank $E1 Mega II “Slow RAM”.
0000–00FF | Aux Zero Page |
0100–01FF | Aux Stack |
0400–07FF | 80-column text page, even columns |
2000–9FFF | GS Super Hires screen |
2000–4000 | Double Hires page 1, even columns |
4000–6000 | Double Hires page 2, even columns |
9D00–9DFF | GS Super Hires SCBs (not usually enabled) |
9D00–9DFF | GS Super Hires palettes (not usually enabled) |
C000–CFFF | I/O space just like bank 0 |
D000–FFFF | Aux Bank 0 language card |
D000–DFFF | Aux Bank 1 language card |
Address(es) | Use |
---|---|
02/0000–7F/FFFF | Fast RAM |
80/0000–DF/FFFF | Not decoded by IIgs hardware. Most emulators expand RAM here. |
E0/0000–E0/FFFF | Mega II “Slow RAM” main bank |
E0/0400–E0/07FF | Real text page 1 buffer |
E0/0800–E0/0CFF | Real text page 2 buffer |
E0/2000–E0/3FFF | Real hires page 1 buffer |
E0/4000–E0/5FFF | Real hires page 2 buffer |
E0/C000–E0/CFFF | I/O space like bank 0 |
E0/D000–E0/FFFF | Language Card |
E1/0000–E1/FFFF | Mega II “Slow RAM” aux bank |
E1/0400–E1/07FF | Real 80-col text page 1 buffer |
E1/0800–E1/0CFF | Real 80-text page 2 buffer |
E1/2000–E1/9FFF | Real Super Hires screen |
E1/2000–E1/3FFF | Real double hires page 1 buffer |
E1/4000–E1/5FFF | Real double hires page 2 buffer |
E1/9D00–E1/9DFF | Real Super Hires SCBs |
E1/9D00–E1/9DFF | Real Super Hires palettes |
E1/C000–E1/CFFF | I/O space like bank 1 |
E1/D000–E1/FFFF | Aux Language Card |
E2/0000–EF/FFFF | Not decoded by IIgs hardware Sweet 16: Frame buffer direct access |
F0/0000–F7/FFFF | ROM disk space |
F8/0000–FB/FFFF | ROM tools space |
FC/0000–FD/FFFF | ROM 3 space |
FE/0000–FF/FFFF | ROM 1 and 3 space |