找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 5122|回复: 3

【DOS】混合语言实现WAV文件播放的程序,声霸卡驱动源码

[复制链接]

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2014-1-31 23:59:48 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
这个程序用到了NASM汇编器、Turbo C++3.0编译器和MinGW的Makefile。
NASM下载:http://www.0xaa55.com/thread-76-1-1.html
TC下载:http://www.0xaa55.com/thread-82-1-1.html
MinGW下载:http://www.0xaa55.com/thread-10-1-1.html
要完成编译请把NASM放到有PATH的地方(比如C:\Windows这里,也就是%windir%里面),把Turbo C++ 3.0安装到D:\Tools\TC,然后把MinGW安装到D:\Tools\MinGW,如下图所示:
NASM.PNG
TC3.PNG
MGW.PNG
mingw32-make.exe下载:
mingw32-make.exe (162 KB, 下载次数: 0)
http://pan.baidu.com/s/1gdp8Lu7
其实只要你能保证mingw32-make.exe在Path就行。没有MinGW又不想安装MinGW的可以直接把mingw32-make.exe放到path能执行到的地方就行,用完就删了。
SB16.PNG
文件挺多的。有点“小型系统”的感觉了。
编译之后得到PLAYWAV.EXE,你只需要提供一个WAV文件,它就会播放。注意这是DOS下的WAV播放机,稀奇就稀奇在这了。但是声卡必须是Sound Blaster声霸卡。版本的话,最好是4.0以上。当然4.0一下的我的程序也支持,只是会因为受到硬件限制而影响某些格式的WAV的播放。
SoundBlaster的话……淘宝有卖的。然后,DOSBOX、Virtual PC和Virtual Box这三款虚拟机软件支持Sound Blaster 16的声霸卡模拟。
所以在DOSBOX、Virtual PC下要是不出错的话,是绝对会出声的呢。
而Virtual Box则需要设置了声卡用Sound Blaster 16才能出声。VBox默认的是Intel的声卡,那个的驱动我可写不来!
源码下载:
http://pan.baidu.com/s/1mg0nRFa
程序实现了两种方法开启A20地址线(用于开辟DMA专用缓冲区),DMA通道编程,Sound Blaster编程。其中的代码可以拿出来用于编写DOS游戏。
不知道我这个能不能在Windows XP下播放呢。因为WinXP有个特性,它的16位子系统居然……内置了一个虚拟声霸卡!虽然版本低了点,但是至少能发声。屌。
回复

使用道具 举报

0

主题

19

回帖

51

积分

用户组: 小·技术宅

UID
158
精华
0
威望
1 点
宅币
30 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-3-26
发表于 2014-3-26 16:35:38 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

7

回帖

35

积分

用户组: 初·技术宅

UID
187
精华
0
威望
1 点
宅币
26 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2014-4-9
发表于 2014-4-9 12:47:02 | 显示全部楼层
楼主可以啊

点评

我玩了多年的16位编程呢  详情 回复 发表于 2014-4-9 16:33
回复 赞! 靠!

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
 楼主| 发表于 2014-4-9 16:33:33 | 显示全部楼层

我玩了多年的16位编程呢
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-29 13:10 , Processed in 0.041725 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表