VIC Memory Map Above Page Zero
Jim Butterfield Toronto, Canada
Editor's Note: Next month we'll have a VIC zero page map and Jim's comments on the VIC's memory. —RTM
| 0100–103E | 256–318 | Tape error log | |
| 0100–01FF | 256–511 | Processor stack area | |
| 0200–0258 | 512–600 | Basic input buffer | |
| 0259–0262 | 601–610 | Logical file table | |
| 0263–026C | 611–620 | Device # table | |
| 026D–0276 | 621–630 | Sec Adds table | |
| 0277–0280 | 631–640 | Keybd buffer | |
| 0285 | 645 | Serial bus timeout flag | |
| 0286 | 646 | Current color code | |
| 0287 | 647 | Color under cursor | |
| 0288 | 648 | Screen memory page | |
| 0289 | 649 | Max size of keybd buffer | |
| 028A | 650 | Repeat all keys | |
| 028B | 651 | Repeat speed counter | |
| 028C | 652 | Repeat delay counter | |
| 028D | 653 | Keyboard Shift/Control flag | |
| 028E | 654 | Last shift pattern | |
| 028F–0290 | 655–656 | Keyboard table settup pointer | |
| 0291 | 657 | Keymode (Kattacanna) | |
| 0292 | 658 | 0=scroll enable | |
| 0293 | 659 | VIC chip control | |
| 0294 | 660 | VIC chip command | |
| 0295–0296 | 661–662 | Bit timing | |
| 0297 | 663 | RS-232 status | |
| 0298 | 664 | # bits to send | |
| 0299–029A | 665 | RS-232 speed/code | |
| 029B | 667 | RS232 receive pointer | |
| 029C | 668 | RS232 input pointer | |
| 029D | 669 | RS232 transmit pointer | |
| 029E | 670 | RS232 output pointer | |
| 029F–02A0 | 671–672 | IRQ save during tape I/O | |
| 0300–0301 | 768–769 | Error message link | |
| 0302–0303 | 770–771 | Basic warm start link | |
| 0304–0305 | 772–773 | Crunch Basic tokens link | |
| 0306–0307 | 774–775 | Print tokens link | |
| 0308–0309 | 776–777 | Start new Basic code link | |
| 030A–030B | 778–779 | Get arithmetic element link | |
| 0314–0315 | 788–789 | Hardware interrupt vector | (EABF) |
| 0316–0317 | 790–791 | Break interrupt vector | (FED2) |
| 0318–0319 | 792–793 | NMI interrupt vector | (FEAD) |
| 031A–031B | 794–795 | OPEN vector | (F40A) |
| 031C–031D | 796–797 | CLOSE vector | (F34A) |
| 031E–031F | 798–799 | Set-input vector | (F2C7) |
| 0320–0321 | 800–801 | Set-output vector | (F309) |
| 0322–0323 | 802–803 | Restore I/O vector | (F3F3) |
| 0324–0325 | 804–805 | INPUT vector | (F20E) |
| 0326–0327 | 806–807 | Output vector | (F27A) |
| 0328–0329 | 808–809 | Test-STOP vector | (F770) |
| 032A–032B | 810–811 | GET vector | (F1F5) |
| 032C–032D | 812–813 | Abort I/O vector | (F3EF) |
| 032E–032F | 814–815 | USR vector | (FED2) |
| 0330–0331 | 816–817 | LOAD link | |
| 0332–0333 | 818–819 | SAVE link | |
| 033C–03FB | 828–1019 | Cassette buffer | |
| 0400–0FFF | 1024–4095 | 3K RAM expansion area | |
| 1000–1FFF | 4096–8191 | Normal Basic memory | |
| 2000–7FFF | 8192–32767 | Memory expansion area | |
| 8000–8FFF | 32768–36863 | Character bit maps | |
| 9000–900F | 36864–36879 | Video Interface Chip | |
| 9110–912F | 37136–37167 | 6522 Interface Chips | |
| 9400–95FF | 37888–38399 | Alternate Colour Nybble area | |
| 9600–97FF | 38400–38911 | Main Colour Nybble area | |
| A000–BFFF | 40960–49151 | Plug-in ROM area | |
| C000–FFFF | 49152–65535 | ROM: Basic and Operating System |


