Hasty Briefsbeta

Cycle-accurate YM2149 PSG emulator

3 days ago
  • #rust
  • #retro-computing
  • #audio-emulation
  • YM2149/AY-3-8910 is a Programmable Sound Generator (PSG) that defined the sound of 8-bit/16-bit retro computing.
  • Features three square-wave channels, one noise generator, and hardware envelopes for authentic chiptune sound.
  • Used in Atari ST, Amstrad CPC, ZX Spectrum 128, MSX, and arcade machines from the 1980s/90s.
  • Cycle-accurate, format-complete Rust crate for emulators, games, or nostalgia projects.
  • Supports multiple formats including YM, SNDH, AY, and Arkos Tracker files.
  • Bevy integration for game developers with playlists, crossfades, and audio-reactive gameplay hooks.
  • WebAssembly player available for browser-based playback with features like volume control and channel muting.
  • Comprehensive testing with 165+ tests and real-world demoscene fixtures.
  • Modular architecture with separate crates for core emulation, replayers, and Bevy plugins.
  • MIT licensed with contributions welcome, provided they pass formatting, linting, and testing.