Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Device: Alternate Mode DrumKat 3.5 #293

Open
MDshuey opened this issue Nov 28, 2023 · 4 comments
Open

New Device: Alternate Mode DrumKat 3.5 #293

MDshuey opened this issue Nov 28, 2023 · 4 comments
Labels
need more information For this issue more information needed to resolve it New device

Comments

@MDshuey
Copy link

MDshuey commented Nov 28, 2023

This feature-packed midi drumpad has features well ahead of its time but are difficult to unlock from a four-line screen, 10 buttons, and 4 footswitches,

I have gathered what documentation I have been able to find from archives. An OSX application called Unisyn was an existing librarian with support for KAT (now Alternate Mode) drumpads. (Galaxy was another for OS9, I did not have luck extracting the relevant files).

The UH1 File within the KAT.zip is a description of the method of getting the drumpad to communicate with the Unisyn software. The UP1 file I am unsure of how to fully decode yet, assistance would be helpful.

KAT.ZIP

KAT35SYX.ZIP

@MDshuey
Copy link
Author

MDshuey commented Nov 28, 2023

From the manual, Appendix G:

A drumKAT SYSTEM EXCLUSIVE DATA DUMP consists of two parts:

  1. A 9 byte “header” that describes the dump and
  2. The DATA! The amount of data depends on type of dump.
    Followed by 0F7H (End of Sys Exc)
    The 9 bytes of the header are defined below:
    HEADER:
    byte 1: (0F0H) Start of System Exclusive Status Byte
    byte 2: (00H)
    byte 3: (00H)
    byte 4: (15H) [00H, 00H, 15H is KAT’s Company ID #.
    byte 5: (68H) Instrument type ID # for the drumKAT.
    byte 6: (XX) Dump Type
    byte 7: (XX) Individual Instrument ID #
    byte 8: (XX) Software Version #
    byte 9: (XX) Aux Type # (Kit # or Motif # if Type is Kit or
    MOTIF)
    DATA:
    The DATA is split into nibbles and sent with a 0 for MSN. It takes two
    bytes of System Exclusive transmission for every byte of internal
    drumKAT information.
    The amount of data for each dump type is as follows:
    Dump Type Amount of Data
    Global 7120
    1 Kit 1184
    All Memory 58460
    All Kits 35520
    1 Motif 3842(M1), 1158(M2,3,4,5), 530(M6,7,8)
    After all the DATA has been sent, the End of System Exclusive
    Command (0F7H) is sent.

@MDshuey
Copy link
Author

MDshuey commented Nov 28, 2023

The .UP1 file is the module parameter guide of interest. I have loaded it into an XP virtual machine with the software in question, so shouldn't be any need to reverse engineer- just translate

image

@christofmuc
Copy link
Owner

Interesting! I had never heard of the company, KAT, before!

So.. I found the manual version 2.0, but that does not document the 0x11 dump type you have attached above as KAT35SYX.ZIP. The 3.5 manual is obviously where your text is taken from, it does not specify the value of the dump type but rather the lengths which can be used to distinguish the dump types.

Your file has a data size of 0x3d0f, which is 53311 in decimal, and doesn't match any of the dump types described. It is only a single sysex message, so something like an all memory dump would be logical, but it seems it does not match the 3.5 manual.

Sadly, the device does not allow computer initiated transfer - we have to use the manual dump feature.

Unisyn is still sold by Motu? https://motu.com/products/software/unisyn/highlights.html

I try to understand what you want with the Unisyn parameter? I guess you want to extract the parameter info? KnobKraft is not an editor, but just a Librarian. So it is suited to backup data from the device and send patches/kits to the device, but in the current state there is no way to edit a patch (other than the name).

The functionality that KnobKraft could offer with the given information is to act as a data store for all dump types that can be initiated from the device. You would press "receive manual dump" in KnobKraft, and then send it from the device. It would be stored in the database. You could click it to send it back. That might make sense especially for devices which have too little memory, so that might suffice?

@christofmuc
Copy link
Owner

Fascinating device, just watched a few YT videos.

@christofmuc christofmuc added the need more information For this issue more information needed to resolve it label Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need more information For this issue more information needed to resolve it New device
Projects
None yet
Development

No branches or pull requests

2 participants