DOS應用程式中用CD-ROM,主要用到 INT 2FH 的 1510H(Send device driver request)
功能。
要用到的幾個中斷說明如下:
1. IOCTL input 的格式:
偏移量 型別 內容
00H 位元組 1AH
01H 位元組 00H
02H 位元組 03H
03H 位元組 11 DUP(?)
0EH 雙字 緩衝區地址
12H 字 緩衝區長度
14H 位元組 6 DUP(?)
2. IOCTL output 的格式:
偏移量 型別 內容
00H 位元組 1AH
01H 位元組 00H
02H 位元組 0CH
03H 位元組 11 DUP(?)
0EH 雙字 緩衝區地址
12H 字 緩衝區長度
14H 位元組 6 DUP(?)
3. 在緩衝區中填入命令再用 INT 2fH 的 1510H 便可以實現 CD-ROM 的各種功能,緩衝的一些命令格式如下:
作用 長度 格式
解鎖 2 01,00
加鎖 2 01,01
入盒 1 05
取CD-ROM 狀態 5 06,0,0,0,0
返回:06,xx,xx,0,0
xx,xx為狀態字
位0:1 門開,0門關
位1:1未鎖,0門鎖
位B:1無盤,0有盤
4. 檢測 CD-ROM 驅動程式的存在:
AX = 1500H
BX = 0
INT 2fH
返回:BX = CD-ROM 個數
CX = 起始CD-ROM 磁碟機代號,0=A:,1=B:等等
5. 傳送 Device Driver Request:
AX = 1510H
ES:BX=請求頭地址
出盒 1 00
CX = CD-ROM 的盤號