关于一个测度光驱程序
各位CSDN友,这是我公司一个用来测试光驱的程序,我只能懂他那些语句是什么功能,但不知道是用什么语言写的,又 如何去编写这种程序,要写的写的话,也是从中摘抄一些下来,拼揍起来,不能完全去写一个新的程序~如哪位知道,可否告诉我关于写这种程序了资料 KLSIAM@163.COM
WAITSTARTUP
REG
SET SAVETST ON
CHECKTST B/F P/A //rebecca
CPKMODEL DS8A1P
WRITERID STR(0000)
CHECKRID STR(0000)
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
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)
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
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)
atapi(df,00,12,01,0,1e,0,0,0,0,0,0) // XY shift add. DVD X-Y shift
wait DVD5BETA disc
delay 2 //Eric 2005 10 27
testunit 25
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
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(10)
FULLACC MAX(270) PASS(10) LBAS(0) LBAE(0X22F000)
SPINDOWN MAX(5) MIN(1)
;; 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
;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
SET DMA S2
DELAY 3
TXRATE MSFS(00:02:00) MIN(1450) MAX(1950)
SET PIO(4)
SEQREAD MSFS(72:45:0) MSFE(72:59:74) CHKSUM
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)
TXRATE MSFS(73:00:00) MIN(3550) MAX(4200)
SET PIO 4
SET RETRY 0
RANDREAD PASS(20) CHKSUM
RANDACC MAX(130) PASS(10)
;FULLACC MAX(250) PASS(10)
FULLACC MAX(250) PASS(10) MSFS(00:02:00) MSFE(73:00:00) //v16
SET TIMEOUT 8
SPINDOWN MAX(4.5) MIN(0.5)
TRAYOUT