已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
cd-rom编程研究论文特征码wdyrvspdbvjfyyhqrclz 在多媒体系统中,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)过程。设备驱动程序请求头的基本格式如下:偏移量 类型 含义00h 字节 请求头长度01h 字节 驱动程序内的子单元02h 字节 命令码03h 单字 返回码以下内容根据命令码进行填写下面给出几种cd-rom常用功能使用的命令码和格式:1.ioctl input:偏移量 类型 内容00h 字节 1ah01h 字节 00h02h 字节 03h03h 字节 11 dup(?)0eh 双字 缓冲区地址12h 单字 缓冲区长度14h 字节 6 dup (?)在缓冲区内按一定的格式填入参数,便可得到cd-rom的各种状态。缓冲区的格式:作用 长度 格式取cd-rom状态 5 输入:06 xx xx xx xx返回:06 ss ss 00 00说明:ss ss为状态字,关键的有两位位0:1、开门 0、关门位b:1、有盘 0、无盘取cd总扇区数 5 输入:08 xx xx xx xx返回:08 ll ll ll ll说明:ll ll ll ll为总扇区数取音乐cd信息 7 输入:0a xx xx xx xx xx xx返回:0a xx nn tt ss mm xx说明: nn为曲目数mm为分钟数ss为秒数(059)tt为扇区数(074)cd的一个扇区大小为2048b播放速度为每秒75扇区即150kb/s取指定歌曲 7 输入:0b nn xx xx xx xx xx的起始时间 返回:0b nn tt ss mm xx xx说明: nn为曲目序号mm为起始分钟数ss为起始秒数(059)tt为起始扇区数(074)取播放状态 11 输入:0c xx xx xx xx xx xx xx xx xx xx返回:0c xx nn xx mm ss tt xx zm zs zt说明: nn为曲目序号(bcd码)mm为该曲目分钟数ss为该曲目秒数(059)tt为扇区数(074)zm为总分钟数zs为总秒数(059)zt为扇区数(074)2.ioctl output偏移量 类型 内容00h 字节 1ah01h 字节 00h02h 字节 0ch03h 字节 11 dup(?)0eh 双字 缓冲区地址12h 单字 缓冲区长度14h 字节 6 dup(?)在缓冲区内按一定的格式填入参数,便可操纵cd-rom的动作。缓冲区的格式:作用 长度 格式出盒 1 输入:00解锁出盒键 2 输入:01 00加锁出盒键 2 输入:01 01入盒 1 输入:053.play audio偏移量 类型 内容00h 字节 16h01h 字节 00h02h 字节 84h03h 字节 10 dup (?)0dh 字节 01h0eh 字节 起始扇区数(074)0fh 字节 起始秒数10h 字节 起始分钟数11h 字节 00h12h 双字 播放扇区数(75扇区/s)从指定的起始时间开始播放指定的扇区数然后自动停止4.stop audio偏移量 类型 内容00h 字节 odh01h 字节 00h02h 字节 85h03h 字节 10 dup (?)停止播放以上给出的是cd-rom常用功能的设备驱动程序请求头格式,但是在应用中怎样实现上述功能呢?有两种方法。一是直接访问设备驱动程序,这种方法比较复杂,本文不作介绍。二是使用mscdex提供的接口。主要功能有以下几种。(1) 检测mscdex是否安装bx=0ax=1500hint 2fh返回:bx=cd-rom的个数cx=起始的cd-rom盘号(0-a,1-b,等等)(2) 发送设备驱动程序请求es:bx=设备驱动程序请求头地址cx=cd-rom盘号(0-a,1-b,等等)ax=1510hint 2fh用户填写请求头,通过int 2fh完成所需要的功能。下面给出一段例程,播放cd中第二支曲目30秒钟。限于篇幅,本程序未作错误处理,假设执行正确。code segmentassume cs: code, ds:codebuf db obh, 2, 5 dup(?)req db 1ah,0,3,11 dup(?)dd bufdw 7db 6 dup (?)play db 16 h,0,84h,10 dup (?),1db 3 dup(?),0dd 75*30start:mov ax,codemov ds,axxor bx,bxmov ax,1500hint 2fhor bx,bxjz no-cdmov ax,seg reqmov es,axmov bx,offset reqmov ax,1510hint 2fhmov ax, buf 2mov play 0eh,axmov al, buf 4mov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神经脊柱科健康宣教
- 实施循证实践提升眼科护理安全
- 2026房屋买卖合同范本下载
- 高新技术企业劳动合同样本
- 个人出租房屋合同范本(2026版)
- MMO钛带阳极的结构、性能与工作原理
- 2026年年度班级工作总结及工作计划(3篇)
- 幼儿园学年第一学期研训工作计划(2篇)
- 江西省南昌市2026届高三年级四月第二次模拟数学试卷(含答案)
- 2025年AR博物馆导览的情境化交互设计
- 非标设备装配管理制度
- 小学50米跑教育
- 全国青少年人工智能创新挑战赛技能知识竞赛题库(含答案)
- 不规则抗体筛查和鉴定课件
- 精酿啤酒厂合作协议书范文
- 心理咨询与治疗新
- JTG-QB-003-2003公路桥涵标准图钢筋混凝土盖板涵
- 医药代表拜访情景演练
- 《食物在身体里的旅行》
- 日本跌宕50年一个制造业强国的沉浮史
- IE改善四大原则及ECRS技法课件
评论
0/150
提交评论