DW-8000 family: the DW-6000 #38

Closed
opened 2026-10-12 21:15:45 +00:00 by bcox · 5 comments
Owner

Ben asked on 2026-10-12 which instruments of the families already here were missed, and for an issue a family. Everything below is from recollection, with no manual read; issue #20's list was wrong in several places for the same reason, so read the manuals first and correct this. Each is to be an extension of the existing instrument, as the Jupiters and the JX family are, never a "model" switch.

  • DW-6000 (1984): recalled as six voices, eight waveforms, no velocity or aftertouch, and a chorus where the DW-8000 has its delay.

It has a waveform ROM of its own, so it falls under provenance rule 3 and the copyright questions Ben deferred on 2026-10-11: nothing about its image may be worked out from a dump in the sources, and nothing may be widened until Ben takes those up.

Ben asked on 2026-10-12 which instruments of the families already here were missed, and for an issue a family. **Everything below is from recollection, with no manual read**; issue #20's list was wrong in several places for the same reason, so read the manuals first and correct this. Each is to be an extension of the existing instrument, as the Jupiters and the JX family are, never a "model" switch. - **DW-6000** (1984): recalled as six voices, eight waveforms, no velocity or aftertouch, and a chorus where the DW-8000 has its delay. It has a waveform ROM of its own, so it falls under provenance rule 3 and the copyright questions Ben deferred on 2026-10-11: nothing about its image may be worked out from a dump in the sources, and nothing may be widened until Ben takes those up.
Author
Owner

Done on the family-extensions branch, commit 0fd1553, as far as the provenance rules allow. Written by Claude with Ben away; nothing here is confirmed by him.

What the manuals showed against the recollection. Korg's owner's manual for the DW-6000 (1985) and the text of its service manual were found and read (specifications, MIDI implementation, circuit descriptions, adjustment procedure; not the schematics or parts list). The recollection holds: six voices, eight waveforms, no velocity or aftertouch, a chorus where the DW-8000 has its delay. The manuals add:

  • no auto bend;
  • the modulation generator has no waveform parameter, and its one shape is not named;
  • keyboard tracking is off, half or full (no quarter);
  • one UNISON, last note played, all six voices detuned by an amount not given; whether it retriggers is not said;
  • a damper pedal and a portamento footswitch, sent and received as controllers 64 and 65, and volume on controller 7 received;
  • the chorus is one parameter, on or off; the service manual names its board and a bucket-brigade delay and gives no rate, depth or delay time in its words.

What was built. A DW-6000 is settings of mini-8000: voice.count 6 and everything it lacks left at nothing, where every patch starts. One parameter was added, off until asked for: voice.hold, controller 64 as the damper pedal (the DW-8000's MIDI has it too). mini-800's shared chorus.on stands for its chorus; no circuit was modelled, there being no figures. Its numbered parameters are written out in CLAUDE.md against the DW-8000's and were not given a second panel, because its 61 to 73 mean other things than the DW-8000's and the protocol has one panel for an instrument. Controllers 65 and 7 are still not done. Nothing in engine/ changed, and the bench was not run, since nothing was added to the path every patch takes. bazel test //... passes. Not played or heard.

What is left for Ben: the ROM. Its eight waveforms are not here.

  • No DW-6000 ROM or firmware image, and no account of what one holds, was fetched, opened or read. wave_rom.h was not changed and no reader was written.
  • The owner's manual names the eight (brass and strings, violin, acoustic piano, electric piano, synth bass, saxophone, clavi, bell and gong) and says they are in two 256 kilobit ROM chips. Six of those names are among the DW-8000's sixteen, in another order. No Korg document read says they are the same data, so it is recorded as not known. With the DW-8000's image a DW-6000 patch can only use the DW-8000's waveform of the nearest name.
  • The choices: leave it so; allow a DW-6000 dump under rom/dw6000/copyrighted/ with a reader, which means examining that dump, the thing the open copyright item leaves unsettled; or make a free image of our own, which would serve both instruments.
  • One thing to know: the service manual's circuit description (section 8, under KLM-654) says in two sentences what the wave table holds. They were read as part of the circuit description and are not repeated in the repository. They are Korg's published words, and may bear on the open question about what was learned from the DW-8000's dump.
  • docs/references.md had a row calling the DW-6000 "the earlier instrument with eight of the waveforms". That was not from its manual, and the row now says only what the manual does.

The other choices made without Ben (the name and default of voice.hold, the triangle for the modulation generator, no second panel, controllers 65 and 7) are under "Open decisions" in CLAUDE.md.

Done on the `family-extensions` branch, commit 0fd1553, as far as the provenance rules allow. Written by Claude with Ben away; nothing here is confirmed by him. **What the manuals showed against the recollection.** Korg's owner's manual for the DW-6000 (1985) and the text of its service manual were found and read (specifications, MIDI implementation, circuit descriptions, adjustment procedure; not the schematics or parts list). The recollection holds: six voices, eight waveforms, no velocity or aftertouch, a chorus where the DW-8000 has its delay. The manuals add: - no auto bend; - the modulation generator has no waveform parameter, and its one shape is not named; - keyboard tracking is off, half or full (no quarter); - one UNISON, last note played, all six voices detuned by an amount not given; whether it retriggers is not said; - a damper pedal and a portamento footswitch, sent and received as controllers 64 and 65, and volume on controller 7 received; - the chorus is one parameter, on or off; the service manual names its board and a bucket-brigade delay and gives no rate, depth or delay time in its words. **What was built.** A DW-6000 is settings of mini-8000: `voice.count` 6 and everything it lacks left at nothing, where every patch starts. One parameter was added, off until asked for: `voice.hold`, controller 64 as the damper pedal (the DW-8000's MIDI has it too). mini-800's shared `chorus.on` stands for its chorus; no circuit was modelled, there being no figures. Its numbered parameters are written out in CLAUDE.md against the DW-8000's and were not given a second panel, because its 61 to 73 mean other things than the DW-8000's and the protocol has one panel for an instrument. Controllers 65 and 7 are still not done. Nothing in `engine/` changed, and the bench was not run, since nothing was added to the path every patch takes. `bazel test //...` passes. Not played or heard. **What is left for Ben: the ROM.** Its eight waveforms are not here. - No DW-6000 ROM or firmware image, and no account of what one holds, was fetched, opened or read. `wave_rom.h` was not changed and no reader was written. - The owner's manual names the eight (brass and strings, violin, acoustic piano, electric piano, synth bass, saxophone, clavi, bell and gong) and says they are in two 256 kilobit ROM chips. Six of those names are among the DW-8000's sixteen, in another order. **No Korg document read says they are the same data**, so it is recorded as not known. With the DW-8000's image a DW-6000 patch can only use the DW-8000's waveform of the nearest name. - The choices: leave it so; allow a DW-6000 dump under `rom/dw6000/copyrighted/` with a reader, which means examining that dump, the thing the open copyright item leaves unsettled; or make a free image of our own, which would serve both instruments. - One thing to know: the service manual's circuit description (section 8, under KLM-654) says in two sentences what the wave table holds. They were read as part of the circuit description and are not repeated in the repository. They are Korg's published words, and may bear on the open question about what was learned from the DW-8000's dump. - `docs/references.md` had a row calling the DW-6000 "the earlier instrument with eight of the waveforms". That was not from its manual, and the row now says only what the manual does. The other choices made without Ben (the name and default of `voice.hold`, the triangle for the modulation generator, no second panel, controllers 65 and 7) are under "Open decisions" in CLAUDE.md.
Author
Owner

The DW-6000's waveforms, by Ben's word of 2026-10-12 ("Do the waveforms as you did the DW-8000: require a ROM file at startup, and see if you can find a dump online and put it in gitignored like the DW-8000's waveform ROM"). Commit 321ebcd on family-extensions, not pushed.

No dump of the two chips was found. MAME has no DW-6000, so there is no checksum to hold one against. What was found: two files of 32768 bytes named for IC29 and IC30, in the waveform library that comes with DWLUTION's program for building ROM images (hackaday.io project 10113). They are in rom/dw6000/copyrighted/ in the mini-800-families worktree, gitignored, with the image made of them, dw6000-waves.bin. Nothing from them is committed. The DW-6000 firmware that turned up on archive.org was not unpacked or kept.

The image is probably not a copy of the chips, but that program's own working out of the waveforms: the first two tables of every waveform hold the same wave and differ by a step here and there, every table's lowest sample is exactly 0, and its higher tables hold a harmonic more than the DW-8000's and than Korg's service manual says. rom/dw6000/README.md has this, and that the order of the two files (30 first) is a reading, chosen so that the acoustic piano, electric piano, synth bass and bell fall where the owner's manual numbers them.

What was built, each choice mine and unconfirmed:

  • --rom=PATH is still the DW-8000's image; --rom6000=PATH is the DW-6000's, 65536 bytes. One of the two is required.
  • osc1.wave and osc2.wave run to 24: 1 to 16 the DW-8000's, 17 to 24 the DW-6000's 1 to 8.
  • A waveform whose image was not given is silent, and the program says which as it starts.
  • One reader for both, in wave_rom.h; the layout is the DW-8000's.

Found on the way: three of the eight (acoustic piano, electric piano, synth bass) are the same waves as the DW-8000's 3, 4 and 14 to within rounding, and none is the same bytes. The other five are the DW-6000's own. All eight are kept.

Checked: bazel test //... passes; the DW-8000's renders are byte for byte what they were; each of the DW-6000's eight renders as a steady tone at pitch, under full scale. Not heard, and the bench was not run, nothing having been added for each sample.

For Ben: whether this image is good enough to play from or a real dump should be waited for; the flag's name and the numbering 17 to 24; silence against refusing; and whether to drop the three duplicates. The image wants copying to the main worktree after a merge.

The DW-6000's waveforms, by Ben's word of 2026-10-12 ("Do the waveforms as you did the DW-8000: require a ROM file at startup, and see if you can find a dump online and put it in gitignored like the DW-8000's waveform ROM"). Commit 321ebcd on `family-extensions`, not pushed. **No dump of the two chips was found.** MAME has no DW-6000, so there is no checksum to hold one against. What was found: two files of 32768 bytes named for IC29 and IC30, in the waveform library that comes with DWLUTION's program for building ROM images (hackaday.io project 10113). They are in `rom/dw6000/copyrighted/` in the `mini-800-families` worktree, gitignored, with the image made of them, `dw6000-waves.bin`. Nothing from them is committed. The DW-6000 firmware that turned up on archive.org was not unpacked or kept. **The image is probably not a copy of the chips**, but that program's own working out of the waveforms: the first two tables of every waveform hold the same wave and differ by a step here and there, every table's lowest sample is exactly 0, and its higher tables hold a harmonic more than the DW-8000's and than Korg's service manual says. `rom/dw6000/README.md` has this, and that the order of the two files (30 first) is a reading, chosen so that the acoustic piano, electric piano, synth bass and bell fall where the owner's manual numbers them. What was built, each choice mine and unconfirmed: - `--rom=PATH` is still the DW-8000's image; `--rom6000=PATH` is the DW-6000's, 65536 bytes. One of the two is required. - `osc1.wave` and `osc2.wave` run to 24: 1 to 16 the DW-8000's, 17 to 24 the DW-6000's 1 to 8. - A waveform whose image was not given is silent, and the program says which as it starts. - One reader for both, in `wave_rom.h`; the layout is the DW-8000's. Found on the way: three of the eight (acoustic piano, electric piano, synth bass) are the same waves as the DW-8000's 3, 4 and 14 to within rounding, and none is the same bytes. The other five are the DW-6000's own. All eight are kept. Checked: `bazel test //...` passes; the DW-8000's renders are byte for byte what they were; each of the DW-6000's eight renders as a steady tone at pitch, under full scale. **Not heard**, and the bench was not run, nothing having been added for each sample. For Ben: whether this image is good enough to play from or a real dump should be waited for; the flag's name and the numbering 17 to 24; silence against refusing; and whether to drop the three duplicates. The image wants copying to the main worktree after a merge.
Author
Owner

Ben answered "Yes" on 2026-10-12 to both questions left here: the third party's DW-6000 image is acceptable to play from, and its waveforms are numbered 17 to 24, which stored patches now depend on. The wider copyright questions stay open.

Ben answered "Yes" on 2026-10-12 to both questions left here: the third party's DW-6000 image is acceptable to play from, and its waveforms are numbered 17 to 24, which stored patches now depend on. The wider copyright questions stay open.
Author
Owner

Closed by Ben's word on 2026-10-12. The work is on the branch family-extensions, not yet merged.

Closed by Ben's word on 2026-10-12. The work is on the branch `family-extensions`, not yet merged.
bcox closed this issue 2026-10-13 01:27:32 +00:00
Author
Owner

Ben played it on his laptop on the night of 2026-10-12, from both images, and found it sounds good, and that the hold works. Which way round the image's two halves go (17 to 20 and 21 to 24) waits on hardware: he has heard all eight and does not know. He confirmed two flags, silence for a waveform whose image was not given, voice.hold starting off, and no second panel. The images are on that laptop now as well as on biggs, gitignored on both. Everything said here is on main, pushed, on the night of 2026-10-12. What was heard was heard on Ben's laptop, not on the Pi.

Ben played it on his laptop on the night of 2026-10-12, from both images, and found it sounds good, and that the hold works. **Which way round the image's two halves go (17 to 20 and 21 to 24) waits on hardware**: he has heard all eight and does not know. He confirmed two flags, silence for a waveform whose image was not given, `voice.hold` starting off, and no second panel. The images are on that laptop now as well as on biggs, gitignored on both. Everything said here is on `main`, pushed, on the night of 2026-10-12. What was heard was heard on Ben's laptop, not on the Pi.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/mini-800#38
No description provided.