
NOBOOT - Native Oberon Bootstrap Loader - User Guide      Updated 97-02-20

============================================================================

   Native Oberon Bootstrap Loader, 2.2 (17 Feb 97)
   Written by Pieter Muller and Bruno Essmann (bessmann@iiic.ethz.ch)

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

   NOBOOT has mainly been compiled with Topspeed Modula-2 version 3
   and Turbo Assembler. The source is available separately.

   I'd like to thank Pieter for his tips and support, without him
   there certainly wouldn't be any DOS bootloader for Native Oberon!

   Bruno Essmann

============================================================================



      CONTENTS
      ========


1     Introduction
1.1   Requirements

2     Command line parameters
2.1   Switches
2.2   Kernel images
2.3   Parameter files
2.3.1 Syntax
2.3.2 Environment entries
2.3.3 Example

3     Booting Native Oberon
3.1   Booting from the DOS prompt
3.2   Booting from CONFIG.SYS
3.3   Booting from Windows 95 or NT

4     FAT file system installation

5     Problems
5.1   Error description

6.    Comments and bug reports


============================================================================


1     Introduction
      ============

      NOBOOT is a DOS-based bootstrap loader for Native Oberon.

1.1   Requirements
      ------------

      1. A 80386 or higher CPU.
      2. Any Native Oberon kernel image.
      3. The NOBOOT package, which consists of:

         - NOBOOT.EXE  The program
         - NOBOOT.PAR  A sample parameter file
         - NOBOOT.TXT  The user guide (this file)
         - NOBOOT.PIF  A pif file for Windows 95
         - NOBOOT.ICO  An icon for NOBOOT

         For your convenience version 2.2 kernel images were also included:

         - STDIDE.BIN   Native Oberon Bootfile for standard IDE disks
         - AHA1520.BIN  Native Oberon Bootfile for Adaptec 1520 SCSI disks
         - NCR810.BIN   Native Oberon Bootfile for NCR 810 SCSI disks

         With help of this bootfile it is possible to launch Native Oberon
         for the first time where you can copy the current version of the
         bootfile to your DOS hard disk. Later you'll want to use the
         current version of the bootfile (called Native.Bootfile)...



2     Command line parameters
      =======================
      
      NOBOOT requires several command line parameters. The parameters may
      be entered in UNIX fashion (introduced by '-') as well as in DOS
      fashion (introduced by '/').
      
      To get an overview over the available switches and some information
      about the command line parameters start NOBOOT with the 'h' switch:
      
      c:\noboot>noboot.exe -h
      Native Oberon Bootstrap Loader, 2.2 (17.02.97)
      Written by Pieter Muller & Bruno Essmann

      usage: noboot [-chptv] kernel params
       -c      disable cpu check
       -h      show help and program version
       -p      don't reset processor
       -t      trace mode (no boot)
       -v      verbose message output
       kernel  kernel image file name
       params  parameter file name

      Normally you will not supply any switches and start Native Oberon
      directly with the command:

        c:\noboot>noboot.exe stdide.bin noboot.par

      (Note: If you have already a working Native Oberon installation and
      don't want to read the whole user guide then just give it a try.
      If however you don't have a working installation and just want to
      try out Native Oberon, then skip to section 4. FAT file system
      installation.)


2.1   Switches
      --------

      -c  disable cpu check
          By default NOBOOT checks that the CPU is a 80386 or better.
          If you're using some exotic but still 80386 compatible CPU and
          experience problems, then add this switch.
      -h  show help and program version
          Sometimes even these hints help
      -p  don't reset processor
          If this bootstrap loader hangs your machine, try this switch,
          which controls switching to protected mode. Normally this is
          done by resetting the processor via the 8042 keyboard controller.
          If however this switch is specified, the processor won't be
          reset. This might not work if a memory manager like QEMM is used.
      -t  trace mode (no boot)
          If the bootstrap loader doesn't work and you've no idea what may
          be wrong then you might need this switch (see 5. Problems).
          The -v switch will be actived automatically whenever this switch
          is active. The bootstrap loader won't boot Native Oberon if this
          switch is active, it merely outputs some debug information.
      -v  verbose message output
          By default the bootstrap loader doesn't output any information
          (it just does its job the way it should). If you don't like this
          and would like to get some progress information then this switch
          is for you.


2.2   Kernel images
      -------------
      
      Any Native Oberon kernel image may be used in conjunction with
      NOBOOT.

      Please note: At the moment I don't know any method to determine
      whether the "kernel image" file supplied actually is a valid kernel
      image. NOBOOT completely relies on the fact that you pass a valid
      kernel image.


2.3   Parameter files
      ---------------

      The parameter files contain all the configuration information which
      will be passed on the kernel in the environment, i.e. the options
      you would supply at the "OBL>" prompt or when creating a boot floppy,
      or make your native partition bootable.

      This environment information is interpreted by the kernel and some
      drivers and is vital to access your hardware correctly. It is
      therefore mandatory that you modify the sample parameter file
      supplied accordingly!

      
2.3.1 Syntax
      ------
      
      The syntax of the parameter file is very simple. The lines of the
      parameter file is read and interpreted one by one. The syntax of a
      parameter line is as follows:
      
      line =         comment | environment
      environment =  name "=" value
      
      Comments are either empty lines or lines starting with a "#".
      For your convenience the "=" of an environment entry may be preceeded
      or followed by as many white spaces as you like. Also the value of
      an environment entry may be enclosed by quotes or even split to
      several parts using quotes and the plus sign.
      
      Examples:
        FileSystem=c:/native.dsk
        FileSystem = c:/native.dsk
        FileSystem = "c:/native.dsk"
        FileSystem = "c:/" + "native.dsk"
      
      (Note: The last variant is used by the Native Oberon install tool for
      the display "Init=" environment entry and is supported only to avoid
      confusion, i.e. for your convenience when you use values of copied
      from the Install.Tool)
      

2.3.2 Environment entries
      -------------------
      
      For a complete list of environment entries please consult the
      Install.Tool of the Native Oberon installation disk.
      The most important environment entries are also listed here:
      
      FileSystem  e.g. FileSystem=c:/native.dsk
                  If you are using a FAT-based installation this entry
                  contains the name of the host file (see 4. FAT file
                  system installation).
      
      MouseType   e.g. MouseType=6
                  The type of your mouse. Available types are:
                    0   Microsoft serial
                    1   Mouse Systems Corp
                    2   Logitech MMseries
                    3   Logitech classic
                    5   Logitech MouseMan/TrackMan
                    6   PS/2 mouse (default)

      MousePort   e.g. MousePort=1
                  The communications port where your mouse is connected.

      Buttons     e.g. Buttons=3
                  The number of buttons your mouse has. See the Native
                  Oberon documentation for more information.
      
      Keyboard    e.g. Keyboard=US
                  The type of your keyboard. Available types are:
                    US  US 101-key (default)
                    CH  Swiss 102-key
                    D   German 102-key
                    N   Norwegian 102-key
      
      Display     e.g. Display=VGA.
                  The name of your display driver. Available types are:
                    VGA.     VGA display
                    S3C805.  S3-805 display
                    S3C924.  S3-924 display
                    W32.     ET4000-W32 display
                    ET4000.  ET4000 display
      
      Init        e.g. Init=b81200cd10bb003fb80110cd10
                  The init string for your display adapter. This is
                  actually a little program which is run by NOBOOT before
                  launching the kernel to initialize the display.
                  Possible init strings are:
                    VGA:     Init=b81200cd10bb003fb80110cd10
                    S3:      Init=bb0502b8024fcd10bb000fb80110cd10
                    ET4000:  Init=b83800cd10bb000fb80110cd10
                  Init strings for S3-805 and S3-924 are the same, this is
                  also true for ET4000-W32 and ET4000.

      DWidth      e.g. DWidth=1024 (default)
      DHeight     e.g. DHeight=768 (default)
      DMem        e.g. DMem=1024 (default)
                  At the moment these values are only used by the ET4000
                  drivers. Please note that if you modify these values then
                  you'll also have to modify the video value in the Init
                  string (see above) according to the following table:
                    Video  DWidth  DHeight  DMem
                      2E     640      480   1024
                      30     800      600   1024
                      38    1024      768   1024  (default)
                      3F    1280     1024   2048
                  (The video value is the are digits three and four of the
                  ET4000-Init string, the default value is "38".)
      
      For more information about init strings and supported display
      adapters please consult the Install.Tool of the Native Oberon
      installation disk.


2.3.3 Example
      -------
      
      An example of a simple parameter file:
      
        # noBoot parameter file (bes, 07 May 96)
  
        # FAT host file
        # FileSystem=c:/native.dsk
        
        # Display settings
        Display=VGA.
        Init=b81200cd10bb003fb80110cd10
  
        # Keyboard settings
        Keyboard=US
  
        # Mouse settings
        MousePort=1
        MouseType=6
        Buttons=3
  
        # end of parameter file



3     Booting Native Oberon
      =====================
      
3.1   Booting from the DOS prompt
      ---------------------------
      
      A very simple way to use NOBOOT is to execute it from the DOS prompt:

        c:\noboot>noboot.exe stdide.bin noboot.par

      If you use this method a lot, maybe you want to create a batch file
      containing these commands. Since most DOS users have disk caching
      (e.g. SMARTDRV) activated this is also to place to tell it to flush
      its buffers:

        @REM noBoot batch file (bes, 07 May 96)
        @SMARDRV /C
        @C:\NOBOOT\NOBOOT C:\NOBOOT\STDIDE.BIN C:\NOBOOT\NOBOOT.PAR


3.2   Booting from CONFIG.SYS
      -----------------------

      Starting with DOS version 6.0 it is possible to boot different
      configurations during the startup of MSDOS. This is handled at the
      time of CONFIG.SYS interpretation. You might therefore want to add
      a menu option to launch Native Oberon directly at startup.

      Also if you have an exotic video adapter (or any other hardware)
      which needs to be initialized by a DOS program then you might like
      this method since it will enable you to launch Native Oberon
      directly without having to boot to DOS first.

      The most simple form to launch Native Oberon from CONFIG.SYS is
      by using the SHELL parameter as in the example below:

        [MENU]
        MENUITEM=DOS, Boot DOS
        MENUITEM=NOBERON, Boot Native Oberon

        [DOS]
        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE 2048 RAM
        DOS=HIGH,UMB
        SHELL=C:\COMMAND.COM C:\ /E:1024 /P
        REM ... etc. pp.

        [NOBERON]
        SHELL=C:\NOBOOT\NOBOOT C:\NOBOOT\STDIDE.BIN C:\NOBOOT\NOBOOT.PAR

        [COMMON]
        REM ... common configuration stuff here
        REM end of file
      
      If however you have some configuration programs which need to be
      started from AUTOEXEC.BAT then you'll want to use the method
      outlined below.
      
      Sample CONFIG.SYS:
      
        [MENU]
        MENUITEM=DOS, Boot DOS
        MENUITEM=NOBERON, Boot Native Oberon
      
        [DOS]
        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE 2048 RAM
        DOS=HIGH,UMB
        SHELL=C:\COMMAND.COM C:\ /E:1024 /P
        REM ... etc. pp.
  
        [NOBERON]
        REM ... initialize your exotic hardware here
        
        [COMMON]
        REM ... common configuration stuff here
        REM end of file
      
      Sample AUTOEXEC.BAT
      
        @ECHO OFF
        SET TMP=C:\TMP
        PROMPT $p$g
        REM ... etc. pp.

        GOTO %config%

        :NOBERON
        REM ... initialize more exotic hardware here
        C:\NOBOOT\NOBOOT C:\NOBOOT\STDIDE.BIN C:\NOBOOT\NOBOOT.PAR
        GOTO kapla

        :DOS
        PATH C:\DOS;D:\BIN
        REM ... what you usually have here
        GOTO kapla
        
        :kapla
        REM end of file

      
3.3   Booting from Windows 95 or NT
      -----------------------------

      If you want to boot Native Oberon from Windows 95 or Windows NT
      then you'll have to setup NOBOOT.EXE in such a way that it is run
      in MS-DOS mode.

      Select properties from the popup menu that appears when right-
      clicking NOBOOT.EXE. There select the "Advanced..." button in the
      "Program" section. In the "Advanced Program Settings" make sure
      the checkbox "MS-DOS mode" is selected.

      Whenever you start NOBOOT.EXE Windows will switch to MS-DOS mode.
      This ensures that all open programs are closed correctly, i.e. no
      unsaved data is lost.

      Again, for your convenience, a sample NOBOOT.PIF is included which
      launches NOBOOT.EXE with the parameters C:\NOBOOT\STDIDE.BIN and
      C:\NOBOOT\NOBOOT.PAR. In addition an icon (NOBOOT.ICO) is also
      included...



4     FAT file system installation
      ============================

      If you just want to try Native Oberon out, or if you plan to use a
      FAT file system installation, then this section is for you.

      First of all start the EXTEND.EXE included with the Native Oberon
      package to create a host file. The syntax of EXPAND.EXE is
      "EXTEND filename". Usually you'll want to take a filename such as
      "c:\native.dsk".

      A sample program run which creates a 10MB FAT file system:

        d:\native.obn>extend.exe c:\native.dsk
        This program is used to enlarge the file c:\native.dsk
        The file was not found in the current directory.
        Do you want to create it? (Y/N)y
        Current size of c:\native.dsk: 0kb
        New size (in kb): 10240

        Do you want to enlarge c:\native.dsk from 0 bytes to 10485760 bytes? y
        Extending...
        Done.

      After you've created the host file you'll need to enter the name
      of the host file in the NOBOOT parameter file. In the sample
      NOBOOT.PAR included that has already been done and you'll only
      have to uncomment the line containing "FileSystem=c:/native.dsk":

        # noBoot parameter file (bes, 07 May 96)

        # FAT host file
        FileSystem=c:/native.dsk

        # Display settings
        Display=VGA.
        Init=b81200cd10bb003fb80110cd10

        # Keyboard settings
        Keyboard=US

        # Mouse settings
        MousePort=1
        MouseType=6
        Buttons=3

        # end of parameter file

      While you're at it you might also want to set the other parameters
      in the parameter file correctly as shown in section 2.3. Parameter
      files. Once this is done as well you're ready for a test run with
      Native Oberon:

        c:\noboot>noboot.exe stdide.bin noboot.par



5     Problems
      ========
      
      Whenever you encounter any problems first try the -v switch to see
      how far NOBOOT actually gets.
      
      If the -v switch doesn't help to locate the problem then try the
      trace mode (-t switch).

        c:\noboot>noboot -t stdide.bin noboot.par | more

      or if you want to capture the output to a file

        c:\noboot>noboot -t stdide.bin noboot.par > error.log
      
      If you are still unable to locate the error then send a copy of the
      error.log together with a description when the computer hangs (see
      below) either to the author (bessmann@iiic.ethz.ch) or to the author
      of Native Oberon, Pieter Muller (muller@inf.ethz.ch).
      

5.1   Error description
      -----------------

      If you want to send us an error report then please include some
      information about your computer, i.e. CPU, motherboard, BIOS,
      graphics card, mouse type, etc. pp. Also include a copy of the
      error.log generated by

        c:\noboot>noboot -t stdide.bin noboot.par > error.log

      And probably most important: If you start NOBOOT normally (i.e. NOT
      in trace mode) then you'll notice a white letter in a red box in the
      upper left corner of the screen when the system hangs. Please include
      this letter in your error report since it will help us locate the
      source of the error!



6     Comments and bug reports
      ========================

      Comments and bug reports are welcome and may be sent to:

      E-Mail:    Bruno Essmann
                 bessmann@iiic.ethz.ch

                 or

                 Pieter Muller
                 muller@inf.ethz.ch


[ End of NOBOOT.TXT ]
