summaryrefslogtreecommitdiff
path: root/static/wavedrum/index.markdown
blob: 4b48e62479b038d433a7bae4c5e7c12f00d44725 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Wavedrum

I wrote a [series of blog posts](/tags/wavedrum.html) 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.

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.


## Current status

It is possible to load firmware from the microSD card by pressing
*Write* and *1* while powering on the Wavedrum, followed by pressing
*Write* again (another undocumented mode can be entered by pressing
*Write* and *Mode* while powering on).

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.


## Blog posts

- [Hacking the Wavedrum](/posts/2013-08-11-hacking-the-wavedrum.html)
- [Firmware comparison between Wavedrums Original, Black and Oriental](/posts/2013-10-31-wavedrum-data-comparison.html)
- [Connectors on the Wavedrum's circuit board](/posts/2013-12-09-wavedrum-connectors.html)
- [Disassembling the Wavedrum firmware](/posts/2014-09-18-wavedrum-firmware-disassembler.html)


## Software

[wavedrum-lib](http://git.elephly.net/wavedrum/wavedrum-lib.git)

:   Haskell library for parsing, editing, and writing Wavedrum
    programmes (presets).

[sharc-disassembler](http://git.elephly.net/wavedrum/sharc-disassembler.git)

:   Very rudimentary, partial disassembler for SHARC ADSP binaries
    helping me to understand the Wavedrum's bootloader.