'===========================================================================
' Subject: BEYOND 19200                       Date: Unknown Date (00:00)   
'  Author: Donn Bly                           Code: QB, QBasic, PDS        
'  Origin: BEYOND,19200                     Packet: MODEM.ABC
'===========================================================================
DECLARE SUB BaudLatch ()
'Use the straight OPEN COM statement for 19200.  To go higher you can
'use this code (originally from Donn Bly):

BaudLatch

SUB BaudLatch   'enables 38400 baud  want to put in com3 and com4 support
'NewBaud$ = "38400"
'BaudNum% = 3   'for 38.4
'BaudNum% = 2  'for 56000
BaudNum% = 1 'for 115K
Port$ = "COM4:"
 
SELECT CASE Port$
        CASE "COM1:"
                BaseAddress% = &H3F8
        CASE "COM2:"
                BaseAddress% = &H2F8
        CASE "COM3:"
                BaseAddress% = &H3E8
        CASE "COM4:"
                BaseAddress% = &H2E8
END SELECT
        OldLSR% = INP(BaseAddress% + 3)
        OUT (BaseAddress% + 3), (OldLSR% OR &H80)   ' Enable the Divisor Latch
        OUT (BaseAddress% + 0), (BaudNum% MOD &HFF) ' Lo Byte of Baud Rate
        OUT (BaseAddress% + 1), (BaudNum% \ &H100)  ' Hi Byte of baud Rate
        OUT (BaseAddress% + 3), OldLSR%             ' Disable Divisor Latch
END SUB

