home *** CD-ROM | disk | FTP | other *** search
- u PRINT THIS
-
- MEMORY MAP ADDRESSES
- --------------------
-
- 0 = processor i/o data direction
- register.(64=47).
-
- 1 = processor i/o data register.
- rom/ram & i/o switches. (64=55
- bit 0 40960 (0) RAM, (1) ROM
- bit 1 57344 (0) RAM, (1) ROM
- bit 2 53248 (0) CHR, (1) I/O
-
- 2-6 = 5 free bytes for ml.
-
- 5-6 are also used as a vector
- routine to convert an integer
- to floating point!
-
- 7 = search character for scanning
- basic text input.
-
- 8 = search character for statement
- terminator or quote.
-
- 9 = column position of thee crsr
- before last tab or spc.
-
- 10 = basic load/verify flag.
-
- 11 = pointer to the text input
- buffer/number of array
- subscripts.
- 12 = routines that find or build
- arrays.
-
- 13 = string or numeric flag.
-
- 14 = integer or floating point flag.
-
- 15 = list,garbage collection and
- tokenization flag.
-
- 16 = array subscript reference or
- def fn call.
-
- 17 = input source flag (get, read,
- input).
-
- 18 = result of tan or sin sign flag.
-
- 19 = input '?' flag (0=on/64=off).
-
- 20-21 = integer line number value.
-
- 22 = pointer to the next free space
- in the temporary string stack.
-
- 23-24 = pointer to the address of
- the last string in the
- temporary string stack.
-
- 25-33 = descriptor stack for
- temporary strings. (34-35 can
- also be used for ml.)
-
- 38-42 = floating point multi-
- plication work area.
-
- 43-44 = start address of 'basic'.
-
- 45-46 = end address of 'basic'.
-
- 47-48 = 'array' storage area start
- address.
-
- 49-50 = 'string' storage area start
- address.
-
- 51-52 = 'variables' start address.
-
- 53-54 = temporary pointer for
- 'strings'.
- 55-56 = 'basic' memory end.
-
- 57-58 = 'basic' current line
- number.
-
- 59-60 = 'basic' last line number.
-
- 61-62 = pointer to the address of
- the current basic statement.
-
- 63-64 = current line number of data
- statement.
-
- 65-66 = address of the current
- 'data' item.
-
- 67-68 = address of the source of
- .,34,.get', 'read', or
- 'input'.
-
- 69-70 = current 'basic' variable
- name.
-
- 71-72 = address of the current
- 'basic' variable.
-
- 73-74 = temporary pointer to the
- index variable used by 'for'.
-
- 75-76 = math operator table
- displacement.
-
- 77 = mask for compare operation.
-
- 78-79 = address of the current 'fn'
- descriptor.
-
- 80-82 = temporary pointer to the
- current string descriptor
-
- 83 = garbage collection constant.
-
- 84-86 = jump to function
- instruction.
-
- 87-96 = 'basic' numeric work area.
-
- 97-101 = floating point accumulator
- (fac1). not usable from basic.
-
- 102 = sign for the floating point
- accumulator #1.
-
- 103 = number of terms in a series
- evaluation.
-
- 104 = overflow digit of floating
- point accumulator #1 (fac1).
-
- 105-109 = floating point accumulator
- (fac2). not usable from basic.
-
- 110 = sign for the floating point
- accumulator #2 (fac2).
-
- 111 = result of a sign comparison of
- fac1 to fac2.
-
- 112 = low byte of fac1 (for
- rounding).
-
- 113-114 = series evaluation pointer.
-
- 115-138 = subroutine to get next
- 'basic' text character
- (chrget).
-
- 139-143 = 'rnd' function seed value.
-
- 144 = status flag register.
-
- 145 = stop key pressed flag.
-
- 146 = cassette read timing.
-
- 147 = load/verify flag (0=load/
- 1=verify).
-
- 148 = serial buss buffered character
- flag.
-
- 149 = buffered character for serial
- bus.
-
- 150 = cassette synchronization
- number.
-
- 151 = temporary register save area.
-
- 152 = number of open files/pointer
- to the file tables.
-
- 153 = default input device. set to 0
- for the keyboard.
-
- 154 = default output device. set to
- 3 for the screen.
-
- 155 = tape character parity.
-
- 156 = tape byte received flag.
-
- 157 = error & control message flag
- (0=disable all/64=error/
- 128=control).
-
- 158 = first pass of tape error log
- index.
-
- 159 = second pass of tape error log
- correction index.
-
- 160-162 = system's clock.
-
- 162 = system clock.
-
- 163-164 = cassette or serial work
- bytes.
-
- 165 = cassette sync character
- countdown.
-
- 166 = tape i/o buffer character
- count.
-
- 167 = rs-232 input bits/cassette
- temporary storage.
-
- 168 = rs-232 input bit count or
- cassette temporary storage.
-
- 169 = rs-232 start bit received
- flag.
-
- 170 = rs-232 input byte buffer or
- cassette temporary storage.
-
- 171 = rs-232 input parity or
- cassette leader counter.
-
- 172-173 = load start address/screen
- scrolling.
-
- 174-175 = save end.
-
- 176-177 = tape timing.
-
- 178-179 = tape buffer start.
-
- 180 = rs-232 output bit count or
- cassette temporary storage.
-
- 181 = rs-232 next bit to send or
- tape eot flag.
-
- 182 = rs-232 output byte buffer.
-
- 183 = filename length.
-
- 184 = file/port number.
-
- 185 = device subcommand.
-
- 186 = device number.
-
- 187-188 = filename start.
-
- 189 = rs-232 output parity or
- cassette temporary storage.
-
- 190 = cassette read/write block
- count.
-
- 191 = tape input byte buffer.
-
- 192 = tape motor interlock.
-
- 193-194 = save start.(i/o start
- address).
-
- 195-196 = load/verify start. (tape
- load temp address).
-
- 197 = last key pressed.
-
- 198 = number of characters in
- keyboard buffer.
-
- 199 = reverse character flag (0=off/
- 1=on).
-
- 200 = end of the line pointer for
- input.
-
- 201-202 = 'crsr' column and row
- position at the start of
- input.
-
- 203 = current key being pressed.
-
- 204 = crsr blink control flag (0=on/
- 1=off).
-
- 205 = crsr countdown to blink timer.
-
- 206 = character under crsr.
-
- 207 = on or off crsr blink flag.
- crsr for 'get' statement
- (0=on/1=off).
-
- 208 = input from keyboard or screen
- flag.
-
- 209-210 = address of the current
- screen line.
-
- 211 = crsr's column (0-39).
-
- 212 = quote mode flag (0=off/1=on).
-
- 213 = screen line's maximum length.
-
- 214 = crsr's row (line 0-24).
-
- 215 = temporary storage of last
- character printed.
-
- 216 = number of inserts left before
- exiting quote mode flag.
-
- 217-242 = 'screen' line links./
- 'editor' temporary storage.
-
- 245-246 = address of the current
- 'keyboard' decoder table.
-
- 247-248 = address of the 'rs-232'
- input buffer.
-
- 249-250 = address of the 'rs-232'
- output buffer.
-
- 251-255 = 5 free bytes for ml.
-
- ------------------
-
- 256-511 = stack area.
-
- 255-266 = work area for floating
- point to ascii.
-
- 256-317 = tape input error log.
-
- ------------------
-
- 512-600 = 'basic' input buffer.
-
- 601-610 = active logical file
- numbers table.
-
- 611-620 = device number table for
- each file.
-
- 621-630 = secondary address table
- for each file.
-
- 631-640 = keyboard buffer.
-
- 641-642 = start of memory address.
-
- 643-644 = end of memory address.
-
- 645 = serial buss time-out flag.
-
- 646 = current crsr color.
-
- 647 = color under crsr.
-
- 648 = screen memory's top page.
-
- 649 = maximum size of keyboard
- buffer.
-
- 650 = key repeat flag (0=default/
- 64=disable repeat/128 or
- 255=repeat all).
-
- 651 = delay between repeat timer.
-
- 652 = delay until first key repeat
- begins timer.
-
- 653 = keyboard shift/control flag
- (0=no key pressed/ 1=shift/
- 2=cmd/ 4=ctrl).
-
- 654 = last shift press flag.
-
- 655-656 = vector to 'keyboard' table
- setup pointer.
-
- 657 = shifted cmd key control flag
- (0=enable/128=disable).
-
- 658 = screen scroll enable flag.
-
- 659 = rs-232 control register.
-
- 660 = rs-232 command register.
-
- 661-662 = 'rs-232' bit timing.
-
- 663 = rs-232 status register.
-
- 664 = rs-232 number of bits left to
- send or receive.
-
- 665-666 = time required to send a
- bit.('rs-232' speed/code).
-
- 667 = rs-232 input buffer end
- pointer.
-
- 668 = rs-232 input buffer start
- pointer.
-
- 669 = rs-232 output buffer start
- pointer.
-
- 670 = rs-232 output buffer end
- pointer.
-
- 671-672 = 'i/o irq' save area during
- cassette operations.
-
- 673 = rs-232 interrupts enabled. vic
- chip flag (0=on).
-
- 674 = cia #1 control register b
- storage during cassette
- operation.
-
- 675 = save area for cia #1 interrupt
- control register during
- cassette read.
-
- 676 = save area for cia #1 control
- register a during cassette
- read.
-
- 677 = temporary index to next
- 40-column line for screen
- scrolling.
-
- 678 = pal/ntsc flag.
-
- 679-767 = 88 free bytes for ml.
-
- 768-779 = vector address buffer 1.
-
- 768-769 = address to print 'basic'
- error message routine.
-
- 770-771 = warm reset. address to
- 'basic' program loop.
-
- 772-773 = crunch 'basic' ascii
- keywords into tokens.
-
- 774-775 = print basic tokens.
-
- 775 = list disable (hb of token
- link) (167=enabled
- /200=disabled).
-
- 776-777 = execute next 'basic'
- token.
-
- 778-779 = evaluate single-term
- arithmetic expression.
-
- 780-783 = processor registers.
-
- 780 = accumulator .A register.
-
- 781 = index .X register.
-
- 782 = index .Y register.
-
- 783 = status flag register.
-
- 784-786 = 'usr' vector. 785-786 is
- start address
-
- 788-819 = vector address buffer 2.
-
- 788 = break disable. (lb of hardware
- interrupt) (49=enabled/
- 52=disabled).
-
- 808 = stop key disable. (lb of stop
- interrupt) (237=enabled/
- 254=disabled).
-
-
-