-- 作者:randylau
-- 发布时间:7/24/2008 9:11:00 PM
-- 关于一个测试光驱的程序
;;///// CHECK & SETTING WAITSTARTUP REG SET SAVETST ON CHECKTST B/F P/A //rebecca CPKMODEL DS8A1H ;E2SAVEMODEL DS8A1H CHECKMODEL STR(Slimtype DVD A DS8A1H) CHECKFWV STR(WLVD ) //rebecca WRITERID STR(0000) CHECKRID STR(0000) ;CHECKMASTER SLIM ;;;//////// RESTOR RPC E2W ADDR(0X70,0) E2W ADDR(0X71,4) E2W ADDR(0X72,5) E2W ADDR(0X73,0XFF) E2W ADDR(0X74,0XFF) E2W ADDR(0X75,0X99) E2W ADDR(0X76,0X0F) E2W ADDR(0X77,0X0F) d2f // CHECKRPC atapi(df,09,0,0,0,0,0,0,0,0,0,0) //ok assign r[0x8000]=0x00 assign r[0x8001]=0x04 assign r[0x8002]=0x05 assign r[0x8003]=0xff assign r[0x8004]=0xff assign r[0x8005]=0x99 cmprr addr1(0x70) addr2(0x8000) len(6) //.. check "Master" only for E2prom [0x7c]=0x08 //.. check "Slave" only for E2prom [0x7c]=0x09 //.. check "CS" only for E2prom [0x7c]=0x00 atapi(df,8a,0,0,0,0,0,0,0x7c,0,0,0) atapi(df,89,0,0,0,0,0,0,0x7c,0,ee,fa) assign V1=R[0] assign r[0x8000]=V1 assign r[0x8001]=0x00 // m,s,c cmprr addr1(0x8000) addr2(0x8001) len(1) SET RETRY 0 SET MAXSEEKTIME 3000 SET TIMEOUT 7.4 //Turn on SAVE_KEY_PARA function ATAPI(DF,0,1C,12,0,0,4B,45,59,20,20,20) //KEY ATAPI(DF,0,1C,12,0,0,50,41,52,41,4D,45) //PARAME E2W ADDR(0x3E7,0xFF) E2W ADDR(0x3F7,0xFF) ;;;///// PUT DVD5 DISC SET DVD SET PIO 4 TRAYOUT MAX(4) MIN(0) ;;CB 0103 atapi(df,00,12,01,0,1e,0,0,0,0,0,0) // XY shift add. DVD X-Y shift wait DVD5BETA disc ;; DVD5 Beta delay 2 //Eric 2005 10 27 testunit 25 // Aaron 2006.01.06 atapi(df,00,12,02,0,00,0,0,0,0,0,0) //add. disable DVD X-Y shift set dvd set timeout 50 set clvspeed(2,2) read10 lbas(0x10000) //v16 delay 1 ATAPI(DF,0E,0,1,0,00,00,00,0,0,0,0) set timeout 7.4 ;e2r addr(0x13d) ;display Beta-comp Value ;e2r addr(0x13e) e2r addr(0x210) ;display Beta-comp Value e2r addr(0x211) SPINDOWN MAX(4.5) STARTUP MAX(25) MIN(1) SLIM AUX atapi(df,14,18,0,0,0,0,0,0,0,0,0) // disable smart function atapi(df,14,00,02,01,0,0,0,0,0,0,0) //disable unbalance RANDREAD PASS(20) CHKSUM SEQREAD LBAS(0) LBAE(10000) CHKSUM SET DMA S2 DELAY 2 TXRATE LBAS(0) MIN(4300) MAX(5400) BLK(32) COUNT(50) SET PIO 4 SEQREAD LBAS(0X217000) LBAE(0X217FFF) CHKSUM ;// Test PIPO SET retry 2 READC1C2 LBAS(0x218000) MAX(40) MAX2(5) AVG SET DMA S2 DELAY 3 SET RETRY 2 atapi(28,08,00,22,7f,ff,0,0,1,0,0,0) // clear cash buffer to avoid seek time TXRATE LBAS(0x228000) MIN(10150) MAX(13000) BLK(32) COUNT(100) SET PIO 4 SET RETRY 0 RANDACC MAX(150) PASS(100) FULLACC MAX(270) PASS(20) LBAS(0) LBAE(0X22F000) SPINDOWN MAX(5) MIN(1) SPINUP MAX(4.5) MIN(0.5) ;; DVD+R : PUT DISC ******* ;set dvd ;trayout SET TIMEOUT 15 ;wait DVD+R disc delay 2 //Eric 2005 10 27 testunit 35 SET YIELD ON SET TIMEOUT 35 ;; Alpha Cal DVD ALPHA AUX SET TIMEOUT 7.4 ATAPI(DF,0,29,0,0,0,0,0,0,0,0,0) testunit 35 ;; CD : PUT DISC ******* set cdrom trayout atapi(df,00,12,01,0,28,0,0,0,0,0,0) // XY shift atapi(df,00,59,B0,00,0,0,0,0,0,0,0) //Enable CD Tilt Cal wait CD5-4 Disc //delay 2 //Eric 2005 10 27 testunit 25 // Aaron 2006.01.06 //testunit 20 // Aaron 2006.01.06 atapi(df,00,12,02,0,00,0,0,0,0,0,0) // disable XY shift detection atapi(df,14,00,02,01,0,0,0,0,0,0,0) //disable unbalance SET TIMEOUT 50 ;; Alpha Cal CD ALPHA AUX SET TIMEOUT 7.4 ATAPI(DF,0,29,0,0,0,0,0,0,0,0,0) testunit 30 SPINDOWN MAX(4.5) STARTUP MAX(20) MIN(1) SLIM AUX atapi(df,14,18,0,0,0,0,0,0,0,0,0) // disable smart function RANDREAD PASS(10) CHKSUM SEQREAD MSFS(0:2:0) MSFE(1:10:0) CHKSUM ;;///// CD-ID Spec: 10.5~11X SET DMA S2 DELAY 3 TXRATE MSFS(00:02:00) MIN(1450) MAX(1950) SET PIO(4) ;READC1C2 MSFS(00:02:00) MAX(250) MAX2(0) SEQREAD MSFS(72:45:0) MSFE(72:59:74) CHKSUM ;;///// CD-OD Spec: 24~26X SET RETRY 2 READC1C2 MSFS(73:0:0) MAX(250) MAX2(0) SET DMA S2 DELAY 3 SET RETRY 2 atapi(28,08,00,05,02,9E,0,0,1,0,0,0) // clear cash buffer to avoid seek time TXRATE MSFS(73:00:00) MIN(3550) MAX(4200) SET PIO 4 SET RETRY 0 RANDREAD PASS(20) CHKSUM RANDACC MAX(130) PASS(100) ;FULLACC MAX(250) PASS(20) FULLACC MAX(250) PASS(20) MSFS(00:02:00) MSFE(73:00:00) //v16 SET TIMEOUT 8 SPINDOWN MAX(4.5) MIN(0.5) SPINUP MAX(4.5) MIN(0.5) SET TIMEOUT 9 STOP MAX(6) MIN(1) SET TIMEOUT 7.4 e2w addr(0x3f6,0x00) //Final Adjust e2w addr(0x3e6,0x00) e2w addr(0x3f7,0x00) //AGING e2w addr(0x3e7,0x00) e2w addr(0x3f8,0x00) //Read Write e2w addr(0x3e8,0x00) d2f SET DVD WAIT DVD9-1 TESTUNIT 15 // CB 2006 01 22 SET YIELD ON atapi(df,14,18,0,0,0,0,0,0,0,0,0) // disable smart function atapi(df,14,00,02,01,0,0,0,0,0,0,0) //disable unbalance atapi(df,14,06,0,0,0,0,0,0,0,0,0) //disable smart function RANDREAD LBAS(0X0) LBAE(0x3F0000) PASS(20) SEQREAD LBAS(0x1FD000) LBAE(0x1FDFFF) RANDACC LBAS(0) LBAE(0x3F0000) PASS(10) FULLACC LBAS(0X1b0000) LBAE(0x3F0000) PASS(5) max(500) SEQREAD LBAS(0x3F0000) LBAE(0x3F5000) e2w addr(0x3f9,0x00) //Function e2w addr(0x3e9,0x00) D2F e2w addr(0x3fb,0x00) //Final e2w addr(0x3eb,0x00) d2f CHECKRPC CHECKTST B/F P/A F/A AGING F/T FNT ;;;//////// PASS TRAYOUT 请各位大侠帮忙解释这些编码是用什么语言写的,并一一注释其功能
|