home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
ref
/
rcmap5.200
< prev
next >
Wrap
Text File
|
2006-10-19
|
28KB
|
800 lines
----------------------------
| Model 100/200 System Map |
----------------------------
ROM: Part V
Copyright 1985
Revision Date: 09/30/85
Compiled and Researched by:
Robert D. Covington
Systems Information Management Consultants
[Not associated with The Covington Group, N. Y., N. Y.]
Revised to add Tandy 200 by Chris De Herrera, 9/89
This document may be duplicated and distributed free of
charge to any individuals who desire it. Any duplications of
this document, however, must include all of the information
contained here-in, with no deletions or changes.
The author and distributors of this document make no
expressed or implied warrantees as to the validity of the
information contained here in.
Hex Address
M100 M200 Description
---------------------------------------------------------------
5146H 5FFDH - Entry to TELCOM
515BH - TELCOM Ready re-entry point for TELCOM commands
5185H - Start of TELCOM instruction vector table. Each entry starts
with a 4 byte instruction name followed by a 2 byte routine
vector.
51A2H - End of TELCOM instruction vector table
51A4H 605BH - ?
51C0H 6077H - TELCOM STAT instruction routine
51C7H - Print current STAT (RS232 settings for TELCOM) and return to
TELCOM ready
51EDH - Set STAT (RS232 settings for TELCOM) and return to TELCOM
ready
522FH - TELCOM CALL instruction routine
5244H 6142H - CALMSG
524DH - TELCOM FIND instruction routine
52BBH 61BAH - Disconect phone line and disable modem carrier
Exit:
A - New contents of port 0BAH
52D0H 61D0H - Connect phone line and enable modem carrier
Exit:
A - New contents of port 0A8H
C flag - Set
52E4H 61E7H - Lift telephone and wait for a carrier. The carrier must be
present for more than 2 seconds to qualify a carrier detect.
Exit:
C flag - Set if shift break pressed
Z flag - Set if carrier present
5310H 620EH - Pause for about 2 seconds
Exit:
BC & AF - Destroyed
5316H 6214H - TMDELA
532DH 622BH - Execute logon sequence pointed to by HL. This routine is
used to drive the Model 100 autodialer
Entry:
HL - Points to logon buffer
540AH 632AH - Dial the digit that is present in the A register. The ASCII
equivalent of the number is printed on the screen at the
current cursor position as this routine is dialing.
Entry:
A - Digit to dial
Exit:
All registers destroyed
5455H 6378H - TELCOM TERM instruction routine
5468H 638BH - ?
550DH 648AH - Start of function key vector table for TERM commands in
TELCOM. Each 2 byte vector corresponds to each function key.
551BH - End of function key vector table for TERM
551DH 6608H - ?
5520H 66C2H - ?
5523H 649AH - TELCOM PREV function routine
553EH 64CAH - TELCOM FULL/HALF function routine
5544H 64BEH - DUPDSP
5550H 6517H - TELCOM ECHO function routine
5556H 64D0H - ECHDSP
5562H 64DCH - WATDSP
556BH 64E5H - CHGDSP
55A0H 651AH - UPLDR
5562H 64DCH - WATDSP
556BH 64E5H - CHGDSP
55A0H 651AH - UPLDR
559DH 64B8H - TELCOM UP function routine
567EH 649DH - TELCOM DOWN function routine
568FH 6619H - DWNLDR
56C5H 6662H - ?
571EH 66DBH - TELCOM BYE function routine
5759H 6766H - UPLMSG
5768H 6775H - DWNMSG
5771H 677EH - ABTMSG
577CH 6789H - FNTFND
5786H 6793H - DISMSG
5790H 6C1BH - ?
5791H 679EH - Print the buffer pointed to by HL till a null or '"' is
found. Printing begins at the start of a line. If the
cursor is not at the begining of the line, a CR is sent.
Entry:
HL - Points to the start of the buffer to be printed
5797H 67A4H - MENU Statement. Go to main menu
58B6H 6A4FH - ?
58C3H 6A5CH - ?
58DBH 6A6CH - ?
58E2H 6A73H - ?
58EBH 6A7CH - ?
N/A 6ACCH - PRINT 'Length='
5970H 6CB1H - ?
59ADH - Convert filename from right justified extention (name padded
with spaces to cause extention to be last two characters) to
normal filename with "." delimeter for extention.
Entry:
DE - Points to right justified extention filename (8
characters)
HL - Points to the start of the destination buffer for
the converted filename
Exit:
HL - Points to end of destination buffer where the
filename is stored. Filename is terminated with
a null.
DE - Points to end of source filename
A - Destroyed
59C9H 6D51H - ?
59E5H 6D6DH - ?
5A12H 6D97H - Print time, day, and date on the first line of the screen
(used on main menu). The screen is cleared prior to printing
Exit:
All registers destroyed
5A15H - Same 5A12H but screen is not cleared. Line is still printed
on top line of screen.
Exit:
All registers destroyed
5A58H 6DF6H - Print the buffer pointed to by HL. Printing terminates with
a null.
Entry:
HL - Points to the buffer to be printed
Exit:
HL - Points to the terminating null
A - 0
5A62H 6E06H - Move the memory pointed to by DE to the memory pointed to by
HL for A number of bytes. HL and DE are incremented after
each byte moved
Entry:
DE - Points to start of source memory
HL - Points to start of destination memory
A - Number of bytes to move
Exit:
DE & HL - Incremented past last byte moved
A = 0
5A6DH 6E11H - Compare the buffer pointed to by DE to the buffer pointed to
by HL for C bytes or until a null is found in the buffer
pointed to by DE.
Entry:
DE - Points to start of first buffer
HL - Points to start of second buffer
C - Number of bytes to compare
Exit:
A = 0 if the compare was ended with a null
C - Number of bytes remaining until compare would
have been successful.
HL & DE - If compare is successful, these registers are
incremented past the last byte compared. If the
compare ended with a null, DE points to the
null. If compare is unsuccessful, these
registers point to the offending characters
Z flag - Set if compare is successful
5A79H 6E1DH - Clear function key definition table
Exit:
All registers destroyed
5A7CH 6E20H - Set new function key table. The table contains the function
key definitions up to 16 characters for each of the 8
function keys. The last byte of each entry should have the
high bit set to signify the end of the function key
definition. Empty entries should contain an 80H.
Entry:
HL - Points to function key table
Exit:
All registers destroyed
5A9EH 6E42H - Display function keys on 8th line if enabled
Exit:
All registers destroyed
5AA6H 6E4AH - FNDFLO
5AA9H 6E4DH - Search directory for filename
Entry:
DE - Points to buffer containing filename. The buffer
is terminated with a null.
Exit:
HL - Address of file directory entry
Z flag - Set if file was not found
All other registers destroyed
5AABH 6E4FH - CHKF
5AD6H 6E76H - INRC
5AE3H 6E8CH - Get start address of file
Entry:
HL - Points to the file's directory entry
Exit:
HL - Points to start of file
DE - Points to directory entry + 2
5AE4H 6E8DH - ?
5AE9H 6E92H - ?
5B1AH 6845H - ?
5B1EH 6EB6H - ?
5B3FH 71D4H - ?
5B68H 6EE7H - Entry to ADDReSS
5B6BH - Enter ADDReSS using the filename pointed to by DE.
Entry:
DE - Points to the filename to use with ADDReSS
terminated with a null
5B6FH 6EEDH - Entry to SCHEDuLe
5B72H - Enter SCHEDuLe using the filename pointed to by DE.
Entry:
DE - Points to the filename to use with SCHEDuLe
terminated with a null
5BF5H - FIND instruction for ADDRSS/SCHEDL
5BF7H - LFND instruction for ADDRSS/SCHEDL
5CAEH 70B7H - ?
5C3FH 7042H - Find the text in the buffer pointed to by HL in the text file
pointed to by DE. All lowercase letters are converted to
uppercase prior to compare.
Entry:
HL - Points to string to search for. The string must
end with a null
DE - Points to where search is to begin in the text
file
Exit:
BC - Points to the start of the found string in the
file.
DE - Points to the start of the record where the
string was found
C flag - Set if string found
5C6DH 7076H - Incremented DE past the next CRLF in the text file.
Entry:
DE - Points to a text file
Exit:
DE - Points to the byte following the next CRLF in the
text file
A - Destroyed
5C74H 707DH - Check the next byte(s) in the buffer pointed to by DE for a
CRLF.
Entry:
DE - Points to buffer where CRLF check is to be made
Exit:
DE - Incrmented once if no CRLF is found or twice if a
CRLF is found
Z flag - Set if CRLF found
5CAEH 70B7H - ?
5CEFH - Start of ADDRSS/SCHEDL instruction vector table. Each entry
starts with a 4 byte instruction name followed by the
instruction's 2 byte vector address
5D00H - End of ADDRSS/SCHEDL instruction vector table
5D0AH 710EH - ?
5D1EH 7128H - ?
5D2BH 7133H - FNDTBL
5D53H 714BH - STKINI
5D5DH 7155H - RESTAK
5D64H - Wait for character from keyboard and convert it to uppercase
if nescessary. All function keys are converted into their
pre-programmed text.
Exit:
A - Uppercase character from keyboard
5D6AH - Home Cursor
Exit:
HL - Destroyed
5D70H - Print time on top line of screen until a key is pressed.
When a key is pressed, the cursor returns to its original
position prior to the call.
5DB1H 715CH - ?
5DBCH 716BH - ?
5DC5H 7174H - ?
5DEEH 719DH - Entry to TEXT
5E2AH 71DCH - ?
5E51H - EDIT Statement
5F24H 72DAH - ?
5F2FH 725EH - Wait for a space to be entered on keyboard
Exit:
A - Space (20H)
5F4BH 7301H - ?
6018H - Start of TEXT control character vector table. Each 2 byte
vector entry corresponds to the ASCII value of the control
character (ex. The address at 6018H points to the routine for
^A which has an ASCII value of 1)
6055H - End of TEXT control character vector table
6056H - TEXT ESCape routine
607CH - TEXT control P routine
608AH - TEXT control I routine
60B1H 7492H - 'Memory Full'
60BEH - TEXT control M routine
60DEH - TEXT right arrow and control D routine
60E2H - TEXT down arrow and control X routine
610BH - TEXT control H routine
6151H - TEXT left arrow and control S routine
6155H - TEXT up arrow and control E routine
617AH - TEXT control F routine
618CH - TEXT control A routine
61C2H - TEXT control T routine
61D7H - TEXT control B routine
61FDH - TEXT control R routine
620BH - TEXT control Q routine
6210H - TEXT control W routine
621CH - TEXT control Z routine
6242H - TEXT control L routine
628FH - TEXT control C routine
6366H 7747H - MCLEAR
6370H 7751H - ?
6383H 7764H - ?
6431H - TEXT control O routine
6445H - TEXT control U routine
6551H - TEXT control N routine
65C3H - Move the memory pointed to by HL to the memory pointed to by
DE until a null (0) is found.
Entry:
HL - Points to start of source buffer
DE - Points to start of destination buffer
Exit:
HL - Preserved
DE - Points to the byte following the null
A = 0
6691H - TEXT control Y routine
6713H - TEXT control G routine
6774H - TEXT control V routine
6B2DH 8268H - GETEND - Point HL to chr$(26)
6B61H 829CH - Insert a character into a text file
Entry:
HL - Points to place to insert character
A - Character to insert
Exit:
HL - Incremented past inserted character
B - Character inserted
C flag - Set if out of memory
All other registers destroyed
6B6DH 82A8H - Inset BC number of spaces in memory
Entry:
HL - Points to place where insertion is to begin.
BC - Number of spaces to insert
Exit:
HL - Preserved
C flag - Set if out of memory
All other registers destroyed
6B9FH 82DAH - Delete BC number if characters in a text file.
Entry:
HL - Points to place where deletion is to begin.
BC - Number of characters to delete
Exit:
HL - Preserved
All other registers destroyed
6BDBH 8316H - Move the memory poined to by HL to the memory pointed to by
DE for BC bytes. HL and DE are incremented on each byte
transfered (same as LDIR).
Entry:
HL - Points to end of source memory
DE - Points to end of destination memory
BC - Number of bytes to move
Exit:
HL & DE - Incremented past last character moved
A - Destroyed
6BE6H 8321H - Move the memory pointed to by HL to the memory pointed to by
DE for BC bytes. HL and DE are decremented on each byte
transfered (same as LDDR).
Entry:
HL - Points to end of source memory
DE - Points to end of destination memory
BC - Number of bytes to move
Exit:
HL & DE - Decremented past last character moved
A - Destroyed
6BF1H 832CH - Start of ROM program catalog entries
6C48H - End of ROM programs catalog entries
6C49H 838FH - Entry to BASIC
6C93H 83D3H - ?
6C9CH 83DCH - LOAD BA LABEL
6CA7H 83EDH - ?
6CD6H 841CH - Re-initialize system. User files are not lost.
6CE0H 8439H - Warm Start Reset Entry
6D3FH 84C9H - Send a Character to the printer
Entry:
A - Character to be printed
Exit:
Carry - Set if cancelled by BREAK
- Reset if normal return
6D6DH 8508H - Check RS-232 queue for characters
Entry:
None
Exit:
A - Number of characters in queue
Z flag - set if no data
- reset if characters pending
6D7EH 8519H - Get a character from the RS-232 recieve queue
Entry:
None
Exit:
A - Character Recieved
Z flag - Set if O.K.
- Reset if error (PE, FF or OF)
Carry - Set if BREAK pressed, else reset
6DACH - RST 6.5 (RS232 Interrupt on received character) routine
6E0BH 8608H - Send an XON resume character (Ctrl-Q)
Entry:
None
Exit:
None
6E1EH 8617H - Send an XOFF pause character (Ctrl-S)
Entry:
None
Exit:
None
6E32H 8643H - Send a character to the RS-232 or Modem (with XON/XOFF)
Entry:
A - Character to be sent
Exit:
Carry - set if BREAK pressed, else reset
6E39H 8629H - ?
6E3AH 8629H - Send a character to the RS-232 or modem (without XON/XOFF)
Entry:
C - Character to be sent
Exit:
Carry - Set if BREAK pressed, else reset
6E75H 86ADH - Set baud rate for RS-232
Entry:
H - Baud Rate (1-9, M)
Exit:
None
6E94H - Start of 18 byte RS232 baud rate timer values. Each 2 byte
entry corresponds to the baud rates 0-9. These values are
loaded into the 8155's timer to generate the baud rate for
the UART.
6EA6H 86DEH - Initialize Rs-232 and Modem
Entry:
H - Baud rate (1-9)
L - USART configuration code see below
Carry - Set if RS-232
- Reset if modem
Exit:
None
USART Configuration Code
For M100:
Bit Description
-------------------------------------------------
0 Stop bits: 0=1, 1=2
1-2 Parity Setting: 00=None, 01=Even, 10=Odd
3-4 Word Length: 00=6, 01=7, 10=8
For M200:
Bit Description
-------------------------------------------------
0-1 Baud Rate:00=none, 10=x1,01=x16(fix),11=x64
2-3 Word length: 00=5, 10=6, 01=7, 11=8
4 Parity: 0=Disable, 1=Enable
5 Parity Set: 0=Odd, 1=Even
6-7 Stop Bits: 00=None, 10=1, 01=1.5, 11=2
Text string containing current STAT located at EF3C (7 bytes)
6ECBH 87B5H - Deactivate RS-232/Modem
Entry:
None
Exit:
None
6EE5H - Click sound port if sound is enabled
6EEFH 874AH - Detect Carrier
Entry:
None
Exit:
A - 0 if Carrier
Z flag - set if carrier, else reset
6F31H - Enable XON/XOFFs when control Ss and Qs are sent.
Exit:
A - Destroyed
6F46H 87D1H - Write Cassette header and sync byte only
Entry:
None
Exit:
Carry - Set if BREAK pressed, else reset
6F85H 8810H - Read Cassette header and sync byte only
Entry:
None
Exit:
Carry - Set if BREAK pressed, else reset
6F5BH 87E6H - Write a character to Cassette (no checksum)
Entry:
A - Character to be sent
Exit:
Carry - Set if BREAK pressed, else reset
6F85H 8810H - ?
6FDBH - Find the frequency of the cassette port. This routine
measures the duration from the start to the stop of half of
the wave presented on the cassette port. The result is the
number of 29 t-state cycles required to find the end of the
wave. The byte at FF8EH determines if the count will trigger
on a high or low pulse. For example, a 1200 hz signal, which
would take 416 ms to go through half of the wave, would cause
this routine to exit with a value around 35. If the sound
option is turned on (see FF44H), this routine will click the
beeper on each call. Note: Although this routine analyses
the cassette port in 29 T-state intervals, the actual routine
requires much more time to execute.
Exit:
C - Number of 29 T-state cycles
A - Destroyed
C flag - Set if the routine was canceled by a shift break
702AH 88B3H - Read a character from Cassette (no checksum)
Entry:
None
Exit:
D - Character from Cassette
70C5H 897BH - ?
7122H 89D8H - ?
71C4H 8A85H - ?
71F3H 8AB4H - ?
71F4H 8AB5H - ?
71F7H - POP AF, BC, DE, and HL off stack, enable interrupts and
return. This routine should only be used with a jump to
assure stack integrety. This routine makes a good interrupt
routine exit vector.
71FDH 8ABEH - ?
7242H 8B03H - Scan keyboard fir a key, return with or without one
Entry:
None
Exit:
A - Character if any
Z flag - set if no key found
- reset if key found
Carry - set (character in table below)
- reset (normal character set)
Register A Key Pressed
--------------------------
0 F1
1 F2
2 F3
3 F4
4 F5
5 F6
6 F7
7 F8
8 LABEL
9 PRINT
0A SHIFT-PRINT
0B PASTE
726AH - Enable interrupts as normal (nothing destroyed)
7270H 8B31H - Check keyboard queue for character or BREAK
Entry:
None
Exit:
Z flag - set if queue is empty
- reset if keys are pending
Carry - Set when BREAK entered
- Reset for any other key
7283H 8B4DH - Check for BREAK characters only (CTRL-C or CTRL-S)
Entry:
None
Exit:
Carry - Set if BREAK or PAUSE entered
- reset if no BREAK characters
729FH 8B69H - BREAK
72B1H 8B7BH - Scan BREAK, CAPS, NUM, CODE, GRAPH, CONTROL, and SHIFT key
column of keyboard. Reset the bit in the A register that
corresponds the key being pressed
Exit:
A - Each reset bit coresponds to a key being pressed
(BREAK=bit 7, CAPS=bit 5, etc.)
72C5H 8BC0H - Produce a tone through the internal transducer. The RS232
cannot be used along with this routine.
Entry:
DE - Frequency
B - Duration
Exit:
A - Destroyed
7329H - Load the contents of the clock chip registers into the
address pointed to by HL.
Entry:
HL - Start of receiving buffer for the contents of the
hardware clock chip
732AH - Update the clock chip internal registers with the time in the
buffer pointed to by HL
Entry:
HL - Start of the buffer containing the new values for
the clock chip
7398H 8CE4H - ?
743CH 8D66H - ?
7440H 8D6AH - Move cursor to specified position
Entry:
D - x coordinate (1-40)
E - y coordinate (M100 1-8, M200 1-16)
Exit:
None:
744CH 8D76H - Plot point on screen
Entry:
D - X coordinate (0-239)
E - Y coordinate (M100 0-63, M200 0-127)
Exit:
All registers destroyed
744DH 8D77H - Reset point on screen
Entry:
D - X coordinate (0-239)
E - Y coordinate (M100 0-63, M200 0-127)
Exit:
All registers destroyed
744EH 8D78H - ?
<EOF>