trapezoid-core 0.1.0

A PSX emulator, backed by vulkano for rendering
Documentation

trapezoid-core

Crates.io trapezoid_core docs.rs (with version)

This is the core of a PSX emulator trapezoid. It contains all the components of a working emulator, the rest is a frontend.

You can create your own frontend for this project, or use it as a server.

Components implemented

  • CPU: Mips R3000A
  • GPU: backed by vulkano. i.e. for now, you need a project running vulkano to use this.
  • SPU: produce PCM frames that should be taken out regularly by the frontend.
  • CDROM: can read the contents of a PSX CDROM, and can be used to load games
    • Currently, no support for reading cdrom that contain multiple tracks.
    • Support XA-ADPCM audio.
  • MDEC: Able to decode MDEC frames and play videos
  • GTE: Geometry Transformation Engine
  • DMA: Direct Memory Access
  • Timers
  • Interrupts
  • Memory: Hosts the whole memory as a Box<[u8]> and provides access to it.