1KB Low Memory
HEX DECIMAL DESCRIPTION
0000 0 Jump for USR 0001 1 Vector for USR 0002 2 Vector for USR 0003 3 Float-Fixed vector 0004 4 Float-Fixed vector 0005 5 Fixed-Float vector 0006 6 Fixed-Float vector 0007 7 Search character 0008 8 Scan-quotes flag 0009 9 TAB column save 000A 10 0=LOAD, 1=VERIFY 000B 11 Input buffer pointer/# subscript 000C 12 Default DIM flag 000D 13 Type: FF=string, 00=numeric 000E 14 Type: 80=integer, 00=floating point 000F 15 DATA scan/LlST quote/memory flag 0010 16 Subscript/FNx flag 0011 17 0 = INPUT;$40 = GET;$98 = READ 0012 18 ATN sign/Comparison eval flag 0013 19 Current l/O prompt flag 0014 0015 20-21 Integer value 0016 22 Pointer: temporary string stack
0017-0018 23-24 Last temp string vector 0019-0021 25-33 Stack for temporary strings 0022-0025 34-37 Utility pointer area 0026-002A 38-42 Product area for multiplication
- 002B-002C 43-44 Pointer: Start of Basic
- 002D-002E 45-46 Pointer: Start of Variables
- 002F-0030 47-48 Pointer: Start of Arrays
- 0031-0032 49-50 Pointer: End of Arrays
- 0033-0034 51-52 Pointer: String storage (moving down)
0035-0036 53-54 Utility string pointer
- 0037-0038 55-56 Pointer: Limit of memory
0039-003A 57-58 Current Basic line number 003B-003C 59-60 Previous Basic line number 003D-003E 61-62 Pointer: Basic statement for CONT 003F-0040 63-64 Current DATA line number 0041-0042 65-66 Current DATA address
- 0043-0044 67-68 Input vector
- Useful memory location
170
HEX DECIMAL DESCRIPTION
0045-0046 69-70 Current variable name 0047-0048 71-72 Current variable address 0049-004A 73-74 Variable pointer for FOR/NEXT 004B-004C 75-76 Y-save; op-save; Basic pointer save
004D 77 Comparison symbol accumulator
004E-0053 78-83 Misc work area, pointers, etc 0054-0056 84-86 Jump vector for functions 0057-0060 87-96 Misc numeric work area
*0061 97 Accum#1: Exponent
- 0062-0065 98-101 Accum#1: Mantissa
*0066 102 Accum#1: Sign 0067 103 Series evaluation constant pointer 0068 104 Accum#1 hi-order (overflow)
- 0069-006E 105-110 Accum#2: Exponent, etc.
006F 111 Sign comparison, Acc#1 vs #2 0070 112 Accum#1 lo-order (rounding)
0071-0072 113-114 Cassette buffer length/Series pointer
- 0073-008A 115-138 CHRGET subroutine (get BASIC char)
007A-007B 122-123 Basic pointer (within subroutine) 008B-008F 139-143 RND seed value
*0090 144 Status word ST 0091 145 Keyswitch PIA: STOP and RVS flags 0092 146 Timing constant for tape 0093 147 Load=0, Verify=1 0094 148 Serial output: deferred char flag 0095 149 Serial deferred character 0096 150 Tape EOT received 0097 151 Register save *0098 152 How many open files *0099 153 Input device (normally 0) *009A 154 Output (CMD) device, normally 3 009B 155 Tape character parity 009C 156 Byte-received flag 009D 157 Direct=$80/RUN=0 output control 009E 158 Tape Pass 1 error log/char buffer 009F 159 Tape Pass 2 error log corrected
- 00A0-00A2 160-162 Jiffy Clock (HML)
00A3 163 Serial bit count/EOI flag 00A4 164 Cycle count 00A5 165 Countdown, tape write/bit count 00A6 166 Pointer: tape buffer 00A7 167 Tape Write ldr count/Read pass/inbit 00A8 168 Tape Write new byte/Read error/inbit cnt 00A9 169 Write start bit/Read bit err/stbit
- Useful memory location
171
HEX DECIMAL DESCRIPTION
00AA 170 Tape Scan;Cnt;Ld;End/byte assy 00AB 171 Write lead length/Rd checksum/parity
00AC-00AD 172-173 Pointer: tape buffer, scrolling 00AE-00AF 174-175 Tape end addresses/End of program 00B0-00B1 176-177 Tape timing constants
- 00B2-00B3 178-179 Pointer: start of tape buffer
00B4 180 Tape timer (1 =enable); bit cnt 00B5 181 Tape EOT/RS-232 next bit to send 00B6 182 Read character error/outbyte buffer *00B7 183 # characters in file name *00B8 184 Current logical file *00B9 185 Current secondary address *00BA 186 Current device
- 00BB-00BC 187-188 Pointer: to file name
00BD 189 Write shift word/Read input char 00BE 190 # blocks remaining to Write/Read 00BF 191 Serial word buffer 00C0 192 Tape motor interlock
00C1-00C2 193-194 I/O start addresses 00C3-00C4 195-196 KERNAL setup pointer
*00C5 197 Current key pressed *00C6 198 # chars in keyboard buffer *00C7 199 Screen reverse flag 00C8 200 Pointer: End-of-line for input
00C9-00CA 201-202 Input cursor log (row, column)
*00CB 203 Which key: 64 if no key 00CC 204 cursor enable (0=flash cursor) 00CD 205 Cursor timing countdown 00CE 206 Character under cursor 00CF 207 Cursor in blink phase 00D0 208 Input from screen/from keyboard
- 00D1-00D2 209-210 Pointer to screen line
*00D3 211 Position of cursor on above line 00D4 212 0=direct cursor, else programmed *00D5 213 Current screen line length *00D6 214 Row where cursor lives 00D7 215 Last inkey/checksum/buffer *00D8 216 # of INSERTs outstanding
- 00D9-00F0 217-240 Screen line link table
00F1 241 Dummy screen link 00F2 242 Screen row marker
- 00F3-00F4 243-244 Screen color pointer
00F5-00F6 245-246 Keyboard pointer 00F7-00F8 247-248 RS-232 Rcv pointer 00F9-00FA 249-250 RS-232 Tx pointer
- Useful memory location
172
HEX DECIMAL DESCRIPTION
- 00FB-00FE 251-254 Operating system free zero page space
00FF 255 Basic storage
0100-010A 256-266 Floating to ASCII work area 0100-013E 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 Secondary Address table
- 0277-0280 631-640 Keyboard buffer
- 0281-0282 641-642 Start of memory for op system
- 0283-0284 643-644 Top of memory for op system
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 keyboard buffer
- 028A 650 Key repeat (128=repeat all keys)
- 028B 651 Repeat speed counter
028C 652 Repeat delay counter
- 028D 653 Keyboard Shift/Control flag
028E 654 Last keyboard shift pattern 028F-0290 655-656 Pointer: decode logic
- 0291 657 Shift mode switch (0 = enabled, 128 = locked)
0292 658 Autoscrolldownflag (0=on, <>0=off) 0293 659 RS-232 control register 0294 660 RS-232 command register 0295-0296 661-662 Nonstandard (Bit time/2-100) 0297 663 RS-232 status register 0298 664 Number of bits to send 0299-029A 665-666 Baud rate (full) bit time 029B 667 RS-232 receive pointer 029C 668 RS-232 input pointer 029D 669 RS-232 transmit pointer 029E 670 RS-232 output pointer 029F-02A0 671-672 Holds IRQ during tape operations 02A1-02FF 673-767 Program indirects
- 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