GM Arts Home Page

Electric Guitar

Making Music

Guitar Chords

MIDI Music

JV/XP Synths

Band Tips

Science

Email GM Arts
Overview
Modes & Structures
Storage
Limits
SysEx
Review
Tools
Music Topics Home Page Email GM Arts

JV/XP Tools & References

Sysex Calculator

Here's a Visual Basic program I wrote to calculate the checksum in sysex messages.   It also has a built in hex converter, and you can copy the sysex into your PC sequencer.   It's written in 16-bit code, so it should run on just about any Windows PC.   Just enter your sysex message, type ?? where the checksum belongs, and all will be revealed!

Click here to download the Sysex Checksum Calculator (just 14K).   This program uses a Microsoft library file called VBRUN300.DLL - if you don't already have a copy in your Windows System folder, you can download it here (243K).

Hex Numbers

Numbers can be represented in different ways.   The decimal system is widely used, and counting looks like this:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Computers deal in binary numbers 0 and 1 only, and for convenience these are grouped in a hexadecimal (or hex) system.   This system has 16 different digits before you "carry the one".   The 16 digits are 0 to 9, then letters A to F, so counting looks like this:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 and so on.

Hex numbers are usually indicated with a small "h", so 14h means 1 x 16 + 4 (20 in decimal).   My SysEx calculator here has a built in decimal/hex converter.

MIDI data falls in the range 0 to 127 (MIDI status values are in the range 128 to 255).   Here's a table showing decimal and hex values for MIDI data:

decimal to hex
0 = 00h 16 = 10h 32 = 20h 48 = 30h 64 = 40h 80 = 50h 96 = 60h 112 = 70h
1 = 01h 17 = 11h 33 = 21h 49 = 31h 65 = 41h 81 = 51h 97 = 61h 113 = 71h
2 = 02h 18 = 12h 34 = 22h 50 = 32h 66 = 42h 82 = 52h 98 = 62h 114 = 72h
3 = 03h 19 = 13h 35 = 23h 51 = 33h 67 = 43h 83 = 53h 99 = 63h 115 = 73h
4 = 04h 20 = 14h 36 = 24h 52 = 34h 68 = 44h 84 = 54h 100 = 64h 116 = 74h
5 = 05h 21 = 15h 37 = 25h 53 = 35h 69 = 45h 85 = 55h 101 = 65h 117 = 75h
6 = 06h 22 = 16h 38 = 26h 54 = 36h 70 = 46h 86 = 56h 102 = 66h 118 = 76h
7 = 07h 23 = 17h 39 = 27h 55 = 37h 71 = 47h 87 = 57h 103 = 67h 119 = 77h
8 = 08h 24 = 18h 40 = 28h 56 = 38h 72 = 48h 88 = 58h 104 = 68h 120 = 78h
9 = 09h 25 = 19h 41 = 29h 57 = 39h 73 = 49h 89 = 59h 105 = 69h 121 = 79h
10 = 0Ah 26 = 1Ah 42 = 2Ah 58 = 3Ah 74 = 4Ah 90 = 5Ah 106 = 6Ah 122 = 7Ah
11 = 0Bh 27 = 1Bh 43 = 2Bh 59 = 3Bh 75 = 4Bh 91 = 5Bh 107 = 6Bh 123 = 7Bh
12 = 0Ch 28 = 1Ch 44 = 2Ch 60 = 3Ch 76 = 4Ch 92 = 5Ch 108 = 6Ch 124 = 7Ch
13 = 0Dh 29 = 1Dh 45 = 2Dh 61 = 3Dh 77 = 4Dh 93 = 5Dh 109 = 6Dh 125 = 7Dh
14 = 0Eh 30 = 1Eh 46 = 2Eh 62 = 3Eh 78 = 4Eh 94 = 5Eh 110 = 6Eh 126 = 7Eh
15 = 0Fh 31 = 1Fh 47 = 2Fh 63 = 3Fh 79 = 4Fh 95 = 5Fh 111 = 6Fh 127 = 7Fh

Subtract 1 from channel and patch numbers

MIDI channels are numbered from 1 to 16, however, if you compose your own MIDI messages, these channels are actually sent as numbers 0 to 15 (or 0 to F in hex).   For example, MIDI channel 7 would appear in a MIDI message as 6, one number lower.

The same applies to patch numbers.   These are displayed on the JV/XP synths as 001 to 128, but in MIDI messages are sent as programs 0 to 127 (or 00 to 7F in hex).

Bank Numbers

The JV/XP synths use banks and program numbers to select performances, patches and rhythm sets.   MIDI banks are selected with 2 controller messages: "msb" is MIDI controller 0, and "lsb" is MIDI controller 32.   Patches are not changed until a MIDI program message is sent.

Some sequencers combine the two bank numbers so banks can be selected with a single number.   This is simply "msb" x 128 + "lsb".   Both types of numbers are shown below.

Sound Selection MIDI Bank
msb,lsb (number)
MIDI
Program
User Patch 1 - 128
Performance 1 - 32
Rhythm Set 1 - 2
80,0 (10240) 0 - 127
0 - 31
0 - 1
Preset A Patch 1 - 128
Performance 1 - 32
Rhythm Set 1 - 2
81,0 (10368) 0 - 127
0 - 31
0 - 1
Preset B Patch 1 - 128
Performance 1 - 32
Rhythm Set 1 - 2
81,1 (10369) 0 - 127
0 - 31
0 - 1
Preset C Patch 1 - 128
Rhythm Set 1 - 2
81,2 (10370) 0 - 127
0 - 1
Preset D Patch 1 - 128
Rhythm Set 1 - 2
81,3 (10371) 0 - 127
0 - 1
Preset E Patch 1 - 128
Rhythm Set 1 - 2
81,4 (10372) 0 - 127
0 - 1
Data Card Patch 1 - 128
Rhythm Set 1 - 2
82,0 (10496) 0 - 127
0 - 1
PCM Card Patch 1 - 128
Rhythm Set 1 - 2
83,0 (10624) 0 - 127
0 - 1
Expansion Slot A
(or 1st inbuilt card)
Patch 1 - 128
Rhythm Set 1 - 128
Patch 129 - 256
84,0 (10752)
84,0 (10752)
84,1 (10753)
0 - 127
0 - 127
0 - 127
Expansion Slot B
(or 2nd inbuilt card)
Patch 1 - 128
Rhythm Set 1 - 128
Patch 129 - 256
84,2 (10754)
84,2 (10754)
84,3 (10755)
0 - 127
0 - 127
0 - 127
Expansion Slot C
(or 3rd inbuilt card)
Patch 1 - 128
Rhythm Set 1 - 128
Patch 129 - 256
84,4 (10756)
84,4 (10756)
84,5 (10757)
0 - 127
0 - 127
0 - 127
Expansion Slot D Patch 1 - 128
Rhythm Set 1 - 128
Patch 129 - 256
84,6 (10758)
84,6 (10758)
84,7 (10759)
0 - 127
0 - 127
0 - 127
... etc ...
Expansion Slot H Patch 1 - 128
Rhythm Set 1 - 128
Patch 129 - 256
84,14 (10766)
84,14 (10766)
84,15 (10767)
0 - 127
0 - 127
0 - 127

Manuals
Information on these pages was obtained from these documents, supplied on the JV-1010 CR-ROM:


Overview
Modes & Structures
Storage
Limits
SysEx
Review
Tools
Music Topics Home Page Email GM Arts