agugu6807505 agugu6807505
关注数: 42 粉丝数: 65 发帖数: 3,967 关注贴吧数: 125
batocera关于如何自动切换PS和PCenginecd的汉化BIOS的教程 这个经验也是借鉴其他Emuelec来的,原理是一样的,但是执行起来因为我没找到先人的路线,所以折腾了几小时。 刚开始我尝试在emulatorlauncher.py用python修改,但是无果,我实在太挫,因为调试起来比较麻烦的原因啦。。 然后仔细看了代码,发现batocera在启动和终止ROM的时候,会去2个地方运行脚本, 路径如下: /userdata/system/ scripts /usr/share/batocera/configgen/scripts 所以答案来了,只要在share盘的system里新建有个scripts,在里面放一个bash就行,名字随便起,后缀是.sh 代码我已经写好了: 注意写的时候,用linux模式编辑(编辑器一般自带) --------------------------------------------------------------------------------- #!/bin/bash # Check for events EVENT=$1 SYSTEM_NAME=$2 Absolute_path_rom=$5 ROM_NAME=${Absolute_path_rom##*/} BIOS_SOURCE_DIR="/userdata/bios/$SYSTEM_NAME" BIOS_DEST_DIR="/userdata/bios" if [ "$EVENT" = "gameStart" ]; then # ps拷贝bios if [["${SYSTEM_NAME}" == "psx" ]]; then if [ -f"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.bin" ]; then # 复制BIOS文件到目标目录 cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.bin""$BIOS_DEST_DIR/scph5500.bin" cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.bin""$BIOS_DEST_DIR/scph5502.bin" cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.bin""$BIOS_DEST_DIR/scph101.bin" #echo "$BIOS_SOURCE_DIR/${ROM_NAME%.*}.bin" >>"/userdata/bios/$SYSTEM_NAME/1.txt" else cp -rf"$BIOS_SOURCE_DIR/scph5500.bin""$BIOS_DEST_DIR/scph5500.bin" cp -rf"$BIOS_SOURCE_DIR/scph5502.bin""$BIOS_DEST_DIR/scph5502.bin" cp -rf"$BIOS_SOURCE_DIR/scph101.bin" "$BIOS_DEST_DIR/scph101.bin" #echo "拷贝PS原始BIOS" >>"/userdata/bios/$SYSTEM_NAME/1.txt" fi fi # pcenginecd拷贝bios if [["${SYSTEM_NAME}" == "pcenginecd" ]]; then if [ -f"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.pce" ]; then # 复制BIOS文件到目标目录 cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.pce""$BIOS_DEST_DIR/syscard1.pce" cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.pce""$BIOS_DEST_DIR/syscard2.pce" cp -rf"$BIOS_SOURCE_DIR/${ROM_NAME%.*}.pce""$BIOS_DEST_DIR/syscard3.pce" #echo "$BIOS_SOURCE_DIR/${ROM_NAME%.*}.pce" >>"/userdata/bios/$SYSTEM_NAME/1.txt" else cp -rf"$BIOS_SOURCE_DIR/syscard1.pce""$BIOS_DEST_DIR/syscard1.pce" cp -rf"$BIOS_SOURCE_DIR/syscard2.pce""$BIOS_DEST_DIR/syscard2.pce" cp -rf"$BIOS_SOURCE_DIR/syscard3.pce""$BIOS_DEST_DIR/syscard3.pce" #echo "拷贝PCE原始BIOS" >>"/userdata/bios/$SYSTEM_NAME/1.txt" fi fi fi if [ "$EVENT" = "gameStop" ]; then # 运行完pcenginecd拷贝原始bios,防止pcengine游戏字错乱 if [["${SYSTEM_NAME}" == "pcenginecd" ]]; then # 复制BIOS文件到目标目录 cp -rf"$BIOS_SOURCE_DIR/syscard1.pce""$BIOS_DEST_DIR/syscard1.pce" cp -rf"$BIOS_SOURCE_DIR/syscard2.pce""$BIOS_DEST_DIR/syscard2.pce" cp -rf"$BIOS_SOURCE_DIR/syscard3.pce""$BIOS_DEST_DIR/syscard3.pce" #echo "还原PCE原始BIOS" >>"/userdata/bios/$SYSTEM_NAME/1.txt" fi fi ----------------------------------------------------------------------------------------------------------------------- 以上是代码。 这时候启动需要使用特殊bios的ROM时,会去/userdata/bios/psx,或者/userdata/bios/pcenginecd中找寻同名的BIOS,然后复制到/userdata/bios下,pcenginecd在退出时候会还原原版bios,以防pcengine的游戏出现问题。 1. 索尼PS:请在/userdata/bios/psx下放置和ROM名同名的汉化BIOS和原始的三个标准BIOS(文件名:scph5500、scph5502、scph101,)后缀均为.bin 2. Nec pcenginecd: 请在/userdata/bios/pcenginecd下放置和ROM名同名的汉化BIOS和原始的三个标准BIOS(文件名:syscard1.pce、syscard2.pce、syscard3.pce,)后缀均为.pce 最后,未解决问题:独立版鸭站似乎会校验BIOS,因此无法使用,PS模拟器请切ra核心。(有人知道解法的话,告诉我一下,我还是比较喜欢鸭站的)
1 下一页