AnDan Software FOSSIL Version 1.32 Users Manual Scandinavian Digital Systems AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Table of contents 1 Overview ............................................... 3 1.1 Features of ADF ................................... 3 2 Shareware .............................................. 3 2.1 Use as shareware .................................. 3 2.2 How to register ................................... 4 3 Support and new versions ............................... 5 3.1 ADF doesn't work .................................. 5 4 Included files ......................................... 5 5 Installation ........................................... 6 6 Command line arguments ................................. 6 7 Execution examples ..................................... 6 8 Baud rate calculation .................................. 7 9 Receiver FIFO trigger level ............................ 8 10 Error messages ......................................... 9 11 Benchmarks ............................................. 10 11.1 Memory consumption ................................ 11 11.2 Execution speed ................................... 11 12 The ADFComCh program ................................... 12 13 The ADFDebug program ................................... 12 13.1 Using ADFDebug .................................... 13 14 The ADFTerm program .................................... 14 15 The ADFTest program .................................... 14 16 Version history ........................................ 14 Copyright (c) 1994-1996 Scandinavian Digital Systems AB This product, including the manual and the software, is provided as is. Scandinavian Digital Systems AB and Anders Danielsson disclaims all warranties of any kind, whether expressed or implied, and are not liable to you or anyone else for any damages or costs due to the use or inability to use this product. Acknowledgments: AnDan Software is a trademark of Scandinavian Digital Systems AB. FidoNet is a trademark of Tom Jennings. Windows is a trademark of Microsoft Corporation. X00 is a program made by Raymond L. Gwinn. BNU is a program made by David Nugent, Unique Computing Pty Limited. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 2 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 Overview ADF is a FOSSIL revision level 5 driver, including the additional functions defined by Raymond L. Gwinn in X00 v1.50. ADF is specially designed for users of high speed modems with or without the 16550 UART, using DOS or a multitasking environment. Some communication parameters cannot be set in ADF, they are hard coded for best optimization. These hard coded parameters will work fine for almost all users of high speed modems (users using a locked baud-rate). By doing this hard coding and by writing the complete ADF program in the assembly language, the FOSSIL driver will be fast and small. ADF was initially written some years ago because other FOSSIL drivers did not always work properly in protected mode multitasking environments, where the UART is emulated. ADF is designed to work well with both emulated UARTs and real UARTs, without any drawbacks. 1.1 Features of ADF * Always a locked baud-rate. * Locked baud-rate of any speed (2 bps - 115200 bps). * Always 8 databits, no parity, and 1 stop bit (8N1). * Always CTS/RTS handshake. Never DSR/DTR or XON/XOFF handshake. * One port per ADF (load ADF in different tasks for many ports). * COM-port address configurable (0H-FFFFH). * COM-port IRQ configurable (0-15). * Full support of the 16550 UART. * Fills transmit 16550-FIFO buffer with all 16 bytes. * Receiver 16550-FIFO configurable (1, 4, 8 or 14 bytes). * Only 8088/8086 compatible code used. 2 Shareware The files in this package may be copied and distributed if no fee is charged, if no changes are done and as no part of other products, in purpose to test and evaluate this product for a period of 30 days. 2.1 Use as shareware To use ADF.EXE as shareware, you must first execute the supplied REGISTER.EXE and register ADF.EXE as shareware. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 3 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Run REGISTER.EXE, specify ADF.EXE as file to register and do not enter any user name. ADF.EXE may then be used as shareware. When ADF.EXE is executed it will display the number of used days since it was registered as shareware. 2.2 How to register To register ADF and use it for more than 30 days, you must pay 60 SEK, DM 15, UKP 5 or an amount equal to the sum of USD 10 in a currency of your own choice. You can either send cash to: Scandinavian Digital Systems AB Billerudsgatan 20 S-661 30 Saffle SWEDEN or you can deposit the amount to the Swedish postal giro account 970159-0. No other methods of payments are accepted. Please include a note, a postcard or the printed REGISTER.TXT, with your FidoNet or Internet e-mail address, and you will receive an e-mail receipt of your deposit. After depositing the fee, send an electronic mail through FidoNet to Reg at 2:203/620 or through Internet to reg@andan.edv.se. The mail should contain the following lines: Prod=ADF User= You will then recieve an automatic reply with your private registration code, to the address you mailed your registration. When you specify your user registration name after the "User=", you should use your name together with some kind of address or location information. Examples: User=Anders Danielsson, AnDan BBS, 2:203/620 User=Charles Smith, cs@someplace.com User=Hans Schultz, Dernauer Str., Hamburg, Germany Use at least 16 characters, but not more than 63 characters. You may also phone AnDan BBS at +46-533-13700 and register on-line. The on-line registration is similar to the mail registration. Please note, routed FidoNet e-mail may not work on long distances. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 4 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ All FidoNet e-mail replies from Reg (and from the support) are routed, but a copy of the mail is also put on hold at 2:203/620. If you suspect that routed mail will not work, use crash mail to send to Reg, and some hours later do a poll for any hold replies. 3 Support and new versions If you have questions, comments or find bugs in the program, please send electronic mail to the author, Anders Danielsson at FidoNet 2:203/620 or ad@andan.edv.se. Well documented reports of new bugs and suggestions are honored with a free registration. The latest version can be file requested as ADF from FidoNet 2:203/620. You may also phone AnDan BBS at +46-533-13700, where the newest versions and other shareware programs from AnDan Software always are downloadable for all users. 3.1 ADF doesn't work ADF is of cause tested to work with a lot of programs that uses FOSSIL drivers, in many different environments. The author is convinced that ADF will work together with all well behaved programs, and if not, it is our intention to as fast as possible make it work. However, it is our policy not to make memory or time consuming changes in ADF only to make it work with bad behaved programs that do not use the FOSSIL properly. 4 Included files You should have received the following files: File name: Description: ADF.TXT This file ADF.EXE The FOSSIL driver ADFCOMCH.EXE Checks COM-ports ADFDEBUG.EXE FOSSIL debugger ADFTERM.EXE Very small and simple communication program ADFTEST.EXE FOSSIL tester ADFCOM1.BAT Example of use of ADF with COM1 ADFCOM2.BAT Example of use of ADF with COM2 FILE_ID.DIZ File description REGISTER.TXT Registration form ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 5 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ REGISTER.EXE Registration program 5 Installation Just copy ADF.EXE to a directory included in your PATH. If you are only running DOS, edit your AUTOEXEC.BAT and insert a line that loads ADF. You may insert (or call) one of the files ADFCOM1.BAT or ADFCOM2.BAT for quick and easy editing. If you are using a protected mode multitasking environment, such as Windows, load one copy of ADF in each wanted DOS session using different ports. Do not load ADF in AUTOEXEC.BAT. In fact, this applies for all FOSSIL drivers, and this is the reason why ADF only uses one port per load. 6 Command line arguments When you run ADF without any arguments, it will display the following help text (use ADF|MORE for more prompt): adf port addr irq baud recbuf trabuf trig port FOSSIL port number, 0-126, or COM-port, COM1-COM127. Example: 0 or COM1 addr Address in hex of COM-port, 0-FFFF. Example: 3F8 irq IRQ number of COM-port, 0-15. Example: 4 baud Locked baud-rate, 1-115200. Example: 38400 recbuf Size of receive buffer, 256-16384. Example: 2048 trabuf Size of transmit buffer, 256-16384. Example: 1024 trig Receiver FIFO trigger level, 1, 4, 8 or 14. Example: 8 ADF will stay resident when using the above command line. adf unload ADF will remove itself from memory when using the above command line. adf watch on|off ADF will turn carrier watchdog on or off when using the above command line. 7 Execution examples Example of loading ADF using COM1 (see ADFCOM1.BAT): ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 6 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ adf COM1 3F8 4 38400 2048 1024 8 Example of loading ADF using COM2 (see ADFCOM2.BAT): adf COM2 2F8 3 38400 2048 1024 8 Example of unloading ADF: adf unload Example of REMOTE.BAT, to execute on DOS-Shell in a BBS: @echo off rem %1 = Baud rate (used to detect local call) if not %1@==0@ ctty COM%2 if not %1@==0@ adf watch on command adf watch off ctty CON The carrier watchdog will try to reboot the computer after about 10 seconds from the carrier drops. This may be dangerous, especially in a multitasking environment (such as Windows). 8 Baud rate calculation A PC compatible serial port uses the following formula to calculate the baud rate: Baud = 115200 / Divisor The Divisor is an integer number (whole number), 1 to 65535, used to program the serial port (the UART chip). This means that only certain baud rates are allowed. Divisor: Baud rate: 1 115200 bps 2 57600 bps 3 38400 bps 4 28800 bps 5 23040 bps 6 19200 bps 7 16457 bps 8 14400 bps 9 12800 bps 10 11520 bps 11 10473 bps 12 9600 bps . . ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 7 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ . . X 115200/X . . . . When you specify a baud rate on the command line to ADF, ADF calculates the Divisor and checks that the baud-rate is valid (realizable). If you for example use 76800 bps as a baud rate to ADF, the Divisor will be 115200/76800 = 1.5, but this is not an integer (whole number) and cannot be set. ADF will in this case display an error message. 9 Receiver FIFO trigger level The last argument to ADF when loading it, is the receiver FIFO trigger level. This used by the 16550 UART, if you don't have a 16550 or compatible, it will have no effect, but must still be specified on the command line. The receiver FIFO trigger level can be set to 1, 4, 8 or 14. The value is the number of bytes in the receiver FIFO buffer that will generate an interrupt from the UART to the CPU. The receiver FIFO buffer and it's trigger level, is the main reason why many people replaces their old 8250 and 16450 UARTs with 16550. If you for example use a baud rate of 38400 bps, there will be a new byte received each 260 us (microseconds). With an ordinary UART, the CPU must answer to an interrupt from the UART each 260 us, and read the byte and store it in memory. If the CPU is unable to answer an interrupt at this rate, or if some program has disable interrupts longer than 260 us, received bytes will be lost. If you are downloading a file, you will get a lot of resends. The 16550 UART has a 16 byte receiver FIFO buffer (and also a 16 byte transmitter FIFO) so it can store up to 16 bytes until the CPU must read and empty the buffer. The receiver FIFO trigger level specifies when an interrupt should be generated by the UART to the CPU. If the trigger level is set to 4, the UART will generate an interrupt after 4 bytes have been received, but will still fill the buffer up to 16 bytes if the CPU doesn't answer the interrupt. The rate of interrupts at 38400 bps will be 4*260 = 1040 us, and the tolerance to no answer from the CPU will ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 8 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ be (16-4)*260 = 3120 us. The most common problem with high baud rates, is that programs turns of interrupts during too long time. A trigger level of 14 would in most cases not be a good solution, normally a trigger level of 8 is good enough, in some cases you may lower it to 4. You should not choose a lower trigger level then necessary, because it would load the CPU without giving any benefits. 10 Error messages When ADF displays an error message, it will wait a moment before continuing, so you are able to read the message when ADF is executed among other programs in batch files (such as AUTOEXEC.BAT). All error messages with explanations: "Argument error (command line error)." ADF was unable to understand the command line arguments, please see section 6 above. This error message will also be displayed if numerical values on the command line are out of range. "DOS v3.1 or newer required." Your DOS is too old, you need to upgrade to a newer DOS version. "Unable to handle TSRs in this environment." ADF does a check that it can search and find it self in the DOS memory (lower or upper). If this fails it will display this message. Try using plain DOS without special memory managers or program loaders. "Error when releasing memory." DOS reports error when freeing memory. This can occur during both load and unload of ADF. Probably is the DOS memory allocation blocks damaged (by some program). "Invalid (not realizable) baud-rate." The specified baud-rate cannot be used. Please see section 8 above. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 9 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ "Not enough memory for buffers." The memory given to ADF by DOS at load time is not enough to satisfy the wanted size of the receive and transmit buffers. Decrease the sizes or load ADF in low memory or in a larger high memory block. "Error when restoring interrupts." This may occur when unloading ADF. Most common cause is that some other programs also are using the same interrupts. Try to unload all TSRs in the reverse order of how they where loaded. "ADF already loaded." This message will be displayed if you try to load ADF a second time. "ADF not loaded." This message will be displayd if you use some of the ADF command lines that requires ADF to be loaded as a TSR first (e.g. unload and watch). "Please run "REGISTER" first to use this program." You must run REGISTER.EXE to use ADF.EXE, see section 2 above. If you get a new version of ADF.EXE you need to run REGISTER.EXE once again. "You have used this program for more than 30 days. If you want to use it more, you must register it. Please wait a moment." Please read section 2 above. ADF will wait a moment when displaying this message, you cannot terminate this waiting. 11 Benchmarks Users have asked how much memory ADF will consume and how fast it is compared with other well known FOSSIL drivers. Below are tables of memory consumption and execution speed. X00 v1.50 and BNU v1.70 have been used as references. The drivers where loaded using the following command lines: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 10 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ adf 0 3F8 4 38400 2048 1024 8 x00 E 0=3F8,IRQ4 B,0,38400 R=2048 T=1024 bnu /T1024 /R2048 /P1 /L0:38400,8N1 Please note that ADF has not been written with any special efforts to make it small and fast. These benchmarks are only included here to show that ADF is as good as any other FOSSIL driver written in the assembly language. 11.1 Memory consumption How much memory ADF (and other FOSSILs) will use depends on how large receive and transmit buffers are being used. The memory consumption was determined using the DOS command MEM /d. Program: Bytes used: ADF.EXE 6304 bytes X00.SYS 9808 bytes X00.EXE 10288 bytes + environment size BNU.SYS 8272 bytes BNU.EXE 8304 bytes + environment size Probably due to ADF uses only locked baud and always one port, it is somewhat smaller than the others. 11.2 Execution speed The execution speed has been measured using ADFDebug and ADFTest (see below). ADFTest was executed 8 times per FOSSIL, and the most common value was used. The computer used was a 486DX-50 with no significant TSRs. The internal cache (8 KB) and the external cache were both disabled. Each time value has the unit 0.838095 us (microseconds). FOSSIL function: ADF: X00: BNU: 00 Set communications parameters 82 135 119 01 Transmit character and wait 83 195 132 02 Get received character with wait 60 80 56 03 Return serial port status 65 82 53 04 Activate port 108 586 35930 05 Deactivate port 64 275 237 06 Raise/lower DTR 43 61 66 07 Return timer tick information 32 38 39 08 Flush output buffer 42 78 46 09 Purge output buffer 41 65 48 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 11 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 0A Purge input buffer 41 77 53 0B Transmit no wait 62 106 75 0C Non-destructive read-ahead 52 63 53 0F Flow control for serial I/O 44 65 47 18 Block Read 82 210 69 19 Block Write 132 257 87 These values should be compared with care. All three FOSSIL drivers have about the same execution speed. Only large differences (50% or more) are to be considered. Due to difference in implementation, some function takes much longer time, for example, BNU writes to the screen during function 01 Activate port. One thing to remember is that ADF actually does more job for all read and write (transmit) functions, due to safer operation with protected mode multitaskers using emulated UARTs. As you can see, this has been achieved without any significant time losses. Note that no execution speed of the interrupt services routine has been measured. One simple way 12 The ADFComCh program When you run ADFComCh without any arguments, it will display the following help text: adfcomch addr addr Address in hex of COM port, 0-FFFF. Example: 3F8 ADFComCh checks if there is an UART at the specified port address. The most common port addresses are: COM1 3F8 COM2 2F8 COM3 3E8 COM4 2E8 If the UART is a 16550, ADFComCh will enable the FIFO and change the trigger level. 13 The ADFDebug program When you run ADFDebug without any arguments, it will display the following help text: adfdebug command ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 12 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 'command' is one of the following commands: L [opt] Load TSR, should be done after the FOSSIL load. Options: /t Use time measurement. /sNN Use ASCII NN as separator, default is 13 and 10 (CR and LF). U Unload TSR, should be done before the FOSSIL unload. N No output (default at load time). S Screen output. F file File output to the specified file. 13.1 Using ADFDebug ADFDebug is a FOSSIL debugger. It is loaded as a TSR after the FOSSIL has been loaded, and may write debug (trace) information to the screen or to a file. It is included for application programmers, and for advanced users. ADFDebug is loaded using the command L with or without the options /t or /s. If /t is used, it will do time measurements of the FOSSIL driver functions using timer ticks with the unit 0.838095 us (microseconds). The time will always include a small offset error, independent of the FOSSIL driver used. Execution time of interrupts that occurs during FOSSIL execution will be included in the time measurement. When loading with the option /t, ADFDebug may cause the internal DOS clock (BIOS Timer Tick) to be incorrectly updated. Do only use /t in plain DOS without any timer depending TSRs, including hard disk caches (e.g. smartdrv), and reboot when done with testing. During testing, do not hold down keys or move the mouse. After loading ADFDebug, the command S or F is used to start debug output, and the command N is used to stop the output. When using the command F, you must also specify a file name. The file is opened, written to and closed at each FOSSIL call, so most programs using the FOSSIL will run very slow. The file may also get very large. ADFDebug uses DOS to write to the file, which may cause a system crash when the FOSSIL is used by some programs (programs that calls the FOSSIL from interrupt routines). For testing purposes the program ADFTest (see below) is included. It calls a lot of FOSSIL functions, and the calls are done immediate after a BIOS Timer Tick count, to minimize time measurement errors. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 13 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Example of usage of ADFDebug and ADFTest: @echo off del adf.lst adf COM1 3F8 4 38400 2048 1024 8 adfdebug L /t /s9 adfdebug F adf.lst adftest COM1 adfdebug U adf unload 14 The ADFTerm program When you run ADFTerm without any arguments, it will display the following help text: adfterm port port FOSSIL port number, 0-126, or COM-port, COM1-COM127. Example: 0 or COM1 ADFTerm is a very small and simple communication program, that uses the ADF or any FOSSIL driver. It will set 2400 bps and 8N1 if FOSSIL is not locked. You may call BBSes and use ANSI-BBS if you have ANSI.SYS loaded. 15 The ADFTest program When you run ADFTest without any arguments, it will display the following help text: adftest port port FOSSIL port number, 0-126, or COM-port, COM1-COM127. Example: 0 or COM1 ADFTest is a FOSSIL test program. ADFTest will send "AT" to the port and expect at least one character as reply. A modem connected to the port will in most cases do the job. ADFTest is intended to be used with ADFDebug for testing and verifying FOSSIL drivers. 16 Version history v1.10 November 22, 1995 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 14 AnDan Software FOSSIL Version 1.32 Users Manual ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This is the first non-BETA version. The setting of the receiver FIFO trigger level on the command line has been added since the v1.00 BETAs from 1994. v1.20 December 9, 1995 Many improvements and bug fixes has been done. ADF now includes all FOSSIL functions 01H to 21H as X00 v1.50 does. It also includes function 7EH and 7FH for "external application". ADF will now display an error message if the baud-rate is not realizable. Some more utility programs have been included, the debug function has been moved into a separate program (option /d is no longer valid). v1.30 January 20, 1996 Bugfix of External Application. Added output of flag register in ADFDebug. Bugfix of function 1E "Extended line control initialization". Bugfix of function 04, 05, 1C, 14 when used on illegal port number. Only check DL for port number (due to bugs in other programs), valid port range is now 0-126. COM-port number may be used instead of FOSSIL port number. v1.31 January 22, 1996 The time limit of 30 days after installation has been removed. ADF will not stop executing after 30 days as before, it will run for ever, even if it is never registered. v1.32 February 9, 1996 Bugfix of External Application, such as Video FOSSIL. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scandinavian Digital Systems Page 15