(define meta `((title . "Wavedrum"))) (list (h1 [Wavedrum]) (p [I wrote a ,(ref "/tags/wavedrum.html" "series of blog posts") in which I document my efforts to understand and possibly manipulate the firmware of Korg’s Wavedrum. The PCB is easily accessible and exposes big connector pads as well as a microSD card—an invitation to play with the hardware.]) (p [Although I’m perfectly content just playing with the hardware, I do hope that my work will eventually allow me and others to modify the data on the Wavedrum such that custom sounds and loops (and possibly algorithms) can be used.]) (h2 [Current status]) (p [It is possible to load firmware from the microSD card by pressing ,(em [Write]) and ,(em [1]) while powering on the Wavedrum, followed by pressing ,(em [Write]) again (another undocumented mode can be entered by pressing ,(em [Write]) and ,(em [Mode]) while powering on).]) (p [The Wavedrum unfortunately rejects any modified firmware. The Oriental edition will not load the firmware of the Original/Black edition, nor will it load the firmware of the Global edition. It also won’t load any modified firmware (e.g. where the only difference is that two bytes are swapped). I intend to figure out how the Wavedrum validates the data on the SD card before deciding to reject them.]) (h2 [Blog posts]) (ul (li (ref "/posts/2013-08-11-hacking-the-wavedrum.html" "Hacking the Wavedrum")) (li (ref "/posts/2013-10-31-wavedrum-data-comparison.html" "Firmware comparison between Wavedrums Original, Black and Oriental")) (li (ref "/posts/2013-12-09-wavedrum-connectors.html" "Connectors on the Wavedrum’s circuit board")) (li (ref "/posts/2014-09-18-wavedrum-firmware-disassembler.html" "Disassembling the Wavedrum firmware"))) (h2 [Software]) (dl (dt (ref "http://git.elephly.net/wavedrum/wavedrum-lib.git" "wavedrum-lib")) (dd [Haskell library for parsing, editing, and writing Wavedrum programmes (presets).]) (dt (ref "http://git.elephly.net/wavedrum/sharc-disassembler.git" "sharc-disassembler")) (dd [Very rudimentary, partial disassembler for SHARC ADSP binaries helping me to understand the Wavedrum’s bootloader.])))