                        ===================
                        BOTBIOS version 1.0
                        ===================

Limitations and Errata
======================

This file contains descriptions of some of the limitations of
BOTBIOS.  It also lists corrections and clarifications pertaining to
the article in the May 1996 issue Nuts & Volts magazine that
introduced BOTBIOS.

Limitations
-----------

Most importantly, BOTBIOS implements, only at the very basic level, a
computer similar to a PC clone.  This should be kept in mind when
trying to run software written and compiled for a PC.  When testing
software on BOTBIOS, always run under the version of the BIOS that
has additional diagnostic output enabled (V25BIOSD.BIN).  Calls to
unsupported interrupts are identified with this version.

The FTD (File Table Descriptor) file system of BOTBIOS only supports
one collection of files in any given memory chip in the NMIT-0025. 
The FTD scan system does find all of the files but gets confused
ending up reporting multiple copies on each collection if more than
one collection exists.  This is due to the partial address decode
implementation of the NMIT-0025.


Notes pertaining to the article in the May 1996 Nuts & Volts
------------------------------------------------------------

Note:  These issues are discussed in the order that they appear in
the article.

BOTBIOS currently only supports the NEC V25 processor.

On reset, the V25 processor Special Function Register's and on board
RAM occupy the address range from 00E00h to 00FFFh (0000:0E00h to
0000:0FFFh), which is near the bottom of the 1 meg address space. 
(Note that in this release, the BOTBIOS initialization moves this to
D0E00 to D0FFFh, or D000:0E00 to D000:0FFFh, although this location
is subject to change in the future.  Use interrupt 40h function 0 to
identify the segment being used.)

BOTBIOS is NOT compatible with all PC software tools.  In fact it is
compatible with very few.  Any PC assembler, such as Microsoft Macro
Assembler (MASM), will be the most compatible, assuming it can
produce COM files.

But high level language compilers, in general, cannot be used.   For
instance, most C compilers use file handles for console I/O.  BOTBIOS
does not support file handles and therefore these tools cannot be
used.  No Pascal, FORTRAN, or COBOL compiler I know of can create COM
files.  It is equally not likely that a BASIC compiler can produce
binaries that will run on BOTBIOS.

But a simple shareware BASIC compiler called Almost BASIC (look for
ASIC500.ZIP at your favorite shareware FTP site) has been used on a
limited basis on BOTBIOS.  It has a very simple run-time and can
produce COM files.  But it has not been extensively tested.  Again
run under the version of BOTBIOS that has additional diagnostic
output enabled (V25BIOSD.BIN) so that unsupported interrupt calls
will be reported.

Mention in this article is made of getch() and printf(), functions
that are a part of a standard C compiler run-time library.  As stated
previously, these functions generally use file handles and will not
work on BOTBIOS.

The BOTBIOS documentation does not refer to the BOTBIOS command line
processor as CLI since this is the Intel mnemonic for the clear
interrupt instruction on the x86 processor.

The preferred and most often used method of terminating an
application is interrupt 21h function 4Ch rather than function 0.

BOTBIOS dispatch values exist in a range of 0 to 0Fh.  The values 0
and 0Fh are reversed in the Nut & Volts article.  The value 0Fh is
used to run the BOTBIOS command processor.  The value 0 is used to
run a COM file currently located at the lower end of free memory,
which is the default location a COM file will be transferred to using
the Intel HEX file download capability.  Think of the dispatch values
0 to 0Fh as referring to files from low to high memory respectively.

The dispatch value of 0 causes a blind jump to
<current-free-segment>:0100 (using segment:offset notation).  This is
the default location an Intel HEX file transfers to.  See BOTBIOS.TXT
and IHEX.TXT for more information.


Bill Bailey
16 May 96
