树莓派研究笔记(7)-- lakka 《仙剑奇侠传》的完美移植

仙剑,这是我玩的第一个电脑游戏。真的太经典,无法超越。原来第一次玩的缺少开场动画,很多地方不明不白的。现在终于我们可以把这个梦想继续到树莓派中。

LAKKA是支持DOS模拟器的,所以我们一定要下载DOS版本的仙剑。因为版权问题,大家自己找找吧。

我第一次找到一个完美DOS版本,包括了开场动画,高清音乐CD之类的。

把游戏PAL目录复制到/storage/roms/downloads/DOS/PAL/,然后修改dosbox的 PALDOS.conf 文件放到 /storage/roms/downloads/DOS/ 下

[autoexec]
mount c "/storage/roms/downloads/DOS/PAL"
IMGmount d "/storage/roms/downloads/DOS/PAL/CD/paldos.cue" -t iso
C:
pal

然后新建一个游戏list, DOS.lpl 上传到 /storage/playlists 目录下:

/storage/roms/downloads/DOS/PALDOS.conf
仙剑奇侠传
/tmp/cores/dosbox_libretro.so
DOS (DOSBOX)
DETECT
DOS.lpl

一运行发现,提示cannot find CD disk 的错误!!

经过长时间的摸索和发现,原来LAKKA对ogg/mp3文件解码不支持,这就麻烦了,我总不能去改LAKKA的系统的吧。

先将ogg文件屏蔽看看:修改/storage/roms/downloads/DOS/PAL/CD/paldos.cue 文件,删掉所有的音乐文件如下:

FILE "paldos.iso" BINARY
  TRACK 01 MODE1/2048
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    PREGAP 00:02:00
    INDEX 01 00:00:00
  TRACK 03 AUDIO
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    INDEX 01 00:00:00
  TRACK 05 AUDIO
    INDEX 01 00:00:00
  TRACK 06 AUDIO
    INDEX 01 00:00:00
 TRACK 07 AUDIO
    INDEX 01 00:00:00
  TRACK 08 AUDIO
    INDEX 01 00:00:00
  TRACK 09 AUDIO
    INDEX 01 00:00:00

游戏可以运行了!!但是同时播放开场动画的声音没有了。这不够完美,不能接受。于是我想,既然游戏不支持mp3解码,那么我可不可以直接提供原始CD作为虚拟光盘。

于是我开始了第二次寻找资源,下载仙剑 DOS原版繁体中文 CD的镜像。

下载完后,傻了眼,原来不是iso文件,是三个 ccd, img, 和sub组成文件。后来想到Alcohol 120%这个虚拟光驱的虚拟能力是最强的,于是安装Alcohol 120%后,发现这个软件可以正确的读取所有音轨。如下图所示:

在Alcohol 120% 中选在创建镜像文件。惊喜的发现,在读取选项中可以直接创建cue文件。那么也就是说,我们可以创建一个原版的cue文件格式的CD。

取一样的名字创建成功后,替换掉下面目录下的文件。

/storage/roms/downloads/DOS/PAL/CD/

我们来看看新的cue文件内容,看到音轨的时间变化了吧,太棒了,这正是我们想要的。

FILE "paldos.iso" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    PREGAP 00:02:00
    INDEX 01 03:02:49
  TRACK 03 AUDIO
    INDEX 01 05:43:24
  TRACK 04 AUDIO
    INDEX 01 07:59:69
  TRACK 05 AUDIO
    INDEX 01 10:18:21
  TRACK 06 AUDIO
    INDEX 01 12:53:37
 TRACK 07 AUDIO
    INDEX 01 15:19:59
  TRACK 08 AUDIO
    INDEX 01 17:40:01
  TRACK 09 AUDIO
    INDEX 01 19:31:41

测试发现,开场动画的背景音乐又回来啦。我们又可以重温一遍仙剑啦!

关于键盘的映射问题。

1. 如果想用键盘玩游戏,那么 必须要把键盘的热键全部去掉。在设置->输入->输入热键绑定 这里修改映射的热键,以免影响游戏。

2. 如果想用手柄玩游戏,那么进入游戏后,按L3+R3组合件按键(有的手柄是两个摇杆按键),弹出游戏选项。然后选择 “控制”,将用户1 设备类型设置为 keyboard,把其他用户输入设置为无。然后退出“控制”,再进入一次,这时候会发现会多出很多按键mapping。可以按照下图所示配置,就可以用手柄玩啦。

原文地址:https://www.cnblogs.com/chengchen/p/8286407.html