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 (ATINIT size must not stomp on the ProDOS init code) |
1000–12FF | ProDOS 8 copies QUIT code here and jumps to it |
2000–BEFF | 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 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 1 screen buffers to bank $E1.
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 |