[For English](README.en.md) # Emu4Vita++ 这是一个在 PlayStation Vita 使用的, 基于 [Libretro API](https://github.com/libretro/libretro-common) 的模拟器前端。 * [下载](#下载) * [功能说明](#功能说明) * [支持的内核](#支持的内核) * [编译](#编译前准备) * [相关脚本](#相关脚本) * [相关路径](#相关路径) * [问题反馈](#问题反馈) * [特别感谢](#特别感谢) ## 下载 [Release](https://github.com/noword/Emu4VitaPlus/releases) [百度网盘](https://pan.baidu.com/s/1chcOOw9G1GBtlkM9K4MtRg?pwd=E4VP) 带log的版本会在 `ux0:data/EMU4VITAPLUS/[core]/Emu4Vita++.log` 中输出更多日志,但是会影响执行效率。 ## 功能说明 ### 内核选择 | | | |-------------------------------------------------------------------------------------------------------------|------------------------| | | 开启/关闭 console 图标 | | | 控制说明文本滚动 | | | 启动内核 | ### ROM 浏览 | | | |-------------------------------------------------------------------------------------------------------------|--------------------------------| | | 添加/移出收藏夹 | | | 呼出文件管理菜单 | | | 进入目录/返回上层目录/启动游戏 | | | 搜索 | | | 下一个搜索匹配文件 | ### 手柄测试 ### 主题 ### 游戏 | | | |--------------------------------------------------------------------------------------------------------|------------| | + | 回溯 | | + | 加速 | | + | 减速 | | | 切换回菜单 | ### PC OS 模拟器中,例如 DOS, PC98 等,呼出键盘 | | | |-----------------------------------------------------------------------------------------------------------|----------| | + | 切换键盘 | | + | 键盘上移 | | + | 键盘下移 | ### 即时存档 ### 金手指 ### 使用触控屏在 FCEumm 中打鸭子 * 控制 ==> 设备端口2,设置为 Zapper ### [遮罩和着色器](GRAPHICS.md) ## 支持的内核 街机 - [FinalBurn Lite](https://gitee.com/yizhigai/libretro-fba-lite) - [FinalBurn Alpha 2012](https://github.com/libretro/fbalpha2012) - [FinalBurn Neo](https://github.com/libretro/FBNeo) - [FinalBurn Neo Xtreme](https://github.com/KMFDManic/FBNeo-Xtreme-Amped) - [mame2000](https://github.com/libretro/mame2000-libretro) - [mame2003](https://github.com/libretro/mame2003-libretro) - [mame2003_plus](https://github.com/libretro/mame2003-plus-libretro) - [mame2003 Xtreme](https://github.com/KMFDManic/mame2003-xtreme) NES - [FCEUmm](https://github.com/libretro/libretro-fceumm) - [Nestopia](https://github.com/libretro/nestopia) SNES - [Snes9x 2005](https://github.com/libretro/snes9x2005) - [Snes9x](https://github.com/libretro/snes9x) - [Supafaust](https://github.com/Rinnegatamante/supafaust) - [ChimeraSNES](https://github.com/jamsilva/chimerasnes) MD - [Genesis Plus GX](https://github.com/libretro/Genesis-Plus-GX) - [Genesis Plus GX Wide](https://github.com/libretro/Genesis-Plus-GX-Wide) - [PicoDrive](https://github.com/libretro/picodrive) GBC - [Gambatte](https://github.com/libretro/gambatte-libretro) - [TGB Dual](https://github.com/libretro/tgbdual-libretro.git) GBA - [gpSP](https://github.com/libretro/gpsp) - [VBA Next](https://github.com/libretro/vba-next) - [mGBA](https://github.com/libretro/mgba) PCE - [Mednafen PCE Fast](https://github.com/libretro/beetle-pce-fast-libretro) - [Mednafen SuperGrafx](https://github.com/libretro/beetle-supergrafx-libretro) PS1 - [PCSX ReARMed](https://github.com/libretro/pcsx_rearmed) NEOCD - [NeoCD](https://github.com/libretro/neocd_libretro) WSC - [Mednafen Wonderswan](https://github.com/libretro/beetle-wswan-libretro) NGP - [Mednafen NeoPop](https://github.com/libretro/beetle-ngp-libretro) DOS - [DOS Pure](https://github.com/libretro/dosbox-pure) Atari 2600 - [Stella 2014](https://github.com/libretro/stella2014-libretro) Atari 5200 - [Atari800](https://github.com/libretro/libretro-atari800) Atari 7800 - [ProSystem](https://github.com/libretro/prosystem-libretro) Vectrex - [vecx](https://github.com/libretro/libretro-vecx) Amiga - [uae4arm](https://github.com/libretro/uae4arm-libretro) ZX Spectrum - [fuse](https://github.com/libretro/fuse-libretro) PC98 - [Neko Project II](https://github.com/libretro/libretro-meowPC98) MSX - [Marat Fayzullin's fMSX](https://github.com/libretro/fmsx-libretro) - [blueMSX](https://github.com/libretro/blueMSX-libretro) Commodore 64 - [VICE](https://github.com/libretro/vice-libretro) Sharp X68000 - [PX68k](https://github.com/libretro/px68k-libretro) ## 编译前准备 ### Windows * 安装 [msys2](https://www.msys2.org/) 或 [devkitPro](https://github.com/devkitPro/installer/releases) #### 进入 msys * 安装 [vitasdk](https://vitasdk.org/) * 安装 cmake, python, ccache ```bash pacman -S cmake python python-pip ccache ``` * 安装 [openpyxl](https://pypi.org/project/openpyxl/), [pillow](https://pypi.org/project/pillow/), [lz4](https://pypi.org/project/lz4/), [toml](https://pypi.org/project/toml/) ```bash pip3 install openpyxl pillow pz4 toml ``` 或者通过 pacman 安装适合的版本(推荐) ```bash pacman -S mingw-w64-???-???-python-openpyxl \ mingw-w64-???-???-python-pillow \ mingw-w64-???-???-python-lz4 \ mingw-w64-???-???-python-toml ``` ### Linux 参考 Windows 的步骤,都用 Linux 了,应该有能力自己捣鼓了。 ## 编译 ```bash mkdir build cd build cmake ../ make ``` 编译带日志的版本: ```bash mkdir build-debug cd build-debug cmake ../ -DWITH_LOG=ON make ``` 编译独立内核的vpk: ```bash mkdir build-gpsp cd build-gpsp cmake ../ -DBUILD=gpsp make ``` ## 相关脚本 ### 翻译 ```mermaid graph TD A[./to_exce.py] --> B{{编辑 language.xlsx 和 translation.xlsx}} B --> C[./to_json.py] ``` ### 生成 shaders ```bash ./compile_shaders.py #请自行在网上寻找 psp2cgc.exe ``` ## 相关路径 ### 预览图 程序会在 rom 目录下的 `.previews` 目录中自动寻找同名的 `jpg` 或 `png` 图片,如果未找到,则会搜寻即时存档的截图 ### 金手指 程序会依次在 rom 目录下,rom目录下的.cheats 目录,ux0:/data/EMU4VITAPLUS/[内核]/cheats 目录下的同名.cht文件,以先找到的为准。 ### 遮罩 程序会读取 ux0:/data/EMU4VITAPLUS/[内核]/overlays 下的 overlays.ini ### 存档 ux0:/data/EMU4VITAPLUS/[内核]/savefiles/[rom] ### BIOS ux0:/data/EMU4VITAPLUS/system 请自行将对应的 BIOS 文件复制到此目录中【重要】 ### 兼容 [RetroArch romset](https://docs.libretro.com/guides/roms-playlists-thumbnails/) Emu4Vita++ 会尝试读取以下目录中的 .lpl 文件: * ux0:data/EMU4VITAPLUS/playlists * ux0:data/retroarch/retroarch.cfg 中的 playlist_directory 项 * ux0:data/retroarch/playlists 利用 lpl 中的 label 和 path 信息,显示 rom 名称和缩略图。 ## 问题反馈 [https://github.com/noword/Emu4VitaPlus/issues](https://github.com/noword/Emu4VitaPlus/issues) QQ群:550802386 如果希望回报问题,请注明版本和使用的内核,问题出现前的操作; 如果在游戏过程中出现问题,请上传rom; 如果程序奔溃,请找到ux0:/data/下面的psp2dmp文件,并上传。 ## 特别感谢 [一直改](https://gitee.com/yizhigai/Emu4Vita) [KyleBing](https://github.com/KyleBing/retro-game-console-icons) TearCrow [SnowPin](https://github.com/LiquifiedSnow) (RetroAchievements Admin) [Scott](https://github.com/ScottFromDerby) (RetroAchievements 测试) [yyoossk](https://github.com/yyoossk) (日语翻译) [theheroGAC](https://github.com/theheroGAC) (意大利语翻译) [chronoss09](https://github.com/chronoss09) (法语翻译) [limonetas](https://github.com/limonetas) (西班牙语翻译) [MayanKoyote](https://github.com/MayanKoyote) (俄罗斯语翻译) 以及在本项目中用到的所有开源项目的开发者们