在多媒系统统中,CD-ROM是必弗成少的。以DOS为例,CD-ROM应用情况的简略结构是:
用户
↓
MSCDEX
↓
厂家供给的驱动法式
↓
CD-ROM
其中,MSCDEX起到了一个转换器的浸染,将CD上的文件花样转化为尺度的DOS文件花样,使CD-ROM象通俗驱动器一样受DOS治理。
然则,在日常应用中,CD-ROM还能用来播放音乐碟,许多应用软件(如Creative Labs的Quick CD)可以模拟一台CD音响,完成出盒、入盒、播放、快速进退和频频等一系列功能。现实上,MSCDEX并未供给这些功能,必需接见CD-ROM的驱动法式,才气达到上述目的,因为全数CD-ROM的驱动法式与MSCDEX之间的接口都是范例的,这给我们供给了极年夜的轻易。下面将具体阐述若何实现上述功能。
DOS的培植分为字符培植和块培植两种,CD-ROM的驱动法式属于前者,接见它必需遵循DOS的要求:填写培植驱动法式哀告头、接见驱动法式的策略(Strategy)过程、接见驱动法式的中止(Interrupt)过程。
培植驱动法式哀告头的基的接口。首要功能有以下几种。
(1) 检测MSCDEX是否安设
BX=0
AX=1500H
INT 2FH
返回:
BX=CD-ROM的个数
CX=肇端的CD-ROM盘号(0-A,1-B,等等)
(2) 发送培植驱动法式哀告
ES:BX=培植驱动法式哀告头地址
CX=CD-ROM盘号(0-A,1-B,等等)
AX=1510H
INT 2FH
用户填写哀告头,经过过程INT 2FH完成所需要的功能。
下面给出一段例程,播放CD中第二支曲目30秒钟。
限于篇幅,本法式未作错误处置责罚,假设执行正确。
CODE SEGMENT
ASSUME CS: CODE, DS:CODE
BUF DB OBH, 2, 5 DUP(?)
REQ DB 1AH,0,3,11 DUP(?)
DD BUF
DW 7
DB 6 DUP (?)
PLAY DB 16 H,0,84H,10 DUP (?),1
DB 3 DUP(?),0
DD 75*30
START:
MOV AX,CODE
MOV DS,AX
XOR BX,BX
MOV AX,1500H
INT 2FH
OR BX,BX
JZ NO-CD
MOV AX,SEG REQ
MOV ES,AX
MOV BX,OFFSET REQ
MOV AX,1510H
INT 2FH
MOV AX, [BUF+2]
MOV [PLAY+0EH],AX
MOV AL, [BUF+4]
MOV [PLAY+10H],AL
MOV AX, SEG
PLAY
MOV ES,AX
MOV BX,OFFSET PLAY
MOV AX,1510H
INT 2FH
NO-CD:
MOV AH,4CH
INT 21H
CODE ENDS
END START
还有一些功能,因为不是应用必需的,这里就不再赘述。
作者:余珏 陈志慧