Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 2.01 KB

File metadata and controls

56 lines (34 loc) · 2.01 KB

Daisy_SPC

An SNES SPC audio player for Daisy Seed using the snes_spc emulator, running in QSPI flash mode for full-featured playback.

Project Location Requirement

This project is expected to live inside the seed folder of the DaisyExamples repository:

DaisyExamples\seed\Daisy_SPC

The Makefile and .vscode configuration use relative paths based on that location. If the project is outside DaisyExamples\seed, those references will be wrong and the project may fail to build.

Quick Start: Clone with Submodules

This project uses Git submodules for dependencies. Clone it with:

git clone --recurse-submodules https://github.com/postcode-x/Daisy_SPC.git

If you've already cloned without submodules, initialize them:

git submodule update --init --recursive

Building in QSPI Mode (Recommended)

The primary and recommended build flow for this project is bootloader QSPI mode.

Commands:

make clean
make DEPLOY_MODE=boot_qspi
make DEPLOY_MODE=boot_qspi program-dfu

Notes:

  • This mode links the app for bootloader/QSPI execution.
  • program-dfu targets the bootloader QSPI address (0x90040000).
  • Ensure the Daisy bootloader is installed before flashing in this mode.

SNES SPC Library (lib/snes_spc Submodule)

The snes_spc emulator library is embedded as a Git submodule in lib/snes_spc/. Just clone with --recurse-submodules (see Quick Start above) and everything is handled automatically.

Audio Data: Configure Your Song in assets/

This project plays embedded SPC audio data from your compiled binary. See assets/README.md for detailed instructions on:

  • Creating assets/song.h – Converting your own .spc file to C header format
  • Array sizing – Matching the rawData array size to your SPC file

Without a properly configured song.h file, the project will not compile.