1976 lines
34 KiB
Plaintext
1976 lines
34 KiB
Plaintext
# This is an ide startup file.
|
|
report=4 # set verbose, but not debug
|
|
$stoponerr=1
|
|
hinv -v
|
|
|
|
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 "kva Galileo video board diagnostics with automatic voltage change"
|
|
echo "kvaloop Loop Galileo board diagnostics 3 times with voltage change"
|
|
echo ""
|
|
echo " TECHNICIAN BENCH OPTIONS"
|
|
echo " ------------------------"
|
|
echo "gfx XL/XZ/Extreme diagnostics with no voltage change"
|
|
echo "a2test A2 audio diagnostics with no voltage change"
|
|
echo "kv Galileo video board diagnostics with no voltage change"
|
|
echo "kvloop Loop Galileo board diagnostics 3 times with no voltage change"
|
|
echo "mgv_menu Galileo 1.5 menu"
|
|
echo "cosmo2_menu Cosmo2.0 menu"
|
|
echo ""
|
|
echo "///////////////////////////////////////////////////////////////////////////"
|
|
}
|
|
|
|
unix {
|
|
echo "<<<< About to to boot UNIX......>>>>"
|
|
boot dksc(0,1,0)unix;
|
|
}
|
|
|
|
# Start of GR2 diagnostics
|
|
# Initialize variables used by GR2.
|
|
$stride_failed=0 ;
|
|
$zb_failed=0 ;
|
|
$gr2_failed=0;
|
|
$chkbt457_failed=0;
|
|
$bp_failed=0;
|
|
$shramre3_failed=0;
|
|
$cpushram_failed=0;
|
|
$cpure3_failed=0;
|
|
$ctxsw_failed=0;
|
|
$vdma_failed=0;
|
|
$quad_failed=0;
|
|
$fourquad_failed=0;
|
|
$mon=0;
|
|
|
|
$test_xmap_failed = 0;
|
|
$test_xmap_clut_failed = 0;
|
|
|
|
gr2_vhwinit {
|
|
gr2_videoclk 0x47
|
|
if ($mon ==1 ) gr2_initclock 0x132;
|
|
else gr2_initclock 0x107;
|
|
fi
|
|
gr2_wrconfig 0x0
|
|
gr2_delay 3
|
|
gr2_wrconfig 0x1
|
|
gr2_vinitdac
|
|
}
|
|
|
|
gr2_initre {
|
|
$a = gr2_getGR2ver;
|
|
if ($a < 4) gr2_wrfifo 0 0;
|
|
else if ($a == 4) gr2_wrfifo 0 1;
|
|
else gr2_wrfifo 0 2;
|
|
}
|
|
|
|
gr2_initsys {
|
|
gr2_reset
|
|
gr2_vhwinit
|
|
$mon = gr2_getMonType;
|
|
if ($mon == 1) gr2_initvc1 4;
|
|
else gr2_initvc1 20;
|
|
fi
|
|
gr2_xcol
|
|
gr2_inithq
|
|
gr2_load_ucode ge
|
|
gr2_load_ucode hq
|
|
gr2_unstall
|
|
gr2_initre
|
|
}
|
|
|
|
clear {
|
|
gr2_wrfifo 35 0
|
|
gr2_wrfifo 6 0
|
|
}
|
|
|
|
gr2_quad {
|
|
gr2_wrfifo 33 0
|
|
}
|
|
|
|
gr2_fourquad {
|
|
gr2_wrfifo 34 0
|
|
}
|
|
|
|
test_xmap {
|
|
gr2_initsys;
|
|
$a=gr2_txmap;
|
|
return $a;
|
|
}
|
|
|
|
test_xmap_clut {
|
|
gr2_initsys;
|
|
$a=gr2_txmap_clut;
|
|
return $a;
|
|
}
|
|
|
|
gr2_vdma {
|
|
gr2_initsys;
|
|
$b=gr2_cachefdma 32 1;
|
|
$b=$b+gr2_cachefdma 256 1;
|
|
$b=$b+gr2_cachefdma 512 1;
|
|
$b=$b+gr2_cachefdma 128 1;
|
|
$b=$b+gr2_yzoomdma ;
|
|
$b=$b+gr2_yzoomdma 32 32;
|
|
$b=$b+gr2_yzoomdma 128 128;
|
|
$b=$b+gr2_yzoomdma 256 256;
|
|
$b=$b+gr2_stridedma;
|
|
$b=$b+gr2_stridedma 32 32;
|
|
$b=$b+gr2_stridedma 256 1;
|
|
$b=$b+gr2_stridedma 512 0;
|
|
|
|
return $b;
|
|
}
|
|
|
|
gr2 {
|
|
|
|
# Too verbose with report=4
|
|
report=3;
|
|
|
|
$stride_failed=0 ;
|
|
$zb_failed=0 ;
|
|
$gr2_failed=0;
|
|
$chkbt457_failed=0;
|
|
$bp_failed=0;
|
|
$shramre3_failed=0;
|
|
$cpushram_failed=0;
|
|
$cpure3_failed=0;
|
|
$ctxsw_failed=0;
|
|
$vdma_failed=0;
|
|
$quad_failed=0;
|
|
$fourquad_failed=0;
|
|
|
|
$test_xmap_failed = 0;
|
|
$test_xmap_clut_failed = 0;
|
|
|
|
gr2_reset;
|
|
buffon
|
|
|
|
|
|
# HQ2 internal register 19 must read 0xdeadbeef
|
|
report = 2;
|
|
gr2_rdhqint 19;
|
|
report = 1;
|
|
|
|
# Test VC1 SRAM
|
|
gr2_vhwinit
|
|
report =4
|
|
if (gr2_vc1_sram) {
|
|
echo "VC1 SRAM test failded";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ram 0 at Ge7 at 0
|
|
$tmp = gr2_tram 0;
|
|
if ($tmp) {
|
|
echo "GE7 at 0 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
$err = 1;
|
|
wait;
|
|
}
|
|
# Test ram 0 at Ge7 at 1
|
|
$tmp = gr2_tram 1;
|
|
if ($tmp) {
|
|
echo "GE7 at 1 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
$err = 1;
|
|
wait;
|
|
}
|
|
# Test ram 0 at Ge7 at 2
|
|
$tmp = gr2_tram 2;
|
|
if ($tmp) {
|
|
echo "GE7 at 2 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
$err = 1;
|
|
wait;
|
|
}
|
|
# Test ram 0 at Ge7 at 3
|
|
$tmp = gr2_tram 3 ;
|
|
if ($tmp) {
|
|
echo "GE7 at 3 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ram 0 at Ge7 at 4
|
|
$tmp = gr2_tram 4 ;
|
|
if ($tmp) {
|
|
echo "GE7 at 4 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ram 0 at Ge7 at 5
|
|
$tmp = gr2_tram 5 ;
|
|
if ($tmp) {
|
|
echo "GE7 at 5 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ram 0 at Ge7 at 6
|
|
$tmp = gr2_tram 6 ;
|
|
if ($tmp) {
|
|
echo "GE7 at 6 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ram 0 at Ge7 at 7
|
|
$tmp = gr2_tram 7 ;
|
|
if ($tmp) {
|
|
echo "GE7 at 7 RAM0 test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test shram
|
|
$tmp = gr2_tram 8 ;
|
|
if ($tmp) {
|
|
echo "Share ram test failed ";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test Hq2uram
|
|
$tmp = gr2_tram 9 ;
|
|
if ($tmp) {
|
|
echo "HQ2 uram test failed ";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test ge7uram
|
|
$tmp = gr2_tram 10;
|
|
if ($tmp) {
|
|
echo "GE7 uram test failed ";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
gr2_initsys;
|
|
clear;
|
|
|
|
# Test HQ2
|
|
if(gr2_hq2test) {
|
|
echo "HQ2 test failed ";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test shareram using Ucode
|
|
if (gr2_shram) {
|
|
echo "Shram test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test internal GE7 ram
|
|
if (gr2_ram12) {
|
|
echo "GE7 internal test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test seedrom
|
|
if (gr2_seedrom) {
|
|
echo "GE7 seedrom test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
# Test the squaroot rom
|
|
if (gr2_sqrom) {
|
|
echo "GE7 sqrom test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
gr2_initsys ;
|
|
|
|
# Test Ge 7 bus
|
|
if (gr2_gebus) {
|
|
echo "GE7 bus test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
|
|
# Test ge floating point unit
|
|
if (gr2_gefloat) {
|
|
echo "GE7 floating point test failed"
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err = 1;
|
|
}
|
|
gr2_initsys;
|
|
clear;
|
|
|
|
if ( $err ) {
|
|
echo "HQ & GE Tests failed\n";
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$err=0
|
|
$gr2_failed=1
|
|
}
|
|
else {
|
|
resetcons;
|
|
buffoff;
|
|
echo "HQ & GE Tests passed\n"
|
|
}
|
|
buffon
|
|
|
|
# Test bt457
|
|
if (gr2_chkbt457) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$chkbt457_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test bitplane VM2
|
|
gr2_initsys
|
|
if (gr2_bp) {
|
|
$bp_failed = 1;
|
|
$err=1;
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
# Test Shared ram and Re
|
|
gr2_initsys
|
|
$tmp = gr2_shramre3
|
|
if ($tmp) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$shramre3_failed =1;
|
|
$err=1;
|
|
}
|
|
# Test DMA between host and GE7 shared ram
|
|
gr2_initsys
|
|
clear
|
|
$tmp = gr2_cpushram
|
|
if ($tmp) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$cpushram_failed =1;
|
|
$err=1;
|
|
}
|
|
# Test DMA between host and and RE3
|
|
resetcons
|
|
buffon
|
|
gr2_initsys
|
|
$tmp = gr2_cpure3
|
|
if ($tmp) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$cpure3_failed =1;
|
|
$err=1;
|
|
}
|
|
# Test GE7 context switching
|
|
if(gr2_ctxsw) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$ctxsw_failed =1;
|
|
$err=1;
|
|
}
|
|
clear;
|
|
# Test quad drawing
|
|
$tmp = gr2_quad
|
|
if ($tmp) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$quad_failed =1;
|
|
$err=1;
|
|
}
|
|
$tmp = gr2_fourquad
|
|
if ($tmp) {
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
$fourquad_failed = 1;
|
|
$err=1;
|
|
}
|
|
clear;
|
|
|
|
if ($chkbt457_failed) echo "Bt457 test failed";
|
|
if ($bp_failed) echo "bitplane test failed";
|
|
if ($shramre3_failed) echo "shramre3 test failed"
|
|
if ($cpushram_failed) echo "CPU shram test failed";
|
|
if ($cpure3_failed) echo "cpure3 test failed ";
|
|
if ($ctxsw_failed) echo "context switching test failed ";
|
|
if ($vdma_failed) echo "vdma controller test failed ";
|
|
if ($quad_failed) echo "quad test failed";
|
|
if ($fourquad_failed) echo "fourquad test failed";
|
|
|
|
if ($err)
|
|
{
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
echo "****** PRESS RETURN TO CONTINUE OR ^C TO EXIT ************"
|
|
$err=0
|
|
$gr2_failed=1
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
else {
|
|
resetcons;
|
|
buffoff;
|
|
echo "BT457, Bit-Plane, DMA and QUADs Tests Passed.\n"
|
|
}
|
|
buffon
|
|
|
|
# Test stridedma between shram and re3
|
|
gr2_initsys
|
|
$tmp = gr2_stride
|
|
if ($tmp) {
|
|
$stride_failed =1 ;
|
|
$err=1;
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
# Test Zbuffer
|
|
gr2_initsys
|
|
$tmp=gr2_zb
|
|
if($tmp) {
|
|
$zb_failed =1;
|
|
$err=1;
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
resetcons
|
|
buffoff
|
|
echo "************************* RESULTS ********************************"
|
|
if ($stride_failed) {
|
|
echo "stride test failed";
|
|
$gr2_failed = 1;
|
|
wait;
|
|
}
|
|
if ($zb_failed) {
|
|
echo "Zbuffer test failed";
|
|
$gr2_failed = 1;
|
|
wait;
|
|
}
|
|
if (!$gr2_failed) echo "Stride DMA, and Z-Buffer Test Passed.\n"
|
|
# Test Xmap
|
|
buffon
|
|
echo "testing XMAP"
|
|
if (test_xmap) {
|
|
$test_xmap_failed =1;
|
|
$err=1;
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
# Test Xmap CLUT
|
|
if (test_xmap_clut) {
|
|
$test_xmap_clut_failed =1;
|
|
$err=1;
|
|
resetcons;
|
|
buffoff;
|
|
wait;
|
|
}
|
|
resetcons
|
|
buffoff
|
|
echo "************************* RESULTS ********************************"
|
|
if ($test_xmap_failed) {
|
|
echo "test_xmap test failed";
|
|
$gr2_failed = 1;
|
|
}
|
|
if ($test_xmap_clut_failed) {
|
|
echo "test_xmap_clut test failed";
|
|
$gr2_failed = 1;
|
|
}
|
|
if (!$err) echo "XMAPs Test Passed.\n"
|
|
|
|
|
|
if ($gr2_failed) {
|
|
echo "ERROR: Failure detected on graphics board."
|
|
wait;
|
|
}
|
|
else echo "graphics board tests passed"
|
|
fi
|
|
echo " *****************END OF THE TEST *****************"
|
|
|
|
# Restore verbosity
|
|
report=4
|
|
}
|
|
|
|
gr2_all {
|
|
$tmp = gr2_setboard 0;
|
|
if ($tmp) {
|
|
|
|
echo "Testing gr3/gu1 in slot 0."
|
|
gr2;
|
|
if ($gr2_failed)
|
|
echo "ERROR: Failure detected on gr3/gu1 in slot 0."
|
|
}
|
|
|
|
$tmp = gr2_setboard 1;
|
|
if ($tmp) {
|
|
echo "Testing gr3/gu1 in slot 1."
|
|
gr2;
|
|
if ($gr2_failed)
|
|
echo "ERROR: Failure detected on gr3/gu1 in slot 1."
|
|
}
|
|
}
|
|
# END OF GR2 SUPPORT
|
|
|
|
# START OF VINO DIAGNOSTICS
|
|
# THE FOLLOWING IS THE STARTUP SCRIPT FOR THE VINO DIAGNOSTICS.
|
|
#
|
|
# IN ORDER FOR THE SCRIPT TO RUN PROPERLY, THE FOLLOWING MUST BE DONE:
|
|
# 1. CONNECT A PAL VIDEO SOURCE TO A JACK
|
|
# 2. CONNECT A NTSC VIDEO SOURCE TO A JACK
|
|
#
|
|
vino {
|
|
$tmp = vino_regtest
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_7191_init
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
|
|
vino_inputs c
|
|
|
|
$tmp = vino_7191_status
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
|
|
vino_inputs s
|
|
|
|
$tmp = vino_7191_status
|
|
|
|
echo "# IN ORDER FOR THE VINO SCRIPT TO RUN PROPERLY, THE FOLLOWING MUST BE DONE:"
|
|
echo "# 1. CONNECT A PAL VIDEO SOURCE TO A JACK"
|
|
echo "# 2. CONNECT A NTSC VIDEO SOURCE TO A JACK"
|
|
|
|
$tmp = vino_dma1 -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma1 -a -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma3 -a -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma3 -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma4 -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma4 -a -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma5 -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma5 -a -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma6 -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma6 -a -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma7 -a -b -p
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
|
|
$tmp = vino_dma1 -a -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma1 -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma3 -a -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma3 -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma4 -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma4 -a -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma5 -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma5 -a -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma6 -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma6 -a -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_dma7 -a -b -n
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
}
|
|
|
|
camera {
|
|
$tmp = vino_camera_init
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
$tmp = vino_camera
|
|
if ($tmp && $stoponerr)
|
|
wait;
|
|
}
|
|
|
|
# END OF VINO DIAGNOSTICS
|
|
|
|
|
|
# Initialize variables used by ng1.
|
|
$err=0
|
|
$ng1failed=0
|
|
$ng1_rex3_failed=0
|
|
$ng1_bt445_failed=0
|
|
$ng1_cmap_failed=0
|
|
$ng1_xmap9_failed=0
|
|
$ng1_vc2_failed=0
|
|
$ng1_vram_failed=0
|
|
$ng1_cid_failed=0
|
|
$ng1_dma_failed=0
|
|
$ng1_dma_result=-1
|
|
|
|
# Start of NG1 diagnostics
|
|
|
|
ng1_script {
|
|
$ng1failed=0;
|
|
$err=0;
|
|
buffon
|
|
|
|
# Test Rex3
|
|
if(ng1_rexregs) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_rex3_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test bt445
|
|
if(ng1_bt445test) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_bt445_failed =1;
|
|
$err=1;
|
|
}
|
|
# Test cmap
|
|
if(ng1_cmaptest) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_cmap_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test Xmap9
|
|
if(ng1_xmap9test) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_xmap9_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test VC2
|
|
if(ng1_vc2test) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_vc2_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test VRAM
|
|
if(ng1_vram) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_vram_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Test CID
|
|
if(ng1_cid) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_cid_failed = 1;
|
|
$err=1;
|
|
}
|
|
# Change Bus width to 64 & run DMA tests
|
|
ng1_setvisual 0;
|
|
ng1_color 0;
|
|
ng1_block 0 0 105 105;
|
|
ng1_buswidth 64;
|
|
ng1_rwpacked 1;
|
|
ng1_rwdouble 1;
|
|
$ng1_dma_result=ng1_dmatest 0 0 100 100;
|
|
if($ng1_dma_result == -1) {
|
|
if (!$report) {
|
|
emfail 2;
|
|
wait;
|
|
exit;
|
|
}
|
|
$ng1_dma_failed = 1;
|
|
$err=1;
|
|
}
|
|
ng1_buswidth 32;
|
|
resetcons
|
|
buffoff
|
|
echo "************************* RESULTS ******************************"
|
|
|
|
if($ng1_rex3_failed) {
|
|
echo "Rex3 Register r/w tests failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_cmap_failed) {
|
|
echo "Cmap r/w tests failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_xmap9_failed) {
|
|
echo "Xmap9 r/w tests failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_vc2_failed) {
|
|
echo "VC2 r/w tests failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_vram_failed) {
|
|
echo "VRAM test failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_cid_failed) {
|
|
echo "CID test failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
if($ng1_dma_failed) {
|
|
echo "DMA tests failed.";
|
|
$ng1failed = 1;
|
|
}
|
|
|
|
if (!$err) echo "REX3, CMAP, XMAP9, VC2, VRAM, CID & DMA Test Passed.\n"
|
|
if ($ng1failed) echo "ERROR: Failure detected on NG1 graphics board."
|
|
else echo "NG1 graphics board tests passed"
|
|
fi
|
|
echo " *****************END OF THE TEST *****************"
|
|
}
|
|
|
|
ng1 {
|
|
# test board 0 only (mostly for Indy)
|
|
ng1_probe;
|
|
$tmp = ng1_setboard 0;
|
|
if ($tmp)
|
|
ng1_script;
|
|
}
|
|
|
|
ng1_all {
|
|
$tmp = ng1_setboard 0;
|
|
if ($tmp) {
|
|
echo "Testing gfx in slot 0."
|
|
ng1_script;
|
|
if ($ng1failed)
|
|
echo "ERROR: Failure detected on gfx in slot 0."
|
|
}
|
|
|
|
$tmp = ng1_setboard 1;
|
|
if ($tmp) {
|
|
echo "Testing gfx in slot 1."
|
|
ng1_script;
|
|
if ($ng1failed)
|
|
echo "ERROR: Failure detected on gfx in slot 1."
|
|
}
|
|
}
|
|
|
|
# END OF NG1 SUPPORT
|
|
|
|
gfx {
|
|
$express = gr2_probe;
|
|
$newport=ng1_probe;
|
|
|
|
if ($newport) {
|
|
ng1_all;
|
|
}
|
|
if ($express) {
|
|
gr2_all;
|
|
}
|
|
unix;
|
|
}
|
|
|
|
gfxva {
|
|
echo "Voltage changed to 4.75 V\n"
|
|
chg_volt 0;
|
|
ide_delay -s 15;
|
|
$express = gr2_probe;
|
|
$newport=ng1_probe;
|
|
|
|
if ($newport) {
|
|
ng1_all;
|
|
}
|
|
if ($express) {
|
|
gr2_all;
|
|
}
|
|
echo "Voltage changed to 5.25 V\n"
|
|
chg_volt 1;
|
|
ide_delay -s 15;
|
|
chg_volt 2;
|
|
ide_delay -s 15;
|
|
$express = gr2_probe;
|
|
$newport=ng1_probe;
|
|
|
|
if ($newport) {
|
|
ng1_all;
|
|
}
|
|
if ($express) {
|
|
gr2_all;
|
|
}
|
|
echo "Voltage changed to 5.0 V\n"
|
|
chg_volt 1;
|
|
ide_delay -s 15;
|
|
unix
|
|
}
|
|
|
|
#Start of Galileo diagnostics
|
|
$mgras = 0
|
|
CheckSlot {
|
|
$mgras = 0;
|
|
$tmp = gr2_setboard 0;
|
|
if ($tmp) {
|
|
echo "GR2 Board Found in slot 0."
|
|
return 0
|
|
}
|
|
|
|
$tmp = gr2_setboard 1;
|
|
if ($tmp) {
|
|
echo "GR2 Board Found in slot 1."
|
|
return 0
|
|
}
|
|
|
|
$tmp = mg_setboard 0;
|
|
if ($tmp) {
|
|
echo "IMPACT Board Found in slot 0."
|
|
$mgras = 1;
|
|
return 0
|
|
}
|
|
|
|
if ($tmp) {
|
|
$mgras = 1;
|
|
echo "IMPACT Board Found in slot 1."
|
|
return 0
|
|
}
|
|
|
|
$tmp = ng1_setboard 0;
|
|
if ($tmp) {
|
|
echo "NG1 Board Found in slot 0."
|
|
return 0
|
|
}
|
|
|
|
$tmp = ng1_setboard 1;
|
|
if ($tmp) {
|
|
echo "NG1 Board Found in slot 1."
|
|
return 0
|
|
}
|
|
|
|
$tmp = ng1_setboard 2;
|
|
if ($tmp) {
|
|
echo "NG1 Board Found in slot 2."
|
|
return 0
|
|
}
|
|
}
|
|
|
|
cc1test {
|
|
CheckSlot;
|
|
echo "CC1 Frame Buffer Test";
|
|
if ($mgras)
|
|
$status =mgv1_ev1_init ;
|
|
else
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "CC1 Memory Test";
|
|
if ($mgras)
|
|
$status = mgv1_cc1_mem;
|
|
else
|
|
$status = cc1_mem;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
echo "CC1 (DMA MODE)Memory Test";
|
|
if ($mgras)
|
|
$status = mgv1_cc1_dma;
|
|
else
|
|
$status = cc1_dma;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
ab1_red {
|
|
CheckSlot;
|
|
if ($mgras)
|
|
$status =mgv1_ev1_init ;
|
|
else
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "AB1 Red Channel Memory Test ";
|
|
if ($mgras)
|
|
$status = mgv1_ab1_rmem;
|
|
else
|
|
$status = ab1_rmem;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
ab1_blue {
|
|
CheckSlot;
|
|
if ($mgras)
|
|
$status =mgv1_ev1_init ;
|
|
else
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "AB1 Blue Channel Memory Test ";
|
|
if ($mgras)
|
|
$status = ab1_bmem;
|
|
else
|
|
$status = ab1_bmem;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
ab1_green {
|
|
CheckSlot;
|
|
if ($mgras)
|
|
$status =mgv1_ev1_init ;
|
|
else
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "AB1 Green Channel Memory Test ";
|
|
if ($mgras)
|
|
$status = mgv1_ab1_gmem;
|
|
else
|
|
$status = ab1_gmem;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
ab1 {
|
|
CheckSlot;
|
|
if ($mgras)
|
|
$status =mgv1_ev1_init ;
|
|
else
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
if ($mgras)
|
|
status = mgv1_ab1_mem;
|
|
else
|
|
status = ab1_mem;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
kvtst {
|
|
CheckSlot;
|
|
if ($mgras) {
|
|
$status =mgv1_ev1_init ;
|
|
}
|
|
else {
|
|
$status =ev1_init ;
|
|
}
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
if ($mgras) {
|
|
echo "Test CC1 Display Control Bus";
|
|
$status = cc1_dcb;
|
|
if ($status)
|
|
wait;
|
|
echo "Test AB1 Display Control Bus";
|
|
$status = ab1_dcb;
|
|
if ($status)
|
|
wait;
|
|
echo "CC1 Memory Test";
|
|
cc1test;
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
ab1;
|
|
}
|
|
else {
|
|
echo "Test Display Control Bus";
|
|
$status = ev1_dcb;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
echo "CC1 Memory Test";
|
|
cc1test;
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
ab1;
|
|
}
|
|
}
|
|
|
|
kv {
|
|
kvtst;
|
|
unix;
|
|
}
|
|
|
|
kvatst {
|
|
CheckSlot;
|
|
if ($mgras) {
|
|
echo "Voltage changed to 5.25 V\n"
|
|
chg_volt 1;
|
|
ide_delay -s 15;
|
|
chg_volt 2;
|
|
ide_delay -s 15;
|
|
kvtst
|
|
}
|
|
else {
|
|
echo "Voltage changed to 4.75 V\n"
|
|
chg_volt 0;
|
|
ide_delay -s 15;
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Not Found"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "Test Display Control Bus";
|
|
$status = ev1_dcb;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
echo "CC1 Memory Test";
|
|
cc1test;
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
ab1;
|
|
|
|
echo "Voltage changed to 5.25 V\n"
|
|
chg_volt 1;
|
|
ide_delay -s 15;
|
|
chg_volt 2;
|
|
ide_delay -s 15;
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "Test Display Control Bus";
|
|
$status = ev1_dcb;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
echo "CC1 Memory Test";
|
|
cc1test;
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
ab1;
|
|
|
|
echo "Voltage changed to 5.0 V\n"
|
|
chg_volt 1;
|
|
ide_delay -s 15;
|
|
$status =ev1_init ;
|
|
if ($status) {
|
|
echo " Galileo Board Initialization FAILED"
|
|
return ($status);
|
|
}
|
|
echo "Galileo Board Initialized Properly"
|
|
echo "Test Display Control Bus";
|
|
$status = ev1_dcb;
|
|
if ($status) {
|
|
wait;
|
|
}
|
|
echo "CC1 Memory Test";
|
|
cc1test;
|
|
echo "AB1 Memory Test (Red, Green, Blue)";
|
|
ab1;
|
|
}
|
|
|
|
unix;
|
|
}
|
|
|
|
kva {
|
|
kvatst;
|
|
unix;
|
|
}
|
|
|
|
kvloop {
|
|
$loopcount = 1;
|
|
$kvtstpass = 0;
|
|
$kvtstfail = 0;
|
|
while ( $loopcount < 4 ) {
|
|
echo ""
|
|
echo "----------------------------------------------------"
|
|
echo "Starting kv test loop" $loopcount
|
|
echo "----------------------------------------------------\n"
|
|
if(kvtst) {
|
|
$kvtstfail = $kvtstfail + 1;
|
|
$failed = 1;
|
|
}
|
|
else {
|
|
$kvtstpass = $kvtstpass + 1;
|
|
}
|
|
$loopcount = $loopcount + 1;
|
|
}
|
|
echo ""
|
|
echo "----------------------------------------------------"
|
|
echo "kv test: Pass =" $kvtstpass" Fail =" $kvtstfail
|
|
echo "----------------------------------------------------"
|
|
echo ""
|
|
echo ""
|
|
unix;
|
|
|
|
}
|
|
|
|
kvaloop {
|
|
$loopcount = 1;
|
|
$kvtstpass = 0;
|
|
$kvtstfail = 0;
|
|
while ( $loopcount < 4 ) {
|
|
echo ""
|
|
echo "----------------------------------------------------"
|
|
echo "Starting kva test loop" $loopcount
|
|
echo "----------------------------------------------------\n"
|
|
if(kvatst) {
|
|
$kvtstfail = $kvtstfail + 1;
|
|
$failed = 1;
|
|
}
|
|
else {
|
|
$kvtstpass = $kvtstpass + 1;
|
|
}
|
|
$loopcount = $loopcount + 1;
|
|
}
|
|
echo ""
|
|
echo "----------------------------------------------------"
|
|
echo "kva test: Pass =" $kvtstpass" Fail =" $kvtstfail
|
|
echo "----------------------------------------------------"
|
|
echo ""
|
|
echo ""
|
|
if ($kvtstfail) {
|
|
echo "ERROR: Failure detected on Galileo video board."
|
|
wait;
|
|
}
|
|
else {
|
|
unix;
|
|
}
|
|
}
|
|
|
|
|
|
#END of Galileo diagnostics
|
|
|
|
#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 "===================================================================="
|
|
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_all"
|
|
echo "=================================================="
|
|
echo "******* USE mgv_all to run all of them *********"
|
|
echo "=================================================="
|
|
echo ""
|
|
}
|
|
|
|
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 86400
|
|
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 86400
|
|
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 86400
|
|
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_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"
|
|
}
|
|
|
|
$status = mgv_csc_outlut ;
|
|
|
|
if ($status) {
|
|
echo "CSC Output LUTS test failed"
|
|
$failed = 1;
|
|
return($status);
|
|
}
|
|
else {
|
|
echo "CSC Output LUTS test passed"
|
|
}
|
|
|
|
$status = mgv_csc_coef ;
|
|
|
|
if ($status) {
|
|
echo "CSC Coefficient test failed"
|
|
$failed = 1;
|
|
return ($status);
|
|
}
|
|
else {
|
|
echo "CSC Coefficient test passed"
|
|
}
|
|
|
|
return $status ;
|
|
}
|
|
}
|
|
|
|
mgv_all {
|
|
$status = 0;
|
|
$failed = 0;
|
|
echo ""
|
|
echo "Impact Video IDE Test Suite"
|
|
echo ""
|
|
|
|
############### 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 86400
|
|
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 86400
|
|
if ($status) {
|
|
echo ""
|
|
echo "Test timed out after waiting an hour!"
|
|
return(-1)
|
|
}
|
|
|
|
echo; echo; 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 & 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;
|
|
|
|
menu
|