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

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