Model 100 System Map Part 7 (F5F4-FFEC)

From Bitchin100 DocGarden
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)

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 -  ??? (1) referred to by code at $20E4

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)

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 -  ??? (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