home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / 57600COM.TXT < prev    next >
Text File  |  1992-05-21  |  3KB  |  63 lines

  1. Jack Grey ( Cserve 76040,342 ) 05/15/92
  2.  
  3. Patching OS2 2.0 COM.SYS for baud rates up to 57600.
  4. ----------------------------------------------------
  5.  
  6. The OS2 2.0 serial port driver COM.SYS ( located in the \OS2 
  7. directory ) has a upper speed limitation of 19200 baud. 
  8. The driver may be patched with DOS( or \OS2\MDOS ) DEBUG 
  9. to accept baud rates as high as 65535. 
  10.  
  11. In essence, one loads the driver into DEBUG and searches 
  12. for the the sequence of bytes 3D 00 4B. This is a CMP AX,19200 
  13. instruction. ( compare register AX with decimal 19200 ).
  14. One simply the replaces instruction with CMP AX,65535. 
  15.  
  16. It is recommended that you make a back up copy your COM.SYS file 
  17. and patch a second copy to avoid problems in the event of improper 
  18. entries.
  19.  
  20. Of course, the assumption that your UART and serial device ( e.g., modem )
  21. can handle baud rates above 19200 is implicit. Using the 16550AFN UART
  22. which has a 16-byte internal data queue is recommended to circumvent
  23. the OS2 2.0 limit of around 1000 interrupts per second. However, if
  24. your application ( e.g., file transfer by Zmodem ) is fault-tolerant,
  25. you may still use baud rates higher than 19200 with errors occuring 
  26. but still gain overall increased throughput. You may want to experiment
  27. with various baud rates for best results.
  28.  
  29. The following capture illustrates the procedure using the 
  30. COM.SYS file from the GA release. The actual addresses you see will
  31. depend on your system configuration. After applying the patch, replace
  32. the file in \OS2 with the patched file, shutdown, and reboot in order
  33. for the change to become effective.
  34.  
  35. This patch has also been tested with the OS2 1.3 driver COM02.SYS.The
  36. procedure is identical. 
  37.  
  38. This modification should be undertaken entirely at your own risk and
  39. is not known to be sanctioned by IBM. However, it works for me and I 
  40. thought I would share the information.
  41.  
  42.  
  43. E:\>debug com.sys
  44. -r              ( dump the registers in order to see the file 
  45.                 length in BX:CX )
  46. AX=0000  BX=0000  CX=60B8  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  47. DS=0D14  ES=0D14  SS=0D14  CS=0D14  IP=0100   NV UP EI PL NZ NA PO NC
  48. 0D14:0100 4D            DEC     BP
  49. -s 100 61b8 3d 00 4b     ( search from the start to the end for 
  50.                 the byte sequence )
  51. 0D14:4ECF          <== this is the address of the instruction 
  52. -u 0d14:4ecf 4ed2      ( disassemble to confirm )
  53. 0D14:4ECF 3D004B        CMP     AX,4B00
  54. 0D14:4ED2 0F            DB      0F
  55. -e 0d14:4ed0         ( enter new values;
  56. 0D14:4ED0  00.ff   4B.ff   the space bar steps from one byte to the next )
  57. -u 0d14:4ecf 4ed2     ( disassemble to confirm )
  58. 0D14:4ECF 3DFFFF        CMP     AX,FFFF
  59. 0D14:4ED2 0F            DB      0F
  60. -w             ( write out the changed file )
  61. Writing 60B8 bytes
  62. -q
  63.