中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

深入CD-ROM編程

時(shí)間:2023-05-01 07:37:12 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

深入CD-ROM編程

在多媒體系統(tǒng)中,CD-ROM是必不可少的。以DOS為例,CD-ROM應(yīng)用環(huán)境的大致結(jié)構(gòu)是:

用戶

MSCDEX

廠家提供的驅(qū)動(dòng)程序

CD-ROM

其中,MSCDEX起到了一個(gè)轉(zhuǎn)換器的作用,將CD上的文件格式轉(zhuǎn)化為標(biāo)準(zhǔn)的DOS文件格式,使CD-ROM象普通驅(qū)動(dòng)器一樣受DOS管理。

但是,在一般應(yīng)用中,CD-ROM還能用來(lái)播放音樂碟,許多應(yīng)用軟件(如Creative Labs的Quick CD)可以模擬一臺(tái)CD音響,完成出盒、入盒、播放、快速進(jìn)退和重復(fù)等一系列功能。實(shí)際上,MSCDEX并未提供這些功能,必須訪問CD-ROM的驅(qū)動(dòng)程序,才能達(dá)到上述目的,因?yàn)樗蠧D-ROM的驅(qū)動(dòng)程序與MSCDEX之間的接口都是規(guī)范的,這給我們提供了極大的方便。下面將詳細(xì)闡述如何實(shí)現(xiàn)上述功能。

DOS的設(shè)備分為字符設(shè)備和塊設(shè)備兩種,CD-ROM的驅(qū)動(dòng)程序?qū)儆谇罢,訪問它必須遵循DOS的要求:填寫設(shè)備驅(qū)動(dòng)程序請(qǐng)求頭、訪問驅(qū)動(dòng)程序的策略(Strategy)過(guò)程、訪問驅(qū)動(dòng)程序的中斷(Interrupt)過(guò)程。

設(shè)備驅(qū)動(dòng)程序請(qǐng)求頭的基本格式如下:

偏移量 類型 含義

00H 字節(jié) 請(qǐng)求頭長(zhǎng)度

01H 字節(jié) 驅(qū)動(dòng)程序內(nèi)的子單元

02H 字節(jié) 命令碼

03H 單字 返回碼

以下內(nèi)容根據(jù)命令碼進(jìn)行填寫

下面給出幾種CD-ROM常用功能使用的命令碼和格式:

1.IOCTL INPUT:

偏移量 類型 內(nèi)容

00H 字節(jié) 1AH

01H 字節(jié) 00H

02H 字節(jié) 03H

03H 字節(jié) 11 DUP(?)

0EH 雙字 緩沖區(qū)地址

12H 單字 緩沖區(qū)長(zhǎng)度

14H 字節(jié) 6 DUP (?)

在緩沖區(qū)內(nèi)按一定的格式填入?yún)?shù),便可得到CD-ROM的各種狀態(tài)。

緩沖區(qū)的格式:

作用 長(zhǎng)度 格式

取CD-ROM狀態(tài) 5 輸入:06 xx xx xx xx

返回:06 SS SS 00 00

說(shuō)明:SS SS為狀態(tài)字,關(guān)鍵的有兩位

位0:1、開門 0、關(guān)門

位B:1、有盤 0、無(wú)盤

取CD總扇區(qū)數(shù) 5 輸入:08 xx xx xx xx

返回:08 LL LL LL LL

說(shuō)明:LL LL LL LL為總扇區(qū)數(shù)

取音樂CD信息 7 輸入:0A xx xx xx xx xx xx

返回:0A xx NN TT SS MM xx

說(shuō)明: NN為曲目數(shù)

MM為分鐘數(shù)

SS為秒數(shù)(0~59)

TT為扇區(qū)數(shù)(0~74)

CD的一個(gè)扇區(qū)大小為2048B

播放速度為每秒75扇區(qū)即150KB/s

取指定歌曲 7 輸入:0B NN xx xx xx xx xx

的起始時(shí)間 返回:0B NN TT SS MM xx xx

說(shuō)明: NN為曲目序號(hào)

MM為起始分鐘數(shù)

SS為起始秒數(shù)(0~59)

TT為起始扇區(qū)數(shù)(0~74)

取播放狀態(tài) 11 輸入:0C xx xx xx xx xx xx xx xx xx xx

返回:0C xx NN xx MM SS TT xx ZM ZS ZT

說(shuō)明: NN為曲目序號(hào)(BCD碼)

MM為該曲目分鐘數(shù)

SS為該曲目秒數(shù)(0~59)

TT為扇區(qū)數(shù)(0~74)

ZM為總分鐘數(shù)

ZS為總秒數(shù)(0~59)

ZT為扇區(qū)數(shù)(0~74)

2.IOCTL OUTPUT

偏移量 類型 內(nèi)容

00H 字節(jié) 1AH

01H 字節(jié) 00H

02H 字節(jié) 0CH

03H 字節(jié) 11 DUP(?)

0EH 雙字 緩沖區(qū)地址

12H 單字 緩沖區(qū)長(zhǎng)度

14H 字節(jié) 6 DUP(?)

在緩沖區(qū)內(nèi)按一定的格式填入?yún)?shù),便可操縱CD-ROM的動(dòng)作。

緩沖區(qū)的格式:

作用 長(zhǎng)度 格式

出盒 1 輸入:00

解鎖出盒鍵 2 輸入:01 00

加鎖出盒鍵 2 輸入:01 01

入盒 1 輸入:05

3.PLAY AUDIO

偏移量 類型 內(nèi)容

00H 字節(jié) 16H

01H 字節(jié) 00H

02H 字節(jié) 84H

03H 字節(jié) 10 DUP (?)

0DH 字節(jié) 01H

0EH 字節(jié) 起

[1] [2] 

【深入CD-ROM編程】相關(guān)文章:

CD-ROM·什么是安裝方式04-26

CD-ROM·什么是最大讀取速度04-26

CD-ROM·什么是安裝角度04-26

COMBO·什么是CD-ROM讀取速度04-26

CD-ROM·什么是接口類型04-26

CD-ROM·什么是緩存區(qū)容量04-26

CD-ROM·什么是碟片載入方式04-26

深入04-29

編程的心得03-14

給機(jī)器編程04-28