home *** CD-ROM | disk | FTP | other *** search
- --------------------------
- Changes since 1.70 release
- --------------------------
-
- ** MAKE SURE YOU REMOVE ALL REFERENCES TO THE /M SWITCH IN ALL
- YOUR EXISTING COMMAND LINES - IT IS NO LONGER SUPPORTED!
- BNU NO LONGER ISSUES A MESSAGE WHEN IT IS INITIALISED
-
-
- ---- v1.89g 09 Oct 1990
-
- - Fixed a stupid bug in BNU's setup code on installation which crashed
- some systems when the FOSSIL was initialised...
-
-
- ---- v1.89f 08 Oct 1990
-
- - An incorrect message (no ports available) will no longer display if
- an attempt is made to init the driver when it isn't resident
-
- - Corrected problem with the INS8250-B UART within the interrupt
- service routine; apparently the line status register is not reliable
- on these UARTS.
-
- - Fixed bug in baud rate setting on install when FOSSIL is locked on
- a port (it would skip setting the baud rate immediately)
-
-
- ---- v1.89e 19 Aug 1990
-
- - Fixed a typo in the buffer init routine which caused a change
- buffer size request (/T /R) to hang
- - Fixed a problem in PC-MOS/386 reboot function
-
-
- ---- v1.89d 15 Aug 1990
-
- - Fixed problems (I hope) in transmitter restart
- - Boot under PC-MOS/386 with /B switch fixed
- - Fixed watchdog call; was previously not installing itself
- correctly within the timer tick
-
- - A *lot* more work done on the transmitter logic; this should
- solve problems with the transmitter stop; BNU now disables TX
- interrupts when the transmitter is idle (thanks to Dave Hatch :-))
- The ISR has undergone a significant overhaul.
- - Removed a number of kludges I had previously used to work around
- the stuck transmitter problem
- - Fixed a subtle problem in the flow control call which I _think_
- was causing problems with the chat function under Maximus on some
- hardware
- - Removed the "disable init message" switch from BNU.COM/.SYS and
- BNUHLP. BNU no longer outputs a message when initialised - that
- code has been moved to the non-resident portion, since I think
- it's more beneficial to consume less memory than output copyright
- messages :-) Init message status removed from /S display.
- - Debug panel display now includes interrupt enable register readings
- - Changed meaning of some values in the debug panel in line with
- changes to the transmitter logic; hopefully I'll get time to do a
- developer's doc for the next release which will explain them
-
- ** Please watch this one carefully: some significant things have
- changed and it requires careful testing - especially under BBS
- software which I haven't tested extensively at all.
-
-
- ---- v1.89c 05 Aug 1990
-
- - Added PORTTEST (COM port diagnostic) to the package
- - Fixed a possible transmitter overrun problem with 16550AFN's
- by shortening the maximum transmitter FIFO queue by 1.
- - Transmitter queue routine changed slightly; should be faster
- now (though I doubt if you'll see any real difference in transfer
- rates!)
- - TM-DD (hopefully) fixed.
- - Added /B1 switch to disable DOS busy detection. If you found
- the last TM a little slower than previously, and you don't run
- programs which call FOSSIL in background, then try this to see
- if it improves things. I'm curious. :-)
- - Couple of other minor mods not worth mentioning.
-
-
- ---- v1.89ß 22 Jul 1990
-
- - Allowed dynamic changing of watchdog delay period without having
- to disable it first; this has the effect of BNU not considering
- multiple trys at watchdog enable an error (ie. no big deal..)
- - Fixed (again! argh!) reentrancy problem in FOSSIL init call;
- this produced strange problems when two ports initialised at
- once
- - Fixed baud rate lock at 9600 in the .COM version; was actually
- locking at 75 baud in error (which is pretty handy...)
- - BNU now returns 0xffff when an errant call is made; should be
- a temporary workaround until something in Opus/CHAT is fixed
- (PLEASE TEST!)
- - BNU again releases its environment; let me know of any problems
- on this one
- - Calling port status which returns the static image of the line
- status register now masks out receiver overrun errors for any
- subsequent calls until it again hits that condition (character
- received when FOSSIL RX buffer full)
- - Added more CPU register reporting to the diags window to help
- diagnose errors; particularly errant calls
- - Several modifications to support FDCD in BNUHLP
- - Found the (argh!) bug in TM which wasn't checking the
- correct flag in DOS to see whether to time slice or not;
- Should be safe now to use TM with DoorWay and D'Bridge
- (without the QEMM exception errors) which make calls to
- FOSSIL calls in "background" (PLEASE TEST THIS - I NEED
- FEEDBACK TO MAKE SURE IT'S WORKING CORRECTLY!)
- - PC-MOS/386 "in-MOS" detection code reinstated (same problem
- as above)
- - Added TM-DD to supports time slicing under DoubleDOS
- - CHKCRC provides a check on all file CRC's. (see CRC.LST for
- distribution values)
-
-
- ---- v1.88ß 27 May 1990
-
- - Removed shared-IRQ support :-( (temporary until 1.90 release)
- - Fixed bug in "lock baud rate" switch (/L) in BNUHLP which
- set incorrect bits
- - Reinstated modem error reporting support in diags window
- - 'Snoop' added to BNU package for aiding in diagnosis and allowing
- a 'snapshot'
-
-
- ---- v1.87α 19 Apr 1990
-
- - More revisions to BNU's interrupt service; some fairly extreme
- optimisations added, some "debugging" options eliminated as a
- result (the debug window no longer logs modem status changes)
- - BNU now clears line status errors on each status call (solves
- the problem with Opus/framing errors).
- - Fixed a problem in "transmit flush" which caused apparent
- 'lockups' with some UART configurations
-
-
- ---- v1.86ß 17 Apr 1990
-
- - Removed requirement for / or - preceeding options in TM, to
- be consistent with BNU and BNUHLP
- - Significant improvement to ISR; BNU should now work *much*
- better in 'tough' conditions; ie. high baud rate and multi
- line.
- - Fixed a flow control bug which caused the transmitter to stop
- during a file transfer whenever the receiver's buffer became
- full (usually restarted by timeout).
- - Modified the way the transmitter works, completely removing
- the requirement for disabling interrupts when working with
- 16550 FIFO's.
-
-
- ---- v1.85ß 08 Apr 1990
-
- - Removed some debug code (might have been causing problems)
- - TM-PM revised; removed INMOS detection code, which caused
- task slicing not to work (apparently MOS switches to its
- internal stack on a software interrupt? Hmmm)
- - Corrected two problems in port parameter locking using the
- /L switch in BNUHLP
- - Corrected the status display of locked baud rates and port
- parameters.
-
-
- ---- v1.85α
-
- - Optimised some ISR code for better efficiency/speed, some
- further rearrangement to implement shared IRQ's
- - Fixed 9600 locked baud rate (was locking at 7200)
- - Implemented shared IRQ's
- - Semaphore used to ensure two ports not colliding in init
- function
-
-
- ---- v1.84ß 07 Mar 1990
-
- - Remote CTS timeout strategy eliminated (this was a kludge around
- previously existing problems which have since been solved), so
- /Y is now defunct
- - Status /S switch now displays carrier watch status
- - Automatically adapts boot procedure for PC-MOS/386 when detected,
- reboot should also work more reliably under DESQview/386 (any
- feedback appreciated)
- - To maintain BNU's re-entrancy from within DOS, TM now checks that
- DOS is not busy prior doing find task number calls and time
- slicing (I don't think this is necessary, but not knowing for
- sure I thought I'd make sure it wouldn't cause any problems)
- - BNUHLP now supports status display; handshaking force on/off also
- added to status in both BNUHLP and BNU.COM
- - Bug fixed in .SYS version which could cause problems when BNUHLP
- was run (some variables were inadvertantly being overwritten)
- - Port locking/unlocking on-the-fly added to BNUHLP
- - The '/' or '-' before command line arguments is now optional
- (earth shattering, huh?)
- - Added 'all' option to handshaking mask control switch /H, and
- squashed a wee bug there in BNUHLP's version. You can now
- specify something like: /HF0+,A This allows switching on/off
- ALL flow control flags (XON/XOFF local, CTS/RTS local and
- control remote using XON/XOFF), and is equivalent to /HF0+,CRX
- but is a little easier to understand
- - Additional test for receiver ready added to ISR, which will
- hopefully further ensure reduction in the incidence of receive
- character loss
- - Up to 16 ports are now supported for concurrent use; this is
- BNU's maximum port configuration anyway.
- - New BNUPORT added to this package - earlier versions will not
- work and are incompatible; patch table files from earlier
- versions will be read by this version and automagically
- converted to the new more compact format
-
- - And especially for those who don't read release notes <grin>
- the /M option is now disabled in all beta versions so that the
- init message WILL be displayed with the new "THIS IS A BETA"
- message. If you ask about it, you're in for some public
- embarassment about not RTFM'ing! ;-)
-
-
- ---- v1.83α 14 Feb 1990
-
- - Experimental version(s) only
- - /? is now the ONLY help switch; /H reserved for ...
- - Added setting handshake mask ON and OFF to force or mask out
- local and remote handshaking. Format of this switch is:
- /H{F|N}<port>{+|-},[C|X|R]
- Examples are:
- /HF0+,XR Forces ON, xon/xoff handshaking for both
- remote and local so that despite what the
- application sets, XON/XOFF is always enabled.
- /HF0-,X Switchs off forcing on xon/xoff handshaking
- when XON/XOFF is received from the remote
- system; this resets any switch which forced
- 'X' on (ie. reverses /FF0+,X).
- /HN0+,C Forces CTS/RTS handshaking off on COM1.
- /HN1-,CX Switches forcing both CTS/RTS and XON/XOFF
- handshaking off for COM2, reversing a previous
- /FN1+,CX.
- This switch should ONLY be used in special circumstances, where
- you wish to achieve a SPECIFIC PURPOSE.
- WARNING: DO NOT USE THIS SWITCH UNLESS YOU UNDERSTAND IT AND
- KNOW EXACTLY THE EFFECT YOU WISH TO ACHIEVE!!
- Some examples of use are where your modem does not do true CTS/RTS
- handshaking or does it incorrectly. For example, making CTS follow
- carrier detect, stopping any commands being sent to the modem after
- carrier loss (and the application does not provide an option to not
- use CTS/RTS flow control); similarly where you use a three-wire
- direct connect wire between machines without a CTS line; where
- your modem cable does not support a CTS wire; where a BBS uses
- block read/writes but does not enable XON/XOFF flow control to allow
- ^S and ^Q to control screen start and stop.
- - A few bug fixes/corrections:
- . Setting baud rate when FOSSIL was not initialised
- . Fixed serious problem in transmit/receive block functions where
- interrupts would be disabled for too long due to a missing STI
- instruction in a common subroutine
- . Found error in ISR which prevented disabling of CTS/RTS flow
- control (CTS/RTS flow control was respected regardless)
- - Fixed reboot to work correctly under DESQview/386
-
-
- ---- v1.82ß 23 Jan 1990
-
- - Finally a released beta ...
- - CTS timeout now defaults to OFF, and must be enabled specifically
- with /Yn (where n is in ticks). Don't use it if you aren't having
- problems since it will definitely create some for you.
-
-
- ---- v1.81α 21 Jan 1990
-
- - Inserted 'hooks' for an external data capture buffer and added
- 'reserved' function to integration for a program to be released
- - Modified 'break' handling to force a fixed interval break in
- transmit buffer flush, which can be switched on and off for each
- port individually. the new syntax is: /G<port>[+|-]
- where port is 0=COM1, 1=COM2 etc. and '+' switches this break
- handling on, and '-' switches it off
- - Modified (a little) the way communications interrupts are handled;
- SEOI rearms 8259A at commencement of IRQ handler to ensure no loss
- of interrupts is possible
- - Up to 8 ports are now supported concurrently (was 4)
- - Prepared for chaining of ports to the same IRQ (not supported in
- this version yet!)
- - Modified debug window for more concise and relevant info
- - Limited test releases
-
-
- ---- v1.80Γ 15 Jan 1990
-
- - Corrected reboot code (typo) causing code not to work
- - Corrections to break signal logic
- - Further modifications to reboot code: it should work far more
- reliably now under DV/386 and PC-MOS/386.
- - Found suspicious error in maintenance of an internal status flag
- - Fixed error in the "BIOS compatible" code for setting baud rates:
- this indirectly affected locking baud rates as well
- - Limited release
-
-
- --- v1.79Σ 04 Jan 1990 * Emergency bug fix *
-
- - Fixed errors in new CTS signal recovery logic
-
-
- --- v1.80α 07 Jan 1990
-
- - Modified .SYS version / BNUHLP interraction
- - BNUHLP now works in "non-verbose" mode when the /M- option has
- been set when installed or via BNUHLP itself
- - Fixed bug in BNUHLP not setting driver options correctly
- - Modified /O switch to default to '+' (enable compatibility
- mode) in .COM version and BNUHLP
-
-
- --- v1.80α 09 Jan 1990
-
- - Removed (hopefully) braindamage from the CTS timeout routine,
- so now it should be more reliable and consistent
- - Note that /Y<ticks> allows setting of this timeout (this has
- been present, but 'undocumented' since adding this logic)
- - Internal version only
-
-
- --- v1.80ß 11 Jan 1990
-
- - Support for flushing modem's transmit buffer on transmit purge
- call by sending break signal for a specified period: the time
- the break signal up is configurable (and this option is enabled)
- using the /G<ticks> switch (typical setting is /G5 for approx
- 0.25 seconds). This seems to provide faster response to
- 'hotkeyed' applications
- WARNING: You would be advised to test this carefully; it's use
- will normally require adjustment for your modem's settings
- to enable the feature to "purge modem buffer on receiving
- break from DTE (your computer)".
- THIS OPTION SHOULD ONLY BE USED WHERE YOUR MODEM HAS AN OPTION TO
- PREVENT SENDING 'BREAK' TO THE REMOTE: CURRENTLY - SO FAR AS I AM
- AWARE - ONLY HST'S OFFER THIS OPTION. MAKE SURE &Y0 IS ENABLED!
- - CTS/RTS override strategy now sends a break if the /G option is
- enabled to help the modem to recover from braindamage (use carefully)
- - Added /G to BNU.COM BNUHLP.COM and BNU.SYS.
- - Experimental version with limited release
-
-
- --- v1.79π 03 Jan 1990
-
- - Changed some internals in the way locked baud rates work
- - Corrected problem in .sys version when parsing command line
- for a locked baud rate
- - Significant cleanup of .SYS version interface and facilities
- - removed /B switch (redundant) from .SYS version
- - added basic funtional BNUHLP.COM (see notes below)
- - added functional task manager driver for DESQview and PC-MOS/386
- - added CTS signal low timeout to prevent blocked transmitter
- states when a modem is in error. The default timeout is 10
- seconds (ie if CTS from the modem stays low for more than 10
- seconds, BNU will ignore this until the next modem status change).
-
-
- --- v1.79Γ 01 Jan 1990
-
- - Modified uninstall routine to allow for TM's install process and
- resident detection.
- - Small change to reboot code to cope with PC-MOS/386 v3.0
- - Added hook for "get counter" from task manager (mainly for
- debugging), and modified diags window to indicate UART type in
- upper byte of FIFO size
- - Substantial modifications to port baud rate & parameters setting,
- fixing "bug" in the baud rate returned in "fossil data" call 1bh.
- This call will now return the ACTUAL baud rate/parameters (it
- previously returned incorrect data).
- - Small modifications to port init to force modem status change and
- kick interrupts...
- - Bios version of baud rate set no longer turns interrupts off, but
- preserves their state
-
-
- --- v1.79ß 23 Dec 1989
-
- - Fixed bug in setting baud rate on install, port was not being
- immediately set if not COM1
- - Forced watchdog to lower DTR prior reboot for both better
- security and to prevent autoanswer modems from answering until
- the application had fully restarted
- - CHANGED /B SWITCH *** NOTICE *** /Bn old syntax is no longer
- supported: BNU should now reboot correctly in all cases under
- DESQview/386 and on most PC-compatible hardware. The new syntax
- is now /Bn, where n = 0 is cold boot, n = 1 is warm boot
- - /I* will now deinit ALL active communications ports
- - Limited release to specifc sites to ensure specific problems
- have been solved...
-
-
- --- v1.78ß 16 Dec 1989
-
- - Internal version only
- - Solved problem with locking baud rates on anything but COM1; this
- interferred with other communications software running on COM1,
- such as mouse drivers, etc.
- - Enabled switchable support for XOFF/ANY mode (any character
- received unblocks an XOFF'ed transmitter instead of just XON),
- the new command line switch is /X+ (or just /X) to enable XOFF/ANY
- and /X- to use the default XOFF/XON protocol
- - Added XOFF protocol setting to status display
- - Closed stdout & stderr on install to prevent DOS allocating a
- file handle on redirected stdout/stderr
-
-
- --- v1.77ß 03 Dec 1989 ** Back to beta versions again!
-
- - Improved transmitter logic handling in character IO functions
- - Changed and improved method of FOSSIL controlled transmitter block
- flag in FOSSIL function 10h - Opus (which uses this extensively)
- should be much improved and transmitter interrupt handling more
- efficient
- - Found and squashed "the" bug introduced in 1.73α causing hanging
- occasionally and memory allocation problems under PC-MOS/386 :-)
- - Autodetect for the older 16550 (no AN) now installed; /Z2 will be
- default for these machines unless a /Z switch is specified
- - /Z with no digit now restores BNU to it's default autodetect FIFO
- state
- - Modified /Z1 to be now 16TX by 08RX to optimise for the older
- style 16550 (this used to be BNU's default); this allows for
- interrupt latency on the receive side (the usual requirement for
- using the /Z switch) without sacrificing transmit buffer size!).
- - Corrected a problem in port lock command line parsing, where the
- specification of ,nps with the baud rate would not be effective
- or would not set the port correctly
-
-
- --- v1.76α 29 Nov 1989
-
- - Internal test version only; testing TX state checking - eliminated
- most of the new logic since the problem it was meant to solve ended
- up being hardware related... :-(
-
-
- --- v1.75α 25 Nov 1989
-
- - Placed more transmitter state checks in character TX, TX no wait
- and TX flush to increase TX turnaround and decrease chance of a
- 'stuck' transmitter.
- - This version was distributed to specific sites only.
-
-
- --- v1.74α 18 Nov 1989
-
- - Placed further transmitter state checks in character TX, TX no
- wait and TX flush to increase TX turnaround and decrease chance
- of a 'stuck' transmitter.
- - Enabled a timeout delay before reboot using the carrier watchdog.
- The new command line parameter (compatible with old) is:
- BNU /W<port>+|-[,<ticks>]
- Example, to enable carrier watchdog on port 1 (COM2) to reboot
- approx 4 seconds after carrier loss, the following would be
- executed:
- BNU /W1+,72
- The timeout value is expressed in "ticks", where each timer tick
- is equal to approx 18.2 per second. A 1 minute delay requires
- a delay factor of about 1100 ticks (there are approx 65520
- ticks/hour).
- - Stopped BNU "complaining" if a /P command line switch duplicated
- the number of ports as previously set on install (saves having a
- separate install line if only one command line is ever used in a
- batch file).
-
-
- --- v1.73α 13 Nov 1989
-
- - Changed to specific EOI in interrupt handler instead of non-
- specific EOI,
- - BNU now (again) supports the upper 8 interrupts on a 16 bit
- bus, and sends a specific EOI to the master 8259A on IRQ 2
- if an upper (IRQ 8-15) interrupt is used,
- - Some redundant code has been eliminated from the ISR (saved a
- few more clock cycles, anyway),
- - BNU's internal CTS/RTS signal is now set on port init when CTS
- is found low (previously it was left clear and not set until the
- first MSI occured),
- - BNU now uses INT 1cH vector for timer interrupt functions,
- - The timer hook now re-enables interrupt processing and rearms
- the timer interrupt before calling 'hooked' functions. As a
- result, hooked functions are now more 'friendly' and forgiving
- on communications - for example the diags module should work
- better in all cases and interfere less (if at all) with comms,
- - Added view of the FIFO register to the diagnostics panel: this reads
- according to the current FIFO trigger value:
- C1 16550AN or better installed
- 81 16550 (old series) installed
- 01 FIFO disabled or 16550 not installed
- - BNU now aborts if no hardware COM ports are located
- - Forced port 'autosense' routine to use resident driver's version
- of port setup table (since it installs ok),
- - Status call now includes some code to check the state of the
- 'transmitter' to ensure that transmission is not temporarily
- blocked for some reason hopefully increasing TX turnaround.
-
- * NOTE: BNUPORT from earlier versions is incompatible with releases
- after 1.73α due to changes in EOI handling! Upgrade to BNUPORT
- version 1.80 (distributed via usual channels).
-
-
- --- v1.72ß 10 Nov 1989
-
- - Minor changes to port detection routine to 'fix' BIOS data
- area correctly for invalid/unknown port addresses
- - Additions to status display: number of physical ports detected
- during diagnostics and default FIFO trigger level
- - Arrgh! Found some 'unfixed' code for the now variable 16550
- FIFO sizes, RX/TX buffer purge was resetting the RX buffer to
- the old 'hard coded' 8 byte level
- - Fixed bug in error message display on the /Q option when FOSSIL
- vector required recapture.
-
-
- --- v1.71ß 04 Nov 1989
-
- - Fixed 'tabs' problem with 'fast' ANSI option
- - Forced a single EOI on each call (experimental);
- Note: this is a temporary 'kludge' for experimental
- purposes, and means that IRQ's on the FIRST 8259A
- (that is IRQ 0-7) are currently supported
- - Forced additional loopback in ISR after servicing
- stray THRE's (TX holding register empty) caused during
- servicing of MSI's (modem status change) or received
- characters. This should ensure absolutely that no
- stray interrupts get lost while in the ISR.
-
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-