1
0
Files
irix-657m-src/stand/arcs/ide/IP28/ip28impoption
2022-09-29 17:59:04 +03:00

1799 lines
40 KiB
Plaintext

# This is an ide startup file.
report=4 # set verbose, but not debug
$stoponerr=1
hinv -v
$mcotest=0;
$mcoerrs = 0;
$icofailed = 0;
menu {
/* Display the version of the diagnostic */
echo "///////////////////////////////////////////////////////////////////////////"
version;
echo ""
echo " OPTION BOARD FUNCTIONAL TEST OPTIONS "
echo " -------------------------------------"
echo "Command Description"
echo ""
echo "mgv_all Galileo 1.5 function tests"
# echo "cosmo2_all Cosmo2.0 function tests"
# echo "vino VINO function tests"
# echo "camera Indycam function tests"
# echo ""
# echo "gfxva XL/XZ/Extreme diagnostics with automatic voltage change"
# echo ""
# echo "a2testva A2 audio diagnostics with automatic voltage change"
echo ""
echo ""
echo " TECHNICIAN BENCH OPTIONS"
echo " ------------------------"
echo "mgv_menu Galileo 1.5 menu"
echo "c2_menu Cosmo2.0 menu"
echo "ico_menu ICO menu"
echo ""
echo "///////////////////////////////////////////////////////////////////////////"
}
unix {
echo "<<<< About to to boot UNIX......>>>>"
boot dksc(0,1,0)unix;
}
#START of Galileo1.5 diagnostics
mgv_menu {
echo ""
echo "=================== IMPACT VIDEO IDE COMMANDS ======================"
echo "mg_setboard(0) mg_reset mgv_init mgv_galregl1"
echo "mgv_abdcb mgv_abaddrbus mgv_abdatabus mgv_abpatrn"
echo "mgv_ccdcb mgv_ccaddrbus mgv_ccdatabus mgv_ccpatrn"
echo "mgv_vgiregpatrn mgv_vgiregwalk mgv_vgiint mgv_vgidma"
echo "mgv_voutl0 mgv_voutl1 mgv_vgivoutl0"
echo "mgv_extvin mgv_vinl1"
echo "mgv_cctovgi mgv_cctovgix mgv_readcc mgv_gpitrig"
echo "mgv_csc_probe mgv_csc_bus mgv_csc_coef mgv_csc_outlut "
echo "help_mgv_csc"
echo "===================================================================="
echo "mgv_initall mgv_aball mgv_ccall "
echo "mgv_vgiregall mgv_vgiintall mgv_vgidmaall mgv_vgiall"
echo "mgv_voutall mgv_vinall mgv_loopbackall"
echo "mgv_csc_all csc_loop"
echo "mgv_all"
echo "=================================================="
echo "******* USE mgv_all to run all of them *********"
echo "=================================================="
echo ""
}
help_mgv_csc {
echo " HELP FOR RUNNING MGV CSC TESTS "
echo " mgv_csc_probe : This test checks to see if the option board is attached"
echo " Usage : mgv_csc_probe"
echo " "
echo " mgv_csc_bus : This performs the address bus test and data bus test, when"
echo " different arguments are passed"
echo " Usage : Data bus test: mgv_csc_bus -b 1 -t 3"
echo " Address bus test: mgv_csc_bus -b 0 -t 0"
echo " "
echo " mgv_csc_outlut : Performs the output lut test"
echo " Usage : mgv_csc_outlut"
echo " "
echo " mgv_csc_coef : Performs the csc coeff test"
echo " Usage : mgv_csc_coef"
echo ""
echo " mgv_csc_all : Runs the mgv_csc_probe and the mgv_csc_bus tests "
echo " csc_loop : Runs the mgv_csc_all command 20 times and then "
echo " : boots Unix"
}
mgv_initall {
$failed = 0;
echo ""
buffon;
mg_setboard 0;
mg_reset;
resetcons;
buffoff;
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
}
mgv_aball {
$failed = 0;
echo ""
echo "=====Initialize & Test AB and DRAM"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_abdcb;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_abaddrbus -r -g -b -a
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_abdatabus -r -g -b -a
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_abpatrn -r -g -b -a
if ($status) {
$failed = 1;
return($status);
}
# $status = mgv_abpatrnslow -r -g -b -a
if ($status) {
$failed = 1;
return($status);
}
}
mgv_ccall {
$failed = 0;
echo ""
echo "=====Initialize & Test CC and Frame Buffer"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_ccdcb;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_ccaddrbus
if ($status) {
$failed = 1;
return(1);
}
$status = mgv_ccdatabus
if ($status) {
$failed = 1;
return($status);
}
}
mgv_vgiregall {
$failed = 0;
echo ""
echo "=====Initialize & Test VGI registers"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_vgiregpatrn
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_vgiregwalk
if ($status) {
$failed = 1;
return($status);
}
}
mgv_vgiintall {
$failed = 0;
# echo ""
# echo "=====Initialize & Test VGI Interrupts"
# $status = mgv_init;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x1;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x2;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x4;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x8;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x10;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -i 0x20;
# if ($status) {
# $failed = 1;
# return($status);
# }
# $status = mgv_init;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -c 2 -i 0x1;
# if ($status) {
# $failed = 1;
# return($status);
# }
# $status = mgv_vgiint -c 2 -i 0x2;
# if ($status) {
# $failed = 1;
# return($status);
# }
# $status = mgv_vgiint -c 2 -i 0x4;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -c 2 -i 0x8;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -c 2 -i 0x10;
# if ($status) {
# $failed = 1;
# return($status);
# }
#
# $status = mgv_vgiint -c 2 -i 0x20;
# if ($status) {
# $failed = 1;
# return($status);
# }
}
mgv_vgidmaall {
$failed = 0;
echo ""
echo "=====Initialize & Test VGI DMA's"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -t 1 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -v 1 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -v 2 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
# $status = mgv_vgidma -o 1 -v 3 -z 50;
# if ($status) {
# return($status);
# }
ide_delay -s 2;
$status = mgv_vgidma -v 4 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -t 1 -v 5 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -t 1 -v 5 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -t 1 -v 6 -y 0x40404040 -z 50;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_initall;
if ($failed) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -t 1;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -v 1;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -v 2;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
# $status = mgv_vgidma -c 2 -o 1 -v 3;
# if ($status) {
# return($status);
# }
ide_delay -s 2;
$status = mgv_vgidma -c 2 -v 4;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -t 1 -v 5;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -t 1 -v 5;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -s 2;
$status = mgv_vgidma -c 2 -t 1 -v 6 -y 0x40404040 ;
if ($status) {
$failed = 1;
return($status);
}
}
mgv_vgiall {
$failed = 0;
$status = mgv_vgiregall;
if ($failed) {
return($status);
}
$status = mgv_vgiintall;
if ($failed) {
$failed = 1;
return($status);
}
$status = mgv_vgidmaall;
if ($failed) {
$failed = 1;
return($status);
}
}
mgv_voutall {
$failed = 0;
echo ""
echo "=====Initialize & Test Video Output"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo ""
echo "******** Please select Channel A on the WFM 601i ********"
echo "Press <Space> when ready"
$status = mgv_waitforspace -s 36000
echo ""
echo "Confirm patterns on Channel 1 Video Monitor"
$status = mgv_voutl0 1;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -ms 10000 ;
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo ""
$status = mgv_vgivoutl0;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -ms 10000 ;
echo ""
echo "******** Please select Channel B on the WFM 601i ********"
echo "Press <Space> when ready"
$status = mgv_waitforspace -s 36000
echo ""
echo "Confirm patterns on Channel 2 Video Monitor"
$status = mgv_voutl0 2;
if ($status) {
$failed = 1;
return($status);
}
ide_delay -ms 10000 ;
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo ""
$status = mgv_vgivoutl0 2;
if ($status) {
$failed = 1;
return($status);
}
}
mgv_vinall {
$failed = 0;
echo ""
echo "=====Initialize & Test Video input"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo "Video Input Tests for Channel 1"
$status = mgv_extvin;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo "Video Input Tests for Channel 2"
$status = mgv_extvin 2;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
$status = mgv_vinl1;
if ($status) {
$failed = 1;
return($status);
}
}
mgv_loopbackall {
$failed = 0;
echo "=====Initialize & Test Loop Back"
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo ""
echo "******** Please select the Loop Back switch on the IDE switch box ********"
echo "Press <Space> when ready"
$status = mgv_waitforspace -s 36000
if ($status) {
echo ""
echo "CC1 to VGI1 Loop Back Test Timed Out"
echo ""
} else {
echo ""
echo "CC1 to VGI1 Loop Back Test for Channel 1"
echo ""
$status = mgv_cctovgi 1;
if ($status) {
$failed = 1;
return($status);
}
}
$status = mgv_init;
if ($status) {
$failed = 1;
return($status);
}
echo "CC1 to VGI1 Loop Back Test for Channel 2"
$status = mgv_cctovgi 2;
if ($status) {
$failed = 1;
return($status);
}
}
mgv_csc_all {
mgv_initall;
echo "Verifying whether the CSC/TMI optional board is present ..."
$failed = 0;
$status = mgv_csc_probe ;
if ($status) {
echo "CSC/TMI optional board is NOT present"
return 0;
}
else {
echo "Running CSC diagnostics ...."
$status = mgv_csc_reset;
if ($status) {
echo "CSC Reset test failed"
$failed = 1;
return ($status);
}
$status = mgv_csc_bus -b 0 -t 0 ;
if ($status) {
echo "CSC Address Bus test failed"
$failed = 1;
return ($status);
}
else {
echo "CSC Address Bus test passed"
}
$status = mgv_csc_bus -b 1 -t 3 ;
if ($status) {
echo "CSC Data Bus test failed"
$failed = 1;
return($status);
}
else {
echo "CSC Data Bus test passed"
}
return $status ;
}
}
csc_loop {
$status = 0;
$failed = 0;
$loop_count = 0;
while ($loop_count < 20) {
$status = mgv_csc_all;
if ($failed)
return($status);
else {
$loop_count = $loop_count + 1;
echo $loop_count;
}
}
unix
}
mgv_all {
$status = 0;
$failed = 0;
echo ""
echo "Impact Video IDE Test Suite"
echo ""
############### Initialize & Test GALILEO 1.5 Register Access
echo ""
echo "=====Initialize & Test GALILEO 1.5 Register Access"
$status = mgv_initall;
if ($failed) {
return($status);
}
$status = mgv_galregl1;
if ($failed) {
return($status);
}
############### Initialize & Test CC and Frame Buffer
$status = mgv_ccall;
if ($failed) {
return($status);
}
############### Initialize & Test AB and DRAM
$status = mgv_aball;
if ($failed) {
return($status);
}
############### Initialize & Test VGI registers
$status = mgv_vgiregall;
if ($failed) {
return($status);
}
############### Initialize & Test VGI Interrupts
# $status = mgv_vgiintall;
# if ($failed) {
# return($status);
# }
############### Initialize & Test Video Output
$status = mgv_voutall;
if ($failed) {
return($status);
}
############### Initialize & Test Video input
# $status = mgv_vinall;
# if ($failed) {
# return($status);
# }
############### Initialize & Test VGI DMA's
$status = mgv_vgidmaall;
if ($failed) {
return($status);
}
############### Initialize & Test CSC
$status = mgv_csc_all;
if ($failed) {
return($status);
}
############### Initialize & Test All Loop Back
$status = mgv_loopbackall;
if ($failed) {
return(-1);
}
############### Test GPI Trigger
echo "GPI Trigger Polarity Test"
echo "Please set the GPI trigger switch to the OFF position"
echo "Press <Space> when ready"
$status = mgv_waitforspace -s 36000
if ($status) {
echo ""
echo "GPI Trigger Polarity Test Timed Out"
echo ""
} else {
$status = mgv_gpitrig -p 0;
if ($status) {
return(-1);
}
$status = mgv_gpitrig -p 1;
if ($status) {
return(-1);
}
}
echo; echo; echo;
echo "Please select the TSG422 switch on the IDE switch box"
echo "Press <Space> when ready"
$status = mgv_waitforspace -s 36000
if ($status) {
echo ""
echo "Test timed out after waiting an hour!"
return(-1)
}
############### Initialize & Exit
echo ""
echo "=====Initialize & Exit"
$status = mgv_init;
if ($status) {
return($status);
}
echo ""
echo "Impact Video IDE Test Suite Completed"
unix
}
#END of Galileo1.5 diagnostics
$status=0
$failed = 0;
#
# Start of ICO diags
#
ico_menu {
echo "///////////////////////////////////////////////////////////////////////////"
version;
echo ""
echo " MCO DEBUG TEST OPTIONS "
echo " -----------------------"
echo "Command Description"
echo ""
echo "gioslot Find MGRAS boardset and set mgbase to point to last MGRAS boardset"
echo "mg_setboard mg_setboard GIOslot Set mgbase to MGRAS bd in GIO slot "
echo ""
echo "mco_put mco_put CRSindex VALUE"
echo "mco_get mco_get CRSindex"
echo "mco_probe Probe for MCO board. mco_probe -d runs extra verification"
echo "mco_initfpga Load fpga ucode. mco_initfpga -f bootp()machine:/path/file"
echo "mcoDACmenu ICO DAC test menu"
echo "mcoVC2menu ICO VC2 test menu"
echo "mcoPPmenu ICO Pixel Path tests menu"
echo ""
echo "mcoinit Set mgbase, probe for MCO, and load fpga ucode."
echo "mco_indextest Write, Read, and compare 0-0xff to MCO Index Register"
echo "mco_setvof Load ICO video format mco_setvof -g ICO_format "
echo " ICO_formats: "
echo " 4test_800x600_60, mini_800x600_60, mini_640x480_60"
echo ""
echo "testpat[1-8] Draws specified test pattern into Impact frame buffer"
echo "icoscreen Run all ICO verification programs"
echo ""
echo "///////////////////////////////////////////////////////////////////////////"
}
mcoDACmenu {
echo "mco_indextest Write, Read, and compare 0-0xff to MCO Index Register"
echo " -----------------------"
echo " 7162 DAC Register Tests"
echo " -----------------------"
echo "mco_7162probe Basic Initialization of 7162 DAC. mco_7162 A|B"
echo "mco_7162addrreg 7162 DAC Address Reg Test. mco_7162addrreg A|B"
echo "mco_7162ctrlreg 7162 DAC Control Reg Tests. mco_7162ctrlreg A|B"
echo "mco_7162modereg 7162 DAC Mode Reg Test. mco_7162modereg A|B"
echo " -----------------------"
echo " 7162 DAC Color Palette Tests"
echo " -----------------------"
echo "mco_7162clrpaletteaddrUniq mco_7162clrpaletteaddrUniq A|B"
echo "mco_7162clrpalettewalkbit mco_7162clrpalettewalkbit A|B"
echo "mco_7162clrpalettepatrn mco_7162clrpalettepatrn A|B"
echo " -----------------------"
echo " 473 DAC Register Tests"
echo " -----------------------"
echo "mco_473probe Basic Initialization of 473 DAC. mco_473 A|B"
echo " -----------------------"
echo " 473 DAC Color Palette Tests"
echo " -----------------------"
echo "mco_473clrpaletteaddrUniq mco_473clrpaletteaddrUniq A|B"
echo "mco_473clrpalettewalkbit mco_473clrpalettewalkbit A|B"
echo "mco_473clrpalettepatrn mco_473clrpalettepatrn A|B"
echo " -----------------------"
echo " 473 DAC Overlay Register Tests"
echo " -----------------------"
echo "mco_473overlayaddrUniq mco_473overlayaddrUniq A|B"
echo "mco_473overlaywalkbit mco_473overlaywalkbit A|B"
echo "mco_473overlaypatrn mco_473overlaypatrn A|B"
}
mcoVC2menu {
echo ""
echo " -----------------------"
echo " ICO VC2 Tests"
echo " -----------------------"
echo "mco_VC2probe MCO VC2 probe and initialization"
echo "mco_vc2internalreg MCO VC2 Internal Register Tests"
echo "mco_vc2addrsbus MCO VC2 Address Bus Tests"
echo "mco_vc2databus MCO VC2 Data Bus Tests"
echo "mco_vc2addrsuniq MCO VC2 Address Uniqueness Tests"
echo "mco_vc2patrn MCO VC2 Address SRAM Pattern Tests"
echo ""
}
mcoPPmenu {
echo ""
echo " -----------------------"
echo " ICO Input/Output Swizzle (Pixel Path) Tests"
echo " -----------------------"
echo ""
echo "mco_chkcmpbittest Test MCO Check Compare bits"
echo "mco_oschksumtest mco_oschksumtest vga pattern_no"
echo "mco_daccrctest mco_daccrctest A|B pattern_no"
echo ""
echo "oschecksum Run mco_oschksumtest with all patterns"
echo "DACcrc Run mco_daccrctest with all patterns on both 7162 DACs"
}
gioslot {
$tmp = mg_setboard 0;
if ($tmp) {
echo "Found boards in slot 0"
}
else {
$tmp = mg_setboard 1;
if ($tmp) {
echo "Found boards in slot 1"
}
else {
echo "No boards found in slot 0 or slot 1"
}
}
}
enabdisp {
mg_pokexmap -r XMAP_DIB_CTRL0 -d 0x100
}
delay {
ide_delay -s 2;
}
allsetup {
$failed =0;
mg_gfxreset;
delay;
gioslot
delay;
mg_set_0ge;
delay;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
delay;
resetcons
if (!mg_gfxconsole) {
$status = mg_sync_repp
if ($status) {
$failed = 1;
return (-1);
}
$status = mg_sync_pprdram
if ($status) {
$failed = 1;
return (-1);
}
mg_xmapinit
$status = mg_rdram_ccsearch
if ($status) {
$failed = 1;
return (-1);
}
mg_initppregs
enabdisp
mg0_clear_color
}
$solid = mg_issolid;
}
mcoinit {
allsetup;
report=4;
$tmp = mco_probe -d;
if ($tmp) {
mco_initfpga -f bootp()mco_a0c0f0.rbf;
}
}
vline {
mg0_line -x $1 1023 0 100 100 100 100 -n $1 0 0 100 100 100 100
}
hline {
mg0_line -x 1279 $1 0 100 100 100 100 -n 0 $1 0 100 100 100 100
}
vline1 {
mg0_line -x $1 1200 0 100 100 100 100 -n $1 0 0 100 100 100 100
}
hline1 {
mg0_line -x 1600 $1 0 100 100 100 100 -n 0 $1 0 100 100 100 100
}
#############################################################################
# mg0_clear_color -r[red] -g[green] -b[blue] -a[alpha] -f[buffer]
# -t [optional xstart] [optional ystart]
# -d [optional xend] [optional yend]
# -s [optional rss num]
#
# Color params (red, green, blue, alpha) specified are on a 0-100 integer
# scale and will be scaled to be floats ranging from 0-1.0
# We do the scaling internally to the function since ide does not have
# atof support and it's easier to cast than to add atof support.
#############################################################################
#############################################################################
# UI to the mg0_FillTriangle routine
#
# Expects the following:
# -x (max point) x-coord y-coord z-coord red green blue alpha
# -d (mid point) x-coord y-coord z-coord red green blue alpha
# -n (min point) x-coord y-coord z-coord red green blue alpha
# -c (constant color) red geen blue alpha.
# -c will ignore any other specified color. So if you use
# -c you don't need to specify individual vertex colors.
# colors are on a 0-100 int scale and will be converted to floats
# ranging from 0-1.0
# -r [optional rss number]
# -o [optional max color]
#
#############################################################################
#############################################################################
# UI to the _mg0_line routine
# *
# Expects the following: *
# -x (max point) x-coord y-coord z-coord red green blue alpha *
# -n (min point) x-coord y-coord z-coord red green blue alpha *
# colors are on a 0-100 int scale and will be converted to floats *
# ranging from 0-1.0 *
# -s (stipple enable) *
# -l [line stipple pattern] *
# -a (anti-alias enable) *
# -X (X-line enable) *
# -r [optional rss number] *
# -t (optional texture enable) - but no tram data supplied right now*
# -c [optional maximum color value - default is 100] *
# *
# Textured lines not yet supported via this routine(see the texture tests*
# in mgras_re4func.c) *
# *
# Lines with different colors don't seem to work right -- it's probably *
# in my port. Leave it for now. Single colors work fine. *
#
#############################################################################
#############################################################################
# UI to the mg0_rect routine
#
# Draws a rectangle and can read the values back via pio
#
# Usage: -t [xstart ystart]
# -d [xend yend]
# -r[red] -g[green] -b[blue]
# -c (do the compare)
# -x (draw a textured rect with data already in the tram --
# decal mode for now)
# -m [optional mode, default = 1 (rgb12), 0=rgba8888)
#
#############################################################################
#############################################################################
# UI to the mg0_point routine
#
# mg0_point
# -x [x-coord] *
# -y [y-coord] *
# -r [red] *
# -g [green] *
# -b [blue] *
# -a [alpha] *
# -t (enables anti-aliased points) *
# -X (enables X-points) *
# -i (enables color index) *
# -c [color index] *
# -s [optional rss number] *
# -o [optional max color] *
# -d (optional dither off, default is on) *
#
#############################################################################
scene1 {
mg0_clear_color
mg0_tri -x 0 1000 0 100 0 0 0 -d 1200 500 0 0 100 0 0 -n 0 0 0 0 0 100 0
mg0_tri -x 100 200 0 99 6 8 2 -d 150 100 0 50 96 9 1 -n 0 20 0 0 6 98 7
mg0_line -x 1000 1000 0 100 100 0 0 -n 0 0 0 100 100 0 0
mg0_line -x 0 1000 0 100 0 100 0 -n 1000 0 0 100 100 0 0
mg0_clear_color -t 500 500 -d 600 600
mg0_point -x 551 -y 551 -r 100 -g100 -b100 -a100
mg0_rect -t 900 100 -d 1000 200 -r100 -g 20 -b 100
}
testpat1 {
echo "**********************************"
echo "ICO Test Pattern (Green 50%)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -g 128 -d 1600 1200
}
testpat2 {
echo "**********************************"
echo "ICO Test Pattern (Solid Black)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -r 0 -g 0 -b 0 -d 1600 1200
}
testpat3 {
echo "**********************************"
echo "ICO Test Pattern (Solid Red 0xff)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -r 255 -d 1600 1200
}
testpat4 {
echo "**********************************"
echo "ICO Test Pattern (Solid Green 0xff )"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -g 255 -d 1600 1200
}
testpat5 {
echo "**********************************"
echo "ICO Test Pattern (Solid Blue 0xFF)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -b 255 -d 1600 1200
}
testpat6 {
echo "**********************************"
echo "ICO Test Pattern (Solid White)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -r 255 -g 255 -b 255 -a 0 -d 1600 1200
}
testpat7 {
echo "**********************************"
echo "ICO Test Pattern (R=0xAA, G=0xAA, B=0xAA)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -r 170 -g 170 -b 170 -a 0 -d 1600 1200
}
testpat8 {
echo "**********************************"
echo "ICO Test Pattern (R=0x55, G=0x55, B=0x55)"
echo "**********************************"
echo "Setting up MardiGras Frame buffer"
mg0_clear_color -c 256 -r 85 -g 85 -b 85 -a 0 -d 1600 1200
}
oschecksum {
# Set VOF on ICO board
$tmp = mco_setvof 4test_800x600_60
if ($tmp = 0) {
echo "ERROR -- couldn't load MCO format \\"4test_800x600_60\\" "
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
# testpat1
# delay
#
# # Read and compare OS chksums
# $tmp = mco_oschksumtest vga 1
# if ($tmp != 0) {
# echo "Error in MCO Output Swizzle Checksum test (Red ramp)"
# $mcoerrs = $mcoerrs + 1;
# wait;
# }
# delay
# Draw the test pattern
testpat2
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 2
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (Solid Black)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat3
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 3
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (Solid Red)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat4
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 4
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (Solid Green)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat5
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 5
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (Solid Blue)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat6
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 6
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (Solid White)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat7
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 7
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (RGB=0xAAAAAA)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat8
delay
# Read and compare OS chksums
$tmp = mco_oschksumtest vga 8
if ($tmp != 0) {
echo "Error in MCO Output Swizzle Checksum test (RGB=0x555555)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
if ($mcoerrs) {
$icofailed = 1;
}
}
DACcrc {
# Set VOF on ICO board
$tmp = mco_setvof -g 4test_800x600_60
if ($tmp != 0) {
echo "ERROR -- couldn't load MCO format \\"4test_800x600_60\\" "
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
# testpat1
# delay
# # Read and compare 7162 CRCs
# $tmp = mco_daccrctest A 1
# if ($tmp != 0) {
# echo "Error in MCO 7162A DAC Checksum test (50% Green)"
# $mcoerrs = $mcoerrs + 1;
# wait;
# }
# Read and compare 7162 CRCs
# $tmp = mco_daccrctest B 1
# if ($tmp != 0) {
# echo "Error in MCO 7162B DAC Checksum test (50% Green)"
# $mcoerrs = $mcoerrs + 1;
# wait;
# }
# delay
# Draw the test pattern
testpat2
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 2
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (Solid Black)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 2
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (Solid Black)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat3
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 3
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (Solid Red)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 3
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (Solid Red)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat4
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 4
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (Solid Green)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 4
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (Solid Green)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat5
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 5
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (Solid Blue)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 5
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (Solid Blue)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat6
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 6
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (Solid White)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 6
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (Solid White)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat7
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 7
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (R=0x2AA, G=0x2AA, B=0x2AA)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 7
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (R=0x2AA, G=0x2AA, B=0x2AA)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
# Draw the test pattern
testpat8
delay
# Read and compare 7162 CRCs
$tmp = mco_daccrctest A 8
if ($tmp != 0) {
echo "Error in MCO 7162A DAC Checksum test (R=0x155, G=0x155, B=0x155)"
$mcoerrs = $mcoerrs + 1;
wait;
}
# Read and compare 7162 CRCs
$tmp = mco_daccrctest B 8
if ($tmp != 0) {
echo "Error in MCO 7162B DAC Checksum test (R=0x155, G=0x155, B=0x155)"
$mcoerrs = $mcoerrs + 1;
wait;
}
delay
if ($mcoerrs) {
$icofailed = 1;
}
}
icoscreen {
$mcoerrs = 0;
$tmp = mg_setboard 0;
if ($tmp) {
echo "Found boards in slot 0"
}
else {
$tmp = mg_setboard 1;
if ($tmp) {
echo "Found boards in slot 1"
}
else {
echo "No boards found in slot 0 or slot 1"
}
}
echo "Setting up MardiGras Frame buffer"
allsetup
mco_setvof mini_800x600_60
mg0_clear_color -d 1600 1200 -r 100 -g 0 -b 0 -a 0
$tmp = mco_probe -d ;
if ($tmp = 0) {
echo "Error detected in MCO probe test -- extended version"
$mcoerrs = $mcoerrs + 1;
wait;
}
$tmp = mco_initfpga -f bootp()mco_a0c0f0.rbf
if ($tmp) {
echo "Error detected in MCO FPGA initialization"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162probe A;
if ($tmp) {
echo "Error detected in MCO 7162 DAC A probe"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162probe B;
if ($tmp) {
echo "Error detected in MCO 7162 DAC B probe"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473probe A;
if ($tmp) {
echo "Error detected in MCO 473 DAC A probe"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473probe B;
if ($tmp) {
echo "Error detected in MCO 473 DAC B probe"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV7162 DAC A registers
echo "******************************"
echo "Check ADV7162 DAC A registers"
echo "******************************"
$tmp = mco_7162addrreg A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Address Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162ctrlreg A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Control Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162modereg A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Mode Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV7162 DAC A Color Palette RAM
echo "Check ADV7162 DAC A Color Palette RAM"
$tmp = mco_7162clrpaletteaddrUniq A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162clrpalettewalkbit A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162clrpalettepatrn A
if ($tmp) {
echo "Error detected in MCO 7162 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV7162 DAC B registers
echo "******************************"
echo "Check ADV7162 DAC B registers"
echo "******************************"
$tmp = mco_7162addrreg B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Address Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162ctrlreg B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Control Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162modereg B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Mode Reg Test"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV7162 DAC B Color Palette RAM
echo "Check ADV7162 DAC B Color Palette RAM"
$tmp = mco_7162clrpaletteaddrUniq B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162clrpalettewalkbit B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_7162clrpalettepatrn B
if ($tmp) {
echo "Error detected in MCO 7162 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV473 DAC A Color Palette RAM
echo "******************************"
echo "Check ADV473 DAC A Color Palette RAM"
echo "******************************"
$tmp = mco_473clrpaletteaddrUniq A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473clrpalettewalkbit A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473clrpalettepatrn A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "******************************"
echo "Check ADV473 DAC A Overlay Register"
echo "******************************"
$tmp = mco_473overlayaddrUniq A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473overlaywalkbit A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473overlaypatrn A
if ($tmp) {
echo "Error detected in MCO 473 DAC A Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
# Check ADV473 DAC B Color Palette RAM
echo "******************************"
echo "Check ADV473 DAC B Color Palette RAM"
echo "******************************"
$tmp = mco_473clrpaletteaddrUniq B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473clrpalettewalkbit B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473clrpalettepatrn B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Color Palette RAM"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "******************************"
echo "Check ADV473 DAC B Overlay Register"
echo "******************************"
$tmp = mco_473overlayaddrUniq B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473overlaywalkbit B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_473overlaypatrn B
if ($tmp) {
echo "Error detected in MCO 473 DAC B Overlay Register"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "******************************"
echo "Probe MCO VC2"
echo "******************************"
$tmp = mco_VC2probe
if ($tmp) {
echo "Error detected probing MCO VC2"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "******************************"
echo "MCO VC2 Internal Registers Test"
echo "******************************"
$tmp = mco_vc2internalreg
if ($tmp) {
echo "Error detected in MCO VC2 Internal Register Test"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "******************************"
echo "MCO VC2 SRAM Tests"
echo "******************************"
$tmp = mco_vc2addrsbus
if ($tmp) {
echo "Error detected in MCO VC2 SRAM Address Bus Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_vc2databus
if ($tmp) {
echo "Error detected in MCO VC2 SRAM Data Bus Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_vc2addrsuniq
if ($tmp) {
echo "Error detected in MCO VC2 SRAM Address Uniqueness Test"
$mcoerrs = $mcoerrs +1;
wait;
}
$tmp = mco_vc2patrn
if ($tmp) {
echo "Error detected in MCO VC2 SRAM Pattern Test"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "*******************************************************"
echo "MCO Input Swizzle/Output Swizzle Check Compare Bit Test"
echo "*******************************************************"
echo
mco_initfpga -f bootp()fpgas.rbf
$tmp = mco_chkcmpbittest;
if ($tmp) {
echo "Error detected in MCO VC2 IS/OS Check Compare Bit Test"
$mcoerrs = $mcoerrs +1;
wait;
}
echo "*******************************************************"
echo "MCO Input Swizzle/Output Swizzle Checksum Test"
echo "*******************************************************"
echo
oschecksum
echo "*******************************************************"
echo "MCO 7162 DAC CRC Test"
echo "*******************************************************"
echo
DACcrc
if ($mcoerrs) {
$icofailed = 1;
}
if ($icofailed == 0) {
unix
}
}
menu