1/21/93
        How to use the 4KB user flash area on Classic


Overview:
  Classic  supports  a 4 KB user flash area.   A  programmer
  may  use the user flash area to display a message of their
  choosing or to execute a small program.  The Classic  BIOS
  accesses  the  user flash area just after  completing  the
  POST  (Power-On  Self-Test).   The  user  flash  area   is
  located at ED00-EDFF.  The user may update the flash  user
  area  by  running the FMUP.EXE utility used to update  the
  system  BIOS.   The FMUP utility expects the update  files
  to  have  a  .USR  file extension.  Follow the  procedures
  listed  below to create .USR files and perform the update.
  A  file  called  "CLSUSER.ZIP" contains  the  readme  file
  below as well as sample assembly programs and .USR files.

Note:

  The User Flash feature was not fully implemented until
BIOS revision 1.00 06 W0.  BIOS versions prior to 1.00 06 W0
will not work properly.  The latest Flash BIOS is always
available on iPAN.

Procedure:
Below, please find the readme file listed in CLSUSER.ZIP on
iPAN.  The file is generic to all products supporting the
User Flash Area feature.

README.1ST
The following sample files are included for your reference:

1.  BANNER4.ASM - A simple assembly language program
2.  BANNER4.OBJ - The object file generated by assembling
    BANNER.ASM
3.  BANNER4.LST - The list file generated by assembling
    BANNER.ASM
4.  BANNER4.EXE - The executable file generated by linking
    BANNER.OBJ
5.  BANNER4.HEX - The HEX file generated from BANNER.EXE
6.  BANNER4.USR - The binary file with header generated by
    MAKEUSER.EXE (This is the file that gets flashed into
    the user area.)

7.  EXE2HEX.EXE - A utility to convert an executable (.EXE)
   file to HEX format (.HEX).

1.  Write your program as a FAR procedure (YOURFILE.ASM).

2.  Note the data declarations at the beginning of
   BANNER.ASM. These must be there so that the HEX file of
   the executable conforms to the standard for option ROMs.
   That standard is:

  -- Byte 0 (first byte) must be 55h.
  -- Byte 1 (second byte) must be AAh.
  -- Byte 2 (third byte) must be the length of the user
     flash area in multiples of 512 byte blocks.

  -- Xpress, Panther and Corsair = 10h (8k)
  -- 386HI = 08h (4k)
  -- Classic S-series = 08h (4k)

  -- Byte 3 (fourth byte) must be the entry point into the
     code.  The code is entered from BIOS via a far call
     just prior to the boot sequence.  The code MUST
     contain a FAR return.

3.  Assemble (and link) your program into an executable
   format (YOURFILE.EXE).

4.  Using EXE2HEX.EXE convert your executable file into
   Intel MCS-86 HEX format (YOURFILE.HEX).  Usage example:
   C:>EXE2HEX YOURFILE.

5.  Ensure that a byte checksum across the entire user area
   (4k or 8k) equals 00.

6.  Run the MAKEUSER program to make YOURFILE.USR from
   YOURFILE.HEX.  Be sure to specify the correct size for
   the user area (4k or 8k) depending on your system.

7.  Update the user area with FMUP.EXE (the Flash Memory
   Update Program).

  -- Choose "Update FLASH Memory Area from a File"
  -- Choose "Update User Area"
  -- Choose "YOURFILE.USR"

8.  Run the EISA Configuration Utility (ECU) or Setup to
   enable the scan of.the flash user area.  In the Classic
   S-series select page 2 of the CMOS setup screen and
   enable the "Scan Flash User Area: Enabled/Disabled"
   feature.

9.  The next time you boot the system your code will be
   executed.


