+------------------------------------------------------------------------
  |
  |      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