SYSINIT is  a module linked behind the OEM bios.  It takes
over  the  system  initialization  after  the  OEM  bios   has
performed any  initialization  it  needs  to  do.   Control is
transfered with a long jump to the external  variable  SYSINIT


    The OEM  has  the  following  variables declared external:

    CURRENT_DOS_LOCATION    WORD

This word  contains  the  segment  number of the DOS before it
is relocated.  The OEM bios must set this value.

    FINAL_DOS_LOCATION      WORD

This word contains the segment number of the DOS after SYSINIT
moves it.  The OEM bios must set this value.

    DEVICE_LIST             DWORD

This  double  word  pointer  points  to  the  linked  list  of
character and block device drivers.  The  OEM  must  set  this
value.

    MEMORY_SIZE             WORD

This word  contains  the  number  of  RAM  paragraphs.  If the
bios doesn't set  this  variable  SYSINIT  will  automatically
calculate it.   NOTE:  systems with PARITY checked memory must
size memory in the BIOS.  SYSINITs method is to  write  memory
and read it back until it gets a mismatch.

    DEFAULT_DRIVE           BYTE

This is  the initial default drive when the system first comes
up.  drive a=0, drive b=1,  etc.   If  the  bios  doesn't  set
it then drive a is assumed.

    BUFFERS                 BYTE

This is  the  default  number of buffers for the system.  This
value may be overridden by the user in  the  CONFIG.SYS  file.
It is DBed to 2 in SYSINIT it should be greater than 1.

    FILES                   BYTE

This is  the  default  number  of  files for the system.  This
value may be overridden by the user in  the  CONFIG.SYS  file.
It is  DBed  to  8 in SYSINIT, values less than 5 are ignored.

    SYSINIT                 FAR

The entry  point  of  the  SYSINIT  module.  OEM BIOS jumps to
this label at the end of its INIT code.

    The OEM  has  the  following  variables declared public:

    RE_INIT                 FAR

This is an entry point which allows the BIOS to do some INIT
work  after  the  DOS is initialized.  ALL REGISTERS MUST BE
PRESERVED.  On entry DS points to the first available memory
(after  the DOS).  DS:0 points to a 100H byte program header
prefix which represents  the  "program"  currently  running.
This  program  should  be  thought  of  as  the OEM BIOS and
SYSINIT taken together.  This is not  a  normal  program  in
that  no  memory  is  allocated to it, it is running in free
memory.
NOTES:
     At the time this routine is called SYSINIT occupies the
highest 10K of memory ("highest" is determined by the  value
of the MEMORY_SIZE variable), DO NOT DO WRITES THERE.
     Since this is called AFTER DOS is initialized, you can
make system calls.  This also implies that the code for this
routine    CANNOT   be   thrown   away   by   use   of   the
FINAL_DOS_LOCATION since the DOS has already been moved.
     If you don't want  anything done just set this to point
at a FAR RET instruction.
��������������������