Från commodore64.se - Datorernas folkvagn
Hoppa till: navigering, sök

Commodore 64 RAM Addresses

; Commodore 64 RAM Memory Map
; V1.2 1 sep 1994
LABEL HEX  DECIMAL
ADDRESS  LOCATION DESCRIPTION
ADRAY2 0005-0006 5-6 Jump Vector: Convert Integer--Floating
CHARAC 0007  7 Search Character
ENDCHR 0008  8 Flag: Scan for Quote at End of String
TRMPOS 0009  9 Screen Column From Last TAB
VERCK 000A  10 Flag: 0 = Load, 1 = Verify
COUNT 000B  11 Input Buffer Pointer / No. of Subscripts
DIMFLG 000C  12 Flag: Default Array DiMension
VAUYP 000D  13 Data Type: $FF = String, $00 = Numeric
INTFLG 000E  14 Data Type: $80 = Integer, $00 = Floating
GARBFL 000F  15 Flag: DATA scan/LlST quote/Garbage Coll
SUBFLG 0010  16 Flag: Subscript Ref / User Function Call
INPFLG 0011  17 Flag: $00 = INPUT, $40 = GET, $98 = READ
TANSGN 0012  18 Flag TAN sign / Comparison Result
0013  19 Flag: INPUT Prompt
LINNUM 0014-0015 20-21 Temp: Integer Value
TEMPPT 0016  22 Pointer Temporary String
LASTPT 0017-0018 23-24 Last Temp String Address
TEMPST 0019-0021 25-33 Stack for Temporary Strings
INDEX 0022-002S 34-37 Utility Pointer Area
RESHO 0026-002A 38-42 Floating-Point Product of Multiply
TXTTAB 002B-002C 43-44 Pointer: Start of BASIC Text
VARTAB 002D-002E 45-46 Pointer: Start of BASIC Variables
ARYTAB 002F-0030 47-48 Pointer: Start of BASIC Arrays
STREND 0031-0032 49-50 Pointer End of BASIC Arrays (+1)
FRETOP 0033-0034 51-52 Pointer: Bottom of String Storage
FRESPC 0035-0036 53-54 Utility String Pointer
MEMSIZ 0037-0038 55-56 Pointer: Highest Address Used by BASIC
CURLIN 0039-003A 57-58 Current BASIC Line Number
OLDLIN 003B-003C 59-60 Previous BASIC Line Number
OLDTXT 003D-003E 61-62 Pointer: BASIC Statement for CONT
DATLIN 003F-0040 63-64 Current DATA Line Number
DATPTR 0041-0042 65-66 Pointer: Current DATA Item Address
INPPTR 0043-0044 67-68 Vector: INPUT Routine 
VARNAM 0045-0046 69-70 Current BASIC Variable Name
VARPNT 0047-0048 71-72 Pointer: Current BASIC Variable Data
FORPNT 0049-004A 73-74 Pointer: Index Variable for FOR/NEXT
004B-0060 75-96 Temp Pointer / Data Area
FACEXP 0061  97 Floating-Point Accumulator #1: Exponent
FACHO 0062-0065 98-101 Floating Accum. #1: Mantissa
FACSGN 0066  102 Floating Accum. #1: Sign
SGNFLG 0067  103 Pointer: Series Evaluation Constant
BITS 0068  104 Floating -accum. #1: Overflow Digit
ARGEXP 0069  105 Floating-Point Accumulator #2: Exponent
ARGHO 006A-006D 106-109 Floating Accum. #2: Mantissa
ARGSGN 006E  110 Floating Accum. #2: Sign
ARISGN 006F  111 Sign Comparison Result: Accum. # 1 vs #2
FACOV 0070  112 Floating Accum. #1. Low-Order (Rounding)
FBUFPT 0071-0072 113-114 Pointer: Cassette Buffer
CHRGET 0073-008A 115-138 Subroutine: Get Next Byte of BASIC Text
CHRGOT 0079  121 Entry to Get Same Byte of Text Again
TXTPTR 007A-007B 122-123 Pointer: Current Byte of BASIC Text
RNDX 008B-008F 139-143 Floating RND Function Seed Value
STATUS 0090  144 Kernal l/O Status Word: ST
STKEY 0091  145 Flag: STOP key / RVS key
SVXT 0092  146 Timing Constant for Tape
VERCK 0093  147 Flag: 0 = Load, 1 = Verify
C3PO 0094  148 Flag: Serial Bus-Output Char. Buffered
BSOUR 0095  149 Buffered Character for Serial Bus
SYNO 0096  150 Cassette Sync No.
0097  151 Temp Data Area
LDTND 0098  152 No. of Open Files / Index to File Table
DFLTN 0099  153 Default Input Device (0)
DFLTO 009A  154 Default Output (CMD) Device (3)
PRTY 009B  155 Tape Character Parity
PSW 009C  156 Flag: Tape Byte-Received
MSGFLG 009D  157 Flag: $80 = Direct Mode, $00 = Program
PTR1 009E  158 Tape Pass 1 Error Log
PTR2 009F  159 Tape Pass 2 Error Log
TIME 00A0-00A2 160-162 Real-Time Jiffy Clock (approx) 1/60 Sec
00A3-00A4 163-164 Temp Data Area
CNTDN 00A5  165 Cassette Sync Countdown
BUFPNT 00A6  166 Pointer: Tape l/O Buffer
INBIT 00A7  167 RS-232 Input Bits / Cassette Temp
BITCI 00A8  168 RS-232 Input Bit Count / Cassette Temp
RINONE 00A9  169 RS-232 Flag: Check for Start Bit
RIDATA 00AA  170 RS-232 Input Byte Buffer/Cassette Temp
RIPRTY 00AB  171 RS-232 Input Parity / Cassette Short Cnt
SAL 00AC-00AD 172-173 Pointer: Tape Buffer/ Screen Scrolling
EAL 00AE-00AF 174-175 Tape End Addresses/End of Program
CMP0 00B0-00B1 176-177 Tape Timing Constants
TAPE1 00B2-00B3 178-179 Pointer: Start of Tape Buffer
BITTS 00B4  180 RS-232 Out Bit Count / Cassette Temp
NXTBIT 00B5  181 RS-232 Next Bit to Send/ Tape EOT Flag
RODATA 00B6  182 RS-232 Out Byte Buffer
FNLEN 00B7  183 Length of Current File Name
LA 00B8  184 Current Logical File Number
FA 00BA  186 Current Device Number
FNADR 00BB-00BC 187-188 Pointer: Current File Name
ROPRTY 00BD  189 RS-232 Out Parity / Cassette Temp
FSBLK 00BE  190 Cassette Read / Write Block Count
MYCH 00BF  191 Serial Word Buffer
CAS1 00C0  192 Tape Motor Interlock
STAL 00C1-00C2 193-194 I/O Start Address
MEMUSS 00C3-00C4 195-196 Tape Load Temps
LSTX 00C5  197 Current Key Pressed: CHR$(n) 0 = No Key
NDX 00C6  198 No. of Chars. in Keyboard Buffer (Queue)
RVS 00C7  199 Flag: Print Reverse Chars. -1=Yes, 0=No Used
INDX 00C8  200 Pointer: End of Logical Line for INPUT
LXSP 00C9-00CA 201-202 Cursor X-Y Pos. at Start of INPUT
SFDX 00CB  203 Flag: Print Shifted Chars.
BLNSW 00CC  204 Cursor Blink enable: 0 = Flash Cursor
BLNCT 00CD  205 Timer: Countdown to Toggle Cursor
GDBLN 00CE  206 Character Under Cursor
BLNON 00CF  207 Flag: Last Cursor Blink On/Off
CRSW 00D0  208 Flag: INPUT or GET from Keyboard
PNT 00D1-00D2 209-210 Pointer: Current Screen Line Address
PNTR 00D3  211 Cursor Column on Current Line
QTSW 00D4  212 Flag: Editor in Quote Mode, $00 = NO
LNMX 00D5  213 Physical Screen Line Length
TBLX 00D6  214 Current Cursor Physical Line Number
00D7  215 Temp Data Area
INSRT 00D8  216 Flag: Insert Mode, >0 = # INSTs
LDTB1 00D9-00F2 217-242 Screen Line Link Table / Editor Temps
USER 00F3-00F4 243-244 Pointer: Current Screen Color RAM loc.
KEYTAB 00F5-00F6 24S-246 Vector Keyboard Decode Table
RIBUF 00F7-00F8 247-248 RS-232 Input Buffer Pointer
ROBUF 00F9-00FA 249-250 RS-232 Output Buffer  Pointer
FREKZP 00FB-00FE 251-254 Free 0-Page Space for User Programs
BASZPT 00FF  255 BASIC Temp Data Area
0100-01FF 256-511 Micro-Processor System Stack Area
0100-010A 256-266 Floating to String Work Area
BAD 0100-013E 256-318 Tape Input Error Log
BUF 0200-02S8 512-600 System INPUT Buffer
LAT 0259-0262 601-610 KERNAL Table: Active Logical File No's.
FAT 0263-026C 611-620 KERNAL Table: Device No. for Each File
SAT 026D-0276 621-630 KERNAL Table: Second Address Each File
KEYD 0277-0280 631-640 Keyboard Buffer Queue (FIFO)
MEMSTR 0281-0282 641-642 Pointer: Bottom of Memory for O.S.
MEMSIZ 0283-0284 643-644 Pointer: Top of Memory for O.S.
TIMOUT 0285  645 Flag: Kernal Variable for IEEE Timeout
COLOR 0286  646 Current Character Color Code
GDCOL 0287  647 Background Color Under Cursor
HIBASE 0288  648 Top of Screen Memory (Page)
XMAX 0289  649 Size of Keyboard Buffer
RPTFLG 028A  650 Flag: REPEAT Key Used, $80 = Repeat
KOUNT 028B  651 Repeat Speed Counter
DELAY 028C  652 Repeat Delay Counter
SHFLAG 028D  653 Flag: Keyb'rd SHIFT Key/CTRL Key/C= Key
LSTSHF 028E  654 Last Keyboard Shift Pattern
KEYLOG 028F-0290 655-656 Vector: Keyboard Table Setup
MODE 0291  657 Flag: $00=Disable SHIFT Keys, $80 = Enable
    SHIFT Keys
AUTODN 0292  658 Flag: Auto Scroll Down, 0 = ON
M51CTR 0293  659 RS-232: 6551 Control Register Image
MS1CDR 0294  660 RS-232: 6551 Command Register Image
M51AJB 0295-0296 661-662 RS-232 Non-Standard BPS (Time/2-100) USA
RSSTAT 0297  663 RS-232: 6551 Status Register Image
BITNUM 0298  664 RS-232 Number of Bits Left to Send
BAUDOF 0299-029A 665-666 RS-232 Baud Rate: Full Bit Time (us)
RIDBE 029B  667 RS-232 Index to End of Input Buffer
RIDBS 029C  668 RS-232 Start of Input Buffer (Page)
RODBS 029D  669 RS-232 Start of Output Buffer (Page)
RODBE 029E  670 RS-232 Index to End of Output Buffer
IRQTMP 029F-02A0 671-672 Holds IRQ Vector During Tape I/O
ENABL 02A1  673 RS-232 Enables
02A2  674 TOD Sense During Cassette I/O
02A3  675 Temp Storage For Cassette Read
02A4  676 Temp D1 IRQ Indicator For Cassette Read
02A5  677 Temp For Line Index
02A6  678 PAL/NTSC Flag, O= NTSC, 1 = PAL
02A7-02FF 679-767 Unused
IERROR 0300-0301 768-769 Vector: Print BASIC Error Message
IMAIN 0302-0303 770-771 Vector: BASIC Warm Start
ICRNCH 0304-0305 772-773 Vector: Tokenize BASIC Text
IQPLOP 0306-0307 774-775 Vector: BASIC Text LIST
IGONE 0308-0309 776-777 Vector: BASIC Char. Dispatch
IEVAL 030A-030B 778-779 Vector: BASIC Token Evaluation
SAREG 030C  780 Storage for 6502 .A Register
SXREG 030D  781 Storage for 5502 .X Register
SYREG 030E  782 Storage for 6502 .Y Register
SPREG 030F  783 Storage for 6502 .SP Register
USRPOK 0310  784 USR Function Jump Instr (4C)
USRADD 0311-0312 785-786 USR Address Low Byte / High Byte
0313  787 Unused
CINV 0314-0315 788-789 Vector: Hardware Interrupt
CBINV 0316-0317 790-791 Vector: BRK Instr. Interrupt 
NMINV 0318-0319 792-793 Vector: Non-Maskable Interrupt
IOPEN 031A-031B 794-795 KERNAL OPEN Routine Vector
ICLOSE 031C-031D 796-797 KERNAL CLOSE Routine Vector
ICHKIN 031E-031F 798-799 KERNAL CHKIN Routine
ICKOUT 0320-0321 800-801 KERNAL CHKOUT Routine
ICLRCH 0322-0323 802-803 KERNAL CLRCHN Routine Vector
IBASIN 0324-0325 804-805 KERNAL CHRIN Routine
IBSOUT 0326-0327 806-807 KERNAL CHROUT Routine
ISTOP 0328-0329 808-809 KERNAL STOP Routine Vector
IGETIN 032A-032B 810-811 KERNAL GETIN Routine
ICLALL 032C-032D 812-813 KERNAL CLALL Routine Vector
USRCMD 032E-032F 814-815 User-Defined Vector
ILOAD 0330 0331 813 817 KERNAL LOAD Routine
ISAVE 0332-0333 818-819  KERNAL SAVE Routine Vector
0334-033B 820-827  Unused   
TBUFFR 033C-03FB 828-1019 Tape l/O Buffer  
03FC-03FF 1020-1023 Unused
VICSCN 0400-07FF 1024-2047 1024 Byte Screen Memory Area
0400-07E7 1024-2023 Video Matrix: 25 Lines X 40 Columns
07F8-07FF 2040-2047 Sprite Data Pointers 
0800-9FFF 2048-40959 Normal BASIC Program Space
8000-9FFF 32768-40959 VSP Cartridge ROM -- 8192 Bytes
 A000-BFFF 40960-49151 BASIC ROM-8192 Bytes (or 8K RAM)
C000-CFFF 49152-53247 RAM-4096 Bytes
D000-DFFF 53248-57343 Input/Output Devices and
    Color RAM or Character Generator ROM
    or RAM-4096 Bytes  
E000-FFFF 57344-65535 KERNAL ROM -- 8192 Bytes (or 8K RAM)


Marko Mäkelä

Banners

Spel och sånt Super Motaro Game Mediapalatset Quartex Lyret
RGEW 2015 vintagegames.se Level