







                                   Revision History


          The following changes/additions were made in internal build
          0.113.

               The initialization procedure for enabling the FIFOs of the
               16550 was changed as per directions from StarTech.  The
               StarTech 16550 is used in many Practical Peripherals modems. 
               This change may correct overrun and hanging problems for
               other users.  User reports indicate that the FIFOs
               initialization problem may go beyond the StarTech 16550 and
               thus, solve problems for users of other 16550s.

          The following changes/additions were made in internal build
          0.114.

               Additions to force enabling of comm ports for VMBs under
               2.1GA.

               Version number was changed to à1.01

          The following changes/additions were made in internal build
          0.115.

               The Interrupt Service Routine (ISR) was improved to insure
               that all pending interrupts of all ports sharing the same
               IRQ are serviced.

          The following changes/additions were made in internal build
          0.116.

               Additional changes to decrease the processing time of the
               Interrupt Service Routine.

          The following changes/additions were made in internal build
          0.117.

               Additional information added to the boot time banner.

               Changed the version number to 1.02.

          The following changes/additions were made in internal build
          0.118.

               Corrected erroneous sending of XON when receive flow control
               was enabled.

               Added code to clear the UART's FIFOs during initial file
               open.








          The following changes/additions were made in internal build
          0.119.

               Corrected a problem with hardware flow control for DOS
               processes.  This problem showed up most often in windowed
               DOS programs.

               Removed code specific to the March, 1993 beta of OS2.

               Added support for installable and removable communications
               devices, eg PCMCIA.

               Some users of VX00 will see improved performance from FOSSIL
               aware DOS programs.

          The following changes/additions were made in internal build
          0.120.

               Code added to allow I/O port mapping to DOS sessions.

          The following changes/additions were made in internal build
          0.121. 7/28/93 14:00pm

               Corrected a problem that would cause the system to hang if
               an SIO command line error was detected.

               Additional code added for "hot plugging" of PCMCIA comm
               ports.  Users of PCMCIA comm devices should not remove those
               devices while a comm program active.  Many comm application
               programs can not cope with the modem being removed.  Your
               system may lock up if you remove a modem while a comm
               application program is active.

               Changed the way virtual CTS is handled.  In previous
               versions, the virtual CTS was always on.  Under appropriate
               conditions, the virtual CTS will now be turned off.

          The following changes/additions were made in internal build
          0.122. 8/14/93 14:20

               Corrected a problem in the internal (to SIO) shared
               interrupt chain.  This problem would cause the system to
               lock up when the third device checked in on the same IRQ.

               Added command line options for PCMCIA.







          The following changes/additions were made in internal build
          0.123. 8/18/93 19:05

               Added code to wake sleeping receive threads when a Flush
               Input command is received.  This additional code allows HA/5
               Version 3.1 to work with SIO.

               Changed the version number to 1.10 and released it for
               downloading.

          The following changes/additions were made in internal build
          0.124. 8/28/93 14:50

               Corrected a serious error in SIO.  This problem could show
               up in almost any way.  The most common symptom is/was trap
               000e and inordinate processor overhead when comm is active.

          0.125. 9/09/93 08:15

               Changed version number to 1.11

               Corrected problem associated with generating a virtual
               transmit interrupt.  This problem was introduced with the
               released version 1.10.  It broke PCBoard, among others.

               Added DTR/DSR handshaking.  It seems that several printers
               requires this type of handshaking.  This addition
               necessitated the addition of the DOS Setting
               SIO_Virtual_DTR_is_HS.  This new DOS setting is the first
               SIO setting that should normally be off.  When a DOS or
               Windows session is using DTR/DSR handshaking, this setting
               should be turned on.  The HP laser printers are the only
               devices that I know of (or ever heard of) that use DTR/DSR
               hardware handshaking.  All modems that I know of use RTS/CTS
               hardware handshaking.

          0.126 09/22/93

               Corrected problems that were introduced when the PCMCIA code
               was added and released in V1.10.  These problems caused
               several DOS and Windows programs to work poorly or not at
               all.  These problems also caused some DOS and Windows comm
               programs to use inordinate amounts of processor time.

               Changed the version á1.13.

               Corrected a problem in the FOSSIL implementation of VX00. 
               Some FOSSIL aware programs that previously did not work
               under VX00 may now work.








          0.127 09/30/93 17:20

               Changed version number to 1.15 and released.

               Added DOS settings to allow for individual mode settings for
               each DOS session.  The DOS Settings SIO_Virtual_RTS_is_HS
               and SIO_Virtual_DTR_is_HS have been removed.  Their function
               is more completely covered in the new DOS Settings.

               Optimized code to eliminate unnecessary virtual transmit
               interrupts.  This change should cut down the amount of
               overhead placed upon the system by DOS and Windows comm
               programs.

               Changed the way the DCB is processed so that CTS may be
               ignored (if instructed by the DCB) even when RTS is a
               handshake signal.

               Previously, SIO would force RTS/CTS handshaking if the baud
               rate is locked in the command line.  The forcing of RTS/CTS
               handshaking has been removed.

               A flow control problem that showed up on some systems has
               been corrected.  The flow control problem most often showed
               up at transmission simply stopping.  This problem was
               introduced when the DTR/DSR handshaking was added.

               Added the "SIO_Share_Access_With_OS/2" DOS setting.

               Changed version number to 1.20.

          0.129 10/30/93 12:30

               Added code to support SU's VIRT command and additional
               information from the ABOUT command.  It should be noted that
               SU's MODE command will show the mode of an active comm
               program, and that SU's output can be redirected to a disk
               file.  For example SU 1 MODE > XXXX will direct SU's output
               to a file named XXXX.  When submitting a problem report, one
               should use SU's mode command while the problem program is
               active and include the information in the problem report.

               A new DOS setting has been added, SIO_Idle_Sensitivity. 
               This setting parallels the IDLE_SENSITIVITY setting of OS/2
               to some degree, but the new SIO setting applies only to DOS
               comm and not to the system in general.  Lowering the value
               of this setting will increase the processor time made
               available to other processes.  However, setting the value
               too low will screw up the operation of some DOS comm
               programs.  Setting the value to 100 (the default) will cause
               SIO to use its previous methods of releasing processor time
               (which are not very good).








               Added code to support SU's new CLOSE command.  The CLOSE
               command attempts to force a DOS session to release a comm
               port.

               The method in which the SIO_Mode setting are implemented has
               been changed.  These settings specify only the initial mode
               settings to use for a DOS session.  Changes made to the mode
               (via a MODE or other command) within the DOS session are no
               longer lost.  The SIO_Mode settings isolate the DOS VDM's
               mode from that of OS/2 sessions in all but one case.  The
               one case is when the port is already opened when DOS first
               accesses it.  In this one case, the SIO_Mode settings are
               not applied.  Except for this one case, one should view OS/2
               as having its mode settings and DOS sessions as having an
               independent group of mode settings. 

               Corrected a problem in the SIO_Mode_Xon/Xoff implementation. 
               If this setting enabled the sending of Xon/Xoff, then under
               some conditions, an Xon would not be sent following the
               sending of an Xoff.  This problem only applied to DOS
               programs using the above DOS Setting.

          0.130 11/16/93 12:00

               Code added to SIO.SYS to support PMLM.EXE.  PMLM.EXE is a
               line monitoring program similar to X00's BOB.EXE.

               Corrected a problem that would cause erroneous "Port in use"
               errors from a DOS session if sharing with OS2 sessions was
               disabled.

               Added the "SIO_Screen_Sync_Kludge" DOS setting.  Some DOS
               BBS programs (such as Wildcat) and many DOS Door programs
               attempt to synchronize the screen output with transmitted
               data.  This plays havoc with a multi tasking system like
               OS/2 and results in very slow transmitted data.  When this
               setting is on, an attempt is made to fake out these
               misbehaved programs and allow them to run at normal transmit
               speed.  This setting should not be turned on unless you
               experience VERY slow transmission from a DOS program.

               Corrected a problem in SIO with sending break.  At high bit
               rates, SIO would lock the entire system if a break was sent. 
               That problem has been corrected.

               Added a warning message at load time about possible IRQ
               conflicts with other device drivers.

               Added code to support SU's IRQ usage report.

               Corrected a problem that caused an opened comm port to
               lockup when the SU IRQS command is used.







               Added additional FOSSIL baud rates to function 1Eh.  See
               X00REF.DOC in X00153A.ZIP for additional information.

               Corrected a problem in SU with enable/disable commands. 
               Enable now works following a disable.

               Added the Lock command to SU, allowing a locked baud rate to
               be reset or unlocked.

               VSIO.SYS will now refuse to load if COM.SYS has been loaded.

          0.131 12/22/93 18:00

               Changed version to 1.24 and released.

               MERRY CHRISTMAS!!!!

               Changed that way the EOI is issued to the interrupt
               controller.  This may clear up clear up stack overflows on
               some systems. 

               VSIO no longer turns off virtual CTS.  CTS now always
               appears on to DOS and Windows programs that access a comm
               port via VSIO.

          The following changes/additions were made in internal build
          0.132. 1/25/93 19:00

               Released V1.26.

               Maintaining this history file is time consuming and
               distracting.  I have not been doing a good job of this
               lately.  Many changes made during the 1.26 to 1.30
               development have not been recorded.

               SIO now waits for all writes and data transmission to
               complete before allowing changes to be made to flow control
               that can affect transmitted data.  This correction should
               clear up the problems that some have had using Fax/PM with
               SIO and certain modem types.

               Corrected problems in the Xon/Xoff flow control that could
               cause SIO to start transmiting following an Xoff without
               receiving an Xon.

               Changed VX00's function 1 so that it returns the same status
               that X00 function 1 returns.

               Under certain conditions, SIO would allow a port to be
               closed prior to completion of transmitted data.  This
               problem has been corrected.  This should bring joy to the
               hearts of those using serial printers.  Sorry it took sooo
               long to find this problem.








               Support for two intelligent boards has been added to SIO. 
               The two boards currently supported are the Hayes ESP2 and
               the Telcor Tport.  Strictly speaking, the Hayes ESP2 is not
               an intelligent card as it does not have a satellite
               processor.  However, the new UARTS used by the ESP2 pack the
               functions offered by intelligent boards into the hardware;
               thus offering the same functionality (and much higher top
               speed) as those boards with satellite processors.

               SIO no longer forces the low digit of the bit rate to zero. 
               This means bit rates like 75 and 134 are now valid.  The
               minimum bit rate accepted is 50, the maximum is determined
               by the hardware (115200 for most hardware).

               Code has been added to correct for a bug in the SCM Super
               I/O chip.  This bug could cause system hangs.

               The default of SIO_Mode_DTR has been changed to "No change
               at open or close".

               SIO now clears the appropriate FIFO (or on board buffer)
               when a clear buffer command is received.

               SIO now turns off RTS (in addition to DTR) during system
               shutdown processing.

               The virtualization routines have been improved so that the
               DOS or Windows programs get more accurate information.  In
               particular, the transmit status is now more accurate.

               Additions were made in IOCtl functions 65h and 69h to
               consider data in the transmit FIFO before indicating that
               the transmit buffer is empty.

               Additions made to the IDC to make SIO compatible with the
               EZPlaying PCMCIA drivers distributed with the ThinkPad 750. 
               Users of ISA systems should note that this set of drivers
               does not seem to be specific to the ThinkPad 750.  That is,
               the driver set seems to work on any ISA system.  The driver
               set is included in the file UT750.EXE which can be freely
               downloaded from the THINKPAD Forum on CompuServe.

               Previous versions of VSIO would always place a port address
               in BIOS ram (40:0) for COM1 and COM2 even if no UART was
               detected by SIO.  This problem has been corrected.

          0.170

               Released V1.30.








          0.171 to 0.174

               Minor tweaking and testing.

          The following changes/additions were made in internal build
          0.175.

               Flow control changes set by FOSSIL functions could be lost
               changing from one program to another.  This problem has been
               corrected.

               A problem was corrected that could cause a trap 000D when
               multiple communications shared the same IRQ.  Thanks to Ron
               Knapp for his assistance tracking down this problem.

          0.176 8/16/94 01:30

               Released V1.31

               Altered the sequence of the code executed at system
               shutdown.  The previous execution sequence could have caused
               a trap (usually 0002) at shutdown.

               SIO could incorrectly flow on the remote transmitter and
               then immediately flow off again.  This anomaly has been
               corrected.

               At some point a bug was introduced that could cause SIO not
               to flow on the remote following a flow off.  I am not sure
               when this bug was introduced and I believe it never made it
               out in a released version, but it may have.  In any case,
               this flow on problem has been fixed.

               The Starteck 16650 has a bug in its 16550 emulation that
               would cause SIO's interrupt service routine to loop forever. 
               The interrupt service routine has been altered so this will
               not happen when the 16650 is used.  However, full 16650
               support has not yet been added to SIO.

               The text versions of the SIO manuals are again included in
               the SIO distribution zip.  Several people noted that they
               could not read about SIO without installing it.

               Released V1.32

