home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / ref / rcmap5.200 < prev    next >
Text File  |  2006-10-19  |  28KB  |  800 lines

  1.                    ----------------------------   
  2.                    | Model 100/200 System Map |   
  3.                    ----------------------------   
  4.                             ROM: Part V   
  5.                           Copyright 1985   
  6.                      Revision Date: 09/30/85   
  7.                    Compiled and Researched by:   
  8.                        Robert D. Covington   
  9.             Systems Information Management Consultants   
  10.       [Not associated with The Covington Group, N. Y., N. Y.]   
  11.          Revised to add Tandy 200 by Chris De Herrera, 9/89  
  12.    
  13.     This document may be duplicated and distributed free of   
  14. charge to any individuals who desire it.  Any duplications of   
  15. this document, however, must include all of the information   
  16. contained here-in, with no deletions or changes.   
  17.     The author and distributors of this document make no    
  18. expressed or implied warrantees as to the validity of the    
  19. information contained here in.   
  20.    
  21. Hex Address  
  22. M100   M200    Description  
  23. ---------------------------------------------------------------  
  24. 5146H 5FFDH -  Entry to TELCOM   
  25.    
  26. 515BH       -  TELCOM Ready re-entry point for TELCOM commands   
  27.    
  28. 5185H       -  Start of TELCOM instruction vector table.  Each entry starts   
  29.                with a 4 byte instruction name followed by a 2 byte routine    
  30.                vector.   
  31.    
  32. 51A2H       -  End of TELCOM instruction vector table   
  33.  
  34. 51A4H 605BH -  ?
  35.    
  36. 51C0H 6077H -  TELCOM STAT instruction routine   
  37.    
  38. 51C7H       -  Print current STAT (RS232 settings for TELCOM) and return to   
  39.                TELCOM ready   
  40.    
  41. 51EDH       -  Set STAT (RS232 settings for TELCOM) and return to TELCOM    
  42.                ready   
  43.    
  44. 522FH       -  TELCOM CALL instruction routine   
  45.  
  46. 5244H 6142H -  CALMSG
  47.    
  48. 524DH       -  TELCOM FIND instruction routine   
  49.    
  50. 52BBH 61BAH -  Disconect phone line and disable modem carrier   
  51.                Exit:   
  52.                   A - New contents of port 0BAH   
  53.    
  54. 52D0H 61D0H -  Connect phone line and enable modem carrier   
  55.                Exit:   
  56.                   A - New contents of port 0A8H   
  57.                   C flag - Set   
  58.    
  59. 52E4H 61E7H -  Lift telephone and wait for a carrier.   The carrier must be   
  60.                present for more than 2 seconds to qualify a carrier detect.   
  61.                Exit:   
  62.                   C flag - Set if shift break pressed   
  63.                   Z flag - Set if carrier present   
  64.    
  65. 5310H 620EH -  Pause for about 2 seconds   
  66.                Exit:   
  67.                   BC & AF - Destroyed   
  68.  
  69. 5316H 6214H -  TMDELA
  70.    
  71. 532DH 622BH -  Execute logon sequence pointed to by HL.  This routine is    
  72.                used to drive the Model 100 autodialer   
  73.                Entry:   
  74.                   HL - Points to logon buffer   
  75.    
  76. 540AH 632AH -  Dial the digit that is present in the A register.  The ASCII   
  77.                equivalent of the number is printed on the screen at the    
  78.                current cursor position as this routine is dialing.   
  79.                Entry:   
  80.                   A - Digit to dial   
  81.                Exit:   
  82.                   All registers destroyed   
  83.    
  84. 5455H 6378H -  TELCOM TERM instruction routine   
  85.  
  86. 5468H 638BH -  ?
  87.    
  88. 550DH 648AH -  Start of function key vector table for TERM commands in    
  89.                TELCOM.  Each 2 byte vector corresponds to each function key.  
  90.    
  91. 551BH       -  End of function key vector table for TERM   
  92.  
  93. 551DH 6608H -  ?
  94.  
  95. 5520H 66C2H -  ?
  96.    
  97. 5523H 649AH -  TELCOM PREV function routine   
  98.    
  99. 553EH 64CAH -  TELCOM FULL/HALF function routine   
  100.  
  101. 5544H 64BEH -  DUPDSP
  102.    
  103. 5550H 6517H -  TELCOM ECHO function routine   
  104.  
  105. 5556H 64D0H -  ECHDSP
  106.  
  107. 5562H 64DCH -  WATDSP
  108.  
  109. 556BH 64E5H -  CHGDSP
  110.  
  111. 55A0H 651AH -  UPLDR
  112.   
  113. 5562H 64DCH -  WATDSP
  114.  
  115. 556BH 64E5H -  CHGDSP
  116.  
  117. 55A0H 651AH -  UPLDR
  118.   
  119. 559DH 64B8H -  TELCOM UP function routine   
  120.    
  121. 567EH 649DH -  TELCOM DOWN function routine   
  122.  
  123. 568FH 6619H -  DWNLDR
  124.  
  125. 56C5H 6662H -  ?
  126.    
  127. 571EH 66DBH -  TELCOM BYE function routine   
  128.  
  129. 5759H 6766H -  UPLMSG
  130.  
  131. 5768H 6775H -  DWNMSG
  132.  
  133. 5771H 677EH -  ABTMSG
  134.  
  135. 577CH 6789H -  FNTFND
  136.  
  137. 5786H 6793H -  DISMSG
  138.  
  139. 5790H 6C1BH -  ?
  140.    
  141. 5791H 679EH -  Print the buffer pointed to by HL till a null or '"' is    
  142.                found.  Printing begins at the start of a line.  If the    
  143.                cursor is not at the begining of the line, a CR is sent.   
  144.                Entry:   
  145.                   HL - Points to the start of the buffer to be printed   
  146.    
  147. 5797H 67A4H -  MENU Statement.  Go to main menu   
  148.  
  149. 58B6H 6A4FH -  ?
  150.  
  151. 58C3H 6A5CH -  ?
  152.  
  153. 58DBH 6A6CH -  ?
  154.  
  155. 58E2H 6A73H -  ?
  156.  
  157. 58EBH 6A7CH -  ?
  158.  
  159. N/A   6ACCH -  PRINT 'Length=' 
  160.  
  161. 5970H 6CB1H -  ?
  162.    
  163. 59ADH       -  Convert filename from right justified extention (name padded   
  164.                with spaces to cause extention to be last two characters) to   
  165.                normal filename with "." delimeter for extention.  
  166.                Entry:   
  167.                   DE - Points to right justified extention filename (8    
  168.                        characters)   
  169.                   HL - Points to the start of the destination buffer for    
  170.                        the converted filename   
  171.                Exit:   
  172.                   HL - Points to end of destination buffer where the    
  173.                        filename is stored.  Filename is terminated with    
  174.                        a null.   
  175.                   DE - Points to end of source filename   
  176.                   A - Destroyed   
  177.  
  178. 59C9H 6D51H -  ?
  179.  
  180. 59E5H 6D6DH -  ?
  181.    
  182. 5A12H 6D97H -  Print time, day, and date on the first line of the screen    
  183.                (used on main menu).  The screen is cleared prior to printing  
  184.                Exit:   
  185.                   All registers destroyed   
  186.    
  187. 5A15H       -  Same 5A12H but screen is not cleared.  Line is still printed   
  188.                on top line of screen.   
  189.                Exit:   
  190.                   All registers destroyed   
  191.    
  192. 5A58H 6DF6H -  Print the buffer pointed to by HL.  Printing terminates with   
  193.                a null.   
  194.                Entry:   
  195.                   HL - Points to the buffer to be printed   
  196.                Exit:   
  197.                   HL - Points to the terminating null   
  198.                   A - 0   
  199.    
  200. 5A62H 6E06H -  Move the memory pointed to by DE to the memory pointed to by   
  201.                HL for A number of bytes.  HL and DE are incremented after    
  202.                each byte moved   
  203.                Entry:   
  204.                   DE - Points to start of source memory   
  205.                   HL - Points to start of destination memory   
  206.                   A - Number of bytes to move   
  207.                Exit:   
  208.                   DE & HL - Incremented past last byte moved   
  209.                   A = 0   
  210.    
  211. 5A6DH 6E11H -  Compare the buffer pointed to by DE to the buffer pointed to   
  212.                by HL for C bytes or until a null is found in the buffer    
  213.                pointed to by DE.   
  214.                Entry:   
  215.                   DE - Points to start of first buffer   
  216.                   HL - Points to start of second buffer   
  217.                   C - Number of bytes to compare   
  218.                Exit:   
  219.                   A = 0 if the compare was ended with a null   
  220.                   C - Number of bytes remaining until compare would    
  221.                       have been successful.   
  222.                   HL & DE - If compare is successful, these registers are    
  223.                             incremented past the last byte compared.  If the  
  224.                             compare ended with a null, DE points to the    
  225.                             null.  If compare is unsuccessful, these    
  226.                             registers point to the offending characters   
  227.                   Z flag - Set if compare is successful   
  228.    
  229. 5A79H 6E1DH -  Clear function key definition table   
  230.                Exit:   
  231.                   All registers destroyed   
  232.    
  233. 5A7CH 6E20H -  Set new function key table.  The table contains the function   
  234.                key definitions up to 16 characters for each of the 8    
  235.                function keys.  The last byte of each entry should have the    
  236.                high bit set to signify the end of the function key    
  237.                definition.  Empty entries should contain an 80H.  
  238.                Entry:   
  239.                   HL - Points to function key table   
  240.                Exit:   
  241.                   All registers destroyed   
  242.    
  243. 5A9EH 6E42H -  Display function keys on 8th line if enabled   
  244.                Exit:   
  245.                   All registers destroyed   
  246.  
  247. 5AA6H 6E4AH -  FNDFLO
  248.    
  249. 5AA9H 6E4DH -  Search directory for filename   
  250.                Entry:   
  251.                   DE - Points to buffer containing filename.  The buffer    
  252.                        is terminated with a null.   
  253.                Exit:    
  254.                   HL - Address of file directory entry   
  255.                   Z flag - Set if file was not found   
  256.                   All other registers destroyed   
  257.  
  258. 5AABH 6E4FH -  CHKF
  259.  
  260. 5AD6H 6E76H -  INRC
  261.    
  262. 5AE3H 6E8CH -  Get start address of file   
  263.                Entry:   
  264.                   HL - Points to the file's directory entry   
  265.                Exit:   
  266.                   HL - Points to start of file   
  267.                   DE - Points to directory entry + 2   
  268.  
  269. 5AE4H 6E8DH -  ?
  270.  
  271. 5AE9H 6E92H -  ?
  272.  
  273. 5B1AH 6845H -  ?
  274.  
  275. 5B1EH 6EB6H -  ?
  276.  
  277. 5B3FH 71D4H -  ?
  278.    
  279. 5B68H 6EE7H -  Entry to ADDReSS   
  280.    
  281. 5B6BH       -  Enter ADDReSS using the filename pointed to by DE.  
  282.  
  283.                Entry:   
  284.                   DE - Points to the filename to use with ADDReSS  
  285.                        terminated with a null   
  286.    
  287. 5B6FH 6EEDH -  Entry to SCHEDuLe   
  288.    
  289. 5B72H       -  Enter SCHEDuLe using the filename pointed to by DE.   
  290.                Entry:   
  291.                   DE - Points to the filename to use with SCHEDuLe    
  292.                        terminated with a null   
  293.    
  294. 5BF5H       -  FIND instruction for ADDRSS/SCHEDL   
  295.    
  296. 5BF7H       -  LFND instruction for ADDRSS/SCHEDL   
  297.  
  298. 5CAEH 70B7H -  ?
  299.    
  300. 5C3FH 7042H -  Find the text in the buffer pointed to by HL in the text file  
  301.                pointed to by DE.  All lowercase letters are converted to    
  302.                uppercase prior to compare.   
  303.                Entry:   
  304.                   HL - Points to string to search for.  The string must    
  305.                        end with a null   
  306.                   DE - Points to where search is to begin in the text    
  307.                        file   
  308.                Exit:   
  309.                   BC - Points to the start of the found string in the    
  310.                        file.   
  311.                   DE - Points to the start of the record where the    
  312.                        string was found   
  313.                   C flag - Set if string found   
  314.    
  315. 5C6DH 7076H -  Incremented DE past the next CRLF in the text file.   
  316.                Entry:   
  317.                   DE - Points to a text file   
  318.                Exit:   
  319.                   DE - Points to the byte following the next CRLF in the    
  320.                        text file   
  321.                   A - Destroyed   
  322.    
  323. 5C74H 707DH -  Check the next byte(s) in the buffer pointed to by DE for a    
  324.                CRLF.   
  325.                Entry:   
  326.                   DE - Points to buffer where CRLF check is to be made   
  327.                Exit:   
  328.                   DE - Incrmented once if no CRLF is found or twice if a    
  329.                        CRLF is found   
  330.                   Z flag - Set if CRLF found   
  331.  
  332. 5CAEH 70B7H -  ?
  333.    
  334. 5CEFH       -  Start of ADDRSS/SCHEDL instruction vector table. Each entry    
  335.                starts with a 4 byte instruction name followed by the    
  336.                instruction's 2 byte vector address   
  337.    
  338. 5D00H       -  End of ADDRSS/SCHEDL instruction vector table   
  339.  
  340. 5D0AH 710EH -  ?
  341.  
  342. 5D1EH 7128H -  ?
  343.  
  344. 5D2BH 7133H -  FNDTBL
  345.    
  346. 5D53H 714BH -  STKINI
  347.  
  348. 5D5DH 7155H -  RESTAK
  349.  
  350. 5D64H       -  Wait for character from keyboard and convert it to uppercase   
  351.                if nescessary.  All function keys are converted into their    
  352.                pre-programmed text.   
  353.                Exit:   
  354.                   A - Uppercase character from keyboard   
  355.    
  356. 5D6AH       -  Home Cursor   
  357.                Exit:   
  358.                   HL - Destroyed   
  359.    
  360. 5D70H       -  Print time on top line of screen until a key is pressed.     
  361.                When a key is pressed, the cursor returns to its original    
  362.                position prior to the call.   
  363.  
  364. 5DB1H 715CH -  ?
  365.  
  366. 5DBCH 716BH -  ?
  367.  
  368. 5DC5H 7174H -  ?
  369.    
  370. 5DEEH 719DH -  Entry to TEXT   
  371.  
  372. 5E2AH 71DCH -  ?
  373.    
  374. 5E51H       -  EDIT Statement   
  375.  
  376. 5F24H 72DAH -  ?
  377.    
  378. 5F2FH 725EH -  Wait for a space to be entered on keyboard   
  379.                Exit:   
  380.                   A - Space (20H)   
  381.  
  382. 5F4BH 7301H -  ?
  383.    
  384. 6018H       -  Start of TEXT control character vector table.  Each 2 byte    
  385.                vector entry corresponds to the ASCII value of the control    
  386.                character (ex. The address at 6018H points to the routine for 
  387.                ^A which has an ASCII value of 1)   
  388.    
  389. 6055H       -  End of TEXT control character vector table   
  390.    
  391. 6056H       -  TEXT ESCape routine   
  392.    
  393. 607CH       -  TEXT control P routine   
  394.    
  395. 608AH       -  TEXT control I routine   
  396.  
  397. 60B1H 7492H -  'Memory Full'
  398.    
  399. 60BEH       -  TEXT control M routine   
  400.    
  401. 60DEH       -  TEXT right arrow and control D routine   
  402.    
  403. 60E2H       -  TEXT down arrow and control X routine   
  404.    
  405. 610BH       -  TEXT control H routine   
  406.    
  407. 6151H       -  TEXT left arrow and control S routine   
  408.    
  409. 6155H       -  TEXT up arrow and control E routine   
  410.    
  411. 617AH       -  TEXT control F routine   
  412.    
  413. 618CH       -  TEXT control A routine   
  414.    
  415. 61C2H       -  TEXT control T routine   
  416.    
  417. 61D7H       -  TEXT control B routine   
  418.    
  419. 61FDH       -  TEXT control R routine   
  420.    
  421. 620BH       -  TEXT control Q routine   
  422.    
  423. 6210H       -  TEXT control W routine   
  424.    
  425. 621CH       -  TEXT control Z routine   
  426.    
  427. 6242H       -  TEXT control L routine   
  428.    
  429. 628FH       -  TEXT control C routine   
  430.  
  431. 6366H 7747H -  MCLEAR
  432.  
  433. 6370H 7751H -  ?
  434.  
  435. 6383H 7764H -  ?
  436.   
  437. 6431H       -  TEXT control O routine   
  438.    
  439. 6445H       -  TEXT control U routine   
  440.    
  441. 6551H       -  TEXT control N routine   
  442.    
  443. 65C3H       -  Move the memory pointed to by HL to the memory pointed to by   
  444.                DE until a null (0) is found.   
  445.                Entry:   
  446.                   HL - Points to start of source buffer   
  447.                   DE - Points to start of destination buffer   
  448.                Exit:   
  449.                   HL - Preserved   
  450.                   DE - Points to the byte following the null   
  451.                   A = 0   
  452.    
  453. 6691H       -  TEXT control Y routine   
  454.    
  455. 6713H       -  TEXT control G routine   
  456.    
  457. 6774H       -  TEXT control V routine   
  458.  
  459. 6B2DH 8268H -  GETEND - Point HL to chr$(26)
  460.    
  461. 6B61H 829CH -  Insert a character into a text file   
  462.                Entry:   
  463.                   HL - Points to place to insert character   
  464.                   A - Character to insert   
  465.                Exit:   
  466.                   HL - Incremented past inserted character   
  467.                   B - Character inserted   
  468.                   C flag - Set if out of memory   
  469.                   All other registers destroyed   
  470.    
  471. 6B6DH 82A8H -  Inset BC number of spaces in memory   
  472.                Entry:   
  473.                   HL - Points to place where insertion is to begin.   
  474.                   BC - Number of spaces to insert   
  475.                Exit:   
  476.                   HL - Preserved   
  477.                   C flag - Set if out of memory   
  478.                   All other registers destroyed   
  479.    
  480. 6B9FH 82DAH -  Delete BC number if characters in a text file.   
  481.                Entry:   
  482.                   HL - Points to place where deletion is to begin.   
  483.                   BC - Number of characters to delete   
  484.                Exit:   
  485.                   HL - Preserved   
  486.                   All other registers destroyed   
  487.    
  488. 6BDBH 8316H -  Move the memory poined to by HL to the memory pointed to by    
  489.                DE for BC bytes.  HL and DE are incremented on each byte    
  490.                transfered (same as LDIR).   
  491.                Entry:   
  492.                   HL - Points to end of source memory   
  493.                   DE - Points to end of destination memory   
  494.                   BC - Number of bytes to move   
  495.                Exit:   
  496.                   HL & DE - Incremented past last character moved  
  497.  
  498.                   A - Destroyed   
  499.    
  500. 6BE6H 8321H -  Move the memory pointed to by HL to the memory pointed to by   
  501.                DE for BC bytes.  HL and DE are decremented on each byte    
  502.                transfered (same as LDDR).   
  503.                Entry:   
  504.                   HL - Points to end of source memory   
  505.                   DE - Points to end of destination memory   
  506.                   BC - Number of bytes to move   
  507.                Exit:   
  508.                   HL & DE - Decremented past last character moved  
  509.  
  510.                   A - Destroyed   
  511.    
  512. 6BF1H 832CH -  Start of ROM program catalog entries   
  513.    
  514. 6C48H       -  End of ROM programs catalog entries   
  515.    
  516. 6C49H 838FH -  Entry to BASIC   
  517.  
  518. 6C93H 83D3H -  ?
  519.  
  520. 6C9CH 83DCH -  LOAD BA LABEL
  521.  
  522. 6CA7H 83EDH -  ?
  523.    
  524. 6CD6H 841CH -  Re-initialize system.  User files are not lost.   
  525.    
  526. 6CE0H 8439H -  Warm Start Reset Entry   
  527.  
  528. 6D3FH 84C9H -  Send a Character to the printer
  529.                Entry:
  530.                  A - Character to be printed
  531.                Exit:
  532.                  Carry - Set if cancelled by BREAK
  533.                        - Reset if normal return
  534.  
  535. 6D6DH 8508H -  Check RS-232 queue for characters
  536.                Entry:
  537.                  None
  538.                Exit:
  539.                  A - Number of characters in queue
  540.                  Z flag - set if no data
  541.                         - reset if characters pending
  542.  
  543. 6D7EH 8519H -  Get a character from the RS-232 recieve queue
  544.                Entry:
  545.                  None
  546.                Exit:
  547.                  A - Character Recieved
  548.                  Z flag - Set if O.K.
  549.                         - Reset if error (PE, FF or OF)
  550.                  Carry - Set if BREAK pressed, else reset
  551.  
  552. 6DACH       -  RST 6.5 (RS232 Interrupt on received character) routine  
  553.  
  554. 6E0BH 8608H -  Send an XON resume character (Ctrl-Q)
  555.                Entry:
  556.                  None
  557.                Exit:
  558.                  None
  559.  
  560. 6E1EH 8617H -  Send an XOFF pause character (Ctrl-S)
  561.                Entry:
  562.                  None
  563.                Exit:
  564.                  None
  565.  
  566. 6E32H 8643H -  Send a character to the RS-232 or Modem (with XON/XOFF)
  567.                Entry:
  568.                  A - Character to be sent
  569.                Exit:
  570.                  Carry - set if BREAK pressed, else reset
  571.  
  572. 6E39H 8629H -  ?
  573.  
  574. 6E3AH 8629H -  Send a character to the RS-232 or modem (without XON/XOFF)
  575.                Entry:
  576.                  C - Character to be sent
  577.                Exit:
  578.                  Carry - Set if BREAK pressed, else reset
  579.  
  580. 6E75H 86ADH -  Set baud rate for RS-232
  581.                Entry:
  582.                  H - Baud Rate (1-9, M)
  583.                Exit:
  584.                  None
  585.  
  586. 6E94H       -  Start of 18 byte RS232 baud rate timer values.  Each 2 byte   
  587.                entry corresponds to the baud rates 0-9.   These values are   
  588.                loaded into the 8155's timer to generate the baud rate for   
  589.                the UART.  
  590.   
  591. 6EA6H 86DEH -  Initialize Rs-232 and Modem 
  592.                Entry:
  593.                  H - Baud rate (1-9)
  594.                  L - USART configuration code see below
  595.                  Carry - Set if RS-232
  596.                        - Reset if modem
  597.                Exit:
  598.                  None
  599.                          USART Configuration Code
  600.  
  601.                For M100:
  602.  
  603.                Bit  Description
  604.                -------------------------------------------------
  605.                0    Stop bits: 0=1, 1=2
  606.                1-2  Parity Setting: 00=None, 01=Even, 10=Odd
  607.                3-4  Word Length: 00=6, 01=7, 10=8
  608.  
  609.                For M200: 
  610.  
  611.                Bit  Description
  612.                ------------------------------------------------- 
  613.                0-1  Baud Rate:00=none, 10=x1,01=x16(fix),11=x64 
  614.                2-3  Word length: 00=5, 10=6, 01=7, 11=8 
  615.                4    Parity: 0=Disable, 1=Enable 
  616.                5    Parity Set: 0=Odd, 1=Even 
  617.                6-7  Stop Bits: 00=None, 10=1, 01=1.5, 11=2 
  618.  
  619.                Text string containing current STAT located at EF3C (7 bytes) 
  620.  
  621. 6ECBH 87B5H -  Deactivate RS-232/Modem
  622.                Entry:
  623.                  None
  624.                Exit:
  625.                  None
  626.  
  627. 6EE5H       -  Click sound port if sound is enabled  
  628.  
  629. 6EEFH 874AH -  Detect Carrier
  630.                Entry:
  631.                  None
  632.                Exit:
  633.                  A - 0 if Carrier
  634.                  Z flag - set if carrier, else reset
  635.  
  636. 6F31H       -  Enable XON/XOFFs when control Ss and Qs are sent.  
  637.                Exit:  
  638.                   A - Destroyed  
  639.  
  640. 6F46H 87D1H -  Write Cassette header and sync byte only
  641.                Entry:
  642.                  None
  643.                Exit:
  644.                  Carry - Set if BREAK pressed, else reset
  645.  
  646. 6F85H 8810H -  Read Cassette header and sync byte only
  647.                Entry:
  648.                  None
  649.                Exit:
  650.                  Carry - Set if BREAK pressed, else reset
  651.  
  652. 6F5BH 87E6H -  Write a character to Cassette (no checksum)
  653.                Entry:
  654.                  A - Character to be sent
  655.                Exit:
  656.                  Carry - Set if BREAK pressed, else reset
  657.  
  658. 6F85H 8810H -  ?
  659.  
  660. 6FDBH       -  Find the frequency of the cassette port.  This routine   
  661.                measures the duration from the start to the stop of half of   
  662.                the wave presented on the cassette port.  The result is the   
  663.                number of 29 t-state cycles required to find the end of the   
  664.                wave.  The byte at FF8EH determines if the count will trigger  
  665.                on a high or low pulse.  For example, a 1200 hz signal, which  
  666.                would take 416 ms to go through half of the wave, would cause  
  667.                this routine to exit with a value around 35.  If the sound   
  668.                option is turned on (see FF44H), this routine will click the   
  669.                beeper on each call.  Note:  Although this routine analyses   
  670.                the cassette port in 29 T-state intervals, the actual routine  
  671.                requires much more time to execute.  
  672.                Exit:  
  673.                   C - Number of 29 T-state cycles  
  674.                   A - Destroyed  
  675.                   C flag - Set if the routine was canceled by a shift break  
  676.   
  677. 702AH 88B3H -  Read a character from Cassette (no checksum)
  678.                Entry:
  679.                  None
  680.                Exit:
  681.                  D - Character from Cassette
  682.  
  683. 70C5H 897BH -  ?
  684.  
  685. 7122H 89D8H -  ?
  686.  
  687. 71C4H 8A85H -  ?
  688.  
  689. 71F3H 8AB4H -  ?
  690.  
  691. 71F4H 8AB5H -  ?
  692.  
  693. 71F7H       -  POP AF, BC, DE, and HL off stack, enable interrupts and   
  694.                return.  This routine should only be used with a jump to   
  695.                assure stack integrety.  This routine makes a good interrupt   
  696.                routine exit vector.  
  697.  
  698. 71FDH 8ABEH -  ?
  699.  
  700. 7242H 8B03H -  Scan keyboard fir a key, return with or without one
  701.                Entry:
  702.                  None
  703.                Exit:
  704.                  A - Character if any
  705.                  Z flag - set if no key found
  706.                         - reset if key found
  707.                  Carry  - set (character in table below)
  708.                         - reset (normal character set)
  709.  
  710.                  Register A     Key Pressed
  711.                  --------------------------
  712.                    0              F1
  713.                    1              F2
  714.                    2              F3
  715.                    3              F4
  716.                    4              F5
  717.                    5              F6
  718.                    6              F7
  719.                    7              F8
  720.                    8             LABEL
  721.                    9             PRINT 
  722.                   0A             SHIFT-PRINT
  723.                   0B             PASTE
  724.  
  725. 726AH       -  Enable interrupts as normal (nothing destroyed)  
  726.  
  727. 7270H 8B31H -  Check keyboard queue for character or BREAK
  728.                Entry:
  729.                  None
  730.                Exit:
  731.                  Z flag - set if queue is empty
  732.                         - reset if keys are pending
  733.                  Carry  - Set when BREAK entered
  734.                         - Reset for any other key
  735.  
  736. 7283H 8B4DH -  Check for BREAK characters only (CTRL-C or CTRL-S)
  737.                Entry:
  738.                  None
  739.                Exit:
  740.                  Carry - Set if BREAK or PAUSE entered
  741.                        - reset if no BREAK characters
  742.                  
  743. 729FH 8B69H -  BREAK
  744.  
  745. 72B1H 8B7BH -  Scan BREAK, CAPS, NUM, CODE, GRAPH, CONTROL, and SHIFT key   
  746.                column of keyboard.  Reset the bit in the A register that   
  747.                corresponds the key being pressed  
  748.                Exit:  
  749.                   A - Each reset bit coresponds to a key being pressed   
  750.                       (BREAK=bit 7, CAPS=bit 5, etc.)  
  751.  
  752. 72C5H 8BC0H -  Produce a tone through the internal transducer.  The RS232   
  753.                cannot be used along with this routine.  
  754.                Entry:  
  755.                   DE - Frequency  
  756.                   B - Duration  
  757.                Exit:  
  758.                   A - Destroyed  
  759.  
  760. 7329H       -  Load the contents of the clock chip registers into the   
  761.                address pointed to by HL.  
  762.                Entry:  
  763.                   HL - Start of receiving buffer for the contents of the   
  764.                        hardware clock chip  
  765.   
  766. 732AH       -  Update the clock chip internal registers with the time in the  
  767.                buffer pointed to by HL  
  768.                Entry:  
  769.                   HL - Start of the buffer containing the new values for   
  770.                       the clock chip  
  771.   
  772. 7398H 8CE4H -  ?
  773.  
  774. 743CH 8D66H -  ?
  775.   
  776. 7440H 8D6AH -  Move cursor to specified position
  777.                Entry:
  778.                  D - x coordinate (1-40)
  779.                  E - y coordinate (M100 1-8, M200 1-16)
  780.                Exit:
  781.                  None:
  782.  
  783. 744CH 8D76H -  Plot point on screen  
  784.                Entry:  
  785.                   D - X coordinate (0-239)  
  786.                   E - Y coordinate (M100 0-63, M200 0-127)  
  787.                Exit:  
  788.                   All registers destroyed  
  789.  
  790. 744DH 8D77H -  Reset point on screen  
  791.                Entry:  
  792.                   D - X coordinate (0-239)  
  793.                   E - Y coordinate (M100 0-63, M200 0-127)  
  794.                Exit:  
  795.                   All registers destroyed  
  796.   
  797. 744EH 8D78H -  ?
  798.  
  799. <EOF>
  800.