

                        SIO2K Beta Revision history

02/25/98 - Beta 003
     First public release.

02/26/98 - Beta 004
     The bit rate was being set incorrectly on most uarts.  This problem
     was corrected.  The text file techtalk.txt was added to the
     distribution files.

03/06/98 - Beta 005
     Support added for the 16850 uart.  Except for the size of the fifos,
     this chip seems every bit the equal of the Hayes ComBic (used on the
     ESP) that I like so much.

     At this time, I cannot add support for the 16952.  The chip seems to
     have a bug that is difficult for me to work around.  Working around
     the bug would severely impact the performance of other uarts.  I have
     reported the bug to Oxford Semiconductor.  I can support the 16952
     with a special interrupt service routine, but that is going to take
     time to write.

     Fixed a problem in vsio2k.sys so that it would not unnecessarily open
     serial devices during session initialization.

     Fixed a problem where RTS would not be turned on for 16650 UART.

     Fixed a problem with the 64 byte FIFOs of the 16750.

     Crystal frequency was being incorrectly calculated for x2 devices. 
     This has been corrected.

03/17/98 - Beta 006
     Corrected a problem where the IRQ could not be automatically detected
     when a series of UARTs shared the same IRQ.

     Automatic IRQ detection is now only done once.

     Automatic IRQ detection is skipped for PCI devices as the IRQ is
     known.

     The read function incorrectly returned an error 8111 (hex) at times. 
     The problem has been corrected.

     Somewhere along the line of changes, the transmit load count was
     corrupted.  This meant that only one character was being transmitted
     per interrupt.  This problem has been corrected.

     The code to support the 16650 and 16650A was severely corrupted in the
     beta 005 release.  This has been corrected.

     Xon/Xoff flow control on UARTS with built in flow control was not
     being set correctly in previous versions, and is now corrected.

03/30/98 - Beta 007
     Added support for the GTEK JetPort PCI cards.

     Added Resource Manager (aka Hardware Manager) support.

     Detection of SMC SuperIO motherboard uarts is now done at boot time
     instead of at "first touch" time.


     Corrected a bug in VMODEM.EXE that caused it to trap (at program exit)
     on some systems.

     VMODEM.EXE displayed the wrong COMn name in log messages.  This has
     been corrected.

     Corrected a problem is ESP.SYS that would cause a system hang if
     an ESP port was used in compatibility mode following its use in
     enhanced mode.  Note that once an ESP port is used in enhanced
     mode, compatibility mode will not work again until power is
     cycled on the computer.  I do not know why, that is just the way
     it is.

     Bit rates above 115200bps was not being set correctly on SMC SuperIO
     (motherboard) UARTS.  This problem has been corrected.

     Corrected a second problem in ESP.SYS that would cause system hangs.

     If a system had more than one PCI bus, the same board would be
     detected twice.  This problem has been corrected.

05/11/98 - Beta 008
     If no config file was used (sio2k.cfg) then PCI devices were not being
     completely initialized.  This problem has been corrected.

     Incorrect status was being returned (at times) from IoCtl function
     64h.  This problem has been corrected.

     A problem with shared IRQs on PCI devices has been corrected.

     A problem that caused lockups (continuous interrupts) using PCI
     devices has been corrected.

     The 16850 and 16950 were not being reset correctly at device close. 
     This problem has been corrected.

     A problem in the implementation of the Os2Shares config file option
     has been corrected.  This error prevented some DOS apps from being
     able to access a port.

09-16-00 - Beta 009b
     Well boys and girls this is really not a new beta, it is a re-release
     of the 009/009a code to see if anything got broken during my two year
     burn out sabbatical.

     However, what I need to know is what problems are occurring.  PLEASE
     SEND REPORTS TO sio2k@gwinn.com.

     There are some big changes coming in the next (real) beta release.
          I have finally figured out how to automatically determine (at
          boot time) if com.sys is loaded and what ports it is servicing. 
          This is not as simple as one might think.

          Anyhow, having this knowledge (about com.sys) at boot time will
          allow sio2k to configure more automatically. The only thing that
          I will now need in a config file is legacy ISA stuff. So, a
          completely changed, and greatly simplified, config file is coming
          in a near future release.

          I have also contacted manufactures of PCI serial cards for
          information, so support for more serial cards is coming.  If you
          want to help see PCI.TXT.

     I am going to drop the Hayes ESP support.  There is too much work to
     do for a board that is 5 years out of manufacturing.  If you like the
     ESP, many of the newer PCI cards are just as good.

     I am going to do away with the key file.  I decided that no matter how
     hard I try, someone is going the figure it out and release a hack to
     get around it.

     Vmodem.sys will be changed so that the number of virtual modems to be
     supported will be specified in its command line, and not in a config
     file (as it now is done).

     So, if my burn out is truly over, as I think it is, sio2k may finally
     get to release.  I need the money too. :-)

09-16-00 - Beta 009c
     The config files have NOT been changed.

     Completely rewrote the Resource Management and reporting software.

     It seems that what most users want is support for various PCI serial
     cards, that is what I am getting the most messages about.  So prior to
     the big changes mentioned in the previous release, I have completely
     rewritten the PCI detection code.  There is now an external (to the
     drivers) file named PCI.INC that is used to identify installed PCI
     serial cards.  There is information in the PCI.INC file that may
     enable you to get your PCI card recognized by the drivers.  PCI.INC
     MUST BE IN THE SAME DIRECTORY THAT THE DRIVERS ARE LOADED FROM AT BOOT
     TIME.  The file PCI.TXT has not been updated.

     NOTE:  If you have more than one PCI serial card installed, the
     sequence in which ports are assigned may change.  The sequence in
     which the boards are found is now controlled by their order in
     PCI.INC.  Previously, the order was controlled by which PCI slot the
     card was plugged into.

10-01-00 - Beta 010
     Updated some of the txt files, PCI.TXT and FAQ.TXT.

     The Hardware (Resource) manager is now informed of the IRQ on legacy
     ISA ports.  However, the IRQ is not reported until a given port is
     accessed at least once.  An easy way to access the port is to do
     something like MODE COM1 before executing rmview.  Note that the IRQ
     for PCI cards and most SMC SuperIO chips are known and reported at
     boot time.  That is, there is no need to access these type of ports to
     get the IRQ reported to the hardware manager.

     NOTE NOTE:  At some time in the past, I tried reporting the IRQ to the
     hardware manager after boot time, and OS/2 trapped.  Users of OS/2
     that have not applied fixpaks may still see a trap the first time they
     access a legacy ISA port.  It is also possible that a bug existed in
     sio2k, and I unknowingly fixed it.  If your system traps the first
     time a port is accessed with beta 010, but did not happen with
     previous betas, please report it to me at sio2k@gwinn.com.  I
     currently have fixpak 14 installed on my test system.

     Added the file HELP.ME to the distribution.  This is where I will make
     requests for information and help, sio2k related and not.

     The sample.cfg file has been changed.  COM3 and COM4 have been
     commented out in the DOS/Win (vsio2k.sys) part of the file.  If you
     use a config file, you should remove any references to ports that do
     not exist on your system.

     The drivers will now ALWAYS check for SMC Super I/O devices. 
     Previously the check was only made if enabled via the config file.

     Many internal organizational changes have been made in preparation for
     the elimination of the need for a config file.

10-02-00 - Beta 010a

     A bad bug existed in beta 010 when processing the config file.  Since
     I am now doing most of my testing without a config file, it slipped
     passed me.  This version corrects the config file processing bug.

10-05-00 - Beta 011

     Due to popular request, the ESP driver will continue to be distributed
     with the sio2k set.  ESP.SYS seems to work fine on my system, and as
     one user pointed out, why drop it when I already have the code.

     This is the first version of the sio2k drivers that should completely
     self configure, even for the most complex system.  That is, there
     should be no need for a configuration file.  The automatic assignment
     of ports may differ from those you may have defined in a config file. 
     So, look at the log files to see how the comm ports are being
     assigned.

     If a config file exists it is still parsed, and the parsed information
     is used.

     VMODEM.SYS now has a new command line parameter to specify the number
     of ports. Add NPORTS=4 to the vmodem.sys command line if you want 4
     vmodem ports.  Vmodem.sys defaults to 1 vmodem port if the NPORTS
     option is not present.  For example:

device=c:\sio2k\vsio2k.sys logfile=c:\vsio2k.log vIrqList(3,4) nPorts=4

     UART.SYS also has a new command line option to specify legacy ISA
     ports.  Legacy ISA ports are those ports with non-standard I/O
     addresses for the uarts that exist on your system. Uart.sys will
     automatically determine the uart type, the FIFO size and the IRQ being
     used, so only the I/O port address is needed. For example:

device=c:\sio2k\uart.sys logfile=c:\sio2k\sio2k.log LegacyIsa(1a0,240,1a8)

     The first digit of the I/O port MUST BE a decimal digit from 0 to 9. 
     If you have an I/O port address like A78, then enter it as 0A78. You
     can list as many legacy ISA ports as you like.

     If you have a PCI card(s) on your system, the legacy ISA ports are
     assigned last (after the PCI port).

     The LegacyIsa command line option is IGNORED if you use a config file. 
     If you use a config file, you must specify the legacy I/O ports there.

     Documentation updates have been made in install.txt, design.txt and
     vmodem.txt, so read or reread the files.

     A new text file LOGGER.TXT has been added to the distribution zip.  It
     provides some information on how to use logger.exe.

     Sio2k.sys now creates a file named DEVLIST each time the system is
     booted.  This file is created in the directory that sio2k.sys is
     loaded from.  Although the file is not yet used, it will be used by
     vsio2k.sys so it (vsio2k.sys) can determine which I/O address to

     virtualize.  Note that a zero for the I/O port means that the I/O port
     is unknown, but that the device (COMn) name exists.  The I/O port 0
     will not be virtualized.

     If PCMCIA.SYS is loaded on your system (via config.sys), UART.SYS will
     now leave an unassigned device in COM2 to COM4 range if possible. 
     This is/must be done to support the possible insertion of a PCMCIA
     modem.

     Assuming I have not introduced major bugs in this release, I plan to
     start cleaning up vsio2k.sys next.

10-18-00 - Beta 012

     This release could/should be called the notebook release.  PCMCIA
     modems should now work correctly, but read FAQ 11.

     Support has been added for the following National Semiconductor
     SuperIO chips: PC97338, PC87338, PC87309, PC87351, PC87317, PC87360,
     PC87363, and PC87366.  These chips are used on many notebook computers
     and can do bit rates to 921600.  So you people transferring data to
     and from your notebooks via the serial port may now be able to do it
     much faster.

     My thanks to Giovanni Pagni (gpagni@inwind.it) for the addition of the
     National Semiconductor SuperIO devices.  He did all the needed
     research and supplied me with code fragments to detect and program the
     devices.  All I had to do was merge his code fragments into my
     existing code.  Giovanni is a very talented programmer and technician,
     and I am very grateful for his efforts.

     I have noticed one small problem with the National Semiconductor
     SuperIO chips.  Their documentation states they have 32 byte fifos. 
     However, my experiments show a 16 byte fifo, even with great effort
     and experiments to enable the 32 byte fifos.

     Corrected a bug where sio2k reported extended buffering (FIFOs) were
     enabled on devices that have no FIFOs.

     Corrected a recently introduced bug where the bit rate was being
     incorrectly set on SMC SuperIO uarts.

     I have reports of problems with receiving at high speed (230400 and
     above).  I am looking into the problem.

     I am getting a lot of requests about WinModem support.  Currently
     sio2k does not support WinModems.  I will look into these devices when
     time permits.

     Made corrections and additions to the PCI.INC file.
