Model 100 System Map Part 6 (6D3F-7FD6): Difference between revisions

From Bitchin100 DocGarden
Jump to navigationJump to search
No edit summary
Line 221: Line 221:
7FD6H -  RST 38H RAM vector driver routine (see 38H).
7FD6H -  RST 38H RAM vector driver routine (see 38H).
</pre>
</pre>
[[Category:Model T Developer Reference]] [[Category:Model 100 System Map]]

Revision as of 10:41, 1 April 2009

Origin

This is a derived work of the "Model 100 System Map", Copyright (C) 1985, Robert D. Covington, Systems Information Management Consultants.

6D3FH -  Send a character to the printer
         Entry:
                A - Character to send
         Exit:
           C flag - Set if break key interrupt

6D6DH -  Check RS232 queue for pending characters
         Exit:
                A - Number of characters pending
           Z flag - Set if no characters pending

6D7EH -  Get a character from the RS232 receive queue.  If no 
        character is pending, wait for a character.
         Exit:
                A - Character received
           Z flag - Set if no error
           C flag - Set if break key interrupt

6DACH -  RST 6.5 (RS232 Interrupt on received character) routine

6E0BH -  Send XON (Control Q) out the RS232 if enabled by FF42H.
         Exit:
                A - Destroyed

6E1EH -  Send XOFF (Control S) out the RS232 if enabled by FF42H.
         Exit:
                A - Destroyed

6E32H -  Send a charcter out the RS232 (routine waits for character to 
        be transmitted).
         Entry:
                A - Character to send
        Exit:
           C flag - Set if shift break pressed

6E75H -  Set the RS232 baud rate
         Entry:
                H - Baud rate code (1-9)
         Exit:
           A & DE - Destroyed

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.

6EA5H -  End of RS232 baud rate timer table.

6EA6H -  Initialize RS232 or modem
         Entry:
                H - Baud rate code for RS232 (300 baud assumed for 
                    modem).
                L - Configuration code
                     Bit 0 - Number of stop bits (0=1, 1=2)
                         1 - Parity (0=odd, 1=even)
                         2 - Parity enable (0=enable)
                      3-4 - Word length (01=6, 10=7, 11=8)
           C flag - Set if RS232, reset if modem

6ECBH -  Deactivate RS232 or Modem
         Exit:
                A - Destroyed

6EE5H -  Click sound port if sound is enabled

6EEFH -  Check for carrier detect
         Exit:
                A - 0 if carrier detect, 0FFH if no CD
           Z flag - Set if carrier detect

6F31H -  Enable XON/XOFFs when control Ss and Qs are sent.
         Exit:
                A - Destroyed

6F46H -  Write cassette header and sync byte
               All registers destroyed

6F5BH -  Write a character to cassette without checksum.
         Entry:
                A - Character to save
         Exit:
              All registers destroyed

6F85H -  Read cassette header and sync byte
         Exit:
           C flag -  Set if error, reset if header verified
               All registers destroyed

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 aound 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 -  Read a character from cassette without checksum.
        Exit:
                D - Character from cassette
           C flag - Set if the routine was canceled by a shift break
               All other registers destroyed

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.

7242H -  Scan keyboard for a possible character (Note: Shift Break is 
        converted to Control C)
         Exit:
                A - Character from keyboard
           Z flag - Set if no key is found
           C flag - Set if special function key
                       A         Key
                    -----------------------
                      0-7       F1-F8
                        8       LABEL
                        9       PRINT
                      0AH       SHIFT-PRINT
                      0BH       PASTE

726AH -  Enable interrupts as normal (nothing destroyed)

7270H -  Check keyboard queue for pending characters
        Exit:
                A - Destroyed
           Z flag - Set if charcter pending
           C flag - Set if break is present

7283H -  Check for break (Control C) or wait (Control S)
         Exit:
                A - Destroyed
           C flag - Set if Control C or S
           Z flag - Set if no control C or S

729FH -  Check to see if SHIFT BREAK is being pressed.
         Exit:
                A - Destroyed
           Z flag - Set if shift break is being pressed
           C flag - Set if shift break is being pressed

72B1H -  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 -  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

744CH -  Plot point on screen
         Entry:
                D - X coordinate
                E - Y coordinate
         Exit:
               All registers destroyed
744DH -  Reset point on screen
         Entry:
                D - X coordinate
                E - Y coordinate
        Exit:
               All registers destroyed

765CH -  Set interrupt to 1DH
         Exit:
                A - Destroyed

7662H -  Beep routine (07H)
         Exit:
           A & BC - Destroyed

7676H -  Click sound port
         Exit:
                A - Destroyed

7711H -  Start of LCD character generator shape table.  Five bytes per 
        character for the first 128 characters.  6 bytes per 
        character for characters 128-255.

7BF0H -  End of LCD character generator shape table.

7BF1H -  Start of keyboard conversion matrix.

7D32H -  End of keyboard conversion matrix.
7D33H -  Boot routine

7EACH -  Display the number of free memory bytes on the screen.

7FD6H -  RST 38H RAM vector driver routine (see 38H).