以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  关于一个测试光驱的程序  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=64928)


--  作者: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

请各位大侠帮忙解释这些编码是用什么语言写的,并一一注释其功能


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.997ms