pym2149

From ym2149.org
Jump to navigationJump to search

YM2149 emulator in Python, NumPy and a little Cython where it matters. The aims of this project are to demonstrate it can be done in Python (done), accurate emulation (now probably the most accurate implementation out there), and interoperability with existing tools (MIDI support). Unlike other projects, we don't emulate the rest of the Atari ST.

System requirements

  • Linux, but some stuff may work on other platforms
  • ALSA for MIDI support
  • JACK Audio Connection Kit for real-time rendering

Install

This section is out of date, please see github first.

hg clone https://combatopera@bitbucket.org/combatopera/pym2149
cd pym2149
  • To avoid ruining the system python installation, we're going to build a dedicated python environment
  • ./drone.io.sh
    • This will automatically download the pyrbo and pyven projects next to pym2149, download and configure Miniconda (a free scientific python distribution) next to pym2149, and run the tests
  • YM files typically come compressed, and pym2149 requires lha to automatically unpack them
  • For JACK output you'll need jackd running, I use qjackctl to manage it
  • For MIDI support see MIDI

Play

  • You can get some ZIPs of YM files from http://pacidemo.planet-d.net/aldn/
    • Barry Leitch is a good start
  • Now the ym2wav.py script can convert a YM file to WAV
    • e.g. ./ym2wav.py 'Utopia 1.ym' out.wav or just ./ym2wav.py 'Utopia 1.ym' - | aplay
  • To play via JACK ensure jackd is running (I use qjackctl -s) and then ./ym2jack.py 'Utopia 1.ym'

Dev