注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Linux > 内容正文

如何在Linux/FreeBSD下玩模拟器游戏

发布时间:2006-09-26 13:31:05 来源:友佳学院 网友评论 0 条

  如果你生于70年代,那么你一定还记得《魂斗罗》、《战斧》、《名将》吧。想再听一次令人热血沸腾的《魂斗罗》的主题曲吗?好,现在就让我们重温我们的儿时之旅。

  我们的讨论范围包括任天堂红白机模拟器(Fceu),世嘉五代模拟器(DGen/SDL),和街机模拟器(Xmame),有同好愿意帮助补上其他模拟器的资料吗?

  Fce Ultra

  这是一个跨平台的任天堂红白机模拟器,可以运行在Dos/Windows/BeOS/MacOS/MacOSX/和Unix下(需要SDL库支持)是我用过的Linux/FreeBSD下最好的红白机模拟器,支持绝大部分常见的MAP格式,支持zip格式的压缩rom、全屏模式、网络联机、游戏杆输入,甚至游戏作弊。遗憾的是作者似乎不打算继续发展这个项目,然而你仍然可以在http://fceultra.sourceforge.net/files/ 下找到该模拟器不定期发表的最新版本,目前的最新版本为0.96。

  编译安装这个模拟器是一件相当简单的事:下载fceu096src.tar.gz,展开到一个临时目录下,进入该目录,将Makefile.unixsdl拷贝成Makefile,然后运行make,如果一切顺利,将在该目录下生成fceu的执行程序。在指令行输入"$ ./fceu"将得到指令行帮助,试试"$ ./fceu -fs contra.zip",看到你久违的《魂斗罗》画面了吗?"-fs"选项将使fceu在全屏幕方式下运行。

  Fce ultra假定axis0为游戏杆的X轴向,axis1为游戏杆的Y轴向,对于大多数Gameport游戏杆,这个假设是成立的,但我的Topway USB Joypad单人手柄向系统报告自己是一个4轴向游戏杆/20按键手柄(实际使用2轴向10 按键),axis2为x轴向,axis3为Y轴向,有效按键0-9。这可能是由于Game-pad制造商为了减少成本,让单人手柄与双人手柄共用芯片的结果,而我的Gamtec Twin USB Game-pad双人手柄同样报告自己是一个4轴向/20按键手柄,其中axis0为Player1的X轴向,axis1为Player1的Y轴向,axis2为Player2的X轴向,axis3为Player2的Y 轴向,手柄1的有效按键为0-9,手柄2的有效按键为10-19。是的,这个结果看起来相当的怪诞,但这不是厂商或是驱动编写者的错,毕竟,支持Joystick重映射应当是应用程序的职责,但这却造成相当一部分USB游戏杆在 Fce Ultra下无法正常使用,有哪位红白机迷愿意为她写个补丁吗?

  Linux用户在编译运行之前应当先检查是否已安装了SDL的运行库和开发库(当然还要有gcc)。Redhat/Mandrake的发行版均有这个安装包,你可以运行 "sdl-config --version"来检查你的SDL库的版本号,确保你的SDL库版本在1.1以上,否则在编译时可能会遇到麻烦。

  FreeBSD用户需要确保sdl12 (/usr/ports/devel/sdl12),gmake (/usr/ports/devel/gmake)等ports已经安装,sdl12会在/usr/local/bin/下安装sdl11-config这个执行文件,由于FreeBSD的ports包含了许多不同版本的SDL库(甚至包括在linux模拟环境下运行的linux-sdl),因此需要以不同的配置程序名加以区别。记住为sdl11-config创建一个符号连接,像这样:"# cd /usr/local/bin; ln -s sdl11-config sdl-config",fceu编译时需要通过这个标准的SDL环境配置程序以确定所需的SDL库和头文件的路径,另外,你需要执行"gmake"以明确表示你使用gnu-make而不是系统缺省的bsd-make

  在写完这个主题后大约一个星期,我兴奋地发现,FreeBSD终于将FCEU正式加入了PORTS,如果你使用cvsup 同步PORTS,那么进入"/usr/ports/emulators/fceu",然后"make && make install"就大功告成了。

  DGen/SDL

  这是基于windows的世嘉模拟器DGen的SDL环境移植版,支持全屏模式、分屏模式、zip格式的压缩rom、游戏杆输入和游戏作弊,你可以在http://www. pknet.com/~joe/dgen-sdl.html找到该模拟器的最新版本,目前的最新版本是1.23。

  与Fce Ultra一样,DGen/SDL同样不支持游戏杆重映射,甚至假定系统报告的第一游戏杆设备为Player1,第二游戏杆设备为Player2,并且限制游戏手柄的最大按键数为16!但SEGA MD上留下了我太多难以割舍的回忆,因此我为她编写了游戏杆重映射的PATCH,由于DGen/SDL 原本的游戏杆支持的代码是由另一位hacker加上的,并且使用了完全不同的事件映射模式,这花了我2个小时去弄清楚代码是如何工作的,这个补丁耗费了我整个周末并让我错过了与PPMM的晚餐:-< 然而应用这个PATCH是非常简单的,你只需在展开的dgen-sdl-1.23目录下执行"patch-p1<../dgen-sdl-1.23-jsmap. patch",记住你需要用你下载的patch文件的路径替换指令里的"../dgen-sdl-1.23-jsmap.patch",但直到目前为止,我仍然没有收到DGen/SDL的作者关于这个PATCH的任何答复,因此,这个PATCH是"非官方的",是否使用她取决于你对我的信任,如果这个PATCH给你带来麻烦或是快乐,或者你有任何意见或是建议,请让我知道。

  得益于autoconf脚本的帮助,编译模拟器的源代码是相当简单的,下载dgen-sdl-1.23.tar.gz,展开到一个临时目录,进入该目录,如果你需要游戏杆重映射的Patch,请先按上文的方法应用Patch,之后顺序执行"./configure","make"就可完成编译,FreeBSD的用户则需要首先符号连接sdl-config,安装gnumake,并执行"gmake"而不是"make"。然而该版本的autoconf测试宏中有两处错误地包含了SDL/SDL.h而不是SDL.h,在Redhat Linux下,由于SDL-devel将SDL的头文件放在了/usr/local/SDL/下,而/usr/include/是系统的标准包含路径,因此,Redhat的用户在编译时不会遇到任何麻烦,其他Linux发行版和*BSD的用户恐怕就没这么幸运了,当你运行"./configure"时,配置脚本会抱怨找不到SDL/SDL.h这个头文件从而引起SDL环境测试失败,你可以修改acinclude.m4和aclocal.m4这两个宏定义文件然后重新运行autoconf以生成configure 脚本或是干脆自己直接修改configure脚本。

1 2 3 4 5 下一页
关于 Linux 操作系统 游戏 原野 的新闻
  • 挖掘Linux操作系统堆内存释放的奥秘
  • Linux系统下X终端的详细使用方法
  • 国产Linux遭遇鲜花与暗礁
  • 开源之父Torvalds宣传新版Linux内核
  • Linux防火墙配置入门必学
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Linux系统下X终端的详细使用方法
下一篇文章:挖掘Linux操作系统堆内存释放的奥秘
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Linux操作系统文件系统的桌面应用
Linux操作系统文件系统的桌面应用
Linux设备驱动编程之定时器
Linux设备驱动编程之定时器
Windows外衣Linux心 红旗桌面版详测
Windows外衣Linux心 红旗桌面版详测
超实用 Linux下通过VNC安装Oracle
超实用 Linux下通过VNC安装Oracle
全站资源
  • 微软官方入门教程19:轻松掌握Vista系统的快
  • 微软2008大冲击,预借Vista SP1力促Vista市
  • 在收件箱中获得 Windows Vista 的最新更新
  • 微软官方Vista入门教程全集19篇(Vista学院
  • Windows Vista 的成功将势不可挡
  • 快快抛弃Vista,拥抱XP SP3!你觉得呢?
  • 浅谈Vista系统关闭虚拟内存与使用内存盘加速
  • 嘿嘿,按下键盘上面的三个键,马上让你的Vi
  • Windows Vista的盗版率只有Windows XP的一半
  • 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
  • Windows外衣Linux心 红旗桌面版详测
  • 扮酷你的桌面 Linux超靓壁纸下载(多图)
  • Linux安装流程
  • 浅谈Linux的内核
  • RedHat Linux9.0安装实例(1)
  • ARM的嵌入式Linux移植体验之基本概念
  • Linux安装要点
  • 红旗Linux桌面版5.0BETA版OS
  • 如何在大硬盘上安装Linux
  • RealPlayer流媒体播放器Linux版
最新技术文档
  • Linux步入Unix的后尘-铁甲Linux出现
  • Linux内核中的同步和互斥分析报告
  • Linux操作系统文件系统的桌面应用
  • Linux设备驱动编程之定时器
  • 嵌入式Linux操作系统启动信息完全注释
  • 在Linux操作系统中实现内部进程通信
  • Linux大腕警告称开源软件存在安全问题
  • Linux下双网卡绑定技术实现负载均衡
  • 深入浅出Linux操作系统的优化和微调
  • Linux下的中文显示和支持常见问题解答
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载