Tests Perforrned By The Boot Ro - HP 9000 Series 310 Service Information Manual

9000 series 300 computers and bus expander
Table of Contents

Advertisement

Tests Performed by the Boot ROM
Set-U p Code Segment
A series of tests and initialization routines which set up the computer so the rest of the Boot
ROM code can function safely are the first section of Boot ROM code. For exanlple, the first
part of this code section cannot depend on a working stack. The first priority of this code section
is to set up the computer so a stack can be used.
The first part of the unextendable code segment, the part that must work without a stack,
includes the following routines (note that, before each step, the LEDs are set to a new value
which reflects that step):
1. Bus Error Handler:
The BUS ERROR vector is set up to point to a routine which, based on the value of the
stack pointer, decides if we have a stack. If there is no real stack, then the value of the
stack pointer will be less than 10016. In this case, the stack pointer will be reset to 10016
and the Boot ROM will jump to the address contained in register A6.
2. CPU Test:
Three different values are passed, one at a time, through each of the CPU Registers. If
the value that comes out of the last register is different from the value that went into the
first register, for any of the three values, then the Boot ROM halts with a "CPU Failed"
code on the LEDs.
3. Position Floating RAM and Pre-load the Top of Memory:
The stack pointer is set to 10016, and register A6 is set to point to the address of the next
routine. The Boot ROM steps through the first
16K
bytes of memory, pre-loading it until
a bus
error
occurs to position floating RAM (on the MC 68010 only) and to initialize for
the top rrlemory test. If a bus error does not occur, the Boot ROM starts at -1 and reads
every
64K
byte boundary until a bus error occurs or until just before the bottom RAM
address is reached.
4. Cycle LEDs:
Register A6 is set to the address of the next routine in case a bus error occurs. The LEDs
are rippled from all on to all off except one. There is a small delay for each ripple state
which is used to cause a 500ms delay between memory pre-load and the test to check for
refresh failures.
5. Check for Test ROM:
If the Boot ROM is not at power-up, then this step is skipped. Register A6 is set to the
next step. The instruction "jump to next step" is moved into the location 81000016 If the
location 81000016. does not have a 6016 in it, then the Boot ROM skips to the next step,
otherwise it executes a jump to 81000016. The Test ROM should return through location
19c16·
6. Check for video electronics:
If the Boot ROM is not at power-up and is not returning from the Test ROM, then this
step is skipped. A check is done for the CRT ID register of a HP 98546A card set. A bit
is set to indicate its presence. Then the Boot ROM looks for a bit mapped video boards
by checking location 56000016 for a primary DIO ID of 25 and a secondary ID of 1. If
the proper ID is found, then a bit is set to to indicate the presence of a bit-mapped video
board.
84
Boot ROln Functions

Advertisement

Table of Contents
loading

This manual is also suitable for:

98568a

Table of Contents