home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / X00150.ZIP / HISTORY.DOC < prev    next >
Text File  |  1992-08-13  |  24KB  |  496 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.           REVISION HISTORY
  11.  
  12.           V1.20
  13.           This release contains new  versions of CAPTURE and WATCHCD.   The
  14.           older  versions will not work  with this (and  future) release of
  15.           X00.
  16.  
  17.           Anyone  attempting to share a  single IRQ on  multiple comm ports
  18.           should read SHARE.IRQ
  19.  
  20.           Extensive changes to improve multiasking performance.
  21.  
  22.           Many  changes   have  been  made   to  allow  shared   IRQs  with
  23.           mulitaskers.   Eight RBBSs all  sharing IRQ 3  using DESQview has
  24.           been  successfully tested with  this version of X00.   The 8 port
  25.           RBBS system was set up and tested by Dan Fox at:
  26.  
  27.                Defence Logistics Services Center
  28.                74 North Washington
  29.                Battle Creek, Mi. 49021
  30.  
  31.           Through  a coding  error,  when the  transmit  buffer size  being
  32.           specified,  a random  memory location  was  being changed.   This
  33.           error has been corrected.
  34.  
  35.           The NASTY option is now nastier.  Remember, the NASTY option will
  36.           cause some systems to hang (and some to work).
  37.  
  38.           Status structure  returned by function  1BH (27) now  returns the
  39.           actual transmit and receive buffer size.   Previously the default
  40.           buffer size was returned.
  41.  
  42.           Code was streamlined for faster execution.
  43.  
  44.           1.20a
  45.           This is not a beta, in  retrospect possibly 1.20 should have been
  46.           a  beta.  V1.20  introduced code that can  cause X00 to interfere
  47.           with other  communication programs.  This  problems shows  itself
  48.           when an application program exits and leaves the FOSSIL active on
  49.           a given  port.  If  another program uses  the comm port  that was
  50.           left  active,   X00  will   interfere  with  the   program.  Most
  51.           noticeably,  it  will miss  received  characters.   One  way this
  52.           problem could come up is using Binkley with SHARE  in the command
  53.           line.  There appears to be several programs out there that  leave
  54.           the FOSSIL hot  when they exit.   Application programmers  should
  55.           always disable any ports  they may have activated when  they exit
  56.           or  implement the equivalent of the Binkley SHARE option which is
  57.           the correct way to exit with the FOSSIL still active.
  58.  
  59.           The default buffer size has been changed from 4k to 1k.  I really
  60.           don't think buffers as large as 4k are necessary on most systems.
  61.           However, you can set them back to 4k by using the  R and T option
  62.           in the DEVICE = command line.
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.           This  version  corrects a  problem  that  made some  Trailblazers
  71.           practically unusable.   Additionally, users of  other modems that
  72.           use RTS/CTS handshaking will see improved performance.
  73.  
  74.           A problem with mapping ports was corrected.
  75.  
  76.           Added the quick and  dirty C HLLAPI routines to  the distribution
  77.           file.  See CHLLAPI.DOC in the CHLLAPI.ARC archive.
  78.  
  79.           I  did not add it  to the semi-formal  command line documentation
  80.           above.  However, a new command  line option has been added.  This
  81.           command  allows the user to  specify the transmit  FIFO size that
  82.           X00 is to use when a 16550 is installed.  The command line option
  83.           is  F{IFO}=n where n is 1 to  16.  The default transmit FIFO size
  84.           is  8.   For  reasons  I do  not  understand,  some systems  have
  85.           problems  if the FIFO size is set to the maximum of 16.  However,
  86.           15 seems to  work on all tested systems.   The F=n statement will
  87.           be  ignored if a 16550  is not installed.   Through a programming
  88.           error, X00 previously  has never used more  than one byte  of the
  89.           16550 transmit FIFO.   Users with 16550s installed will  probably
  90.           see  increased transmit speeds with this version of X00.  Setting
  91.           the  transmit FIFO to a value larger  than the default value of 8
  92.           may yield marginally better transmit speeds.  However, setting it
  93.           to the maximum of  16 may cause some connections  and/or programs
  94.           to miss characters.
  95.  
  96.           1.20b
  97.           Version 1.20a  lasted only  about  4 hours.   I  apologize.   The
  98.           correction  of  the  port  assignment problem  in  V1.20a  caused
  99.           another problem when  only one comm port  was used and  that port
  100.           was  not  COM1.    That  problem  is  corrected  (with  a  single
  101.           instruction) in this version.  Again, I apologize.
  102.  
  103.           1.20b, second release
  104.           No  changes  in  X00.SYS  itself from  1.20b's  initial  release.
  105.           Included more HLLAPIs in the distribution file  (Turbo Pascal and
  106.           Quick   Basic).     Cleaned  up   the  documentation.     Changed
  107.           distribution  file from ARC to  ZIP (V1.01) format.   Changed the
  108.           X00 license to a modified version of the BinkleyTerm License.
  109.  
  110.           1.20c
  111.           Corrected a problem in processing IRQs  8 through 15.  The FOSSIL
  112.           boot function and BOOT.COM will now boot  under DesqView 386.  My
  113.           thanks to Don Carroll of Quarterdeck for checking out  the use of
  114.           IRQs 8 through 15 with BinlkeyTerm.  HLLAPIs for C, Turbo  Pascal
  115.           and Quick Basic are now included in the distribution file.
  116.  
  117.           1.22
  118.           Added hooks that allow the line monitoring Break Out Box (BOB) to
  119.           do its thing.   No real  documentation is available for  BOB yet.
  120.           If you can figure out how to use it, have fun.
  121.  
  122.           Added additional code to the booting code to insure booting under
  123.           DesqView.  BOOT.COM received the same additional code.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.           Added DesqView Pause functions  at strategically selected places.
  132.           This  should cause  systems operating  under DesqView  to operate
  133.           better.  Use  the DV  option flag to  enable the DesqView  calls.
  134.           Users of the  DEFER option should  note that a  lone D no  longer
  135.           specifies the DEFER option.  With the addition  of the DV option,
  136.           DE must be specified to enable the DEFER option.
  137.  
  138.           Rearranged memory  to make  it easier for  X00 to be  loaded into
  139.           high  memory using  utilities  like LOADHI.SYS  from Quarterdeck.
  140.           Using the STACKS  command in  CONFIG.SYS to specify  a DOS  stack
  141.           smaller  than the  DOS  default may  cause  a problem  with  this
  142.           version of X00.   If you have  problems, try removing the  STACKS
  143.           command from the CONFIG.SYS file.
  144.  
  145.           Corrected a problem in function 1BH (27).  IBUFR - IFREE will now
  146.           yield (always) the number of bytes in the receive buffer.
  147.  
  148.           I wish  to thank John  Bierrie for testing  the BIOS emulator,  a
  149.           major addition of this version described below.
  150.  
  151.           A BIOS emulator for INT  14h was added.  This BIOS  emulator will
  152.           allow many programs that are not FOSSIL aware, such  as BBS DOORS
  153.           programs,  to operate.  The addition of this feature also changes
  154.           the  way that X00  passes on INT  14h calls for  serial I/O ports
  155.           that are not currently active (FOSSIL active).
  156.  
  157.           In previous versions of X00, all INT 14h  calls to inactive ports
  158.           were  passed on to  BIOS's INT 14h  routine.  If you  wish X00 to
  159.           continue to operate as it has with previous versions, add USEBIOS
  160.           to the DEVICE=X00.SYS command line.
  161.  
  162.           USEBIOS is  sort of a halfway  CAPTURE OFF.  Most  users will NOT
  163.           want to use this directive.  If USEBIOS  is in effect and X00 can
  164.           not figure out what to  do with an INT 14h call, the call will be
  165.           passed on  to BIOS.  If USEBIOS is specified, many DOORS programs
  166.           will have problems (especially under DESQview).
  167.  
  168.           Unless overridden  with the USEBIOS directive  or XU CAPTURE:OFF,
  169.           this version of X00 will process all INT 14h calls.  If  the port
  170.           is FOSSIL active then the FOSSIL  specification will be followed.
  171.           If the port is not FOSSIL active than the BIOS INT 14h rules will
  172.           be followed except as follows:
  173.  
  174.           1 - The port address mapping will remain in effect.   That is, if
  175.           you  have mapped port  0 (COM1) to  0280h then the  BIOS emulator
  176.           will use 0280h for the address of COM1.
  177.  
  178.           2 - 16550 support is maintained.
  179.  
  180.           3 - Locked baud rates are maintained.
  181.  
  182.           4  -  BIOS functions  1 and  2  (transmit and  receive character)
  183.           specify a timeout.   However, I could not find  any documentation
  184.           on  what the timeout is supposed  to be.  I have  set a 30 second
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.           timeout for both functions  1 and 2.   As the BIOS  specification
  193.           requires, a timeout is indicated by  the high bit of AH being set
  194.           to 1 upon return from function 1 or 2.  If function 1 or 2 return
  195.           with the high bit of AH set, the remainder of the returned status
  196.           is not valid.  Use function 3 for accurate status in this case.
  197.  
  198.           5 - The  BIOS emulator will  support up to 8  ports while a  real
  199.           BIOS only supports 2 (4 on some).
  200.  
  201.           By default, X00 will now update BIOS ram to reflect the existence
  202.           of up to 4 SIO ports at initialization.   Previously, the program
  203.           POSTPORT was  needed for this  function.  Additionally,  X00 will
  204.           put the port addresses in BIOS ram in the same order and with the
  205.           same port addresses that have been assigned (or defaulted) by the
  206.           user.   This means  that programs that  use COM1 via  DOS or BIOS
  207.           will address the  same port as  X00's port 0  etc.  This  feature
  208.           will allow many programs to work when non standard port addresses
  209.           are  used.  A  new command line  option NOPOST has  been added to
  210.           override this feature.
  211.  
  212.           If you wish  this version of X00 to handle BIOS  ram and BIOS INT
  213.           14h calls as previous  versions, you must add USEBIOS  and NOPOST
  214.           to the command line in your CONFIG.SYS file.
  215.  
  216.           A  new utility (XU.EXE) has  been added in  the distribution file
  217.           and several utilities have  been eliminated.  XU allows  the user
  218.           to  change most operational  characteristics of X00  such as baud
  219.           rate  locking and  unlocking.    If  you use  XU  to  change  the
  220.           operational characteristics  of a FOSSIL active  port within X00,
  221.           the change will not take effect until the port is deactivated and
  222.           re-activated.  Note  that you  can deactivate  and re-activate  a
  223.           port with XU itself.
  224.  
  225.           I wish to thank Bob Juge and Bob Davis for testing a rats nest of
  226.           doors programs with this version of X00.
  227.  
  228.           A point about FOSSIL function 1Bh (27).  The FOSSIL specification
  229.           states  that the  baud rate  returned by  this call  reflects the
  230.           computer to modem  baud rate.   X00 supports baud rates  that are
  231.           not  allowed by  the  FOSSIL specification  and cannot  correctly
  232.           reflect the computer  to modem baud rate.  When function 1Bh (27)
  233.           is called, X00 returns the baud rate that the application program
  234.           last attempted to set using FOSSIL function 0.
  235.  
  236.           A point  about  programs that  have their  own interrupt  drivers
  237.           (like DSZ).  The  port that the program  is to use should  NOT be
  238.           FOSSIL active.  If the port is left FOSSIL active, X00 will cause
  239.           interference.
  240.  
  241.           Additional locked  baud rates of  115200, 28400 and  57600 (58kb)
  242.           have  been added.   The total list  of lockable baud  rates is in
  243.           X00.DOC.
  244.  
  245.           Starting with version 1.21g of X00, FOSSIL functions 1 and 2 have
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.           a 30 second timeout.  Normally these functions will return status
  254.           in AX.   The status  returned is the  same as returned  by FOSSIL
  255.           function 3.  Under  normal conditions, the high bit will never be
  256.           on in  the returned status.   However,  if a timeout  occurs, the
  257.           high bit  of AX  will be  set and the  remaining status  bits are
  258.           undefined.   This is  not something I  dreamed up, it  is the way
  259.           that (IBM and most other) BIOS INT 14h works.   I discovered this
  260.           when I added the BIOS INT 14h emulator.  I could not determine  a
  261.           value  (defacto standard) for the timeout.  I arbitrarily set the
  262.           timeout to 30 seconds.
  263.  
  264.           ********NOTICE******    The   default  port  addresses  and   IRQ
  265.           assignments for COM3 and COM4 have been changed to match COM3 and
  266.           COM4 on the PS/2.  If you were depending on the old defaults, you
  267.           must  change your X00 command  line to provide  the port address.
  268.           The  previous defaults were COM3 at 3E8h  using IRQ 4 and COM4 at
  269.           2E8h using IRQ 3.  You can execute XU S to see the new defaults.
  270.  
  271.           X00 now acknowledges  the existence  of COM5 through  COM8.   The
  272.           PS/2 address and IRQ assignments are used for those ports.
  273.  
  274.           The  file size  of X00  is larger  however, the  amount remaining
  275.           resident after initialization is smaller.
  276.  
  277.           X00 now detects the existence of the Intel 82510 chip  which is a
  278.           FIFOed version  of the 8250 etc.  The code  the use the FIFOs has
  279.           not been added.  I  believe the 16550A is still the  best choice.
  280.           The 82510 is used by a lot of lap tops.
  281.  
  282.           Previous  versions of X00 monitored  the comm port  too much when
  283.           WATCHCD was  in effect  for a  port.   This caused  problems with
  284.           other interrupt driven programs  like DSZ.  The problem  has been
  285.           corrected in this version.
  286.  
  287.           This version of X00 will load either as a TSR or a device driver.
  288.           To  use X00 as  a TSR, rename  X00.SYS to X00.EXE  and execute it
  289.           with the  same command line parameters.   If you wish  to have it
  290.           both ways, you can leave X00 named X00.EXE and still load it as a
  291.           device driver using DEVICE=X00.EXE in the config.sys file.
  292.  
  293.           If  X00 is  loaded as  a TSR,  it can  be un-installed  by simply
  294.           executing X00  with no parameters.  If you want to make sure that
  295.           you  do not accidently un-install X00, execute it with a harmless
  296.           parameter.   For  example X00 E.   If  a copy  of X00  is already
  297.           resident, another  copy  will not  be loaded  and the  parameters
  298.           specified  have no  effect  on the  previously  loaded X00.    XU
  299.           commands  are  the  only   method  of  changing  the  operational
  300.           characteristics of a previously  loaded X00.  In the  near future
  301.           XU  will be able to change any of the operational characteristics
  302.           of X00.
  303.  
  304.           X00 will refuse to un-install under certain conditions.  Usually,
  305.           this is because another program has been loaded after X00 and the
  306.           interrupt vectors cannot be restored without the possibility of a
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.           system  crash.   However,  X00  will un-install  with  hot FOSSIL
  315.           ports.  So, all of your  FOSSIL comm programs should be shut down
  316.           prior to un-installing.
  317.  
  318.           Loading  of  multiple copies  of  X00  inside different  DESQview
  319.           windows is  allowed.  The method I used should work on any multi-
  320.           tasking system.  However, I have only tested under DESQview.
  321.  
  322.           The TSRing  of X00 has not had a  lot of testing.  Please provide
  323.           feedback if you have  problems.  Before providing the  feed back,
  324.           please  attempt to  insure  that it  is not  pilot error.   Think
  325.           through what you are attempting to do.  If you are using a multi-
  326.           tasker, look over the  configuration for the window and  think it
  327.           through.
  328.  
  329.           The  HLLAPI routines have NOT  been updated to  recognize a TSRed
  330.           X00.
  331.  
  332.           BOB  version 0.04 (released with  this version) will  work with a
  333.           TSRed X00.  A problem in  BOB with monitoring of ports other than
  334.           0 has been corrected.
  335.  
  336.           Earlier versions of XU refused to work on DOS versions below 3.1.
  337.           This was a code left  over from a previous program.  XU  will now
  338.           work on any DOS version above 2.00.
  339.  
  340.           X00 will refuses to load high as a  TSR.  I have not yet found  a
  341.           foolproof way to locate a TRSed  X00 when it is loaded high.   If
  342.           X00  is allowed  to load  high as a  TSR, XU  may not  be able to
  343.           locate it.  Worse, X00 may install itself twice.
  344.  
  345.           A comment to  those that are attempting to get  a CTTY command to
  346.           work in  DESQview.  I  have had some  success by  configuring the
  347.           window to enable Printer Management.
  348.  
  349.           A comment to those that use GATEWAY.  On my system, I got GATEWAY
  350.           to work  by adding XU  PORT:n:ON.  Note that  n for XU  is 1 less
  351.           than the n in  GATEn.  You may have to issue  an XU PORT:n:OFF at
  352.           the end of the redirection.
  353.  
  354.           Revision history prior to V1.20 has been deleted from this file.
  355.  
  356.           V1.22A
  357.           X00 V1.22  would not un-install  from the OS/2  compatibility box
  358.           gracefully.  V1.22A corrects this problem.
  359.  
  360.           The  HLLAPI routines are not in the  V1.22A distribution file.  I
  361.           will  add  them  back to  the  distribution  file  when they  are
  362.           upgraded to work with a TSRed X00.
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.           V1.24
  371.  
  372.           It seems  the change to use  the PS/2 defaults for  COM3 and COM4
  373.           has caused many problems.   Simply checking for the  existence of
  374.           the  ports using the PS/2  addresses caused problems  on non PS/2
  375.           systems.   Those  that read  the  documentation and  tried NOPOST
  376.           probably did not have a problem.
  377.  
  378.           X00 now  detects that it is working on  a PS/2 or compatible.  If
  379.           the host system is a PS/2,   then the PS/2 port address for  COM3
  380.           and COM4  are used as the  defaults port addresses.   If the host
  381.           system  is not a PS/2,  then the defacto  standard port addresses
  382.           for COM3 and COM4 are used as the default port addresses.
  383.  
  384.           V1.22n  of X00 enabled  the FIFOs of  the 16550a (et  al) at load
  385.           time.   This was done  at the request of several  users.  At load
  386.           time, X00  does not  know which  comm ports will  be used  so all
  387.           16550's FIFOs were enabled.   However, some (dumb) communications
  388.           programs will not recognize the existence of a comm port that has
  389.           a 16550a installed with the FIFOs enables.  X00 no longer enables
  390.           the 16550's FIFOs  at load  time.   However, the  FIFOs are  left
  391.           enabled when X00 shuts down a FOSSIL active port.
  392.  
  393.           The HLLAPI routines are now back in the distribution file but are
  394.           largely untested.  They should now correctly find and use a TSRed
  395.           X00.  Please report any problems that you find.  Future additions
  396.           will include selective tracing with BOB.
  397.  
  398.           BOB  will now  write the  trapped communications  data to  a disk
  399.           file.   A program written by Bob Hartman called ANALYZER.EXE will
  400.           convert the BOB  files to text.  ANALYZER.EXE is  included in the
  401.           BOB.ZIP  file.   See  the HISTORY.TXT  file  in BOB.ZIP  for more
  402.           information.
  403.  
  404.           I am  somewhat dismayed to note that the X00 distribution file is
  405.           now over 100k.
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.           A FidoNet  echomail conference  tagged X00_USER is  now available
  415.           from the FidoNet Backbone.  This conference is intended for users
  416.           of  X00  to exchange  solutions to  problems.   Additionally, the
  417.           conference  should eliminate the need  for me to  answer the same
  418.           questions from several users via net-mail.
  419.  
  420.           An  embarrassing problem in flow control has been corrected.  The
  421.           lower end threshold  was not  being checked correctly.   The  net
  422.           effect was that receiver was being enabled after only a few bytes
  423.           were taken from the buffer.   This problem has been in X00  for a
  424.           long time and explains some speed comparisons reports that I have
  425.           received.
  426.  
  427.           X00  now detects the processor types 808x, V20/V30, 8018x, 80286,
  428.           80386 and 80486.  Based on the processor type, X00 selects one of
  429.           three  routines  to  service  communications  interrupts.    808x
  430.           processors have there own interrupt routine.   8018x and V20/V30s
  431.           share a second routine.  80286,  80386 and 80486 share the  third
  432.           interrupt  routine.   The use  of three different  routines allow
  433.           processor  specific  instructions to  be  used,  which result  in
  434.           faster  execution.    The manner  that  I  implemented the  three
  435.           individual interrupt service  routines requires approximately 100
  436.           bytes of additional code.
  437.  
  438.           Strangely  enough, users of 808x  and V20/V30s will  see the most
  439.           dramatic increase  in speed  of serial communications  when using
  440.           high speed modems.
  441.  
  442.           Users of other  processors will probably not  notice any increase
  443.           in  speed.    However,  the  overhead  caused  by  communications
  444.           interrupts will be reduced.
  445.  
  446.           Some correction have been made to the HLLAPI routines.  The C and
  447.           Quick Basic HLLAPIs are no longer X00 specific.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.           For those that believe  that larger buffers mean faster  I/O, you
  457.           will be glad  to know that  X00 is no  longer limited to  a total
  458.           size of 64k.  The sum total of the buffer sizes for a single port
  459.           can be up  to 48k.  If you are using  a slow computer, be sure to
  460.           try a small buffer (256 bytes or so).  Many times, a small buffer
  461.           on a slower computer will yield better throughput.
  462.  
  463.           Two problems were corrected in BOB.  One problem would cause some
  464.           systems to crash.   The  other problem  was that  BOB would  stop
  465.           monitoring a port if an active port was re-activated.   Both have
  466.           been corrected.
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.           V1.49
  477.  
  478.           I jumped the version numbers from  1.24 to 1.49a to skip over the
  479.           bogus 1.30.
  480.  
  481.           Changes were  made so that  OS2 would not  get upset when  X00 is
  482.           loaded in a DOS partition.
  483.  
  484.           An error in the HLLAPI routines was corrected.  The first call to
  485.           X00 was previously lost.
  486.  
  487.           The routines that detect  SIO chip type(s) were changed so as not
  488.           to screw up some 8250 emulation parts on some chip sets.
  489.  
  490.           IRQ2 is  now handled somewhat diffreently.   Some may now be able
  491.           to use IRQ2 for serial ports.
  492.  
  493.           -------------------------------
  494.  
  495.           Ray Gwinn
  496.