1
0
Files
2022-09-29 17:59:04 +03:00

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;
}