#模拟器 #vulkan #psx #rust #游戏和图形

trapezoid-core

基于 vulkano 的渲染的 PSX 模拟器

3 个版本

0.1.2 2024 年 1 月 29 日
0.1.1 2024 年 1 月 25 日
0.1.0 2024 年 1 月 25 日

#337 in 模拟器

每月 22 次下载
用于 trapezoid

MIT 许可证

500KB
12K SLoC

trapezoid-core

Crates.io trapezoid-core docs.rs (with version)

这是 PSX 模拟器的核心 trapezoid。它包含所有工作的模拟器组件,其余的是前端。

您可以为此项目创建自己的前端,或者将其用作服务器。

已实现的组件

  • CPU:Mips R3000A
  • GPU:由 vulkano 支持。 i.e. for now, you need a project running vulkano to use this
  • SPU:产生PCM帧,应由前端定期取出。
  • CDROM:可以读取PSX CDROM的内容,并可以用来加载游戏
    • 支持XA-ADPCM音频。
  • MDEC:能够解码MDEC帧并播放视频
  • GTE:几何变换引擎
  • DMA:直接内存访问
  • 计时器
  • 中断
  • 内存:将整个内存作为 Box<[u8]> 存储,并提供对它的访问。
  • 内存卡:将内存卡保存/加载到磁盘,它将保存到当前文件夹。
    • 待办事项:添加控制此功能的API
  • 调试:我们有一个API可以轻松创建此模拟器的调试器。这是由前端 trapezoid 使用的。

待办事项

  • CDROM中的多轨
  • 更好的API,目前API只暴露前端需要的内容,因此没有访问GPU、SPU等...
  • 更好的API文档
  • 添加对更多CDROM格式的支持
  • 更好地控制音频通道

依赖项

~48MB
~1M SLoC