665 lines
15 KiB
Plaintext
665 lines
15 KiB
Plaintext
rdram_color_buffer {
|
|
echo "Checking color buffer"
|
|
echo "Walking 1/0..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p2
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p3
|
|
wait
|
|
}
|
|
|
|
rdram_z_buffer {
|
|
echo "Checking Z buffer"
|
|
echo "Walking 1/0..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0 -p0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0 -p1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0 -p2
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0 -p3
|
|
wait
|
|
}
|
|
|
|
rdram_ACC_AUX_buffer {
|
|
echo "Checking ACC36/AUX buffer"
|
|
echo "Walking 1/0..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0e0 -p0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0e0 -p1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0e0 -p2
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0e0 -p3
|
|
wait
|
|
}
|
|
|
|
rdram_DisplayCD_buffer {
|
|
echo "Checking Display-CD buffer"
|
|
echo "Walking 1/0..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x320 -p0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x320 -p1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x320 -p2
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x320 -p3
|
|
wait
|
|
}
|
|
|
|
rdram_overlay_buffer {
|
|
echo "Checking Overlay buffer"
|
|
echo "Walking 1/0..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x1c0 -p0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x1c0 -p1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x1c0 -p2
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_pp -r0 -e0 -w0 -d0 -b 0x1c0 -p3
|
|
wait
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
rdram_repair {
|
|
allsetup;
|
|
mg_rdram_addrbus;
|
|
mg_rdram_databus;
|
|
mg_rdram_unique;
|
|
rdram_color_buffer;
|
|
rdram_z_buffer;
|
|
rdram_overlay_buffer;
|
|
$tmp = mg_setnumre4s -q;
|
|
if ($tmp == 2) {
|
|
rdram_ACC_AUX_buffer;
|
|
rdram_DisplayCD_buffer;
|
|
}
|
|
}
|
|
|
|
tram_repair {
|
|
allsetup
|
|
mg_tram_rev_nobuff
|
|
wait
|
|
echo "Walking 1/0..."
|
|
mg_dma_tram -m 0 -e 0
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_tram -m 1 -e 0
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_tram -m 2 -e 0
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_tram -m 3 -e 0
|
|
wait
|
|
$foo = mg_setnumre4s -q
|
|
if ($foo == 2) {
|
|
echo "Walking 1/0..."
|
|
mg_dma_tram -m 0 -e 0 -n1
|
|
wait
|
|
echo "Address in address..."
|
|
mg_dma_tram -m 1 -e 0 -n1
|
|
wait
|
|
echo "FFFF0000 pattern..."
|
|
mg_dma_tram -m 2 -e 0 -n1
|
|
wait
|
|
echo "6 pattern test..."
|
|
mg_dma_tram -m 3 -e 0 -n1
|
|
wait
|
|
}
|
|
}
|
|
|
|
cmapcrc {
|
|
$failed = 1;
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0xff0000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0xff0000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0x550000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0x550000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0xaa0000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0xaa0000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0x555555 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0x555555;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0xaaaaaa pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0xaaaaaa;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-A to DAC pixel path with 0xffffff pattern\n\r";
|
|
$status = mg_crc -r 1 -l 0 -s 0xffffff;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-A to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0xff0000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0xff0000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0x550000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0x550000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0xaa0000 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0xaa0000;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0x555555 pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0x555555;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0xaaaaaa pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0xaaaaaa;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
mg_pon_puts -s "Testing CMAP-B to DAC pixel path with 0xffffff pattern\n\r";
|
|
$status = mg_crc -r 1 -l 1 -s 0xffffff;
|
|
if ($status) {
|
|
mg_pon_puts -s "CMAP-B to DAC pixel path Test Failed\n\r";
|
|
# return;
|
|
}
|
|
$failed = 0;
|
|
}
|
|
### This portion of the script is commented as it is not necessary
|
|
###
|
|
###rss_test {
|
|
### $failed = 0;
|
|
### report=2;
|
|
### repeat 3 {
|
|
### delay;
|
|
### }
|
|
### mg_setboard; mg_hqfifoinit
|
|
### temp_buffon
|
|
### if (mg_gfxconsole) {
|
|
### $status = mg_reset;
|
|
### $solid = mg_issolid;
|
|
### delay;
|
|
### delay;
|
|
### temp_resetcons;
|
|
### if ($status) {
|
|
### $failed = 1;
|
|
### return (-1);
|
|
### }
|
|
### } else {
|
|
### allsetup;
|
|
### if ($failed) {
|
|
### echo "Initializing graphics failed"
|
|
### return (-1)
|
|
### }
|
|
### }
|
|
###
|
|
### delay;
|
|
### delay;
|
|
###
|
|
### $status = re4flextest;
|
|
### if ($failed) {
|
|
### echo "Flex Test FAILED"
|
|
### if ($solid == 0) {
|
|
### echo "The RA/RB Board may be BAD"
|
|
### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
###
|
|
### temp_resetcons;
|
|
### mg_setboard; mg_hqfifoinit
|
|
### $status = mg_reset;
|
|
### if ($status) {
|
|
### $failed = 1;
|
|
### return (-1);
|
|
### }
|
|
### delay;
|
|
### delay;
|
|
### temp_resetcons;
|
|
### $status = bkend;
|
|
### if ($failed) {
|
|
### echo "bkend FAILED"
|
|
### if ($vc3fail) {
|
|
### echo "The GD Board may be BAD"
|
|
### $vc3fail = 0;
|
|
### } else {
|
|
### echo "The RA Board may be BAD"
|
|
### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
### allsetup;
|
|
### if ($failed) {
|
|
### temp_resetcons; temp_buffoff;
|
|
### return(-1);
|
|
### }
|
|
###
|
|
### temp_buffon
|
|
###
|
|
### $status = re4test;
|
|
### if ($failed) {
|
|
### echo "re4test FAILED"
|
|
### echo "The RA/RB Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return(-1);
|
|
### }
|
|
####XXXif ($oven) {
|
|
####XXX boot -f bootp()mg_re.pass;
|
|
####XXX }
|
|
### $status = dmatest;
|
|
### if ($failed) {
|
|
### echo "dmatest FAILED"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
### if ($quick == 0) {
|
|
### $status = rdram_mem;
|
|
### if ($failed) {
|
|
### echo "RDRAM FAILED"
|
|
### echo "The RA/RB Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
### }
|
|
###
|
|
### $status = repp_test;
|
|
### if ($failed) {
|
|
### echo "repp_test FAILED"
|
|
### echo "The RA/RB Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
####XXX if ($oven) {
|
|
####XXX boot -f bootp()mg_repp.pass;
|
|
####XXX }
|
|
### delay; delay; delay; delay; delay;
|
|
### delay; delay; delay; delay; delay;
|
|
###
|
|
###
|
|
#### allsetup;
|
|
#### if ($failed) {
|
|
#### temp_resetcons; temp_buffoff;
|
|
#### return(-1);
|
|
#### }
|
|
#### delay;
|
|
#### delay;
|
|
#### $status = mg_reset;
|
|
#### if ($status) {
|
|
#### $failed = 1;
|
|
#### return (-1);
|
|
#### }
|
|
#### delay;
|
|
### temp_resetcons; temp_buffoff;
|
|
### temp_buffon;
|
|
###
|
|
#### perform TRAM memory and TEXTURE draw tests for Max/High Only
|
|
#### if ($solid)
|
|
### $status = mg_setnumtrams ;
|
|
### if ($status == 0) {
|
|
### echo "No Texture Subsystem for MG10"
|
|
### echo "Tests for Texture Subsystem are skipped..."
|
|
### } else {
|
|
### if ($quick == 0) {
|
|
### echo "Testing TRAM memory"
|
|
### repeat 3 {
|
|
### delay;
|
|
### }
|
|
### $status = tram_mem;
|
|
### if ($failed) {
|
|
### echo "tram test FAILED"
|
|
### echo "The RA/RB Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return(-1);
|
|
### }
|
|
####XXX if ($oven) {
|
|
####XXX boot -f bootp()mg_tram.pass;
|
|
####XXX }
|
|
### }
|
|
###
|
|
### $testnum = "_96"
|
|
### $status = tex_draw_test
|
|
### if ($failed) {
|
|
### echo "tex_draw_test FAILED"
|
|
### echo "The RA/RB Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return(-1);
|
|
### }
|
|
####XXX if ($oven) {
|
|
####XXX boot -f bootp()mg_tex.pass;
|
|
####XXX }
|
|
### }
|
|
###
|
|
### echo ""
|
|
### echo " All tests have passed"
|
|
### delay;
|
|
### delay;
|
|
#### $status = mg_reset;
|
|
#### if ($status) {
|
|
#### $failed = 1;
|
|
#### return (-1);
|
|
#### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### report=4
|
|
###
|
|
#### if($gounix) {
|
|
#### if($failed == 0) {
|
|
#### unix;
|
|
#### }
|
|
#### }
|
|
###}
|
|
###
|
|
###rss {
|
|
### $quick = 0;
|
|
### rss_test;
|
|
###}
|
|
###
|
|
###rss_quick {
|
|
### $quick = 1;
|
|
### rss_test;
|
|
### $quick = 0;
|
|
###}
|
|
###
|
|
###
|
|
###hqge_test {
|
|
### $failed = 0;
|
|
### report=2;
|
|
### repeat 3 {
|
|
### delay;
|
|
### }
|
|
### mg_setboard; mg_hqfifoinit
|
|
### temp_buffon
|
|
### if (mg_gfxconsole) {
|
|
### $status = mg_reset;
|
|
### $solid = mg_issolid;
|
|
### delay;
|
|
### delay;
|
|
### temp_resetcons;
|
|
### if ($status) {
|
|
### $failed = 1;
|
|
### return (-1);
|
|
### }
|
|
### } else {
|
|
### allsetup;
|
|
### if ($failed) {
|
|
### echo "Initializing graphics failed"
|
|
### return (-1)
|
|
### }
|
|
### }
|
|
###
|
|
### delay;
|
|
### delay;
|
|
### $status = hq3test;
|
|
### if ($failed) {
|
|
### echo "hq3test FAILED"
|
|
### echo "The GD Board may be BAD"
|
|
### return($status);
|
|
### }
|
|
###
|
|
###
|
|
### $status = re4flextest;
|
|
### if ($failed) {
|
|
### echo "Flex Test FAILED"
|
|
### if ($solid == 0) {
|
|
### echo "The RA/RB Board may be BAD"
|
|
### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
###
|
|
### temp_resetcons;
|
|
### mg_setboard; mg_hqfifoinit
|
|
### $status = mg_reset;
|
|
### if ($status) {
|
|
### $failed = 1;
|
|
### return (-1);
|
|
### }
|
|
### delay;
|
|
### delay;
|
|
### temp_resetcons;
|
|
### $status = bkend;
|
|
### if ($failed) {
|
|
### echo "bkend FAILED"
|
|
### if ($vc3fail) {
|
|
### echo "The GD Board may be BAD"
|
|
### $vc3fail = 0;
|
|
### } else {
|
|
### echo "The RA Board may be BAD"
|
|
### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
#### resetcons;
|
|
###
|
|
### $status = mg_reset;
|
|
### if ($status) {
|
|
### $failed = 1;
|
|
### return (-1);
|
|
### }
|
|
###
|
|
### $ge_no = mg_queryGE;
|
|
### if ($ge_no == 2) # 2 GE system
|
|
### {
|
|
### echo "Testing 2GE system...."
|
|
### $testnum = "_41"
|
|
### $status = tge_test;
|
|
### }
|
|
###
|
|
### if ($failed) {
|
|
### echo "tge_test FAILED"
|
|
### echo "The GD Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
### if ($ge_no == 1) # 1 ge system
|
|
### {
|
|
### echo "Testing 1GE system...."
|
|
### $testnum = "_44"
|
|
### $status = ge0_test;
|
|
### }
|
|
###
|
|
### if ($failed) {
|
|
### echo "ge_test FAILED"
|
|
### echo "The GD Board may be BAD"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
###
|
|
### allsetup;
|
|
### if ($failed) {
|
|
### temp_resetcons; temp_buffoff;
|
|
### return(-1);
|
|
### }
|
|
###
|
|
### temp_buffon
|
|
###
|
|
### $status = dmatest;
|
|
### if ($failed) {
|
|
### echo "dmatest FAILED"
|
|
### temp_resetcons; temp_buffoff;
|
|
### return($status);
|
|
### }
|
|
###
|
|
###
|
|
### echo ""
|
|
### echo " All tests have passed"
|
|
### delay;
|
|
### delay;
|
|
#### $status = mg_reset;
|
|
#### if ($status) {
|
|
#### $failed = 1;
|
|
#### return (-1);
|
|
#### }
|
|
### temp_resetcons; temp_buffoff;
|
|
### report=4
|
|
###
|
|
#### if($gounix) {
|
|
#### if($failed == 0) {
|
|
#### unix;
|
|
#### }
|
|
#### }
|
|
###}
|
|
###
|
|
|
|
ge1_setup {
|
|
$failed = 0;
|
|
$status = mg_setboard ;
|
|
if ($status == 0) { $failed = 1; return (1); }
|
|
delay;
|
|
mg_hqfifoinit;
|
|
#
|
|
$ge_no = mg_queryGE;
|
|
buffon;
|
|
if($ge_no == 2)
|
|
{
|
|
echo "------ Executing GE1 test setup ------"
|
|
gioslot_2GE;
|
|
buffon
|
|
# mg_gfxreset;
|
|
$status = mg_setboard ;
|
|
if ($status == 0) { $failed = 1; return (1); }
|
|
delay;
|
|
mg_hqfifoinit;
|
|
#
|
|
mg_set_2ge;
|
|
mg_set_ge 0;
|
|
$status = mg_hq_dnload;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (1);
|
|
}
|
|
#
|
|
$status = mg_ge11_dnload;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (1);
|
|
}
|
|
|
|
mg_ge_go;
|
|
mg_set_ge 1;
|
|
|
|
$status = mg_ge11_dnload;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (1);
|
|
}
|
|
#
|
|
mg_ge_go;
|
|
# mg_gfxreset;
|
|
$status = mg_setboard ;
|
|
if ($status == 0) { $failed = 1; return (1); }
|
|
delay;
|
|
mg_hqfifoinit;
|
|
#
|
|
mg_set_2ge;
|
|
mg_set_ge 0;
|
|
mg_nextge;
|
|
mg_set_ge 1;
|
|
}
|
|
if($ge_no == 1)
|
|
{
|
|
echo "GE11_1 doesn't exist";
|
|
}
|
|
buffoff;
|
|
resetcons;
|
|
}
|
|
#
|
|
ge1_test {
|
|
$failed = 0;
|
|
$status = mg_setboard ;
|
|
if ($status == 0) { $failed = 1; return (1); }
|
|
delay;
|
|
mg_hqfifoinit;
|
|
#
|
|
$ge_no = mg_queryGE;
|
|
buffon;
|
|
if($ge_no == 2)
|
|
{
|
|
# mg_gfxreset;
|
|
$status = mg_setboard ;
|
|
if ($status == 0) { $failed = 1; return (1); }
|
|
delay;
|
|
mg_hqfifoinit;
|
|
#
|
|
echo "------ Executing GE Test Suite :: GE1 ------"
|
|
if ($quick == 0) {
|
|
ge1_ucode;
|
|
if ($failed) {
|
|
$failed = 1;
|
|
return (1);
|
|
}
|
|
}
|
|
ge1_setup; if ($failed) { return (1); }
|
|
$status = getest;
|
|
if ($failed) {
|
|
$failed = 1;
|
|
return(1);
|
|
}
|
|
}
|
|
if($ge_no == 1)
|
|
{
|
|
echo "GE11_1 doesn't exist";
|
|
}
|
|
buffoff;
|
|
resetcons;
|
|
}
|
|
|
|
#### Impact GFX Repair Script
|
|
###############################################################
|
|
report=4;
|
|
ra_menu
|
|
###
|