Re-programming your Smartrom
============================
                                               LSS 5.0(0), August 1996 
                                               -----------------------

Section 1: Introduction
-----------------------
This file describes SMARTROM.EXE, the Smartrom programming utility.

**********************************************************************
Note: Only use SMARTROM.EXE with a Madge Smartrom device. It does  not 
      work with any other ROMs.   
**********************************************************************

SMARTROM.EXE  reads  code  from  a  .ROM file on the release disk, and 
checks it against the code on the Smartrom.  If the code is incorrect, 
it reprograms the Smartrom with the new code.  Use SMARTROM.EXE  to:

    - Update your existing Smartrom with new code.

    - Change the ROM image in the Smartrom to support a  different 
      network environment or booting scheme.

    - Configure your Smartrom to access a specific boot-image file 
      from a specific network file-server (this applies to NetWare  
      Remote  Reset only).

    - Configure your  Ringnode to use a  locally-administered node 
      address.

    - Disable local floppy diskette booting.

    - Select a default booting scheme.


Section 2: Madge Smartrom Programming Utility (SMARTROM.EXE)
------------------------------------------------------------

Section 2.1: Running SMARTROM.EXE
---------------------------------

SMARTROM.EXE   may   be  run from a disk or a network drive.  You must
change  to  the  directory  containing  the  ROM  image  files  before
re-programming the Smartrom.


Section 2.2: Command-line examples
----------------------------------

The SMARTROM.EXE command line options can be listed by typing:

  smartrom /?

Some possible examples are:

Example 1 
---------
To display the current configuration of your Smartrom, type:
        
 smartrom /list

Examples  2, 3 and 4 are  applicable to Smart 16/4 AT Plus, ISA Client
Plus and PCI (BusMaster) Ringnodes only.

Example 2
---------
To  re-program  a Smartrom  with  the configuration utility, a NetWare
Remote Reset module and an RPL module, type:

 smartrom /rom_file=multi /write

Example 3
---------
To choose NetWare Remote Reset by default (even if there is a bootable 
hard  disk  present)  and to boot from the NetWare server THOR, and to 
download the boot image  DOS500.SYS,  type  (note  that  the  line has 
wrapped):  

 smartrom /rom_file=multi /server_name=thor /image_name=dos500.sys 
 /default=nw /write

Example 4
---------
To choose to Remote Program Load by default from a NetWare, LAN Server,
PC LAN or LAN Manager server after a 4 second timeout, type:

 smartrom /rom_file=multi /default=rpl /timer /write

Example 5
---------
To re-program a Smartrom to perform NetWare  Remote  Reset  from  the 
NetWare server THOR, and to download the boot image DOS500.SYS, type:

 smartrom /rom_file=nw /server_name=thor /image_name=dos500.sys /write

Example 6
---------
To  re-program a Smartrom to perform Remote Program Load from 
a NetWare, LAN Server, PC LAN or LAN Manager server:
          
   smartrom /rom_file=nrpl /write

Example 7
---------
If  your  machine  contains a hard disk with a bootable sector and you 
wish to specify network booting using Remote Reset, by default, type:  

   smartrom /rom_file=nw /default=network /write    

Section 2.3: Command-line options
---------------------------------

The command-line options are as follows:

/rom_file=<IMAGE>
--------------------------
Use this option to specify the  ROM image  file  with which to program
the Smartrom.    SMARTROM.EXE  will check the code  on  your  Smartrom
against the code for the image you specify.

<IMAGE> is one of the following: 

 nw     ....... NetWare Remote Reset
 nrpl   ....... Remote Program Load
 multi  ....... This ROM image contains a configuration utility, a 
                Remote Reset Image and an RPL image.  This image is 
                available for certain Ringnodes only.

/default=<SCHEME>
---------------
Use this option to specify a default booting scheme.  <SCHEME> is  one 
of the following:

For MULTI.ROM:
  nw        ........ NetWare Remote Reset
  rpl       ........ Remote Program Load
  hard_disk ........ Hard Disk boot

For other ROM images:
  network   ........ Boot from network (method depends on image)
  hard_disk ........ Hard Disk boot

Selecting a default boot scheme in this way means that the user prompt 
is  suppressed.   It  is possible to override the default if /timer is 
also specified.

If  a  default is specified other than "hard_disk" and if "/timer" and 
"/nodiskette" are specified then the workstation can only boot from  a 
local  hard-disk if the user presses the special key combination while 
the NUM LOCK light is flashing.  The combination is:

[Ctrl] [Left Shift] [Alt] [Right Shift]

If  you  use  the  "/secure"  options,  this  way of circumventing the 
prevention of local booting, is not available to the user.

/timer
------ 
This  is  used  to  make  a  workstation timeout into the default boot 
scheme specified (by the "/default=" option), after allowing the  user 
to  override  the  default.  When the timer function is in operation a 
sequence of eight dots is displayed on the screen.

/no_config_prompt
-----------------
This is available with the  MULTI.ROM  image  only  and  is  used  to 
suppress   the  initial  prompt  that  allows  the  user  to  run  the 
configuration utility for software programmable Ringnodes.

/no_user_prompt
---------------
Hide the user prompt when "/timer" and "/default=" are specified.  The 
user can still override the default booting scheme by choosing another 
one, but the prompt is not displayed.

/write
------
Use this option to modify your Smartrom.  Unless  you  supply  the  "/ 
write" option, SMARTROM.EXE does not change the code on your Smartrom.  
If  your  Smartrom  is  password  protected  then  you  must enter the 
password before the Smartrom can  be  modified.   For  information  on 
setting  a  password  see  PWSET.TXT and the user documentation.

/server_name=<SERVER>
---------------------
Use this option to specify the name of the server that you  want  your 
NetWare  Smartrom  to use.  (This option is only available for NetWare 
Remote Reset.)

By default, NetWare Smartroms use the first network server  that  they 
find. 

/image_name=<NAME>
------------------
Use  this option to specify the name of the disk image file  that  you 
want  your  workstation  to boot from.  (This option is only available
for NetWare Remote Reset.)  

You  can  specify the same disk image name for as many workstations as 
you  require.  This  removes the need to have a separate boot disk for
every workstation.

By  default  NetWare  Remote Reset will use the disk image file called 
NET$DOS.SYS.  

/io=[io-location] 
-----------------
Use this option to specify the I/O location of the  Ringnode  you wish
to re-program.

/list
-----
Use  this  option to display the configuration of the Smartrom on your
Ringnode.

/force
------
Force the Smartrom to be re-programmed even if the it already contains
the specified image and configuration.

/laa=[node-address]
-------------------
Use this  option  to  specify  a  locally-administered  node  address, 
instead  of  the  burnt-in node address of a Ringnode.  This option is 
not supported for PC LAN or LAN Server 1.3.  Care should be taken when
setting  an  LAA  when  there  is  more  than  one   ringnode  in  the
workstation.

/promrx
-------
Use this option to enable Promiscuous Receive Mode.   This  option  is 
not  supported for PC LAN or LAN Server version 1.3.  Care  should  be
taken  when enabling Promiscuous Receive Mode  when there is more than
one ringnode in the workstation.

/noromboot
----------
Use  this  option  to  prevent the Smartrom taking control of the boot
process.  This  is  useful when want to program a locally administered
address or to allow promiscuous mode but don't wish to remote boot.

/rplaware
---------
Use  this  option  if your workstation's configuration software allows 
you to define a Startup Sequence.  It ensures that Smartrom  does  not 
take  control  of the booting procedure until your Startup Sequence is 
complete.  

/nodiskette
-----------
Use this option to prevent a workstation booting from a  local  floppy 
disk.   If  you  use this option, the workstation can only boot from a 
floppy disk if:

a) It  is  a  Micro-Channel  computer,  and  there is a  Micro-Channel 
   configuration disk in the local disk-drive.

b) The workstation's user presses the special key combination, while 
   the NUM LOCK light is flashing.  The combination is:

   [Ctrl][Left Shift][Alt][Left Shift]

If  you  use  the  "/secure" option, these  ways  of circumventing the 
prevention of local booting, are not available to the user.

Do not use the "/nodiskette" option with the "/rplaware" option.

/secure
-------
Use this  option  to  prevent  a  user  from  intervening,  under  any 
circumstances,  in  a  booting strategy that you have configured.  See 
the "/default=" and "/nodiskette" commands.  

/ver
----
This option displays the version numbers of the ROM image files in the
current directory.

/nomore
-------
This option disables the "-- More --" screen paging facility.

/netware_os2
------------
This option enables support for booting OS/2 from a NetWare server.

/text_mode
----------
This  option  disables  the  colour  VGA  screen  displayed  on remote
booting.


Section 3:  The /rplaware option
--------------------------------

The  configuration software supplied with some computers allows you to 
define a Startup Sequence (on IBM PS/2 computers, for example, this is 
part of the Set Features menu).  The Startup Sequence is the order  in 
which  a  workstation  attempts  to  boot  from  the  booting  devices 
available to it.  By default, most workstations attempt to boot  first 
from  a  local  floppy-disk, then from a local hard-disk, and finally, 
from a network drive.

Run   SMARTROM.EXE   specifying   the   "/rplaware"  option,  if  your 
workstation has a configurable Startup Sequence.
 
**********************************************************************
Note: Where you use the "/rplaware" option, the "/nodiskette", and the 
      "/default=network" or "hard_disk" options have no effect.       
**********************************************************************


Section 4:   Booting strategies
-------------------------------

If  your  workstation  does  not  have a configurable Startup Sequence 
(most  computers  do  not),  you  can  use  SMARTROM.EXE,   with   the 
command-line  options summarized below to configure your workstation's 
booting strategy. (See Table 1 for the MULTI.ROM image file and Table 
2 for the other ROM image files).

Those  booting  devices  marked "(T)" are not disabled if the "/timer" 
option is specified. This means that they can be selected by the  user 
within the timeout period.

Command line        Booting devices      Resulting booting 
options             disabled             strategy
-----------------------------------------------------------------
<none>              <none>               Try booting from floppy 
                                         disk
                                         Prompt user to choose
                                         Remote Reset, RPL or
                                         hard disk

/nodiskette         Floppy disk-drive    Prompt user to choose
                                         Remote Reset, RPL or
                                         hard disk

/nonetboot          Network drive        Try booting from floppy disk
                                         Try booting from hard disk

/default=nw         Hard disk-drive (T)  Try booting from floppy disk
                    RPL (T)              Try booting from network
                                         using Remote Reset

/nodiskette and     Floppy disk-drive    Try booting from network
/default=nw         Hard disk-drive (T)  using Remote Reset
                    RPL (T)

/default=rpl        Hard disk-drive (T)  Try booting from floppy disk
                    Remote Reset (T)     Try booting from network
                                         using RPL

/nodiskette and     Floppy disk-drive    Try booting from network
/default=rpl        Hard disk-drive (T)  using RPL
                    Remote Reset (T)

/default=hard_disk  Remote Reset (T)     Try booting from floppy disk
                    RPL (T)              Try booting from hard disk

/nodiskette and     Floppy disk-drive    Try booting from hard disk
/default=hard_disk  Remote Reset (T)
                    RPL (T)      

---------------------------------------------------------------------
Table 1:  Booting strategies  resulting  from  different  command-line 
          options with MULTI.ROM image file.


Command line        Booting devices      Resulting booting 
options             disabled             strategy
-----------------------------------------------------------------
<none>              <none>               Try booting from floppy disk
                                         Prompt user to choose
                                         network or hard disk

/nodiskette         Floppy disk-drive    Prompt user to choose      
                                         network or hard disk

/nonetboot          Network drive        Try booting from floppy disk
                                         Try booting from hard disk

/default=network    Hard disk-drive (T)  Try booting from floppy disk
                                         Try booting from network

/nodiskette and     Floppy disk-drive    Try booting from network
/default=network    Hard disk-drive (T)  

/default=hard_disk  Network (T)          Try booting from floppy disk
                                         Try booting from hard disk

/nodiskette and     Floppy disk-drive    Try booting from hard disk
/default=hard_disk  Network (T)          

---------------------------------------------------------------------
Table 2:  Booting strategies  resulting  from  different  command-line 
          options with NW.ROM and NRPL.ROM.


If  you disable all local booting devices (by using "/nodiskette" with 
"/default=<IMAGE>", but without "/timer") your  workstation  can  only 
boot  from  the  network.   If  your  server  becomes unavailable, the 
workstation cannot boot at all.  In this situation you can:

a) Override the "/nodiskette" and "/default=" options by  inserting  a 
   bootable diskette into the floppy drive (if you have one) and using 
   a special key combination as follows: at boot-time the NUM LOCK key 
   on the right-hand panel of the keyboard, flashes four times. During 
   this flashing, hold down the following keys: 

   [CONTROL][SHIFT][ALT][SHIFT]

   until you see a message which says:

    "Press any key to boot from diskette/hard disk"

   To  enable  the  workstation to boot locally, press any key.  (This 
   does not work if you have used the "/secure" option.)


b) Override  the  "/nodiskette"  option  by  putting  a  Micro-Channel 
   configuration  disk  into the floppy-disk drive at boot-time.  This 
   only applies if your workstation is a Micro-Channel computer. (This 
   does not work if you have used the "/secure" option.)

**********************************************************************
CAUTION: If  you  use  the "/secure" option when you run SMARTROM.EXE, 
     workstation users cannot override your prohibition  on  local 
     booting.
      
**********************************************************************
      
**********************************************************************
Note: A workstation's  user  may  experience  some  disk  errors  when 
      accessing  the  A:  drive.  This happens if you ran SMARTROM.EXE 
      with  the  "/nodiskette"  option  specified, and the workstation 
      booted  from  a  local  hard-disk,  or  from the network, with a 
      floppy  disk present in  the  A:  drive.  If this happens, eject 
      the  floppy  disk,  and re-insert it. This prompts the  BIOS  to  
      update  its  disk information.
**********************************************************************



Section 5:   User Prompting
---------------------------

The  Smartrom  may  prompt  the  user  for  input  as  it  boots   the 
workstation.  The prompts are displayed by default but may be disabled 
from  the SMARTROM.EXE command line.  Most users will wish to  disable 
these prompts once  they  have  determined  their  preferred  Smartrom 
configuration.


Section 5.1:   MULTI.ROM default prompts
-----------------------------------------
If your Ringnode is software programmable and the MULTI.ROM image  is 
programmed on the Smartrom the following prompt sequence occurs:

By default the config prompt is displayed:

"Press F1 to configure Madge software programmable Ringnodes"

If  F1  is  pressed  within 4 seconds the Smartrom enters the software 
programmable Ringnode configuration utility, otherwise the message  is 
cleared  and  the  Smartrom  continues  to boot the workstation.  This 
prompt can be disabled using the "/no_config_prompt" option.  

For details about using the configuration utility, refer to the  Smart 
16/4  AT  Plus  or ISA Client Plus Ringnode Installation instructions.

If  your  computer does not boot from diskette then the following user 
prompt is displayed by default:

"Press F1 to configure Madge software programmable Ringnodes
 Press F2 to boot using NetWare Remote Reset
 Press F3 to boot using RPL"

If a bootable hard disk is present then the following prompt  is  also 
displayed:

"Press F4 to boot from hard disk"

The Smartrom now waits until the user chooses one of these options and 
then executes the chosen option.


Section 5.2:   NW.ROM and NRPL.ROM default prompt
-------------------------------------------------

If your Ringnode's Smartrom is programmed with either of the above ROM 
images then if the workstation fails to boot from a floppy disk, and a 
bootable hard-disk is fitted the following user prompt is displayed by 
default: 

"Press F1 to boot from network, F2 to boot from hard disk" 

The  Smartrom now waits until the user chooses either of these options 
and then executes the chosen option.


Section 5.3:   Changing the user prompt
---------------------------------------

The user prompt will not be displayed if a default booting  scheme  is 
specified using "/default=".

However, if the "/timer" option is also specified then the user prompt 
will  be  displayed  for  4 seconds in which the user can override the 
default scheme by choosing another scheme.

If you wish to hide the user prompt when "/default=" and "/timer"  are 
specified  then  the  "no_user_prompt" should be used.  However, there 
will still be a 4 second timeout period in which the user can override 
the default scheme.


Section 6:  Hints for troublshooting with SMARTROM.EXE
------------------------------------------------------

There are two common reasons why SMARTROM.EXE may fail to reprogram or 
report the configuration of a Smartrom:

1- The Smartrom is disabled.
   
   You should enable your Smartrom.
   Refer to the User Documentation for details.

2- There  is  a  memory manager loaded in your machine which is making 
   use of the area of upper memory required by your Smartrom.
   
   This  problem  can be avoided by preventing the memory manager from 
   using the area of upper  memory  required  by  the  Smartrom.   For 
   example,  to  prevent EMM386 using the upper memory block CC00-CE00 
   use the command-line option "x=CC00-CE00".

                   ------ End of SMARTROM.TXT ------
