Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!bu.edu!xylogics!samsung!sol.ctr.columbia.edu!cica!bronze!yawei From: yawei@bronze.ucs.indiana.edu (mr. yawei) Newsgroups: comp.os.msdos.programmer Subject: Re: Setting BAUD rate with MODE command Message-ID: <1991Jan10.182440.20564@bronze.ucs.indiana.edu> Date: 10 Jan 91 18:24:40 GMT References: <10764@darkstar.ucsc.edu> <24200010@b-mrda.ca.boeing.com> Organization: Indiana University, Bloomington Lines: 20 Setting the baudrate divisor in UART to 6 would give you a 19200 baud rate. (Doubles the divisor halves the baudrate, etc.) The baud rate divisor is a 16bit register, with high byte at port 3F9h(Com1:) and low byte at 3F8h. Bit 7 of line control register must be on when accessing the baudrate divisor. To set Com1: to 19200b, 8data bits, 1 stop bits, no parity, do: Send 80h to 3FBh ;line control register Send 00h to 3F9h ;high byte Send 06h to 3F8h ;low byte Send 03h to 3FBh ;8 data bits, etc. The base address (3F8h) of com1 can be found at 0040:0000, and com2 at 0040:0002. It is a better idea to get it from here than just assume it to be 3F8h etc, as it allows softwares that swap com ports to work. Ya-Gui Wei a.k.a. yawei