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 |