Here is the M1's sysex implementation for ALL, COMBOS, GLOBALS, and SEQS. This is for INTERNAL banks only, not stuff stored externally on RAM cards. Everything is in hex, unless noted. "n" is MIDI channel #, and "*" is where MIDI data begins. VoicE bulk data info is in parentheses, where: (HHHH) = header offset (HHHH) = voice name position (HHHH) = # of bytes in one voice (HHHH) = checksum byte position (HHHH) = # of voices in bank (HHHH) = bank header offset (HHHH) = # of banks in dump HH = voice name length HH = bit field 1 HH = bit field 2 ALL: ALL dump request: F0, 42, 3n, 19, 0F, 00, F7 Response from M1: F0, 42, 3n, 19, 50, *, F7 COMBO: COMBO dump request: F0, 42, 3n, 19, 1D, OO, F7 Response from M1: F0, 42, 3n, 19, 4D, *, F7 voice bulk data: (0001) (0000) (007C) (0000) (0064) (0000) (0000) 0A 10 00 GLOBAL: GLOBAL dump request: F0, 42, 3n, 19, 0E, 00, F7 Response from M1: F0, 42, 3n, 19, 51, *, F7 SEQUENCE: SEQ dump request: F0, 42, 3n, 19, 18, 00, F7 Response from M1: F0, 42, 3n, 19, 48, *, F7 SOUNDS: SOUNDS dump request: F0, 42, 3n, 19, 1C, 00, F7 Response from M1: F0, 42, 3n, 19, 4C, *, F7 Voice bulk data: (0001) (0000) (008F) (0064) (0000) (0000) 0A 10 00