home *** CD-ROM | disk | FTP | other *** search
/ Sound Sensations! / sound_sensations.iso / miditool / mcz11 / mcz.doc < prev    next >
Text File  |  1986-11-28  |  17KB  |  529 lines

  1.  
  2.  
  3.  
  4.           
  5.           
  6.           
  7.           
  8.           
  9.           
  10.           
  11.           
  12.           
  13.           
  14.           
  15.           
  16.           
  17.           
  18.           
  19.           
  20.           
  21.           
  22.           
  23.           
  24.           
  25.           
  26.                                   MCZ 1.1
  27.           
  28.           
  29.           
  30.                A MIDI Program for the CZ Series Synthesizers
  31.           
  32.           
  33.           
  34.           
  35.           
  36.           
  37.           
  38.                                 Dave Hocker
  39.                              3412 Melanie Lane
  40.                              Plano, TX  75023
  41.           
  42.           
  43.           
  44.           
  45.           
  46.           
  47.           
  48.           
  49.           
  50.           
  51.           
  52.           
  53.           
  54.           
  55.           
  56.           
  57.           
  58.  
  59.  
  60.  
  61.  
  62.                                      MCZ 1.1
  63.                                November 23rd, 1986
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.          Disclaimer
  71.           
  72.          Copyright (c) 1986
  73.          All rights reserved.
  74.           
  75.          MCZ is provided for your personal use, free of charge.
  76.          You may distribute it to others for personal use, but not for
  77.          a fee.  Incorporation of MCZ into another program or product
  78.          without permission of the author is expressly forbidden.
  79.           
  80.          Suggestions for improvements are always welcome.  But, please
  81.          remember that it is a FREE program.
  82.           
  83.           
  84.          Preface
  85.           
  86.           
  87.          This document describes the program MCZ.  It is assumed that
  88.          the reader is reasonably familiar with the operation of the
  89.          CZ series sythesizers, and PC-DOS or MS-DOS.
  90.           
  91.           
  92.          Overview
  93.           
  94.          MCZ is a basic MIDI support program for the CZ series of
  95.          digital synthesizers.  MCZ enables you to:
  96.           
  97.               - create, edit, and manage patches and patch libraries.
  98.           
  99.               - download into the CZ a single patch or a list of
  100.                 patches.
  101.           
  102.               - upload a patch from any CZ memory.
  103.           
  104.               - Record and play back up to sixteen MIDI tracks.
  105.                 Individual tracks can be saved and retrieved from
  106.                 disk.
  107.           
  108.               - Trace all MIDI data received by the MIDI interface
  109.                 card.
  110.           
  111.          Most MCZ functions are tailored for use with the CZ.
  112.          However, the non-CZ specific functions should work with any
  113.          MIDI device.
  114.           
  115.           
  116.           
  117.           
  118.           
  119.           
  120.           
  121.           
  122.           
  123.           
  124.  
  125.  
  126.  
  127.  
  128.                                      MCZ 1.1
  129.                                November 23rd, 1987
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.          Summary of Changes in Version 1.1
  137.           
  138.          A bug in the modulation setting code was fixed.
  139.           
  140.          A directory and index function was added to the opening
  141.          screen of the patch editor.  Using the DIR function key shows
  142.          you all of the patch libraries in the designated DOS
  143.          directory/subdirectory.  The INDX function key shows you the
  144.          index of patches in a designated patch library.
  145.           
  146.          Patches can be printed from the patch index screen by using
  147.          the PRNT function key.  The printed result can be directed to
  148.          a printer or any DOS file.  The new Administration option on
  149.          the main screen can be used to designate an output device or
  150.          file.  The format of the printed patch is very suitable for
  151.          machine processing by C programs.
  152.           
  153.          An autoload function is added to the patch editor.  Selecting
  154.          the autoload function toggles it ON and OFF.  When ON, the
  155.          patch you are editing will be downloaded every time you make
  156.          a change to it.
  157.           
  158.          The GET function is added to the envelope editor.  It lets
  159.          you "get" an envelope from another patch or the current
  160.          patch.  Using GET, you can do things like copy DCA-1 from
  161.          patch X to DCW-2 of patch Y.
  162.           
  163.          System Requirements
  164.           
  165.          MCZ was designed to run an an IBM PC, XT, AT, or compatible.
  166.          Approximately 128K of memory is required for basic operation.
  167.          Both monochrome and color displays are supported. MCZ
  168.          supports the MIDI interface designed by Jay Kubicky.  This
  169.          board is described in the June 1986 issue of BYTE magazine,
  170.          p.199.  It can be built for about $75.
  171.          Getting Started
  172.           
  173.          MCZ can be started by entering the command MCZ at the DOS
  174.          prompt:
  175.           
  176.               d> MCZ
  177.           
  178.          This example assumes that MCZ is on the current disk, or that
  179.          is is accessible through the current path.
  180.           
  181.           
  182.           
  183.           
  184.           
  185.           
  186.           
  187.           
  188.           
  189.           
  190.  
  191.  
  192.  
  193.  
  194.                                      MCZ 1.1
  195.                                November 23rd, 1988
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.          Keyboard Usage
  203.           
  204.           
  205.          This section describes how the keyboard is used to interact
  206.          with MCZ.
  207.           
  208.          MENUS/SELECTION LISTS
  209.           
  210.          When a menu or selection list is displayed, the following
  211.          keys work as described:
  212.           
  213.               Down arrow - move to selection below.
  214.               Up arrow - move to selection above.
  215.               Enter - take the default action on the current
  216.                    selection.
  217.               Tab right - next selection to right.
  218.               Tab left - next selection to left.
  219.               Right arrow - next selection to right.
  220.               Left arrow - next selection to left.
  221.               Function keys - designate actions as shown at the bottom
  222.                    of the screen.
  223.               Escape - abort and return to previous screen.
  224.               Enter - take the default action on the current
  225.                    selection.
  226.           
  227.          Like many PC programs, selections can also be made by typing
  228.          the first character of the desired choice.  When more than
  229.          one selection starts with the same character, the first one
  230.          from the top of the list will be chosen.
  231.           
  232.          FORMS/DATA ENTRY SCREENS
  233.           
  234.          When a form is displayed, the following keys work as
  235.          described:
  236.           
  237.               Down arrow - move to field below.
  238.               Up arrow - move to field above.
  239.               Enter - act on the data.
  240.               Tab right - next field to right.
  241.               Tab left - next field to left.
  242.               Insert - insert keystrokes in field.
  243.               Delete - delete character at cursor.
  244.               Right arrow - move cursor right one character.
  245.               Left arrow - move cursor left one character.
  246.               Ctrl-End - delete to end of field.
  247.               Function keys - designate actions as shown at the bottom
  248.                    of the screen.
  249.               Escape - abort and return to previous screen.
  250.               Enter - data entry complete.
  251.           
  252.           
  253.           
  254.           
  255.           
  256.  
  257.  
  258.  
  259.  
  260.                                      MCZ 1.1
  261.                                November 23rd, 1989
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.          Patch Library Names
  269.           
  270.          Patch library names may be up to 8 characters in length.  MCZ
  271.          arbitrarily appends a ".LIB" to a library name to form a full
  272.          DOS file name.  For example, the library "CZLIB" will appear
  273.          as the DOS file "CZLIB.LIB".  The format of a library file is
  274.          described in an appendix.
  275.           
  276.          Whenever a library name is required, it may be entered with
  277.          leading directory information.  Continuing with the above
  278.          example, assume that CZLIB is in the directory "A:\CZ".  Then
  279.          the specification "A:\CZ\CZLIB" correctly designates the
  280.          location of CZLIB.  Generally, 32 characters are allowed for
  281.          the specification of a library name.
  282.           
  283.           
  284.          Patch Names
  285.           
  286.          Patch names may consist of any characters on the keyboard.
  287.          MCZ does not check a patch name for validity.  Up to 28
  288.          characters may be used to name a patch.
  289.           
  290.           
  291.          Patch List Names
  292.           
  293.          Patch list file names are given just like patch library
  294.          names.  MCZ appends a ".TL" to a patch list name to form a
  295.          full file name.  For example, creation of a pathc list named
  296.          INTERNAL will produce a file named INTERNAL.TL.
  297.           
  298.           
  299.          The Main Menu
  300.           
  301.          The main menu is where the action starts.  From it, you can
  302.          select patch management, patch list management, MIDI
  303.          recording, and other MCZ functions.
  304.           
  305.           
  306.          Managing Patches and Patch Libraries
  307.           
  308.          MCZ provides all of the functions that you will need to
  309.          create and maintain libraries of patches.  You can:
  310.           
  311.               - create a new patch library
  312.               - view the table of contents of a library and select a
  313.                    patch for action.
  314.               - create a new patch, from scratch or from an existing
  315.                    patch.
  316.               - delete a patch from a library.
  317.               - rename a patch.
  318.               - edit patch data.
  319.           
  320.          To access patch management functions, select "Patch
  321.          Management" from the main menu.  You will be asked to enter a
  322.  
  323.  
  324.  
  325.  
  326.                                      MCZ 1.1
  327.                                November 23rd, 1990
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.          patch library name.  If the library exists, MCZ will display
  335.          its index (table on contents).  If the library is new, MCZ
  336.          will ask you for a patch name and you will be placed in the
  337.          patch editor.  From the library index, you take management
  338.          actions by pointing/selecting a patch and designating the
  339.          action via PF keys.  The ENTER key takes the default action,
  340.          which is to edit the patch.
  341.           
  342.           
  343.          MCZ comes with a patch library named CZ1.  It contains many
  344.          patches found in the Casio "Sound Data Book."
  345.           
  346.          Using Patch Lists
  347.           
  348.          A patch list is a convenient way to deal with the CZ's patch
  349.          memories.  A patch list identifies up to 16 patches.  Each
  350.          entry in a patch list names a library and a patch from that
  351.          library.  You can download a patch list into a CZ memory
  352.          area.  For example, on the CZ-101, you can load a cartridge
  353.          by making a patch list and downloading the list to the
  354.          cartridge.
  355.           
  356.          You enter the list editor by selecting "List of Patches" from
  357.          the main menu.  MCZ will ask you for list name.  After you
  358.          enter the name, MCZ will show you the list and allow you to
  359.          change it.  A patch library name need not be repeated for
  360.          each memory.  An "=" indicates the last explicitly named
  361.          library.  List creation is simplified by using the "Indx"
  362.          action.  This action shows you the library index for a
  363.          library.  When you "Pick" a patch from a library, MCZ copies
  364.          its name into the list.  This allows you to have meaningful
  365.          patch names without the tedium of having to re-type them.
  366.           
  367.          MCZ comes with a patch list file named INTERNAL.  It
  368.          illustrates how to set up a patch list.
  369.           
  370.          A patch list can be loaded by selecting "DownLoad" from the
  371.          main menu.  You will be prompted for a patch list name.
  372.          After you enter the name, the list will be loaded into the
  373.          designated CZ memory.
  374.           
  375.          MIDI Recording and Playback
  376.           
  377.          MCZ includes a basic MIDI track recorder, specifically
  378.          designed for recording CZ MIDI data.  Using the
  379.          recording/playback facilities, you can:
  380.           
  381.           
  382.           
  383.           
  384.           
  385.           
  386.           
  387.           
  388.  
  389.  
  390.  
  391.  
  392.                                      MCZ 1.1
  393.                                November 23rd, 1991
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.               - set the size of a track, within the limits of
  401.                    available memory.
  402.               - designate a single record track and multiple playback
  403.                    tracks.
  404.               - record/playback designated tracks.
  405.               - save recorded tracks in a file.
  406.               - load a designated track from a saved file.
  407.               - set the record/playback tempo.
  408.           
  409.          Digital recording functions can be accessed by choosing
  410.          "Record/Playback" from the main menu.
  411.           
  412.           
  413.          MIDI Tracing
  414.           
  415.          If you are interested in seeing the raw data that comes from
  416.          a MIDI device, you can use the trace facility.  It displays
  417.          each data byte, in hex, as it is received over the MIDI
  418.          interface.  This function is extremely useful for
  419.          understanding what kind of data your MIDI device produces
  420.          when you interact with the device.
  421.           
  422.           
  423.          Appendix 1: Patch Library Format
  424.           
  425.           
  426.          The first 32 bytes of a LIB file are used by MCZ and are not
  427.          of general use.  The rest of a LIB file consists of one or
  428.          more patches with a very simple format.  Each patch consists
  429.          of a name and patch data.  The patch data can be loaded into
  430.          the CZ by simply "nibblizing" it.  Nibblizing is the process
  431.          of sending a byte of data as two bytes, so data bytes don't
  432.          conflict with MIDI status message bytes.  For example, the
  433.          data byte ABh is sent as the two bytes 0Bh, 0Ah.
  434.           
  435.          Patch format:
  436.           
  437.          Offset    Length    Data
  438.           
  439.          0         32        Patch name, zero terminated
  440.          32        128       Patch data
  441.           
  442.           
  443.           
  444.           
  445.           
  446.           
  447.           
  448.           
  449.           
  450.           
  451.           
  452.           
  453.           
  454.  
  455.  
  456.  
  457.  
  458.                                      MCZ 1.1
  459.                                November 23rd, 1992
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.          The following C structure describes the patch data format.
  467.           
  468.          /*===================================*/
  469.          /*                                   */
  470.          /* Structure of CZ-101 System        */
  471.          /* Exclusive Tone Data               */
  472.          /*                                   */
  473.          /*===================================*/
  474.           
  475.          struct cz101_env                        /* envelope structure
  476.          */
  477.            {
  478.              char rate;                          /* wave form rate */
  479.              char level;                         /* target level */
  480.            };
  481.           
  482.          struct cz101_td                         /* system exclusive
  483.          tone data */
  484.            {
  485.              char ls_oct;                        /* line select,
  486.          octave */
  487.              char detune_s;                      /* detune +/- */
  488.              char detune_tl;                     /* low */
  489.              char detune_th;                     /* high */
  490.              char v_wave;                        /* vibrato wave form
  491.          */
  492.              char v_delay_d;                     /* vibrato delay */
  493.              int  v_delay_v;
  494.              char v_rate_d;                      /* vibrato rate */
  495.              int  v_rate_v;
  496.              char v_depth_d;                     /* vibrato depth */
  497.              int  v_depth_v;
  498.           
  499.              char dco1_wf[2];                    /* dco1 wave form */
  500.              char dca1_follow[2];                /* dca1 follow key */
  501.              char dcw1_follow[2];                /* dcw1 follow key */
  502.              char dca1_end;                      /* end step */
  503.              struct cz101_env dca1_env[8];       /* dca1 envelope */
  504.              char dcw1_end;                      /* end step */
  505.              struct cz101_env dcw1_env[8];       /* dcw1 envelope */
  506.              char dco1_end;                      /* end step */
  507.              struct cz101_env dco1_env[8];       /* dco1 envelope */
  508.           
  509.              char dco2_wf[2];                    /* dco2 wave form */
  510.              char dca2_follow[2];                /* dca2 follow key */
  511.              char dcw2_follow[2];                /* dcw2 follow key */
  512.              char dca2_end;                      /* end step */
  513.              struct cz101_env dca2_env[8];       /* dca2 envelope */
  514.              char dcw2_end;                      /* end step */
  515.              struct cz101_env dcw2_env[8];       /* dcw2 envelope */
  516.              char dco2_end;                      /* end step */
  517.              struct cz101_env dco2_env[8];       /* dco2 envelope */
  518.            };
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                                      MCZ 1.1
  525.                                November 23rd, 1993
  526.  
  527.  
  528.  
  529.