Model 100 System Map Part 7 (F5F4-FFEC)
From Bitchin100 DocGarden
(Redirected from Model 100 System Map Part 7)
Jump to navigationJump to search
Origin
This is a derived work of the "Model 100 System Map", Copyright (C) 1985, Robert D. Covington, Systems Information Management Consultants.
Model 100 RAM Memory Map
F5F4H - Himem (2)
F5F9H - RST 5.5 RAM vector (3) Used for BCR interrupt
F5FCH - RST 6.5 RAM vector (3) Used for UART interrupt (Called)
F5F0H - Active system signature: warm vs. cold boot
F5FFH - RST 7.5 RAM vector (3) Used for Timer interrupt (Called)
F602H - RAM vector for TRAP interrupt (3) (1431H)
F62AH - Option ROM flag (0-no option ROM)
F62BH - Dial speed (1=10pps, 2=20pps)
F630H - Start of 8 byte table for each function key status (1=on,
0=off)
F639H - Cursor row (1-8)
F63AH - Cursor column (1-40)
F63BH - Number of active rows (1-8)
F63CH - Number of active columns on screen (1-40)
F63DH - Label line/8th line protect status (0=off)
F63EH - Scroll disable flag (0-allow scrolling)
F63FH - Cursor status (0-off, 1-on)
F640H - Cursor row (1-8)
F641H - Cursor Column (1-40)
F646H - ESCape mode flag for RST 20H (0-normal video, not zero-ESCape
mode)
F648H - Reverse video switch (0=off)
F64EH - X coordinate of last graphic point plotted
F64FH - Y coordinate of last graphic point plotted
F651H - Flag used during EDITing a BASIC program.
0, when editing a .DO file,
1, while editing an entire BASIC program
255, when editing a specific lines from a BASIC program
F652H - "ERRTRP" error trap code pointer (2)
F654H - ??? Some counter related to the token interpreter (1)
F655H - ??? (2)
F656H - Power off exit condition switch (0-return control back to
program on power up, 1-return to menu on power up)
F658H - Full/half duplex switch (0-half duplex)
F65AH - Auto linefeed on RS232 output switch (0-auto linefeed option
off, not zero-automatically send a linefeed after every
carriage return)
F65BH - Start of textual RS232 parameter setting buffer. This
buffer is normally used to store the STAT setting for TELCOM
(5)
F660H - Self modifying address called on CALL statement
F661H - Address last called (2)
F667H - Called on OUT statement
F66AH - Called on INP function
F672H - Error code of last error
F674H - Line printer head position
F675H - Output device for RST 20H (0=screen, 1=printer)
F678H - Start of string buffer for BASIC (2)
F67AH - Current executing line number, FFFFH if no program running.
(2)
F67CH - Start of BASIC program pointer (2)
F680H - End of statement marker ':' or null
F681H - BASIC tokenized text
F685H - Start of keyboard buffer used by the keyboard line input
routine at 4644H.
F788H - Current horizontal position of cursor (0-39)
F789H - Function key definition area (128)
F809H - End of function key definition area
F80AH - Function key definition area used by BASIC (128)
F88CH - End of file area, start of paste buffer and/or BASIC variables (2)
F897H - Start of "work area"
F923H - Seconds (ones)
F924H - Seconds (tens)
F925H - Minutes (ones)
F926H - Minutes (tens)
F927H - Hours (ones)
F928H - Hours (tens)
F929H - Date (ones)
F92AH - Date (tens)
F92BH - Day code (0=Sunday, 1=Monday, etc.)
F92CH - Current month (1-12)
F92DH - Year (ones)
F92EH - Year (tens)
F92FH - Timer, decreases from 125 to 0. At zero, time+date copied
from clock chip to RAM.
F930H - Timer, decreases from 12 to 1. When 1, byte at $F931
decreased by 1.
F931H - Power down counter. When 1, power goes OFF.
F933H - Seconds (ones)
F934H - Seconds (tens)
F935H - Minutes (ones)
F936H - Minutes (tens)
F937H - Hours (ones)
F938H - Hours (tens)
F939H - Date (ones)
F93AH - Date (tens)
F93BH - Day (0=Sunday, 1=Monday, etc.)
F93CH - ??? timer or timer interrupt related (1)
F93DH - Time for ON TIME interrupt (SSMMHH) (6)
F943H - ??? other source claims this is COM on/off flag.
States COM on/off is 1 for ON, 0 for OFF
F944H - On Com flag (0=off, 255=on)
F945H - Address of On Com routine (2)
F947H - On time flag (0=off, 255=on)
F948H - Address of on time routine (2)
F94AH - Function key vector table (24)
First byte - On/off status
Next 2 bytes - Vector address
F962H - Start of RAM directory
Byte 1 - Directory flags. A 255 specifies the end of the
directory.
Bit 7 - Set if valid entry
6 - Set for .DO file
5 - Set for .CO file
4 - Set for ROM file
3 - Set for invisible file
2-3 - Address of file
4-11 - Eight byte filename. Filename must have extension
right justified and filename left justified. Any
gaps should be filled with spaces (ex. "ADD.DO"
should be "ADD DO")
F962H - BASIC file slot
F96DH - TEXT file slot
F978H - TELCOM file slot
F979H - ADDRSS file slot
F98EH - SCHEDL file slot
F999H - Start of "Suzuki" file slot
F99AH - Pointer to current BASIC program not saved (Suzuki) (2)
F9A4H - Start of "Hayashi" file slot
F9A5H - Start of PASTE buffer ("Hayashi") pointer (2)
F9AFH - Start of "RickY" file slot
Note: this is the last reserved file slot. All following file
slots are in the user region. The routine at $20E4, for example,
starts out pointing to RickY, but immediately adds 11, since it
is walking the user file area.
F9B0H - Pointer to BASIC program line being edited (unverified) (2)
F9BAH - User file slots 1-19, extends to FA8A
FA8BH - End of directory marker ($FF)
FAACH - ASCII character last output to printer
FAADH - Label line enable flag (0 = disabled, non-zero = enabled)
FAAEH - Contents of port $A8
FAAFH - Start of IPL filename (8)
FABAH - Address where last BASIC list started (2)
FABEH - Storage for stack pointer on power up/down for continued
program execution after a power down (2)
FAC0H - Lowest RAM memory address used by system (8000H for a 32k
system) (2)
FAC9H - Offset of last RST 38H call (computed address for RST 7 call)
FAD0H - Length of last program loaded or saved on tape (2)
FADAH - Start of RST 38H vector table (256)
FAE2H - LCD character output RAM vector for 20H routine. The address
at this location is called everytime a character is sent to
the LCD (note:This routine is called at 4317H). (2)
FAE4H - Printer output RAM vector. The 2 byte address at this
location is called everytime a character is output to the
printer via the routine at 1470H. (2)
FB00H - EOF function RAM vector. The 2 byte address at this
location is called evertime an EOF function is performed. (2)
FB0CH - TELCOM TERM mode F6 RAM vector (2)
FB0EH - TELCOM TERM mode F7 RAM vector (2)
FB14H - WIDTH statement RAM vector. (2)
FB1AH - CRT open routine RAM vector (2)
FB1EH - CRT output file routine RAM vector (2)
FB20H - WAND Open routine RAM vector (2)
FB22H - WAND Close routine RAM vector (2)
FB24H - WAND Get routine RAM vector (2)
FB26H - WAND Special I/O routine vector (2)
FB28H - LOF function routine RAM vector (2)
FB2AH - LOC function routine RAM vector (2)
FB2CH - LFILES statement routine RAM vector (2)
FB2EH - DSKI$ routine RAM vector (2)
FB30H - DSKO$ routine RAM vector (2)
FB64H - Create/Locate switch for variables used in the main
evaluation routine (Locate=0, Create>0).
FB65H - Type of last variable used (2-Integer, 3-String, 4-Single
Precision, 5-Double Precision)
FB67H - Start address for file buffer area (2)
FB94H - Line number of current data statement (2)
FB96H - 0 if no FOR/NEXT loop in progress
FB99H - Address of last variable assigned via a LET instruction.
This address points to the variable description table as with
a VARPTR(variable) instruction. (2)
FB9BH - Pointer to most recent or currently running line (2). This
address points to the actual text skipping the line number
and spaces.
FB9DH - Stack pointer value used by BASIC to reinitialize the stack.
This memory pointer is updated after each instruction by the
routine at 0804H. (2)
FB9FH - Line number of last error (2)
FBA1H - Most recent used or entered line number (2)
FBA3H - Pointer to statement where error occurred (2)
FBA5H - Address of ON ERROR routine (2)
FBA7H - Error status flag
VirtualT disassembly calls this "BASIC program is running flag"
FBA8H - End of BASIC expression (2)
FBAAH - Line where last break, END, or STOP occured (2)
FBACH - Address where program stopped on last break, END, or STOP (2)
FBAEH - Pointer to the start of the DO files (2)
FBB0H - Pointer to the start of CO files (2)
FBB2H - Pointer to the start of variable table (2)
FBB4H - Pointer to the start of array table (2)
FBB6H - Pointer to the start of the systems unused memory (2)
FBB8H - Address where DATA search will begin on next READ statement
(2)
FBBAH - 26 byte table for default variable types declared by the DEF
statement. Each entry corresponds to one of the letters
A-Z. The contents of each entry are 2 for an integer, 3 for
a string, 4 for a single precision number, and 8 for a double
precision number. (26)
FC18H - Start of FAC1 for single (4) and double (8) precision numbers
(8)
FC1AH - Start of FAC1 for integers (2)
FC69H - Start for FAC2 for single (4) and double (8) precision numbers
FC6BH - Start of FAC2 for integers (2)
FC82H - Maximum number of open files (MAXFILES) (1)
FC83H - Pointer to the 30 byte file number descriptor pointer
table-2. Each entry of the table points to the actual file
descriptor table (same as VARPTR(#x)).
FC8CH - Pointer to the file descriptor table for the last file used
(2)
FC93H - Filename Buffer #1 of current BASIC program (8)
FC9BH - ??? maybe terminator of Filename buffer #1
FC9CH - Filename Buffer #2 of last program loaded from tape (6 or 8?)
FCA2H - ??? (30 bytes)
FCC0H - Start of alternate LCD character buffer (320)
FD88H - Scratchpad w/in ALTLCD for Date/Time in ASCII, used by MENU routine,
FD9FH - End of Date/Time scratchpad
FDD9H - Scratchpad w/in ALTLCD for filename argument to $5AA6 (CHKDC - 4)
FDE2H - End of CHKDC-4 filename argument
FDF0H - Scratchpad w/in ALTLCD for filespec to be check against filespec
searched for by CHKDC
FDF9H - End of CHKDC scratchpad
FDFFH - End of alternate LCD character buffer
FE00H - Start of LCD memory (320)
FF3FH - End of LCD memory
FF40H - ??? (2)
FF42H - XON/XOFF enable flag. If this byte is 0, XON/XOFFs are not
significant for RS232 operations. If this byte is greater
than 0, XON/XOFFs are treated as normal.
FF43H - RS232 initialization status (0-deactivated, >0- activated)
FF44H - Sound flag (0=on, 175=off) (1)
FF45H - Contents of port $E8H (1)
(called Cassette ON/OFF flag, elsewhere)
FF46H - Start of 64 character RS232 buffer (64)
FF85H - End of 64 RS232 buffer
FF86H - Number of characters in the RS232 buffer (FF46H). When this
number reaches 40, a control S is automatically sent by the
system.
FF8AH - Status of control S (1-Control S has been pressed, 0-no
control S is active).
FF8BH - 8155 UART baud rate generator baud rate timer value (2)
FF8DH - RS232 parity control byte (1)
FF8EH - High or low cassette level trigger flag for 6FDBH (1)
FF8FH - ??? (1)
FF90H - Contains a 2 as long as a noncontrol key held down (1)
FF91H - ??? (6)
FF97H - 8 bits for storing space, del, tab, esc, paste, label, print,
and enter key recognition.
FF98H - 8 bits for storing function key recognition
FF99H - ??? (9)
FFA2H - 8 bits for storing shift, ctrl, grph, code, num, and caps
lock.
FFAAH - Number of characters in keyboard buffer.
FFABH - Start of keyboard typeahead buffer (64)
FFEAH - End of keyboard buffer
FFEBH - ??? (1)
FFECH - Start of 5 byte bit image of the pattern currently
under the cursor (5). Can be used by screen dump routines