% GSPLAY configuration file

% The format of this file is simple: scattered throughout the file are
% various parameter tags, each followed by one or more options.  Any lines
% starting with a % are comments and will be ignored.  Everything in this
% file is case-insensitive.  You may delete whatever doesn't apply to your 
% personal configuration, but you might want to save a copy of the
% original file before doing so in case you need the tags later on!
% You do not need to comment out unused parameters.

% DISPLAY ADAPTER 
%
% This specifies the kind of display adapter you are using with GSPLAY.
% Valid options are:
%     AUTO   Autodetect the display adapter.
%            If this doesn't work, try one of the following:
%            (If you have a pre-IBM AT computer (IBM PC/XT, or compatible)
%            then you MUST specify one of the options below.)
%     COLOR  Color display
%     VGA    Color display with custom colors
%     MONO   Monochrome monitor on a color adapter
%     MDA    Monochrome display adapter (or compatible; Hercules, etc.)
%
DISPLAY_TYPE  AUTO

% VGA screen font 
%
% If you have a VGA adapter, GSPLAY will normally use a built-in custom
% text font.  However, you can also specify your own custom 8x16 text font
% for GSPLAY to use.  (You can find many font files on the Internet and on
% BBS's.  Use only font files that are 4096 bytes long.)
%
% Specify the full path and filename of a VGA font file, "ROM" if you
% want the plain ROM font from the VGA card, or nothing if you want
% GSPLAY's built-in font.
%
VGA_FONT 

% PC TYPE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% If you have an ancient PC, such as an IBM XT, set OLD_PC to "Y".
% Otherwise, set OLD_PC to "N".  If you eliminate this parameter from
% GSPLAY.CFG, GSPLAY will assume a value of "N".
%
OLD_PC  N

% MPU401 PORT ADDRESS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% For MPU_ADDR, specify the port address (in hex) of your Roland MPU401
% compatible MIDI interface. (Only UART-mode compatibility is required.)
% For MPU_IRQ, specify the IRQ level of your interface.  (If you omit
% this parameter, GSPLAY will try to detect the IRQ level automatically.
% Specifying the value manually is recommended.)
%
MPU_ADDR  330
MPU_IRQ   2

% MUSICQUEST MIDI ENGINE PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% These parameters specify the port address (in hex) of the parallel port
% to which you've connected an external MusicQuest interface.
% MQME_PORT specifies the MIDI port (0-7) to which output will be sent.
%
% 3BC is the correct address for most machines.
% If it doesn't work, try 278 or 378.
%
MQME_ADDR  3BC
MQME_PORT  0

% SERIAL MIDI PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
% These parameters specify the serial port parameters (N/8/1 is assumed)
% for using a serial MIDI interface.  If you're using a Key Midiator,
% these values don't matter.  See the KEY MIDIATOR configuration below.
%
% SER_PORT specifies which COM port to use.  Valid values are 1, 2, 3, 4,
% or else the base address of your serial port in hex.  (example: "3F8")
%
% SER_SPEED is the baud rate; any standard baud rate greater than or
% equal to 9600 is valid.  38400 is the correct value for the serial port
% on Roland devices.  9600 is the correct value for the Miracle Piano.
%
% SER_CTS controls whether RS232 clear-to-send (CTS) checking is enabled.
% If you specify "Y", GSPLAY will make sure the MIDI device is ready to
% receive before it transmits each MIDI byte.  If GSPLAY notices that
% your device doesn't use CTS, it will turn off CTS checking automatically
% and display an error message in the status window.  To skip this process
% and disable CTS checking entirely, specify "N".
% 
SER_PORT   3
SER_SPEED  38400
SER_CTS    Y

% KEY MIDIATOR SERIAL PORT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% KEYMID_PORT specifies which COM port to use with a Key Midiator serial
% port MIDI interface.  Valid values are 1, 2, 3, 4, or else the base
% address of your serial port in hex.  (example: "3F8")  If you use the
% hex format, you must also specify "KEYMID_IRQ n", where n is 3 or 4.
%
KEYMID_PORT  1

% MIDI INTERFACE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Valid choices are:
%
%  "MPU401"   -  Roland MPU401-compatible interface in UART mode
%                Choose this for soundcards that claim MPU401 compatibility.
%                Make sure the MPU401 parameters earlier in this file are OK.
%  "SB"       -  Soundblaster and MIDI daughterboard, or else an
%                external MIDI device connected to the SB's MIDI port.
%                The BLASTER environment variable must be properly set. 
%  "SERIAL"   -  Serial MIDI, such as a Sound Canvas with a built-in
%                serial interface or the Miracle Piano.  Make sure the
%                serial parameters specified earlier in this file are OK.
%  "KEYMID"   -  Key Midiator serial port MIDI interface.  Make sure the
%                Midiator serial port settings earlier in this file are OK.
%  "MQME"     -  External MusicQuest MIDI interface connected to a parallel
%                port.  Make sure the MQME parameters specified earlier
%                in this file are correct.
%  "PAS"      -  Proaudio Spectrum MIDI port.
%                (MVSOUND.SYS must be loaded in your CONFIG.SYS)
%  "GUS"      -  Gravis Ultrasound MIDI port.
%                (The "ULTRASND" environment variable must be properly set.)
%
%  If you specify something other than the above names, GSPLAY will default
%  to using no MIDI device and only send output to the screen display.
%
%  Specify up to four MIDI interface names (if you specify the same
%  name more than once, they will all refer to the same interface).
%  You can toggle between them in GSPLAY by pressing F1-F4.
%  If you specify multiple interface names, you can also specify multiple
%  corresponding settings for MIDI_DEVICE, RESET_MODE, GS_SYSEX, ALLOW_RESET,
%  NON_GS_SYSEX, PATCH_NAMES, SHOW_PATCHES, PARTIAL_ALLOC_RESET, SEND_DELAY,
%  ALWAYS_DELAY, OMNI_CHANNEL, and MINIMAL_DEVICE.
%
MIDI_INTERFACE  MPU401

% MIDI DEVICE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Locate your MIDI sound module in the list below and specify the appropriate
% letter or code on the left.  This setting enables GSPLAY to properly display
% the patch names supported by your device.  If you have a GS-compatible
% device that is not listed, option M is a good choice.  Using the wrong code
% will not affect the playback of the MIDI files in any way, but it could lead
% to incorrect patch names being shown onscreen.
% (All models below are Roland products)
%
% A = SC-55 (Serial# <= AC94799)
% B = SC-55 (Ser#>=AC94800), CM-300/500, SCC-1, SC-155, MT-200 (Ser#<=ZE64049),
%     JV-30 (Ser#<=BE54299), JW-50 (Ser<=ZE58299)
% C = KR-3500, KR-4500 (Ser#<=ZE54899)
% D = HP-2900G
% E = KR-650 (Ser#<=ZE54699)
% F = KR-5500 (Ser#<=ZE60799)
% G = SC-33/50, E-56, VE-GS1, SK-50, MT-120/120S, JV-35/50, AT-50/70
% H = MT-200 (Ser#>=ZE64050), JV-30 (Ser#>=BE54300), JW-50 (Ser#>=ZE58300),
%     KR-650 (Ser#>=ZE54700), GPPC-NA/FIIA, SCC-1A
% I = E-86
% J = SD-35
% K = KR-4500 (Ser#>=ZE54900)
% L = KR-5500 (Ser#>=ZE60800)
% M = SC-55MKII, SCB-55
% N = KR-5000
% O = KR-4700, HP-1900G/2800G/3800G
% SC88_88 = SC-88 in 88-MAP mode
% SC88_55 = SC-88 in 55-MAP mode
% GM = General MIDI, SC-7, SCB-7, RAP-10 
%
% Or, specify the filename of a plain text file containing one patchname
% per line, 12 characters max per patchname, for patches 0-127 in order.
% (See GSPLAY.DOC for more details on how to define your own patch table.)
%
MIDI_DEVICE  M

% Minimal device support
%
% If you set MINIMAL_DEVICE to "Y", GSPLAY will transmit only the minimal
% set of MIDI commands (note on, note off, and the various pedal on
% and off commands).  Other commands like pitch bend, program changes, 
% control changes, etc. will be filtered out, and drum channels will
% not be played.  This parameter is especially useful if you're using
% OMNI mode (see OMNI_CHANNEL) and you want to keep the MIDI device
% from going nuts from all the control messages going to one channel.
% You can have different MINIMAL_DEVICE settings for each device.
%
MINIMAL_DEVICE  N


% MISCELLANEOUS PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% FILE SORTING
%
% GSPLAY can sort the playlist automatically upon startup. 
% Available sorting methods are: 
%
%    ALPHA_A  Sort by filename in ascending order
%    ALPHA_D  Sort by filename in descending order
%     TIME_A  Sort by file time/date in ascending order (oldest first)
%     TIME_D  Sort by file time/date in descending order (newest first)
%    SHUFFLE  Shuffle the files
%       NONE  No sorting 
%
SORT_METHOD  TIME_D

% DEFAULT DISPLAY MODE
%
% Specify NOTES to display all 128 notes on all 16 channels simultaneously.
% Specify KEYBOARD for a piano keyboard display combining all 16 channels.
% (Display mode can be toggled during playback by pressing "D".  A VGA
% adapter is required for the keyboard display.)
% Specify NONE if you prefer no realtime note display.  This will improve
% performance under Windows.
%
DISPLAY_MODE  NOTES

% RESET MODE
%
% GSPLAY can send a reset command automatically before playing each file.
% This is very useful, since many MIDI files lack a reset SYSEX message.
% Resetting the MIDI device before playback will help ensure the MIDI files
% sound as they were intended to sound.
%
% Valid modes are:
%   GS    Reset to GS Standard mode
%   MT32  Configure for MT32 emulation (not available on all devices)
%   GM    Activate General MIDI system 
%   NONE  No reset
%  
% Or, specify the path/filename of a binary file containing SYSEX data
% (such as a ".SYX" file).  The entire contents of the file will be sent
% at the start of each song, just like the built-in reset functions.
%
% If you've specified an SC88 as your sound module, a reset sequence will
% always be sent (when using the built-in reset functions) to put the SC88
% in single-module mode and set up the appropriate tone mapping (SC88 or
% SC55).  You still need to specify a GS reset in this section if you want
% GS mode re-initialized between songs.
%
RESET_MODE  GS

% Automatically restore optimal partial allocation before playback? (Y/N)
% (Specifying 'Y' will help reduce voice-stealing problems.)
% This parameter is ignored if you are not using a GS device or if a
% user-defined reset sequence has been specified in RESET_MODE.
%
PARTIAL_ALLOC_RESET  Y

% Display patch names or just numbers?  (Toggle during playback with "P")
% Y = show patch names
% N = list patches numerically
%
PATCH_NAMES  Y

% Show patches REQUESTED or the patches your device is actually PLAYING?
% (Not all GS devices support the same patch variations, so some fall back on 
% variations they DO support.)  Specify REQUESTED to see the actual patches
% requested, PLAYING to see the patches your device is falling back on.
% This has no effect on plain General MIDI music files.  You can toggle
% this option during playback by pressing "R".
%
SHOW_PATCHES  REQUESTED

% SYSEX MESSAGES 
%
% Specify Y to allow GS/NON-GS messages to be sent, N to skip them.
%
% Specifying N for ALLOW_RESET will cause GS and GM reset messages in
% MIDI files to be skipped.  (This is useful if you're using a custom reset
% message with the RESET_MODE option, and you don't want reset messages in
% the actual files to undo your custom settings.)
%
GS_SYSEX  Y
NON_GS_SYSEX  Y
ALLOW_RESET  Y

% SEND DELAY
%
% The "B" and "J" keyboard commands cause GSPLAY to seek, and during
% the seek time, GSPLAY will send any SYSEX, program change, or
% control messages that occur during the skipped section.  If GSPLAY
% sends these messages too quickly, it may overflow the receive buffer on
% some MIDI devices.  The SEND_DELAY parameter allows you to control the
% amount of delay between bytes when sending these kinds of messages.
%
% Specify an integer between 1 (fastest) and 32767 (slowest).  You should
% set this to the fastest speed that will work reliably on your equipment.
% This setting will vary somewhat depending on the speed of your machine
% and the type of MIDI device(s) connected.  A reasonable starting value
% for a 486 DX2/66, MPU401 interface, and Sound Canvas is about 12000.
%
SEND_DELAY  12000

% Always delay between bytes (Y/N)
%
% If your MIDI interface seems to be losing data and you're certain
% its IRQ setting (if applicable) is correct, try setting this parameter
% to "Y" and adjusting the value of SEND_DELAY above.  This will add a 
% very small amount of delay between each byte sent to the interface.
% Most people should not need to use this parameter.
%
ALWAYS_DELAY  N

% Delay in seconds between songs
%
SONG_DELAY  2

% Longest acceptable delta time in seconds 
%
% This is used to detect damaged MIDI files (the delta times will often
% be unreasonably large when MIDI files are damaged).  Example: a value
% of 30 will cause playback to abort if GSPLAY encounters a delta time
% (time between two events) that is longer than 30 seconds.
% Set to 0 to disable checking for damaged MIDI files.
%
MAX_DELTA  20

% OMNI Channel
%
% If you are using a MIDI device that only receives on one channel,
% specify a MIDI channel number from 1-16 and GSPLAY will route
% all music data (except for drum channels) to this OMNI channel.
% You can specify different OMNI channels for different devices.
% If you leave this blank or specify something other than 1-16,
% GSPLAY will not do any translation.
% 
OMNI_CHANNEL  NONE

% Copy/Move Directories
%
% During playback, GSPLAY lets you quickly copy/move files into various
% directories.  You can specify up to 12 directories in the format
% shown below (using full paths is recommended).  GSPLAY ignores any
% directories that it can't find during startup.
%
% Example: DIR c:\midi\jazz
