GSP-2101 FAQ 3.0, Section 4:
Up/Downloading Programs
What is uploading/downloading?
Downloading refers to transfering data FROM your 2101 to some other
device. Uploading refers to transfering data TO your 2101 from another
source such as your personal computer or another MIDI device. This data
passes from one device to another via MIDI (Musical Instrument Digital
Interface). Most MIDI devices allow program dumps and/or bulk data dumps
and uploads to allow the user to "backup" the device's data on another
device (e.g., your computer) to protect it in the event the device fails.
Program dumps consist of 1 or 2 messages sent via MIDI. The first message
contains the program parameters, such as program number, algorithm number,
EQ settings, distortion settings, etc. The second message contains the
algorithm data, specific to the particular algorithm. If the program uses
a factory algorithm, then the second message is not sent, since all 2101's
already "know" the factory algorithms. Conversely, all programs utilizing
custom algorithms will have a second MIDI message containing its custom
algorithm information. Therefore, you do not need to dump all of your algorithms,
just all the programs (patches) you like; their respective algorithms will
be dumped along with them.
A bulk dump consists of some 6 MIDI messages. This data contains all
unique programs (no factory default programs are dumped), all custom algorithms,
bank/song-list settings, utility settings (e.g., stereo mode), etc.
To the entire state of your 2101 (all of its settings, programs, etc),
you should perform a bulk dump to your computer, or some MIDI storage device
capable of storing upwards of 100kB of data.
Additionally, you should probably store individual programs in a similar
way. This is crucial in some circumstances. For example, when upgrading
from 1.xx to 2.xx or higher firmware versions on your 2101, the MIDI bulk
data cannot be uploaded by the new firmware level due to incompatibilities
in the storage formats. Therefore, the best thing to do is to store each
patch separately, and upload them one at a time after the upgrade. The
incompatibilities preventing bulk uploads from 1.xx versions into 2.xx
version and greater machines ONLY applies to bulk data dumps, NOT individual
program dumps.
MIDI Settings
Before downloading your MIDI data to your computer or MIDI storage
device, there are a few minor details to attend to:
1. 2101 MIDI out --------> Computer MIDI in
2. 2101 MIDI in --------> Computer MIDI out
3. Disable the MIDI Through capability on your Computer's MIDI card.
If you leave it set to through, the MIDI out port will resend all the data
that is received from your MIDI in port. This is NOT what you want to happen.
Your MIDI card should have a set of utility programs that came with it
allowing this setting to be made.
4. Run a MIDI Sysex application. This program should allow upload/download
(also called receive/transmit) of data via your MIDI in/out ports.
5. From the MIDI menu on your 2101, set the receive channel to the
same channel as your computer is transmitting on (or set to OMNI or ALL).
Also, set the MIDI transmit channel on your 2101 to the same channel as
your computer is receiving on (or set to OMNI or ALL).
MIDI Channel Value
Now you are ready to dump data to your computer.
Dumping Bulk Data
Now start a BULK DUMP (from the MIDI menu). Your computer should be
ready to receive data from your 2101 (there may be a receive data command,
or it may always be in "standby" waiting to receive data).
MIDI Bulk Dump
MIDI Bulk Dump Initiation
Your computer should be receiving data and your 2101 should be transmitting
data.
MIDI Bulk Dump Transmission
Note that the 2101 displays the exact number of bytes that it is sending.
This is an excellent way to confirm that the transmission occurred without
errors. When the transmission is done, save the data to a file. Now, check
the file size to see if it corresponds to the number of bytes the 2101
reported earlier. You will need to have written the number of bytes down
(or have a good memory for long numbers) as the number of bytes will only
be displayed for a brief moment (the length of the transmission). Alternatively,
you could go back to the MIDI Bulk Dump menu to verify the number of bytes
(realizing of course, that you will NOT retransmit the data again - you
are merely here to recheck the number of bytes after transmission). For
greater insurance that the data was not corrupted during transmission,
send the data twice. Compare the files to ensure they match exactly. If
so, chances are pretty good that the transmission was error-free. If, however,
they differ, even by only one bit, you will need to keep resending the
data until you get a couple of files that match.
Dumping Individaul Programs
Let's assume you want to save a single program now. Go to the MIDI
menu, and select program dump (NOT bulk dump).
MIDI Individual Program Dump Menu Parameters
A menu will appear asking your to set 2 numbers. The first one (Dump Program
Number) is the number of the program you want to download to your computer.
The second number (as MIDI Program Number) is that program number you want
to save it as. All that means is that when you upload the program, it will
be automatically stored in that program number. You cannot, upon starting
an upload, map the program to just any program number. Instead, it automatically
gets saved into the program number that it was downloaded as (as MIDI Program
Number). This is why this number is SO important. Generally speaking, it
is a good idea to set this to a number that will not be used by you or
anyone else for that matter (which is why 100 seems like a good choice).
This way, when someone uploads one of your patches, it erases over their
old program number 100 which is less likely to be a user programmed patch,
than is program number 1. When you have completed filling out these two
parameters, initiate the dump (assuming your computer is ready and waiting
to receive the data). The Individual Program Dump should take only a few
seconds.
MIDI Individual Program Transmission
Uploading Patches (and Bulk Data)
Now, lets investigate uploads. When you load a file into your Sysex
utility on your computer and transmit it, the 2101 sees it and knows that
you intend to upload it. It stops what its doing and uploads the data into
the appropriate place(s).
To be safe, however, after uploading a patch, it is wise to recall the
patch on your 2101 (by which I mean you should make it the active patch,
i.e., load it), and then press SAVE twice to resave the data to the same
program number. This procedure resets what are known as the Z-Register
Initialization strings. The Z-Registers' Initialization strings are irrelevant
upon uploading a program. That is to say that a patch could have deleted
the strings, altered them, whatever, and that action alone would not prevent
the 2101 from using the patch. By resaving the patch, the 2101 regenerates
the initialization strings. Therefore, you may chose to do this to ensure
that the program loads appropriately each time you access it.
Pitfalls and Recovery
Sometimes, a data file being uploaded is corrupted, and the 2101 locks
up trying to decipher it. In these instances the best remeby is to wait
a few seconds to make sure that it is in fact locked up for good, then
power the unit off and on again. This has worked well for me when uploading
bad patches. Keep in mind that the data still resides in your 2101's memory
and that it may hang every time you try to recall that program number.
The solution is to delete that program number from your 2101 and possibly
even delete the algorithm if it loaded a new custom algorithm.
However, this is not always enough to cure the problem. Soemtimes more
drastic measures must be taken. In the event nothing seems to make your
2101 come back to life again, you will need to perform a factory reset
on the device. This will erase all of your settings and patches (which
is why you, hopefully, dumped them to your computer in the first place).
It will also, however, remove the offending data from your 2101 which is
preventing it from intializing/operating correctly.
FTP Sites (binary mode transfers!)
If you are uploading your patches to an ftp site for others to share,
make sure you upload them in BINARY mode. This will ensure your data remain
intact. The same goes for downloading from an ftp site.
To prevent yourself
from getting headaches in this regard, Curtis Pastor has
written a utility which filters GSP-2101 sysex data files to ensure they
are properly formatted. Of course, the utility cannot ensure that the data
is truly meaningful to the 2101 (in the event of data corruption, such
an error might go undetected), but it can verify that binary mode was used
in the upload and download process and that the message is in fact formatted
specifically for a 2101. It will even strip any extra garbage data from
the beginning and ends of the MIDI messages (which is useful for stripping
sysex files written by some librarians like Master Trax Pro, which tacks
several hundred bytes onto the beginning of its sysex files).
Using your PC's MIDI port:
Almost all sound cards include a MIDI port (varying degrees of quality
I'm sure) with their card to make it more of a "multimedia" kind of thing.
This port is usually buried in the joystick adapter, a 15-pin D-shell connector.
The joystick also utilizes this same port. Therefore, you will need to
get a cable that separates the joystick wires from the MIDI wires. This
costs about $20 or so from your local giant computer store. It will interface
as follows:
1. A 15-pin D-connector plugs directly to the joystick port of your
sound card.
2. Another 15-pin D connector breaks out the joystick port (connect
your joystick here, unless you have another game-port card that you use
instead).
3. Two (2) MIDI 5-pin DIN cables about 15 feet long stretch out to
reach your precious MIDI equippment. One is a MIDI IN, the outher is an
OUT.
I would not recommend Master Trax Pro's librarian software for the task
of storing sysex files since it sticks some extra garbage data onto the
beginning of the MIDI SYSEX Data file so that MT Pro can recognize it.
This means that you have to use MT Pro to upload it back to your 2101 which
rules out the ability for anyone else to use it (unless of course they
own MT Pro and are aware that they need to use it). Cakewalk is reported
to save Sysex dumps without any extra data or formatting so it is a good
candidate for 2101 backups. Note that the MIDI SYSEX files at Steve's website
are PURE 100% raw USDA MIDI SYSEX DATA. No librarian data or special formatting
has been added, otherwise, when you dumped the raw data to your 2101, it
might hang-up from the barrage of nonsensical data comeing at it.
Oh, also, you'll need to know your sound cards MIDI port number (220
by default) and interrupt number (methinks 7 by default). Usually there
is some goofy utility that came with your card you can run to find this
stuff out without having to pop the hood of your computer. Alternatively,you
could check your AUTOEXEC.BAT file for a line that says:
set BLASTER = C:\SBPRO\ I=7 A=220 ......
and look for the settings on the interupt and address port. Finally, on
Win95 systems, just go to the Hardware dialog from the Control Panel and
select your sound card or MIDI device and it will tell you what its settings
currently are. Of course you may need to reconfigure the hardware to get
it to work ultimately since it may have never been properly set in the
first place, or you may have since added hardware which now conflicts with
your settings. Note especially that on Win95 systems, people sometimes
tell Win95 to utilize the new advanced Parrallel port speed settings even
though they may not have a printer which can utilize this new port protocol.
As a result of the new higher speeds of the printer port, Interupt 7, previously
unused (though it was reserved for the parallel port LPT1), is then monitored/controlled
by Win95 to accommodate these speeds. This will now conflict with your
MIDI port if you set it at Interrupt 7. The choices are to change the Int
setting of your MIDI card or disable the high speed option of your LPT1
port so that Win95 does not use Int 7 for this purpose.
Obtaining Software to Download Sysex Data:
Harmony Central
has a VERY GOOD listing of shareware & commercial applications for
you to choose from , on virutally any computer platform.
Additionally, Tim Worden has provided a copy of MDF,
a MIDI communication program for PCs running Windows. It is zipped so you
must have an unzipping utility (see NoNags'
web site for such a utility).
Go to GSP-2101 FAQ Table of Contents
Written by Curtis LeMay Pastor,
[email protected] or [email protected]
Last revised as of Sept 10, 1997.