+------------------------------------------------------------------------ | | ZEROPAGE AND EXTENDED ZEROPAGE - DESCRIPTIONS | +------------------------------------------------------------------------ | | Zeropage: | | $00/0 6510 On-chip Data Direction Register | $01/1 6510 On-chip 8-bit Input/Output Register | $02/2 Unused | $03-$04/3-4 Jump Vector: Convert FAC to Integer | $05-$06/5-6 Jump Vector: Convert Integer to Floating point | $07/7 Search Character/Temporary Integer during INT | $08/8 Flag: Scan for Quote at end of String | $07-$08/7-8 Temporary Integer during OR/AND | $09/9 Screen Column for last TAB | $0A/10 Load/Verify-Flag | $0B/11 Input Buffer Pointer/Number of Subscripts | $0C/12 Flag: Default Array dimension | $0D/13 Data type Flag | $0E/14 Data type Flag | $0F/15 Flag: DATA scan/List Quote/Garbage collection | $10/16 Flag: Subscript reference/User Function call | $11/17 Input Flag | $12/18 Flag: TAN sign/Comparative result | $13/19 File number of current Input Device | $14-$15/20-21 Temporary: Integer value | $16/22 Pointer: Temporary String Stack | $17-$18/23-24 Last temporary String Address | $19-$21/25-33 Stack for temporary Strings | $22-$25/34-37 Utility Pointer Area | $22-$23/34-35 First Utility Pointer | $24-$25/36-37 Second Utility Pointer | $26-$2A/38-42 Floating point product of Multiply and Divide | $2B-$2C/43-44 Pointer: Start of BASIC Text Area | $2D-$2E/45-46 Pointer: Start of BASIC Variables | $2F-$30/47-48 Pointer: Start of BASIC Arrays | $31-$32/49-50 Pointer: End of BASIC Arrays + 1 | $33-$34/51-52 Pointer: Bottom of String space | $35-$36/53-54 Utility String Pointer | $37-$38/55-56 Pointer: Highest Address available to BASIC | $39-$3A/57-58 Current BASIC Line number | $3B-$3C/59-60 Previous BASIC Line number | $3D-$3E/61-62 Pointer: BASIC Statement for CONT | $3F-$40/63-64 Current DATA Line number | $41-$42/65-66 Pointer: Used by READ - current DATA Item | $43-$44/67-68 Pointer: Temporary storage during INPUT | $45-$46/69-70 Name of Variable being sought in Variable Table | $47-$48/71-72 Value/Descriptor-Pointer | $49-$4A/73-74 Pointer: Index Variable for FOR/NEXT loop | $4B-$4C/75-76 Temporary storage for TXTPTR | $4D/77 Mask used during FRMEVL | $4E-$52/78-82 Temporary storage for FLPT value | $53/83 Length of String during Garbage collection | $54-$56/84-86 Jump Vector used in Function Evaluation | $57-$5B/87-91 Temporary storage for FLPT value | $5C-$60/92-96 Temporary storage for FLPT value | $61-$66/97-102 Main Floating point Accumulator | $61/97 FAC Exponent | $62-$65/98-101 FAC Mantissa | $66/102 FAC Sign | $67/103 Pointer: Series Evaluation Constant | $68/104 Bit Overflow Area during normalisation Routine | $69-$6E/105-110 Auxiliary Floating point Accumulator | $69/105 AFAC Exponent | $6A-$6D/106-109 AFAC Mantissa | $6E/110 AFAC Sign | $6F/111 Sign of result of Arithmetic Evaluation | $70/112 FAC low-order rounding | $71-$72/113-114 Pointer: Used during CRUNCH/ASCII conversion | $73-$78/115-120 CHRGET: Get next Byte of BASIC Text | $79-$8A/121-138 CHRGOT: Get same Byte again | $7A-$7B/122-123 Pointer: Current Byte of BASIC Text | $8B-$8F/139-143 Floating RND Function Seed Value | $90/144 Kernal I/O Status Word ST | $91/145 Flag: $7F = STOP key | $92/146 Timing Constant for Tape | $93/147 Flag: 0 = Load, 1 = Verify | $94/148 Flag: Serial Bus - Output Character buffered | $95/149 Buffered Character for Serial Bus | $96/150 Cassette Sync number | $97/151 Storage of X Register during CHRIN | $97/151 Storage of Y Register during RS232 fetch | $98/152 Number of Open Files/Index to File Table | $99/153 Default Input Device (0) | $9A/154 Default Output Device (3) | $9B/155 Parity of Byte Output to Tape | $9C/156 Flag: Byte received from Tape | $9D/157 Error-Mode-Flag | $9E/158 Index to Tape File name/Header ID for Tape write | $9E/158 Tape Error log pass 1 | $9F/159 Tape Error log pass 2 | $A0-$A2/160-162 Real-time jiffy Clock | $A3/163 Bit Counter Tape Read or Write | $A3/163 Serial Bus EOI (End Of Input) Flag | $A4/164 Pulse Counter Tape Read or Write | $A4/164 Serial Bus shift Counter | $A5/165 Tape Synchronising count down | $A6/166 Pointer: Tape I/O buffer | $A7/167 RS232 temporary for received Bit | $A7/167 Tape temporary | $A8/168 RS232 Input Bit count/Tape temporary | $A9/169 RS232 Flag: Start Bit check/Tape temporary | $AA/170 RS232 Input Byte Buffer/Tape temporary | $AB/171 RS232 Input parity/Tape temporary | $AC-$AD/172-173 Pointer: Tape Buffer/Screen scrolling | $AE-$AF/174-175 Tape End Address/End of Program | $B0-$B1/176-177 Tape timing Constants | $B2-$B3/178-179 Pointer: Start Address of Tape Buffer | $B4/180 RS232 Write bit count/Tape Read timing Flag | $B5/181 RS232 Next Bit to send/Tape Read - End of Tape | $B6/182 RS232 Output Byte Buffer/Tape Read Error Flag | $B7/183 Number of Characters in Filename | $B8/184 Current File - Logical File number | $B9/185 Current File - Secondary Address | $BA/186 Current File - First Address (Device number) | $BB-$BC/187-188 Pointer: Current File name Address | $BD/189 RS232 Output Parity/Tape Byte temporary | $BE/190 Tape Input/Output Block count | $BF/191 Serial Word Buffer | $C0/192 Tape Motor Switch | $C1-$C2/193-194 Start Address for LOAD and Cassette Write | $C3-$C4/195-196 Pointer: Type 3 Tape LOAD and general use | $C5/197 Matrix value of last Key pressed | $C6/198 Number of Characters in Keyboard Buffer queue | $C7/199 Flag: Reverse On/Off | $C8/200 Pointer: End of Line for Input | $C9-$CA/201-202 Cursor X/Y position at start of Input | $CB/203 Matrix value of last Key pressed | $CC/204 Flag: Cursor blink | $CD/205 Timer: Count down for Cursor blink toggle | $CE/206 Character under Cursor while Cursor Inverted | $CF/207 Flag: Cursor Status | $D0/208 Flag: Input from ... | $D1-$D2/209-210 Pointer: Current Screen Line Address | $D3/211 Cursor Column on current Line | $D4/212 Flag: Editor in Quote Mode | $D5/213 Current logical Line length: 39 or 79 | $D6/214 Current Screen Line number of Cursor | $D7/215 Current Input Character/Last Character Output | $D8/216 Count of number of inserts outstanding | $D9-$F2/217-242 Screen Line Link Table | $F3-$F4/243-244 Pointer: Current Color RAM Location | $F5-$F6/245-246 Vector: Current Keyboard decoding Table | $F7-$F8/247-248 RS232 Input Buffer Pointer | $F9-$FA/249-250 RS232 Output Buffer Pointer | $FB-$FE/251-254 Free ZeroPage space for User Programs | $FF/255 BASIC temporary Data Area | $FF-$010A/255-266 Assembly Area for Floating point to ASCII | | Extended Zeropage: | | $0100-$013E/256-318 Tape Input Error log | $0100-$01FF/256-511 6510 Hardware Stack Area | $013F-$01FF/319-511 BASIC Stack Area | $0200-$0258/512-600 BASIC Input Buffer (Input Line from Screen) | $0259-$0262/601-610 Active logical File numbers | $0263-$026C/611-620 Active File First Addresses (Device numbers) | $026D-$0276/621-630 Active File Secondary Addresses | $0277-$0280/631-640 Keyboard Buffer Queue (FIFO) | $0281-$0282/641-642 Pointer: Bottom of Memory for Operating System | $0283-$0284/643-644 Pointer: Top of Memory for Operating System | $0285/645 Serial IEEE Bus timeout defeat Flag | $0286/646 Current Character Color code | $0287/647 Background Color under Cursor | $0288/648 High Byte of Screen Memory Address | $0289/649 Maximum number of Bytes in Keyboard Buffer | $028A/650 Flag: Repeat keys | $028B/651 Repeat Key: Speed Counter | $028C/652 Repeat Key: First repeat delay Counter | $028D/653 Flag: Shift Keys | $028E/654 Last Shift Key used for debouncing | $028F-$0290/655-656 Vector: Routine to determine Keyboard table | $0291/657 Flag: Upper/Lower Case change | $0292/658 Flag: Auto scroll down | $0293/659 RS232 Pseudo 6551 control Register Image | $0294/660 RS232 Pseudo 6551 command Register Image | $0295-$0296/661-662 RS232 Non-standard Bits/Second | $0297/663 RS232 Pseudo 6551 Status Register Image | $0298/664 RS232 Number of Bits left to send | $0299-$029A/665-666 RS232 Baud Rate; Full Bit time microseconds | $029B/667 RS232 Index to End of Input Buffer | $029C/668 RS232 Pointer: High Byte of Input Buffer | $029D/669 RS232 Pointer: High Byte of Output Buffer | $029E/670 RS232 Index to End of Output Buffer | $029F-$02A0/671-672 Temp. store for IRQ Vector during Tape I/O | $02A1/673 RS232 Enables | $02A2/674 TOD sense during Tape I/O | $02A3/675 Temporary storage during Tape READ | $02A4/676 Temporary D1IRQ Indicator during Tape READ | $02A5/677 Temporary for Line Index | $02A6/678 Flag: TV Standard | $02A7-$02FF/679-767 Unused | $02C0-$02FE/704-766 Sprite #11 Data Area | $0300-$0301/768-769 Vector: BASIC Error Message | $0302-$0303/770-771 Vector: BASIC Input Line and Decode | $0304-$0305/772-773 Vector: BASIC Tokenise Routine | $0306-$0307/774-775 Vector: BASIC LIST Routine | $0308-$0309/776-777 Vector: BASIC Character dispatch Routine | $030A-$030B/778-779 Vector: BASIC Token evaluation | $030C/780 Storage for 6510 Accumulator during SYS | $030D/781 Storage for 6510 X-Register during SYS | $030E/782 Storage for 6510 Y-Register during SYS | $030F/783 Storage for 6510 Status Register during SYS | $0310/784 USR Function JMP Instruction | $0311-$0312/785-786 USR Address | $0313/787 Unused | $0314-$0315/788-789 Vector: Hardware IRQ Interrupt Address | $0316-$0317/790-791 Vector: BRK Instruction Interrupt Address | $0318-$0319/792-793 Vector: Hardware NMI Interrupt Address | $031A-$031B/794-795 Vector: Kernal OPEN Routine | $031C-$031D/796-797 Vector: Kernal CLOSE Routine | $031E-$031F/798-799 Vector: Kernal CHKIN Routine | $0320-$0321/800-801 Vector: Kernal CHKOUT Routine | $0322-$0323/802-803 Vector: Kernal CLRCHN Routine | $0324-$0325/804-805 Vector: Kernal CHRIN Routine | $0326-$0327/806-807 Vector: Kernal CHROUT Routine | $0328-$0329/808-809 Vector: Kernal STOP Routine | $032A-$032B/810-811 Vector: Kernal GETIN Routine | $032C-$032D/812-813 Vector: Kernal CLALL Routine | $032E-$032F/814-815 User Defined Vector | $0330-$0331/816-817 Vector: Kernal LOAD Routine | $0332-$0333/818-819 Vector: Kernal SAVE Routine | $0334-$033B/820-827 Unused | $033C-$03FB/828-1019 Tape I/O Buffer | $0340-$037E/832-894 Sprite #13 | $0380-$03BE/896-958 Sprite #14 | $03C0-$03FE/960-1022 Sprite #15 | $03FC-$03FF/1020-1023 Unused | +------------------------------------------------------------------------ Back to Mainpage |