
                          *-*-* READ.ME *-*-*

    This read.me file describes the MSA Firmware provided with the iRMX
III.1.3 Operating System for the MIX 386/020 and the Multibus I Firmware
provided for the iSBC 386/12, iSBC 386/12S, iSBC 486/12 and iSBC 486/12S CPU
boards.

The MSA firmware is the standard firmware available with the MIX 386/020
board.  It is provided if you need to replace the firmware shipped with
the MIX 386/560 baord which supported only the iNA downloader.

The files are in OMF386 format and correspond to memory sites as follows:

                       EPROM Image File         EPROM Image File
                    for the 27010 that goes   for the 27010 that goes
                      in memory site U26        in memory site U25
  -------------------------------------------------------------------
    MIX 386/020           506955-001              506955-002
  -------------------------------------------------------------------

The file 506956-001 is used in the N87C51 micro-controller in device site U50.


The rest of this read.me file describes the Multibus I firmware which contains:

      I.   The iSDM II monitor version X322 (iSDM).
      II.  The iRMX Bootstrap Loader V8.3 (BSL).
      III. A Multibus I Board Confidence Test X127 (BCT).

    The iRMX BSL component of the firmware is available to Intel customers in
the iRMX III.1.3 Operating System.  iSDM X322 contains an additional
interrupt handler to solve a temporary problem with short interrupt signals
to the i486 component.  The BCT is a modified version of Intel's System
Confidence Test (SCT) for System 320 Microcomputers.  The name has been
changed to reflect the nature of the testing done.  The emphasis of the BCT
is on testing the iSBC 386/12S and iSBC 486/12S boards, not the entire system
they reside in as was the emphasis with the SCT firmware.  The BCT and iSDM
II monitor are the components of the firmware that are not available as
separate, configurable products.  The BCT is the least tested of the firmware
components.  Many users will find that the pre-configured firmware is
sufficient for their application system.  If a custom version of this
firwmare is required, contact your local Intel Sales Office to arrange for an
Intel Sales Engineer (SE) to provide it.


1.0  Using The Firmware

This section describes:
    a. The EPROM Image Files provided
    b. The functional operation of the firmware
    c. How to program the Images into EPROM
    d. In which sockets on the CPU boards to insert the EPROMs
    e. Using the BCT


1.1  The EPROM Image Files

    A set of two EPROMs is required for each Intel CPU board because the
even bytes of the 16-bit words are programmed into one EPROM and the odd
bytes of the 16-bit words are programmed into the other EPROM.  The files
supplied on the iRMX III.1.3 diskette are images of the actual EPROMs.
The files correspond to even and odd bytes as follows:


     CPU Board          EPROM Image File        EPROM Image File
                     containing Even Bytes    containing Odd Bytes
  -------------------------------------------------------------------
    iSBC 386/12            48612.evn               48612.odd
  
    iSBC 486/12            48612.evn               48612.odd
  
    iSBC 386/12S           48612s.evn              48612s.odd
  
    iSBC 486/12S           48612s.evn              48612s.odd
  -------------------------------------------------------------------


    The EPROM Image Files require 27512 EPROMs and are supplied in OMF86
format.  Larger EPROMs cannot be used because the second stage of the BSL is
located at 0DC000H.  See the section on the BSL configuration for a
discussion of this EPROM limitation.  All that is required to use the
firmware is to program a set of EPROMs with the EPROM Image Files.  iPPS
software can be purchased for DOS systems and is also supplied as iRMX
Supplemental Software for use on the iRMX Operating Systems.  The following
commands are used on an iRMX system to first attach a serial port for use
with Intel's iUP 200/201 programmer and then invoke the iPPS software to
program any of the Image Files:

    attachdevice <serial_port_physical_device_name> as :ipps: physical
    ipps
    t 27512
    i 86
    copy <EPROM_Image_File.evn> to p
    copy <EPROM_Image_File.odd> to p
    exit

    The iRMX iPPS software will not function unless the serial port is
attached as :ipps:.  The EPROM Image Files can be transfered to any system
which hosts an EPROM programmer and that system's software used instead of
iPPS.  The utility OH86 is supplied with the iRMX Operating Systems if you
need the files in OH86 format for your PROM programmer.



1.2  SCSI AutoBoot Firmware Operation

    The first set of EPROM images are configured for the iSBC 386/12S and
iSBC 486/12S boards.  They sign-on:

    Board Confidence Test -12S- X127

    If a system using this firmware is powered on and no operator input
occurs, the BCT tests the CPU and on-board devices, initializes up to 16
Mbytes of on-board RAM, checks the SCSI hard disk with ID 2 in the SCSI boot
path and if all diagnostics pass it then autoboots from that SCSI device.  If
the operator enters a 'U' in response to the character 'x' displayed after
the system is powered-on, more diagnostic information is displayed.  If all
the diagnostics pass and the operator does not choose to invoke the iSDM
monitor within 10 seconds of the query to do so, automatic booting occurs.
If any diagnostics fail, the monitor is invoked and further diagnostics can
be performed.  Note that an unformatted SCSI ID 2 hard disk will cause the
BCT to fail.  If you want to skip the BCT execution and invoke the monitor,
you can do so two ways:

    1.  Type control-c during the BCT execution.  
    2.  Reset the system and within two seconds activiate the interrupt
        switch.  The interrupt switch must pulse the Master PIC INT1 input.
        This is referred to as the 'two fingered reset' in the SCT.

    From the monitor, the BSL can be invoked by entering the bootstrap
command 'b' with or without a device and/or boot file name.

    When booting, particularly from floppy, several delays add up to
noticable time periods (up to 10 seconds) where no activity occurs with the
media.  This will receive attention in the future.

    The SCSI boot device names in the BSL are generic device names so that
device name scw_2 can be used to boot from any hard disk which has the SCSI
ID 2.  The following devices have been tested and found to work with this
firmware:


 BSL Name     Physical Device Name
For Booting      For Formatting            Device
----------------------------------------------------------------------
  SCW_2             M3170_2         Maxtor 3170 Hard Disk
  SCW_2             M4170_2         Maxtor 4170 Hard Disk
  SCW_2             M4380_2         Maxtor 4380 Hard Disk
  SCW_2             M8380_2         Maxtor 8380 Hard Disk
  SCW_2             M8760_2         Maxtor 8760 Hard Disk
  SCW_2             Q280_2          Quantum Pro40S and Pro80S Hard Disks
  SQF0              SQF0            Teac High Density Diskette drive
                                       with the NCR ADP-20 SCSI adapter
----------------------------------------------------------------------

    Refer to the Operator's Guide to the iRMX Human Interface for a complete
list of the physical device names of the SCSI devices supported in the
Standard Definition File for the iSBC 386/12S and 486/12S boards.  You will
need to know the physical device names when formatting the hard disks.  The
device list in the BSL includes the tape device, sta0, however, iRMX does
not support booting from tape at this time.

    This firmware can be used to boot from ESDI or ST506 devices if their
device name is specified on the monitor command line as in:

     b :w0:boot/48612

    This firmware can be used to boot from remote systems if the remote BSL
device name and the class code is specified on the monitor command line as
in:

     b :r0: 4000h


1.3  ST506/ESDI AutoBoot Firmware

    The second set of EPROM images is configured for the iSBC 386/12 and iSBC
486/12 boards.  They sign-on:

    Board Confidence Test -12W- X127

    If a system using this firmware is powered on and no operator input
occurs, the BCT tests the CPU and on-board devices, initializes up to 16
Mbytes of on-board RAM, checks the hard disk unit 0 in the iSBC 214/221/215G
boot path and if all diagnostics pass it then autoboots from that ST506 or
ESDI device.  If the operator enters a 'U' in response to the character 'x'
displayed after the system is powered-on, more diagnostic information is
displayed.  If all the diagnostics pass and the operator does not choose to
invoke the iSDM monitor within 10 seconds of the query to do so, automatic
booting occurs.  If any diagnostics fail, the monitor is invoked and further
diagnostics can be performed.  Note that an unformatted ST506 or ESDI hard
disk will cause the BCT to fail.  If you want to skip the BCT execution and
invoke the monitor, you can do so two ways:

    1.  Type control-c during the BCT execution.  
    2.  Reset the system and within two seconds activiate the interrupt
        switch.  The interrupt switch must pulse the Master PIC INT1 input.
        This is referred to as the 'two fingered reset' in the SCT.

    From the monitor, the BSL can be invoked by entering the bootstrap
command 'b' with or without a device and/or boot file name.

    This firmware can be used to boot from SCSI devices if their boot device
name is specified on the monitor command line as in:

     b :scw_3:boot/48612s

    This firmware can be used to boot from remote systems if the remote BSL
device name and the class code is specified on the monitor command line as
in:

     b :r0: 4000h


1.4  Inserting The EPROMs Into The CPU Boards

    The following table indicates which CPU Board socket to insert the
programmed EPROMs into.  The Even (or Low) and Odd (or High) byte EPROMs are
inserted into the memory sites on the CPU boards indicated in the table
below.  Refer to the Hardware Reference Manual for your board to configure
it for 27512 EPROMs.


   CPU Board          Even Byte Memory Site     Odd Byte Memory Site
---------------------------------------------------------------------
  iSBC 386/12                  U20                      U39

  iSBC 386/12S                 U11                      U29

  iSBC 486/12(S)               U28                      U43
---------------------------------------------------------------------

                             NOTE!!!!!

The iSBC 486/12S board has a hardware fix to a problem in the i486 chip when
it deals with short duration interrupt signals.  If the version of the i486
chip you are using has this problem, you must install jumpers E63-E64 on
the 486/12S.

                             NOTE!!!!!


1.5   Using The Board Confidence Test

    The tests executed automatically at power-on by the BCT are a subset of
the total possible tests.  The BCT has a series of menus for the tests and
other utilities that are fairly self-explanatory.  The menus are available if
one of the required tests fails or if you type Control-C during any part of
the testing.  In both cases, the iSDM monitor is invoked and the tests can be
manually executed using monitor extension commands (commands starting with
'w').  The Help Screen is displayed be entering 'wh".  You can explore the
menus and their functions as suits your needs.

    The diagnostics performed on the SCSI devices are ensured to work on a
select number of drives.  To use other than those specified above, a custom
BCT may be required.


2.0  Configuration of the EPROM Component Pieces

    This section describes the configuration parameters used for the iSDM
monitor and the iRMX BSL.  The BCT configurations are not discussed here.

2.1  iSDM monitor

    The standard iSDM R2.2 Monitor is used in the firmware.  The following
configuration parameters were used to create the monitor.

%bus_type(MBI)
%cpu(80386,33)
%extend_addressing(286/12)
%communication_channel(8274,0DAh,4,4,8254,0D0h,2,1)
%communication_channel(8274,0D8h,4,4,8254,0D0h,2,2)

%interrupt_controller(8259a,0C4h,2,7)
%interrupt_controller(8259a,0C0h,2,M)

%channel_scan(10,9600)

%initialize_port(0D6h,030h,0)			; set timer 0 to default state

%initialize_port(0E8h,000h,0)			; clear parity error
%initialize_port(0CEh,082h,0)			; init 8255 mode
%initialize_port(0CEh,005h,0)			; mask NMI (SET PORT-C BIT 2)
%initialize_port(0CEh,003h,0)			; inactive SW LOCK (SET PORT-C BIT 1)
%initialize_port(0CEh,007h,0)			; enable TIMEOUT (SET PORT-C BIT 3)

%bootstrap(0EE00:0,manual)
%end


2.2   iRMX Bootstrap Loader

    The iRMX Bootstrap Loader provided by iRMX III.1.3 is part of the
firmware.  Two BSL configurations are used, one in each version of the
firmware.  Both BSL versions contain the same devices, only the ordering of
the devices differs.  The device controllers are the iSBC 214/221/215G for
booting from ST506 and ESDI devices, the iSBC 386/12S and iSBC 486/12S for
booting from SCSI devices, and the iSBC 552A for remote booting from systems
hosting the iNA 960 Remote Bootserver.  Note that while the tape device,
STA0, is included in the SCSI boot device list, the iRMX Operating Systems do
not support booting from tape at this time.  The iRMX II.4 iSBC 214/221 BSL
driver does not support booting from tape as did the version used in the
original Multibus I SCT firmware.  This means that this firmware cannot be
used to Boot Unix from tape.

    The BSL code is located in locations 0EE000H - 0EFFFFH and 0FE400H -
0FFF7FH.  The BSL second stage is located at 0DC000H.  The location of
0DC000H was chosen rather than the documented default address 0B8000H
because:

    *   It is the RAM highest address available for the third stage when
        using 27512 EPROMs which occupy addresses 0E0000H to 0FFFFFH.

    *  It is compatible with the default iRMX II third stage address of
       0BC000H and the iRMX III third stage address of 6000H.

    *  It allows the largest possible file to loaded by the remote BSL
       driver.  Since the remote BSL driver uses the stack provided by
       the second stage, the location of the second stage limits the size
       of systems which can be remotely booted.  With the second stage
       located at 00DC000H, remote boot files can occupy memory through
       0DBFFFH, rather than only through 0B7FFFH as is the case using the
       default second stage address of 0B8000H.  (0B8000H and 0BC000H were
       originally chosen to allow for 27010 EPROMs.)


    The first boot device name in the device list of the BSL configuration
file determines which device is used if no operator intervention occurs and
the system boots automatically.  The following is the configuration
information used to create the BSL for the version which autoboots from a
SCSI hard disk.

%cpu(80386)
%console
%manual
%auto
%loadfile
%defaultfile('/system/rmx86')
%retries(5)
%clear_sdm_extensions

%device(scw_2, 2, scsi_38612s_init, scsi_38612s_read)
%device(scw_3, 3, scsi_38612s_init, scsi_38612s_read)
%device(scw_4, 4, scsi_38612s_init, scsi_38612s_read)
%device(scw_5, 5, scsi_38612s_init, scsi_38612s_read)
%device(sqf0, 0, scsi_38612s_init, scsi_38612s_read)
%device(w0, 0, deviceinitmscgen, devicereadmscgen)
%device(w1, 1, deviceinitmscgen, devicereadmscgen)
%device(wf0, 8, deviceinitmscgen, devicereadmscgen)
%device(wf1, 9, deviceinitmscgen, devicereadmscgen)
%device(r0, 0, deviceinit552A, deviceread552A)
%end


    The following is the configuration information used to create the BSL for
the version which autoboots from an ST506 hard disk.

%cpu(80386)
%console
%manual
%auto
%loadfile
%defaultfile('/system/rmx86')
%retries(5)
%clear_sdm_extensions

%device(w0, 0, deviceinitmscgen, devicereadmscgen)
%device(w1, 1, deviceinitmscgen, devicereadmscgen)
%device(wf0, 8, deviceinitmscgen, devicereadmscgen)
%device(wf1, 9, deviceinitmscgen, devicereadmscgen)
%device(scw_2, 2, scsi_38612s_init, scsi_38612s_read)
%device(scw_3, 3, scsi_38612s_init, scsi_38612s_read)
%device(scw_4, 4, scsi_38612s_init, scsi_38612s_read)
%device(scw_5, 5, scsi_38612s_init, scsi_38612s_read)
%device(sqf0, 0, scsi_38612s_init, scsi_38612s_read)
%device(r0, 0, deviceinit552A, deviceread552A)
