Rhodes Warrior User's Manual Table of Contents Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Overview / Design Philosophy . . . . . . . . . . . . . . . . . . . . . . . 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 General Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Editing Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Utility Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Play Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Sending Libraries From The Command-Line . . . . . . . . . . . . . . . . . . 8 Appendix A Command-Line Parameters . . . . . . . . . . . . . . . . . . . . 9 Appendix B Problems? . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Appendix C Technical Information . . . . . . . . . . . . . . . . . . . . . 11 Appendix D Play/R . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Appendix E Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 13 ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 1 OVERVIEW / DESIGN PHILOSOPHY The Rhodes Warrior is a complete IBM- and MPU401-compatible patch editor and librarian program for Roland's Rhodes MK-80 MIDI keyboard/controller. It works equally well in single- and multi-program environments. Multi-program environments (e.g., DESQview and Windows) place special constraints on the design of MIDI programs. Like current (and future) versions of popular sequencers, the Rhodes Warrior uses the MIDI interface in UART mode (also called "dumb" mode). In this way its window can peacefully coexist with windows running sequencers and/or other UART-mode applications. The Rhodes Warrior plays your MIDI files as you edit Ä you hear your changes instantly in the context of your own musical projects! It saves its data in standard binary format (also called "MIDIEX format") so it is compatible with bulk loaders and other utilities. Finally, it gives you complete control over both patch- and controller-oriented parameters. The Rhodes Warrior is designed for one-way MIDI communication (Computer OUT => MK-80 IN) to ensure data integrity. Data can't be lost when another window transmits extraneous data and/or switches the interface into "smart" mode. This manual describes how to modify, save and audition the various parameters within the MK-80. It does not describe what these parameters do. For example, it describes how to turn Chorus on and off, but it doesn't state what effect that has on the sound nor why you may want that effect. The MK-80 Owner's Manual does a good job explaining these features. INSTALLATION Quick Start Connect a MIDI cable from the computer's MIDI Out to the MK-80's MIDI In. Copy all files into a new directory and change to that directory. Enter one of these four commands and press : W runs on channel 1 (MK-80's default). W /C:9 runs on channel 9 (change "9" to any MIDI channel from 1 to 16). W /C:0 runs with MIDI output completely disabled Ä "demo" mode for computers without a MIDI interface. W /? displays a help screen explaining all of the Rhodes Warrior's command-line options. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 2 INSTALLATION (continued) Detailed Instructions WARRIOR.EXE is the actual program file. WARRIOR.REG contains the registration information. Both files must be in the same directory. As implied, WARRIOR.REG is not necessary nor included in the unregistered BBS version. PLAYR.EXE is the MIDI file player program. See the PLAY/R appendix for more details concerning command-line options, etc. Two data files are shipped with the Rhodes Warrior. COLDBOOT.M80 is the data that exists in the MK-80 when shipped from Roland. IMPORT.M80 is a slightly modified version of COLDBOOT.M80; it is provided to allow experimenting with the IMPORT feature. Note that you can always restore the MK-80's factory data by performing the cold boot procedure described on page 37 of the MK-80 Owner's Manual. Data files (*.M80) can be in a separate directory (recommended). To run the Rhodes Warrior when the data and the program are in separate directories, type the following commands: D: change to the drive the data resides on (assumed as D: for this example) CD \SYSEX change to the directory the data resides in (assumed as \SYSEX for this example) C:\MTOOLS\PLAYR Äa64 type the fully-qualified path to PLAYR.EXE (MIDI file player) (assumed as C:\MTOOLS for this example). Note that this command is optional; you don't need it if you do not wish to audition patches. See the PLAY/R appendix for the actual command-line options. C:\MK-80\WARRIOR /C:9 type the fully-qualified path to WARRIOR.EXE (assumed as C:\MK-80 for this example) Note: You can put these commands in a batch file (see W.BAT) or your menu system. You can also edit the included RW-PIF.DVP file for use in DESQview 2.x. At least one data file is always required; because of the 1-way communication discussed in OVERVIEW / DESIGN PHILOSOPHY, the program loads its data from disk, not from the MK-80. I suggest leaving COLDBOOT.M80 in the data directory at all times to avoid problems. Even better, flag the file as read- only with DOS's ATTRIB +R COLDBOOT.M80 command. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 3 GENERAL INSTRUCTIONS Select menu options by cursoring (arrows, , , , ) to the desired choice and pressing . Back out one level by pressing . Pressing from the MAIN MENU will QUIT the program. However, if you issue a command that will wipe out a library you haven't yet saved (i.e., LOAD or QUIT), the program will tell you so and ask if you're sure you want to continue. Press Y (for "Yes") to continue the operation. Press any other key (for "No") to redisplay the MAIN MENU and position the cursor bar on SAVE. On pop-up lists (e.g., the files available to LOAD and the UTILITY and PLAY menus), mice are supported. The Rhodes Warrior will detect if the mouse driver is loaded and display a block mouse cursor when the mouse is available. Position the cursor on the desired item and press the left-mouse button. Certain pop-up screens cannot display all of the available choices within the allotted window. In this case, there will be up and down arrows within the right border of the window indicating "scroll for more choices". Cursor as appropriate or position the mouse cursor on the appropriate scroll bar and hold the left button down. The Rhodes Warrior will not accept invalid data (e.g., asterisks in file names, patch number "89") nor data past the end of the field (e.g., nine- character filenames). During any edit, you may backspace to change data Ä nothing becomes "official" until you press . Before then, you may always change your mind Ä pressing will redisplay the prior (unchanged) value. By design, the Rhodes Warrior saves and retrieves patch library data files to and from the current directory only. This was done to simplify the user interface and minimize configuration headaches. If you wish to store data in multiple directories, see INSTALLATION for more information. Whenever the Rhodes Warrior is transmitting system exclusive MIDI data, two beamed sixteenth notes will display in the lower right corner of the screen. This data is always transmitted on the MIDI channel you specify on the command-line. This transmission temporarily pauses the MIDI file player (when playing) so sysex and channel messages don't collide with each other. The PLAY MENU will pop-up over any menu screen by pressing the space bar. See PLAY MENU for more information. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 4 MAIN MENU The MAIN MENU has six options Ä LOAD, CHOOSE, EDIT, RENAME, SAVE, and UTILITY. Except for some UTILITY options, you must first LOAD a file before proceeding further. LOAD pops-up a list of data files in your current directory. Cursor to the file you wish to load and press . This (a) loads the data file into memory, (b) sends the data to the MK-80, (c) chooses patch "11" as your current work-in-process patch, and (d) program changes to patch "11". Press to exit without loading a data file. CHOOSE displays the 64 patches from the library currently in memory. Select a patch to edit by typing its tone type (1-8) followed by its sequence number (1-8) within that tone type. This chooses that patch as your current work-in- process patch and program changes to that patch number. Press to exit without choosing a new patch. EDIT displays a block diagram of the MK-80's internal layout and asks you to select a parameter block for editing. See EDITING PATCHES for more information. RENAME redisplays the current patch name and allows you to rename it. Valid characters are a-z, A-Z, 0-9, space and period. A patch name can be up to twelve characters long. Type in the new name and press . This displays the new name on the MK-80's LCD. Press to exit without renaming the patch. SAVE allows you to save your patch library using the CURRENT filename, an EXISTING filename or a NEW filename. SAVE starts by asking if you want to save the file using the current name (i.e., overwrite the file you're working with). Press Y (for "Yes") to save the file and redisplay the MAIN MENU. Press any other key (for "No") to display a list of existing files. If you'd like to overwrite one of these, cursor to it and press . Press to prompt for a new name. Type in the new data filename and press (don't type the .M80 file extension (the Rhodes Warrior will prevent you from doing so)). Press to exit without saving the file. UTILITY pops-up a list of utility options. See UTILITY MENU for more information. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 5 EDITING PATCHES The Edit Menu displays five parameter blocks which correspond roughly to the MK-80's front panel Ä TONE (which also contains the Stretch Tuning parameter), EFFECTS, EQ/VOLUME (separated from EFFECTS to reduce screen clutter), INTERNAL CONTROLLER and EXTERNAL CONTROLLER. Cursor to a parameter block and press to display its edit screen. Within the individual edit screens, the parameter prompts generally mimic those found on the MK-80's LCD. Cursor up or down to the parameter you wish to change and press to select it. The edit interface is very straightforward once you understand the three types of data and respective procedures (please experiment here): (a) two-value toggles (e.g., Chorus Mode, Tremolo On/Off) Ä toggles back and forth between the two available values. (b) qualitative numbers / non-numeric parameters Ä these are parameters whose numeric values are either: (i) not ordinally related (e.g., Velocity Curve 2 is not "more" velocity- sensitive than Curve 1), or (ii) not assignable to numbers (e.g., Internal Controller 3 sends Tremolo data instead of Punch data). Selecting one of these parameters pops-up a list of the valid values. Cursor/mouse to the desired choice and press /left button. If you don't want to change the value, press /right button. These numbers have an attempt at "describing" the qualitative aspect so you don't have to reference the MK-80's manual. For example, Velocity Curve 5 is described as the algebraic addition of a linear function plus an inverse sine wave. (c) quantitative numbers (e.g., Punch) Ä these values do have ordinal relationships (e.g., a Punch value of 32 is "punchier" than 31). Pressing asks you for a new value within the valid range (e.g., "Enter a new value between 0 and 32"). Enter the number and press . If you don't want to change the value, press . Although Mid Freq is quantitative, only 101 discrete values are available. Thus, it is edited like the pop-ups in (b) above. Each valid update sends the new MIDI data immediately to the MK-80. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 6 UTILITY MENU The UTILITY MENU has three options Ä COPY, IMPORT, and RESET. COPY copies patches within the current library from one location to another. It displays the current patch names and asks you for the "source" patch (the patch you want to copy). Upon selecting the source, COPY asks you to select the "destination" patch (where you want the copy to go). Upon selecting the destination, COPY (a) copies the data from source to destination, (b) sends the destination patch's new parameter data to the MK-80, (c) program changes to the destination patch number and (d) redisplays the new patch library names. Continue copying patches until you wish to quit by pressing . IMPORT functions like COPY except the "source" patches come from a second data library. IMPORT starts by asking you to select the import data library (like LOAD). IMPORT then displays the patches in the source library and asks you which source patch to import. It then displays the patches in the "destination" library (your current, work-in-process library) and asks you for a destination number. Continue importing patches until you wish to quit by pressing . RESET puts the interface back into UART mode. If it cannot do so, it displays an error message to that effect. This option is only necessary in multi- program environments when another window resets the interface into "smart" mode. PLAY MENU The PLAY MENU has three options (more will follow) Ä LOAD, PLAY/PAUSE and REWIND. If a song is not yet loaded, the PLAY MENU goes directly to the LOAD option. Access the PLAY MENU from any other menu by pressing the space bar. LOAD pops-up a list of files that match the filespec specified with the /M: command-line parameter (if /M: is not specified, it defaults to a list of the *.MID files in your current directory). Cursor to the file you wish to load and press . The Rhodes Warrior loads this file into memory and starts playing it. LOAD displays an error message if there is a problem loading the file; it then reloads, rewinds and replays the prior file if one was loaded and if it can do so. PLAY/PAUSE functions like a tape recorder Ä it starts a stopped song and stops a playing song. In other words, it toggles the player on and off. If the file is playing, the menu option states "Pause"; conversely, if paused, it states "Play". REWIND "rewinds" the player to the beginning of the current song. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 7 SENDING LIBRARIES FROM THE COMMAND-LINE The Rhodes Warrior can also send MK-80 patch library data files directly from the command line. To do so, specify the /S: command-line parameter followed by the name of a patch library file. You can optionally specify a channel number. These files do not have to be in the current directory. For example, if your current directory is D:\MIDI\SYSEX and it contains COLDBOOT.M80, either of these two commands will send the file to the MK-80 on channel 9 and exit immediately to DOS: Warrior /C:9 /S:ColdBoot.M80 Warrior /S:D:\MIDI\SYSEX\ColdBoot.M80 /C:9 This feature is similar to other bulk loaders with the additional capability to redirect MK-80 data to any MIDI channel. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 8 Appendix A COMMAND-LINE PARAMETERS The Rhodes Warrior has several optional command-line parameters to maximize its flexibility. Note that parameters (a) are not case-sensitive (e.g., /c:1 is the same as /C:1), (b) must be separated by at least one space (i.e., there must be a space before each "/" character), and (c) may not contain imbedded spaces (e.g., /C: 14 is invalid). Warrior /B /C:n /M:smf /P /Q /S:file /W /? /B Display black and white. This option is most useful for portables and other computers whose "colors" appear illegible. /C:n Use MIDI channel "n" (defaults to 1). /C:0 disables sysex output Ä "demo" mode when no MPU401 is attached. /C:0 overrides /S:file. /M:smf Load standard MIDI files using this filespec. Defaults to *.MID in the current directory if not specified. Note that the Warrior handles pathnames like DOS does Ä e.g., if you're in D:\MIDI and the song files are *.MFF in D:\MIDI\Jams, each of these three options will work: /M:Jams\*.MFF, /M:\MIDI\Jams\*.MFF, or /M:D:.\Jams\*.MFF. /P Play WARRIOR.MID immediately if found. Not yet implemented. /Q Quick start Ä skip startup screens (registered version only). /S:file Send the patch library "file" to the MK-80 and exit to DOS. /W Wait for a keystroke after a terminating error. This option is most useful for multi-program environments which might otherwise close the Rhodes Warrior's window leaving you wondering why it didn't run. When using a batch file, you may instead want to branch based on the returned ERRORLEVEL (see the TECHNICAL INFORMATION appendix). /? Displays a DOS 5.0-style help screen. This parameter overrides all others. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 9 Appendix B PROBLEMS? MIDI If your edits do not update the MK-80, it's probably because (1) another window within your multi-program environment has reset your MIDI interface into "smart" mode, (2) your MK-80 is set-up to ignore system exclusive data, or (3) the channels on the Rhodes Warrior and your MK-80 don't match. Don't worry Ä your data is safe. To correct (1), RESET the interface from the UTILITY MENU. To correct (2), follow the instructions on page 29 of the MK-80 Owner's Manual. Finally, to correct (3), change the receiving channel on the MK-80 (also on page 29) and/or specify the correct Rhodes Warrior channel via the /C:n command-line option. Error Stops Program Immediately Five errors are fatal enough to halt the Rhodes Warrior before it starts. They are easy to fix as shown here: 1 Ä Command-line syntax error Ä a "spelling" error on the command line. Imbedded spaces are not allowed within any parameter (e.g., /C: 01 is invalid); at least one space is required between parameters (i.e., before each "/"). Run WARRIOR /? if you want command-line help. 2 Ä Non-numeric MIDI channel requested Ä another "spelling" error. All characters after the /C: parameter must be digits 0-9. 3 Ä Invalid MIDI channel requested Ä you've requested a channel greater than 16. 11 Ä MIDI interface not initializing Ä most likely, this means you don't have an MPU401-compatible MIDI interface installed. You can run the Warrior with the /C:0 option. If running Play/R, you may need to use its -n command-line option (see the PLAY/R appendix). Finally, I have also received this error message when using my modem in another DESQview window, however. Ending the communications program, re-running the Warrior and/or cold booting the computer will solve this problem. 21 Ä Requested patch library file not found Ä the file you tried to send to the MK-80 could not be located. Check your spelling and try again. Remember to include the ".M80" file extension and specify the directory if the file is not in the default directory. Note to DOS gurus: see the TECHNICAL INFORMATION appendix for information on processing these errors within a batch file. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 10 Appendix C TECHNICAL INFORMATION System Requirements: Any IBM-compatible personal computer, DOS 3.0 or higher and 300K free RAM (Play/R needs an additional 60K of RAM plus the MIDI file size). For MIDI communication, you'll also need an MPU401-compatible MIDI interface using the standard I/O address 330h and (of course!) a Rhodes MK-80. Because this is a character-based program that detects the graphics adapter, any 80-column monitor will work. And like other character-based programs, its display improves going from CGA to EGA to VGA. Terminating errors display an informative message on the middle of the screen (see the PROBLEMS? appendix). They also return the displayed error number to DOS and can be checked within a batch file using the IF ERRORLEVEL command. See your DOS manual for more details if you're interested in using this capability. Do not redirect WARRIOR.EXE's output (i.e., don't use the ">" symbol anywhere on the command-line). Some screens will not display fully when using redirection. This will change in a future version. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 11 Appendix D PLAY/R Play/R, the standard MIDI file player, is actually a separate program. As described in both the ACKNOWLEDGMENTS appendix and the MTOOLS.TXT file, it is integrated into the Rhodes Warrior so you can audition sounds in the context of your own musical projects. You simply load and play any standard MIDI file so you can immediately hear the effects of your edits. Command-line options: PlayR -aNN -dMPU:I:330 -n -aNN means "allocate NN KB of memory" for MIDI file storage. The default is -a24 (24 kilobytes); the maximum is -a64. -dMPU:I:330 means the MIDI interface is using IRQ I (instead of the standard IRQ 2) and I/O address 330h. Don't use change this option unless necessary. Note that WARRIOR.EXE won't function on an I/O address other than 330h. -n means don't disable IRQ 9 when using IRQ 2. You may have to experiment as to whether or not you need this option. My MIDI card (Voyetra OP4000) needs this option; you probably won't. W.BAT's Play/R command-line is: PLAYR -a64 -dMPU:2:330 Notes The maximum path length for a Play/R file is 40 bytes. Longer file names will return a "file not found" error message upon LOAD. Play/R handles MIDI files up to 16 tracks. All tracks numbered greater than 16 are ignored during playback. The Rhodes Warrior unloads Play/R from memory upon exiting. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Contact me via CompuServe Mail Ä #72461,3345 12 Appendix E ACKNOWLEDGMENTS C Programming for MIDI by Jim Conger. Copyright 1988 by M&T Publishing. This is an excellent book for programmers new to C and/or MIDI. Music Quest Programmer's Toolkit Ä Copyright 1987, 1990 by Music Quest, Inc. This package contains many routines for the MIDI programmer; I'm using the simpler I/O-oriented features. Play/R Ä Copyright 1991 by Kevin Weiner. Play/R is actually a separate terminate and stay resident (TSR) program Ä the Rhodes Warrior by itself won't play standard MIDI files. Play/R is part of MidiTools (copyright Kevin Weiner, 1991), an excellent set of useful shareware MIDI utilities. Kevin wrote an application programming interface to allow other programs to tap Play/R's power. Thus, playing MIDI files is now completely integrated into the Rhodes Warrior. MidiTools has powerful capabilities and is highly recommended. And Play/R itself has several features not yet used within the Rhodes Warrior, including the ability to remap channels within a MIDI file. ______________________________________________________________________________ Rhodes Warrior Ä MK-80 Editor/Librarian Ä Version 1.1 Copyright 1991 by Jeff Cazel Ä All Rights Reserved 13