home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Sensations!
/
sound_sensations.iso
/
miditool
/
mcz11
/
mcz.doc
< prev
next >
Wrap
Text File
|
1986-11-28
|
17KB
|
529 lines
MCZ 1.1
A MIDI Program for the CZ Series Synthesizers
Dave Hocker
3412 Melanie Lane
Plano, TX 75023
MCZ 1.1
November 23rd, 1986
Disclaimer
Copyright (c) 1986
All rights reserved.
MCZ is provided for your personal use, free of charge.
You may distribute it to others for personal use, but not for
a fee. Incorporation of MCZ into another program or product
without permission of the author is expressly forbidden.
Suggestions for improvements are always welcome. But, please
remember that it is a FREE program.
Preface
This document describes the program MCZ. It is assumed that
the reader is reasonably familiar with the operation of the
CZ series sythesizers, and PC-DOS or MS-DOS.
Overview
MCZ is a basic MIDI support program for the CZ series of
digital synthesizers. MCZ enables you to:
- create, edit, and manage patches and patch libraries.
- download into the CZ a single patch or a list of
patches.
- upload a patch from any CZ memory.
- Record and play back up to sixteen MIDI tracks.
Individual tracks can be saved and retrieved from
disk.
- Trace all MIDI data received by the MIDI interface
card.
Most MCZ functions are tailored for use with the CZ.
However, the non-CZ specific functions should work with any
MIDI device.
MCZ 1.1
November 23rd, 1987
Summary of Changes in Version 1.1
A bug in the modulation setting code was fixed.
A directory and index function was added to the opening
screen of the patch editor. Using the DIR function key shows
you all of the patch libraries in the designated DOS
directory/subdirectory. The INDX function key shows you the
index of patches in a designated patch library.
Patches can be printed from the patch index screen by using
the PRNT function key. The printed result can be directed to
a printer or any DOS file. The new Administration option on
the main screen can be used to designate an output device or
file. The format of the printed patch is very suitable for
machine processing by C programs.
An autoload function is added to the patch editor. Selecting
the autoload function toggles it ON and OFF. When ON, the
patch you are editing will be downloaded every time you make
a change to it.
The GET function is added to the envelope editor. It lets
you "get" an envelope from another patch or the current
patch. Using GET, you can do things like copy DCA-1 from
patch X to DCW-2 of patch Y.
System Requirements
MCZ was designed to run an an IBM PC, XT, AT, or compatible.
Approximately 128K of memory is required for basic operation.
Both monochrome and color displays are supported. MCZ
supports the MIDI interface designed by Jay Kubicky. This
board is described in the June 1986 issue of BYTE magazine,
p.199. It can be built for about $75.
Getting Started
MCZ can be started by entering the command MCZ at the DOS
prompt:
d> MCZ
This example assumes that MCZ is on the current disk, or that
is is accessible through the current path.
MCZ 1.1
November 23rd, 1988
Keyboard Usage
This section describes how the keyboard is used to interact
with MCZ.
MENUS/SELECTION LISTS
When a menu or selection list is displayed, the following
keys work as described:
Down arrow - move to selection below.
Up arrow - move to selection above.
Enter - take the default action on the current
selection.
Tab right - next selection to right.
Tab left - next selection to left.
Right arrow - next selection to right.
Left arrow - next selection to left.
Function keys - designate actions as shown at the bottom
of the screen.
Escape - abort and return to previous screen.
Enter - take the default action on the current
selection.
Like many PC programs, selections can also be made by typing
the first character of the desired choice. When more than
one selection starts with the same character, the first one
from the top of the list will be chosen.
FORMS/DATA ENTRY SCREENS
When a form is displayed, the following keys work as
described:
Down arrow - move to field below.
Up arrow - move to field above.
Enter - act on the data.
Tab right - next field to right.
Tab left - next field to left.
Insert - insert keystrokes in field.
Delete - delete character at cursor.
Right arrow - move cursor right one character.
Left arrow - move cursor left one character.
Ctrl-End - delete to end of field.
Function keys - designate actions as shown at the bottom
of the screen.
Escape - abort and return to previous screen.
Enter - data entry complete.
MCZ 1.1
November 23rd, 1989
Patch Library Names
Patch library names may be up to 8 characters in length. MCZ
arbitrarily appends a ".LIB" to a library name to form a full
DOS file name. For example, the library "CZLIB" will appear
as the DOS file "CZLIB.LIB". The format of a library file is
described in an appendix.
Whenever a library name is required, it may be entered with
leading directory information. Continuing with the above
example, assume that CZLIB is in the directory "A:\CZ". Then
the specification "A:\CZ\CZLIB" correctly designates the
location of CZLIB. Generally, 32 characters are allowed for
the specification of a library name.
Patch Names
Patch names may consist of any characters on the keyboard.
MCZ does not check a patch name for validity. Up to 28
characters may be used to name a patch.
Patch List Names
Patch list file names are given just like patch library
names. MCZ appends a ".TL" to a patch list name to form a
full file name. For example, creation of a pathc list named
INTERNAL will produce a file named INTERNAL.TL.
The Main Menu
The main menu is where the action starts. From it, you can
select patch management, patch list management, MIDI
recording, and other MCZ functions.
Managing Patches and Patch Libraries
MCZ provides all of the functions that you will need to
create and maintain libraries of patches. You can:
- create a new patch library
- view the table of contents of a library and select a
patch for action.
- create a new patch, from scratch or from an existing
patch.
- delete a patch from a library.
- rename a patch.
- edit patch data.
To access patch management functions, select "Patch
Management" from the main menu. You will be asked to enter a
MCZ 1.1
November 23rd, 1990
patch library name. If the library exists, MCZ will display
its index (table on contents). If the library is new, MCZ
will ask you for a patch name and you will be placed in the
patch editor. From the library index, you take management
actions by pointing/selecting a patch and designating the
action via PF keys. The ENTER key takes the default action,
which is to edit the patch.
MCZ comes with a patch library named CZ1. It contains many
patches found in the Casio "Sound Data Book."
Using Patch Lists
A patch list is a convenient way to deal with the CZ's patch
memories. A patch list identifies up to 16 patches. Each
entry in a patch list names a library and a patch from that
library. You can download a patch list into a CZ memory
area. For example, on the CZ-101, you can load a cartridge
by making a patch list and downloading the list to the
cartridge.
You enter the list editor by selecting "List of Patches" from
the main menu. MCZ will ask you for list name. After you
enter the name, MCZ will show you the list and allow you to
change it. A patch library name need not be repeated for
each memory. An "=" indicates the last explicitly named
library. List creation is simplified by using the "Indx"
action. This action shows you the library index for a
library. When you "Pick" a patch from a library, MCZ copies
its name into the list. This allows you to have meaningful
patch names without the tedium of having to re-type them.
MCZ comes with a patch list file named INTERNAL. It
illustrates how to set up a patch list.
A patch list can be loaded by selecting "DownLoad" from the
main menu. You will be prompted for a patch list name.
After you enter the name, the list will be loaded into the
designated CZ memory.
MIDI Recording and Playback
MCZ includes a basic MIDI track recorder, specifically
designed for recording CZ MIDI data. Using the
recording/playback facilities, you can:
MCZ 1.1
November 23rd, 1991
- set the size of a track, within the limits of
available memory.
- designate a single record track and multiple playback
tracks.
- record/playback designated tracks.
- save recorded tracks in a file.
- load a designated track from a saved file.
- set the record/playback tempo.
Digital recording functions can be accessed by choosing
"Record/Playback" from the main menu.
MIDI Tracing
If you are interested in seeing the raw data that comes from
a MIDI device, you can use the trace facility. It displays
each data byte, in hex, as it is received over the MIDI
interface. This function is extremely useful for
understanding what kind of data your MIDI device produces
when you interact with the device.
Appendix 1: Patch Library Format
The first 32 bytes of a LIB file are used by MCZ and are not
of general use. The rest of a LIB file consists of one or
more patches with a very simple format. Each patch consists
of a name and patch data. The patch data can be loaded into
the CZ by simply "nibblizing" it. Nibblizing is the process
of sending a byte of data as two bytes, so data bytes don't
conflict with MIDI status message bytes. For example, the
data byte ABh is sent as the two bytes 0Bh, 0Ah.
Patch format:
Offset Length Data
0 32 Patch name, zero terminated
32 128 Patch data
MCZ 1.1
November 23rd, 1992
The following C structure describes the patch data format.
/*===================================*/
/* */
/* Structure of CZ-101 System */
/* Exclusive Tone Data */
/* */
/*===================================*/
struct cz101_env /* envelope structure
*/
{
char rate; /* wave form rate */
char level; /* target level */
};
struct cz101_td /* system exclusive
tone data */
{
char ls_oct; /* line select,
octave */
char detune_s; /* detune +/- */
char detune_tl; /* low */
char detune_th; /* high */
char v_wave; /* vibrato wave form
*/
char v_delay_d; /* vibrato delay */
int v_delay_v;
char v_rate_d; /* vibrato rate */
int v_rate_v;
char v_depth_d; /* vibrato depth */
int v_depth_v;
char dco1_wf[2]; /* dco1 wave form */
char dca1_follow[2]; /* dca1 follow key */
char dcw1_follow[2]; /* dcw1 follow key */
char dca1_end; /* end step */
struct cz101_env dca1_env[8]; /* dca1 envelope */
char dcw1_end; /* end step */
struct cz101_env dcw1_env[8]; /* dcw1 envelope */
char dco1_end; /* end step */
struct cz101_env dco1_env[8]; /* dco1 envelope */
char dco2_wf[2]; /* dco2 wave form */
char dca2_follow[2]; /* dca2 follow key */
char dcw2_follow[2]; /* dcw2 follow key */
char dca2_end; /* end step */
struct cz101_env dca2_env[8]; /* dca2 envelope */
char dcw2_end; /* end step */
struct cz101_env dcw2_env[8]; /* dcw2 envelope */
char dco2_end; /* end step */
struct cz101_env dco2_env[8]; /* dco2 envelope */
};
MCZ 1.1
November 23rd, 1993