GENESIS/MEGADRIVE(YM2612+SN76489) VGM player on ESP32/M5Stack
https://www.youtube.com/watch?v=dunNtkFS8gc
- M5Stack
- esp32-idf toolchain setup
$ xtensa-esp32-elf-gcc -v
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a)
Compile
git clone --recursive https://github.com/h1romas4/m5stack-synth-emulation.git
cd m5stack-synth-emulation
# This repository includes eps-idf v3.2.3
export IDF_PATH=$(pwd)/esp-idf
make
Upload sample VGM file to M5Stack flash
./flashrom.sh vgm/ym2612.vgm
Play music
make flash monitor
Create VGM file
- mml2vgm by kumatan san
- mucomMD2vgm by kumatan san
Extract release.tar.gz and Assign the binary to the following address:
address | module |
---|---|
0x1000 |
build/bootloader/bootloader.bin |
0x8000 |
build/partitions.bin |
0xe000 |
build/ota_data_initial.bin |
0x10000 |
build/m5stack-synth-emulation.bin |
0x211000 |
vgm/ym2612.vgm or vgm/sn76489.vgm |
python ${IDF_PATH}/components/esptool_py/esptool/esptool.py \
--chip esp32 \
--port <SET IT TO YOUR COM PORT> \
--baud 921600 \
--before default_reset \
--after hard_reset write_flash -z \
--flash_mode dio --flash_freq 80m \
--flash_size detect \
0x1000 ./build/bootloader/bootloader.bin \
0x8000 ./build/partitions.bin \
0xe000 ./build/ota_data_initial.bin \
0x10000 ./build/m5stack-synth-emulation.bin \
0x211000 ./vgm/ym2612.vgm
name | version |
---|---|
esp-idf | v3.2.3 |
esp32-arduino | 1.0.4 |
m5stack | 0.2.9 |