Ayy MIDI
A project to allow listening to ZX Spectrum music (AY/YM) from a MIDI player such as a Roland Sound Brush or Casio FD-1.
- Arduino Nano (328)
- YMF2149 or AY-3-8910 SSG
- 1602 LCD + I2C expander shield
- SN7407 buffer
- 6N138 photocoupler
- 10k 1/6W resistor: 1pcs
- 1k 1/6W resistor: 3pcs
- 2.2k resistor: 4pcs
- 220 ohm resistor: 3pcs (1pcs if not installing MIDI THRU)
- 10uF electrolytic capacitor: 2pcs
I reused the PCB from my old SD based player with some wires and hacks on top of it, so I didn't design one anew. Feel free to do whatever you feel comfortable to wire things together.
Protocol description is in a separate file
Currently there is a firmware for Arduino Nano based on Atmega328 in the firm folder.
There are some conversion tools to create AYYMIDI data from various file formats in the converter directory.
- VGM2AYYMID: convert VGM files containing AY-3-8910 dumps to AYYMIDI
- PSG2AYYMID: convert PSG files (e.g. from ZXTune or Bulba's player) to AYYMIDI
This project is heavily based around Arduino ZX Spectrum AY Player by Z80A.
For Async I2C it's using asynci2cmaster by cskarai.
Also special thanks for all sorts of help and support:
by akasaka, 2023