401 lines
7.1 KiB
Plaintext
401 lines
7.1 KiB
Plaintext
# This is an ide script file for manufacturing.
|
|
report=4;
|
|
echo "Report level set to VERBOSE";
|
|
|
|
# THE FOLLOWING IS THE STARTUP SCRIPT FOR THE GRAPHICS DIAGNOSTICS.
|
|
|
|
# Test of the graphics turbo board.
|
|
dsp {
|
|
initgr;
|
|
buffon;
|
|
if (turbo_probe) {
|
|
if (dspramd) {
|
|
$turbofailed = -1;
|
|
}
|
|
|
|
if (dsprama) {
|
|
$turbofailed = -1;
|
|
}
|
|
|
|
dspload;
|
|
|
|
if (dspfifo) {
|
|
$turbofailed = -1;
|
|
}
|
|
|
|
if (dspre) {
|
|
$turbofailed = -1;
|
|
}
|
|
|
|
if (dspconv) {
|
|
$turbofailed = -1;
|
|
}
|
|
|
|
gr_exit;
|
|
if ($turbofailed == -1)
|
|
wait;
|
|
}
|
|
else
|
|
gr_exit;
|
|
fi
|
|
}
|
|
|
|
gr1 {
|
|
buffon;
|
|
initgr;
|
|
$failed=0;
|
|
$turbofailed=0;
|
|
|
|
# Microcode RAM address uniqueness test
|
|
if (urama) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Microcode RAM walking-bit test
|
|
if (uramd) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Data RAM address uniqueness test (from host)
|
|
if (drama) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Data RAM walking-bit test
|
|
if (dramd) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# FIFO test
|
|
if (fifo) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Download the diagnostic microcode
|
|
ge5load;
|
|
|
|
# Data RAM address uniqueness test (implemented in microcode)
|
|
if (drama2) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Download the diagnostic microcode
|
|
ge5load;
|
|
|
|
# Test of GE5 reading from FIFO while CPU reads from GE5 data ram
|
|
if (gefifo) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# DK3 finish flags test
|
|
if (finflgs) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# CPU to GE5 and GE5 to CPU DMA test
|
|
if (gedma) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Test of the XMAPs
|
|
if (xmap) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Test of the DACs
|
|
if (dac) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Initialize graphics board (to prepare for displaying)
|
|
initgr;
|
|
|
|
# Raster Engine test
|
|
if (re) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Raster Engine DMA test (fast bitplane address uniqueness test)
|
|
if (redma) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Cursor test
|
|
$cursfail = cursor 0;
|
|
if ($cursfail) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
# NOTE: Initially all GR1 boards have only one cursor chip.
|
|
# $cursfail = cursor 1;
|
|
# if ($cursfail) {
|
|
# $failed=1;
|
|
# wait;
|
|
# }
|
|
|
|
initgr;
|
|
$bpfailed=2;
|
|
# Test of the bitplane expansion board.
|
|
$bpfailed= bitp b;
|
|
if ($bpfailed == -1) {
|
|
wait;
|
|
}
|
|
|
|
$zfailed=2;
|
|
# Test of the z-buffer board.
|
|
$zfailed= bitp z;
|
|
if ($zfailed == -1) {
|
|
wait;
|
|
}
|
|
|
|
dsp;
|
|
|
|
# fix up mess left behind by graphics test
|
|
resetcons;
|
|
buffoff;
|
|
|
|
if ($failed) echo "ERROR: Failure detected on GRAPHICS board."
|
|
else echo "Graphics board tests passed."
|
|
fi
|
|
if ($bpfailed == -1) echo "ERROR: Failure detected on BITPLANE board.";
|
|
if (!$bpfailed) echo "Bitplane board tests passed.";
|
|
if ($zfailed == -1) echo "ERROR: Failure detected on Z-BUFFER board.";
|
|
if (!$zfailed) echo "Z-buffer board tests passed.";
|
|
if ($turbofailed == -1) echo "ERROR: Failure detected on TURBO board.";
|
|
if (!$turbofailed) echo "TURBO board tests passed.";
|
|
}
|
|
|
|
# Startup script for the CPU DSP diagnostics
|
|
|
|
cpudsp {
|
|
# DSP static RAM
|
|
if (cpudsp_sram) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
# END OF CPU DSP SCRIPT
|
|
}
|
|
|
|
|
|
# THE FOLLOWING IS THE STARTUP SCRIPT FOR THE CPU DIAGNOSTICS.
|
|
#
|
|
# IN ORDER FOR THE SCRIPT TO RUN PROPERLY, THE FOLLOWING MUST BE DONE:
|
|
# 1. CONNECT THE TRANSMIT AND RECEIVE PINS ON CHANNEL A AND B OF DUART 0,
|
|
# CHANNEL B OF DUART 1 (FOR CHANNEL B OF DUART 1, THE REQUEST_TO_SEND
|
|
# AND CLEAR_TO_SEND PINS MUST ALSO BE CONNECTED).
|
|
# 2. CONNECT A MICROPHONE AND A SPEAKER TO THE AUDIO CIRCUITRY.
|
|
# 3. CONNECT A ETHERNET CABLE TO THE ONBOARD ETHERNET CONNECTOR, THE CABLE
|
|
# MUST BE CONNECTED TO A TRANSCEIVER.
|
|
|
|
ip12 {
|
|
$failed=0;
|
|
# Interrupt mask registers data test.
|
|
if (int2) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# TLB test. Verify different tlb functions.
|
|
if (tlb) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# UTLB miss exception test. Verify the exception generating capability of the
|
|
# mips chip during a utlb miss.
|
|
if (utlb) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Real time clock test. Verify the accuracy of the real time clock and the carry
|
|
# circuitry by using the timer within the ctl1 gate array.
|
|
if (clock) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Interval timer test. Verify the accuracy of the interval timer by using the
|
|
# real time clock.
|
|
if (timer) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# DUART 0A/keyboard, 0B/mouse, 1B/modem, internal loopback test. Execute the
|
|
# internal loopback diagnostics provided by the DUART chips.
|
|
$tmp = duart -i0;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = duart -i1;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = duart -i2;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = duart -i3;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# DUART 0A/keyboard, 0B/mouse, 1B/modem, external loopback test. verify the
|
|
# operation of the DUART channels by simulating actual transmission.
|
|
# JUMPERS ARE NEEDED TO CONNECT TRANSMIT AND RECEIVE PINS ON ALL CHANNELS,
|
|
# REQUEST_TO_SEND AND CLEAR_TO_SEND PINS ON CHANNEL B OF DUART 1.
|
|
$tmp = duart -e0;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = duart -e2;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = duart -e3;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# fix up mess left behind by DUART test
|
|
resetcons 1;
|
|
|
|
# EEPROM pin signal test. Verify the pin signals provided for the EEPROM.
|
|
if (nvram5) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# EEPROM address test. Verify the addressing mechanism within the EEPROM.
|
|
# THIS TEST SHOULD BE RUN AS LITTLE AS POSSIBLE.
|
|
if (nvram1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# EEPROM data test. Verify the data RAM within the EEPROM.
|
|
# THIS TEST SHOULD BE RUN AS LITTLE AS POSSIBLE.
|
|
if (nvram3) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Graphics dma channel register data test.
|
|
if (pic1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# HPC1 peripheral controller register data test.
|
|
if (hpc1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Audio clock rate consistency test. Verify the consistency among 32KHz, 16KHz,
|
|
# and 8KHz sampling/playback rate.
|
|
if (audio1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Audio sampling/playback test.
|
|
# NEED MICROPHONE AND SPEAKER.
|
|
$tmp = audio2 -i0x7f -o0x7f -s5;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Ethernet controller register address/data test.
|
|
if (enet1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Ethernet controller internal/external loopback test. Execute the
|
|
# internal/external loopback diagnostics provided by the LANCE chip.
|
|
# CONNECT THE ETHERNET CABLE TO THE ONBOARD ETHERNET CONNECTOR.
|
|
if (enet2) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
$tmp = enet2 -e;
|
|
if ($tmp) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Centronics printer connection test.
|
|
# CONNECT A CENTRONICS PRINTER TO THE CPU BOARD, SHOULD SEE
|
|
# !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ****
|
|
# ON THE PRINTER
|
|
if (print1) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Centronics DMA test.
|
|
# DISCONNECT THE CENTRONICS PRINTER FROM THE CPU BOARD. GROUND THE LPBUSY
|
|
# SIGNAL.
|
|
if (print2) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
# Additional local memory test.
|
|
if (memtest) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
if ($failed) echo "ERROR: Failure detected on CPU board."
|
|
else echo "CPU board tests passed."
|
|
fi
|
|
|
|
# Floating point unit test
|
|
$failed=0;
|
|
if (fpu) {
|
|
$failed=1;
|
|
wait;
|
|
}
|
|
|
|
if ($failed) echo "ERROR: Failure detected on FPU."
|
|
else echo "FPU tests passed."
|
|
fi
|
|
|
|
# CPU DSP test
|
|
$failed=0;
|
|
cpudsp;
|
|
|
|
if ($failed) echo "ERROR: Failure detected on CPU DSP module."
|
|
else echo "CPU DSP tests passed."
|
|
fi
|
|
|
|
# VME memory test.
|
|
echo "VME memory test.";
|
|
test addr 0xbc000000#0x100000;
|
|
test data 0xbc000000#0x100000;
|
|
}
|