READMEOS.TXT -- information about the source code for ADAMserve EOS
by Richard F. Drushel  drushel@apk.net  13 August 2000


ADAMserve EOS is based largely upon the EOS-7 codebase (rather than the EOS-6
version present in ROM of every production ADAM I've ever seen), because EOS-7
is much smaller than EOS-6, and code space is at a premium:  EOS cannot extend
below 0E000H in RAM.  The source for EOS-7 is the original .LST which was
derived from the SmartBASIC 2.0 distribution.  While this code is the original
code, with the original symbols, it was stripped of comments.  Any comments
now found in the code are my own addition; but I have only commented those
places where it was relevant to ADAMserve.


(1) Source Files.

The following source code files are necessary to build the two ADAMserve EOS
binaries:

    EOS551  .ASM    ;most of EOS
    EOSIO453.ASM    ;ADAMserve protocol handshaking module

To assemble ADAMserve EOS, type Z80ASM+ EOS551.ASM.  (Note:  if you are using
a CP/M emulator under MS-DOS, you will have to change the name of the assembler
to Z80ASMP, because '+' is an invalid filename character in MS-DOS.)

The binary file known as EOS4.0(^B), where (^B) is Control-B, CHR$(2), is
the "standard" ADAMserve EOS.  The binary file known as EOS4.X(^B) is a
"special" version with some bugfixing code to allow ADAMcalc and SmartLOGO to
function correctly with ADAMserve.  ADAMserve HARDDISK has code to detect if
either ADAMcalc or SmartLOGO is being launched, and will load in the special
EOS4.X version before running them.  A soft reboot with Shift-Undo causes the
normal EOS4.0 version to loaded before returning to HARDDISK.

In the .LST files provided, EOS551.LST corresponds to EOS4.0, and EOS551A.LST
corresponds to EOS4.X.


(2) Assembly Options.

There are a number of assembly-time prompts for user input.  Some are to
enable debugging code; some are to enable functions that there is not enough
RAM available for; and some are to select between 2 different final versions
of the EOS binary.  Here are the prompts and the required responses:

    RAMdisk code?                               FALSE (no room for code)

    Shift-Wildcard 64K RAM dump?                FALSE (debugging)

    Enter amount of pre-pad:                    0 for both 4.0 and 4.X (may be
                                                needed to pad code forward so
                                                that current hard disk volume
                                                and volume offset table are at
                                                the required reserved RAM
                                                addresses)

    Assemble for EOS?                           TRUE (FALSE creates a BLOAD
                                                file for SmartBASIC)

    Check for overrun/framing/parity errors?    FALSE (no room for code)

    Assemble special ADAMcalc/SmartLOGO EOS?    FALSE for 4.0, TRUE for 4.X

    Enter amount of post-pad:                   0 for 4.0, 5 for 4.X (may be
                                                required to pad code forward
                                                so that EOS jump table is at
                                                the required reserved RAM
                                                address)

(3) Usage.

The files EOS4.0 and EOS4.X must be copied to both the ADAMserve boot disk and
Volume 0 of the ADAMserve hard disk.


--RFD

