beetle-psx-libretro, Mednafen PSX的独立端口/fork 到 Libretro API

分享于 

10分钟阅读

GitHub

  繁體 雙語
More or less shallow fork of Mednafen PSX
  • 源代码名称:beetle-psx-libretro
  • 源代码网址:http://www.github.com/libretro/beetle-psx-libretro
  • beetle-psx-libretro源代码文档
  • beetle-psx-libretro源代码下载
  • Git URL:
    git://www.github.com/libretro/beetle-psx-libretro.git
    Git Clone代码到本地:
    git clone http://www.github.com/libretro/beetle-psx-libretro
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/libretro/beetle-psx-libretro
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    Build StatusBuild status

    甲虫 PSX libretro

    甲虫PSX是一个端口/fork的PSX mednafen MODULE 到 libretro API。 它可以C++98模式编译,不包括Vulkan渲染器,它是在C++11中编写的,它是在。 甲虫PSX目前在 Linux,OSX和 Windows 上运行。

    这里 fork 中的显著增加是:

    • Zapeth开发的PBP和CHD文件格式支持;
    • 由simias实现的软件渲染器内部分辨率放大;
    • 由simias开发的OpenGL 3.2渲染器;
    • 由TinyTiger开发的Vulkan渲染器;
    • PGXP perspectve正确的纹理和亚像素精度,由iCatButler开发;

    运行

    若要运行这里内核,则必须在RetroArch中运行"系统目录"。 必须将 PSX BIOS放置在那里,并且必须分别命名为日本,和/或者欧洲区域的scph5500.bin, scph5501.bin 和/或者 scph5502.bin。 文件名区分大小写,它们可以是小写字母,大写,大写字母和扩展名,扩展名必须是小写

    存储卡将保存到"保存目录",存储卡 #1 使用libretro接口的标准保存。 存储卡的其余部分使用mednafen机制的标准保存。 你可以能必须将旧存储卡重命名为 gamename.srm.,也可以将它的从 gamename.gamenamehash.0.mcr 重命名为 gamename.gamenamehash.1.mcr 并将它的加载到相应。

    这里内核还支持保存状态。 记住保存状态还包括存储卡的状态;不小心加载旧的保存状态会导致存储卡的丢失,可能导致丢失的游戏。

    加载内容

    甲虫PSX与其他PS1仿真器不同,因为它需要一个提示表(. cue ),指向一个或者多个图像文件,而不是直接加载图像文件。 如果你有 比如 foo.iso,,你应该创建一个 foo.cue, 并填写以下内容:

    
    FILE"foo.iso" BINARY
    
    
     TRACK 01 MODE1/2352
    
    
     INDEX 01 00:00:00
    
    
    
    

    然后,你可以将 foo.cue 文件加载为核心的内容。 注意,这是一个肮脏的hack,不能在所有游戏中工作。 理想情况下,一定要用带提示纸的。

    If. cue is,你应该有文件,每个文件都有文件。提示,foo ( 光盘 2 ),提示,提示。提示。 要利用磁盘交换的甲虫控制特性盘,应该建立索引文件。

    打开一个文本文件,并在其中输入你的游戏文件的. cue,如下所示:

    
    foo (Disc 1).cue
    
    
    foo (Disc 2).cue
    
    
    foo (Disc 3).cue
    
    
    
    

    保存为 foo.m3u,并使用这里文件代替每个光盘提示页的位置。

    一些游戏还需要子通道数据补丁文件(. sbi ) 才能正常工作。 例如,在,中,如果缺少关联的. sbi 文件,输入将无法工作。

    压缩内容

    或者使用。bin/。iso文件,你可以将游戏转换为. pbp ( Playstation便携更新文件) 或者. chd ( Compressed压缩的数据),以减少文件大小。

    如果转换多个光盘游戏,所有光盘都应该添加到同一个. pbp 文件,而不是为它们制作. m3u 文件。

    大多数转换工具都需要每个光盘都有一个。bin/。iso文件。 如果游戏使用多个. bin 文件( 轨道),则必须将提示表装入虚拟驱动器,然后在转换之前将图像刻录到单个跟踪。

    注意RetroArch目前没有. pbp 数据库,因为用户转换方法的变化。 所有. pbp 内容都必须手动添加到播放列表中。

    冠心病

    要将内容转换成CHD格式,请使用最新的MAME发行版中的chdman工具,并将它的指向. cue 文件,如下所示:

    
    chdman createcd --input foo.cue --output foo.chd
    
    
    
    

    要确保工具currrently不会将. sbi 文件集成到. chd, 中,因此必须将这些文件放置在生成的. chd 文件旁边,以便正确地使用LibCrypt保护来。

    对于多光盘内容,创建一个列出所有. chd 文件而不是. cue 文件的. m3u 文件。 PBP文件一样,内容必须手动添加到播放列表中。

    建议固件/bios

    Ryphecha和Mednafen团队基于硬件版本开发了 PSX MODULE,它使用了特定的BIOS版本。 使用以下未列出的BIOS版本可能会导致意外的Bug,因此不建议使用:

    文件名:目的:哈希:
    scph5500.binBIOS映像,版本 3.0 09/09/96 J。
    日本区域游戏要求。
    MD5: 8 dd7d5296a650fac7319bce665a6a53c
    SHA256: 9 c0421858e217805f4abe18698afea8d5aa36ff0727eb8484944e00eb5e7eadb
    scph5501.binBIOS映像,版本 3.0 11/18/96.
    北美/美国地区游戏要求。
    SCPH-5503 和 SCPH-7003 BIOS映像相同。
    MD5: 490 f666e1afb15b7362b406ed1cea246
    SHA256: 11052 b6499e466bbf0a709b1f9cb6834a9418e66680387912451e971cf8a1fef
    scph5502.binBIOS映像,版本 3.0 01/06/97 E。
    欧洲区域游戏要求。
    SCPH-5552 BIOS映像相同。
    MD5: 32736 f17079d0b2b7024407c39bd3050
    SHA256: 1 faaa18fa820a0225e488d9f086296b8e6c46df739666093987ff7d8fd352c09

    命令行选项

    选项 NAME 描述
    渲染器( 重新启动)"软件''vulkan'还有'opengl最后两个选项将启用和/或者加速增强和纹理筛选等增强功能。 要使用'Vulkan',前端必须先使用Vulkan视频驱动程序,否则将默认使用'opengl'渲染器。
    软件 framebuffer如果禁用,软件渲染器将跳过一些步骤。 潜在加速。在进行帧帧readbacks时导致错误的图形。
    自适应平滑添加时,使 2D 元素平滑,同时保持 3D 元素锐利。 Vulkan渲染器仅在此时出现。
    内部GPU分辨率图形放大。
    纹理过滤使用 比如 xBR,SABR,双线性,等等 OpenGL进行纹理过滤。
    内部颜色深度PSX深度为 16bpp,甲虫PSX可以达 32 bpp。 只使用 OpenGL Vulkan总是使用 32 bpp。
    线框模式用于调试使用。仅显示多边形的轮廓。 仅 OpenGL。
    显示完整 VRAMVRAM的一切都在屏幕上画出来。
    PGXP操作模式不关闭时,浮点坐标将用于顶点位置,以避免PSX多边形抖动。 '内存+ cpu'模式可以进一步降低抖动,以降低性能和几何故障。
    PGXP顶点缓存维护顶点的缓存。 可能会导致更好的性能,但会导致大多数游戏中的图形故障。
    PGXP透视纠正纹理原始PSX进行仿射纹理贴图,从而在墙之间产生 比如 弯曲的线条。 这修复了它。
    抖动 Pattern如果禁用,则禁用PSX应用到战斗中的抖动 Pattern。 仅 OpenGL。Vulkan总是禁用 Pattern。
    缩放抖动 Pattern 与内部分辨率自我解释。仅 OpenGL。
    初始扫描线设置要在屏幕上绘制的第一个扫描线。
    初始扫描线 PAL设置要在屏幕上绘制PAL系统的第一个扫描线。
    最后扫描线设置要在屏幕上绘制的最后一个扫描线。
    最后扫描线 PAL设置要在屏幕上绘制PAL系统的最后一个扫描线。
    帧 duping ( 加速)如果没有新数据,则重绘/重用最后一个帧。
    宽屏模式黑客如果启用,则呈现 16: 9. 在 3D 游戏中效果最佳。
    裁剪扫描自我解释。
    其他裁剪自我解释。
    偏移裁剪图像自我解释。
    显示内部 FPS显示仿真PSX在它的上绘制的帧速率。
    模拟自校准监视输入到达的最大值,使用它作为标定启发器,然后对发送到 模拟器的模拟坐标进行缩放。
    为了获得最佳效果,将算法的最大振幅旋转到最大幅度,否则就会调整内容。
    DualShock模拟按钮切换如果禁用模拟按钮,则从DualShock控制器切换模拟按钮,如果启用,可以按下并按住START+SELECT+L1+L2+R1+R2键切换状态。
    端口 1: Multitap启用启用/禁用端口 1上的multitap功能。
    端口 2: Multitap启用启用/禁用端口 2上的multitap功能。
    CPU超频消除内存访问延迟,并使所有GTE指令具有 1个周期延迟。
    光盘访问方法如果选择"precache",则在启动时加载内存中的完整图像。
    跳过 BIOS自解释。某些游戏在启用时有问题。
    Memcard 0方法选择用于存储 memcard 0保存数据的格式( libretro或者 mednafen )。
    启用内存卡 1特别启用 memcard slot 1. 游戏"编号 tenka"需要。
    共享存储卡( 重启)将所有内容存储在相同的savefile中。 'Memcard 0方法'需要设置为'mednafen"。

    API  STA  STAN  
    相关文章