C64 SID sound editor written in 6510 assembly.
Prerequisites: Install KickAssembler.
Compile startup.asm
and load into VICE C64 emulator:
# Compile
java cml.kickass.KickAssembler startup.asm -o sidedit.prg
# Run in VICE
x64 sidedit.prg
Most keyboard shortcuts (like F for freq, A for attack, etc.) are shown in the UI.
Use F1-F4 to select waveforms.
Press 'X' to load "snapshot saved" sounds from sounds.bin
. Note that you need to recompile the editor if you update sounds.bin and want them available in the editor.
This program doesn't have a "save" feature. However, when running in VICE, you can save a snapshot of the C64 state. This way you can save and load different sounds. To use the edited sounds in your own program, you need to extract the sound data from a VICE RAM snapshot. Here's how to do these steps:
- Run the editor. You can load previously edited sound data by loading in a VICE snapshot.
- Edit sounds.
- Save a snapshot (on Mac, press F12 to open VICE menu, Select "Snapshot", hit "Quicksave snapshot.svf".)
snapshot.svf
now contains full machine state, including C64 RAM.- Extract sounds from snapshot.svf: run "stack runghc GrabSounds.hs". This will load
snapshot.svf
and store the edited sound parameters into sounds.bin. - Import the sounds.bin into your program. See
load_and_play
function in startup.asm on how to do this. - In your app init, call
soundfx.init
. In your raster IRQ, callsoundfx.play
to play the sounds.
See Stack Homepage on how to install the stack
command used to compile & run GrabSounds.hs
.