【DOS】BADAPPLE的DOS版已经成功完成!
DOSBOX运行效果:Virtual Box内装MSDOS7.1运行效果:
Virtual PC内装XP运行效果:
下载地址:
http://pan.baidu.com/s/1o6x2lWQ
转载请保留原作者信息:
作者:0xAA55
技术宅的结界:http://www.0xaa55.com/thread-220-1-1.html
作者QQ:838816058838816058
E-mail:0xAA55@0xAA55.com
注意这是个DOS程序,请在DOS下运行它吧!
DOSBOX下载地址:http://www.0xaa55.com/thread-84-1-1.html
Virtual PC虚拟机下载地址:http://www.0xaa55.com/thread-90-1-1.html
Virtual Box虚拟机下载地址:http://www.0xaa55.com/thread-91-1-1.html
MSDOS 7.1操作系统下载:http://www.0xaa55.com/thread-79-1-1.html
技术细节:
1、图形方面使用的是320x200分辨率,256色图形模式,调色板通过改DAC寄存器设置成了灰度调色板。
2、声音方面是自己编写的SoundBlaster16的驱动。要求声卡必须是SoundBlaster16,否则没声音。
3、在Virtual Box(内装MSDOS 7.1)、Virtual PC(内装MSDOS 7.1)和DOSBOX下测试过,成功。有图像,有声音。运行之后无后遗症。
4、本程序占用的内存区段是物理地址0x80000到0x9FFFF,所以运行前请保证没有过多的内存驻留程序影响内存的使用。5、在速度慢的电脑下运行可能会出现声音与图像不同步的问题。
6、XP下可以直接运行,但是没声音。因为XP在V86模式下的虚拟SoundBlaster声卡版本过低不支持立体声。
注意:
1、Virtual PC装好DOS之后直接把BADAPPLE.EXE、BADAPPLE.VID、BADAPPLE.SND拷贝到DOS的硬盘,CD到BADAPPLE所在目录,然后输入BADAPPLE按回车,你会看到它打印了一些信息:
Initializing the Sound Card...Sound Blaster version: 0405
Sound Blaster is OK.
OK
Initializing the video file...OK
Initializing timer...OK
Press any key to continue. . .
这个时候按任意键继续,就能直接看到效果了。
2、Virtual BOX在装DOS之前,需要设定声卡为SoundBlaster 16才能听到声音。然后剩下的操作步骤同上。
3、DOSBOX的玩法是直接把BADAPPLE所在文件夹MOUNT到DOSBOX,然后CD到指定文件夹输入BADAPPLE按回车然后按任意键继续就能看到效果。
4、由于VMware不支持虚拟SoundBlaster 16声卡,因此VMware将无法播放。
5、想要在真机上测试也可以,自己装个DOS,然后去淘宝买一个SoundBlaster 16的声卡(20元左右)插主板PCI插槽,把BADAPPLE.EXE、BADAPPLE.VID、BADAPPLE.SND三个文件拷贝到你的DOS的硬盘上,启动DOS,然后CD到指定文件夹输入BADAPPLE按回车然后按任意键继续就能看到效果。
下载地址:
**** Hidden Message *****
BADAPPLE源码帖
转载请保留原作者信息:作者:0xAA55
技术宅的结界:http://www.0xAA55bbs.com/
作者QQ:838816058838816058
E-mail:0xAA55@0xAA55bbs.com
编程语言:
汇编(NASM汇编器)
C(Turbo C++ 3.0,但是我编程用的是C语言)
Makefile(MinGW的Make)
NASM下载:
http://www.0xaa55.com/thread-76-1-3.html
Turbo C++ 3.0下载:
http://www.0xaa55.com/thread-82-1-2.html
编译要求:
0x1、你要有Turbo C++ 3.0编译器,这东西只能在32位Windows下运行!必须安装在D:\Tools文件夹里面。
不想安装在D:\Tools也可以,你只需要改BUILD.BAT设置PATH环境变量的那个语句就行。
!!并没有要你改计算机的PATH环境变量!!
0x2、
ASMCOM.INC:所有汇编程序必须包含的公共头。
CCOMMON.H:所有C程序必须包含的公共头。
程序的架构是汇编负责底层驱动部分,C负责组织这些驱动完成一些事情。
之所以用DOS中断来读取文件是因为FILE文件流不能把文件内容读取到远指针。
0x3、DEBUG文件夹是DOSBOX,一款DOS模拟器。但是这个东西不能和虚拟机相提并论。
OUT文件夹是输出的结果,BADAPPLE.SND是声音文件,8位立体声无符号整数数组。
BADAPPLE.VID是视屏文件,256色灰度。
ATTACHVD.TXT的作用是MOUNT一个VHD文件,好处是这样便于用虚拟机(Virtual Box或Virtual PC)调试。
DETACHVD.TXT的作用是取消MOUNT一个VHD文件。只有取消MOUNT了才能启动虚拟机哦。
注意!请修改BUILD.BAT的“copy OUT\BADAPPLE.EXE L:\”这行,它的作用是把BADAPPLE.EXE复制到已经MOUNT好的VHD虚拟硬盘上。请把L:\改成实际的虚拟硬盘的盘符。
0x4、MAKEFILE.DEP是自动生成的文件,可以删。而Makefile(没有后缀)这个文件是不能删的,否则你就不能编译了。
0x5、BADAPPLE.SND、BADAPPLE.VID请大家自行在论坛下载。
论坛帖子网址:
http://www.0xaa55.com/thread-220-1-1.html 谢谢楼主分享,我是从B站慕名而来的,楼主乃真技术宅 zhouzh 发表于 2014-3-7 14:23
谢谢楼主分享,我是从B站慕名而来的,楼主乃真技术宅
谢谢你的支持! 看看代码先 赞 就喜欢这样的技术宅 加油啊~~~
赞 就喜欢这样的技术宅 加油啊~~~ 好叼,真的好叼。
什么都不说了,膜拜大牛 好东西,下载了 这隐藏的内容下面,有可能就是源码,谢谢楼主。 我的电脑不兼容,,,,打不开 yun 发表于 2015-2-10 20:21
我的电脑不兼容,,,,打不开
这是个DOS程序,你要我怎么说呢? 好东西,赞6666666 wukakuki 发表于 2015-5-6 01:52
好东西,赞6666666
居然没有源码,被骗了,求源码 wukakuki 发表于 2015-5-6 01:56
居然没有源码,被骗了,求源码
抱歉啊,忘了上传了。
现在已经上传了,可以下载了。回复后下载。 0xAA55 发表于 2014-2-24 02:55
果然发B站就会有一种鲜花插在牛粪上的感觉,大家都看不懂我实现了DOS下的320x200图形模式+自己编写的SoundB ...
很理解这种做得很辛苦结果别人都不理解的感觉...要淡定...最后膜拜下 0x01810 发表于 2015-5-8 09:48
很理解这种做得很辛苦结果别人都不理解的感觉...要淡定...最后膜拜下
谢谢 学习一下,看看源码 :loveliness::loveliness::loveliness::loveliness::loveliness::loveliness::loveliness::loveliness: QAQAAAAAAAA
页:
[1]
2