c64-sid-edit
c64-sid-edit copied to clipboard
C64 SID sound editor + player written in 6510 assembly
C64 SID sound editor
C64 SID sound editor written in 6510 assembly.
How to run:
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
Keyboard shortcuts
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.
How to save and use edited sounds
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.svfnow contains full machine state, including C64 RAM.- Extract sounds from snapshot.svf: run "stack runghc GrabSounds.hs". This will load
snapshot.svfand store the edited sound parameters into sounds.bin. - Import the sounds.bin into your program. See
load_and_playfunction in startup.asm on how to do this. - In your app init, call
soundfx.init. In your raster IRQ, callsoundfx.playto play the sounds.
See Stack Homepage on how to install the stack command used to compile & run GrabSounds.hs.