home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 247
/
247.d81
/
e.memmap1
< prev
next >
Wrap
Text File
|
2022-08-26
|
10KB
|
500 lines
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
point