home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-07-06 | 68.4 KB | 1,990 lines |
-
-
-
-
-
-
-
- MODEDIT VERSION 1.00 DOCUMENTATION
- COPYRIGHT 1991 NORMAN LIN
-
- =================
- TABLE OF CONTENTS
- =================
-
- 1. Introduction
- 1.1 What is ModEdit?
- 1.2 What is needed to run ModEdit?
-
- 2. Getting started
- 2.1 Setup
- 2.2 ModEdit's menu system and display
- 2.3 Configuration
-
- 3. Nomenclature/concepts
- 3.1 Note unit
- 3.1 Pattern
- 3.3 Sequence
- 3.4 Sample
- 3.5 Integrating note units, patterns, sequence, and
- samples
-
- 4. Using ModEdit
- 4.1 Entering music
- 4.1.1 Creating/editing patterns
- 4.1.2 Sequencing patterns
- 4.1.3 Other pattern options
- 4.2 Orchestration: Using Samples
- 4.2.1 The "Sample Directory"
- 4.2.2 Loading sample files from disk
- 4.2.3 Playing samples
- 4.2.4 Saving sample files to disk
- 4.2.5 Releasing samples
- 4.2.6 Attributes of samples
- 4.2.7 Default sample settings
- 4.3 Hearing your music
- 4.3.1 ModRes: Inline playing
- 4.3.2 ModPlay: External playing
- 4.4 Saving and loading ModFiles
-
- 5. Reference
- 5.1 Exhaustive menu options
- 5.2 Pattern editor quick reference key summary
- 5.3 Effect list quick reference chart
- 5.4 ModPlay
- 5.5 Coming attractions
-
- 6. License/Warranty/Disclaimer
-
-
-
-
-
-
-
-
-
-
- Page 2
-
-
-
-
-
- ================
- 1. INTRODUCTION
- ================
-
- 1.1 WHAT IS MODEDIT?
- ---------------------
-
- ModEdit is a music editor/sequencer for the IBM PC family
- that allows you to write music with 4 tracks of digitized
- instrument sounds. The final product is written to a file
- called a "ModFile", which can then be played back by Mark J.
- Cox's "ModPlay" program.
-
- 1.2 WHAT IS NEEDED TO RUN MODEDIT?
- -----------------------------------
-
- To run ModEdit, you need:
-
- - An IBM or compatible, 640K recommended.
- - The executable editor program MODEDIT.EXE.
-
- To hear the music, you also need one or both of the
- following:
-
- - The resident module player MODRES.COM by Mark J. Cox,
- which allows you to hear your music as you write it from
- within ModEdit.
-
- - The external module player ModPlay (MP.COM) by Mark J.
- Cox, which allows you to play Modules outside the ModEdit
- environment.
-
- NOTE: To run ModPlay or ModRes, you must have a 12 MHz or
- faster machine. A new version of ModRes which works with
- 10MHz machines should soon be available. See "MODRES.DOC"
- for more information.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 3
-
-
-
-
-
- ===================
- 2. GETTING STARTED
- ===================
-
- 2.1 SETUP
- ----------
-
- Your ModEdit archive file should contain the following files:
-
- - MODED.BAT : Batch file that runs ModEdit
- - MODEDIT.DOC: This file
- - MODEDIT.EXE: The executable ModEdit module editor
- - MODRES.COM : Mark J. Cox's resident module player, for
- use in conjunction with ModEdit
- - MODRES.DOC : Documentation/License for ModRes
- - BREATH.MOD : A sample ModFile for you to experiment with
- - *.SAM : Various digitized sample files for
- incorporation into your own music
-
- To run ModEdit, first unpack the archive file, preferably
- into its own subdirectory if you have a hard drive.
-
- If you will want to use the inline playing functions of
- ModEdit (usually the case) type "MODRES" and press return.
- This loads the resident module player into memory. If you do
- not run ModRes before ModEdit, you will not be able to hear
- your music from within ModEdit, though you will still be able
- to load, edit, and save ModFiles for external playing.
-
- After running ModRes (if you wish to), run ModEdit by typing
- "MODEDIT" and pressing return. You will then be running
- Modedit. You may wish to set some defaults to your own
- preferences (e.g. screen colors, default directories, etc.);
- see "Configuration" below.
-
- After you exit ModEdit, ModRes remains in memory (it's a
- TSR). Keeping ModRes in memory does no harm, but does take
- up a minimal amount of space. To free this memory space,
- type "MODRES -d".
-
- Supplied in the ModEdit archive file is a batch file
- "MODED.BAT" which automatically installs and deinstalls
- ModRes. It simply contains the commands:
-
- modres
- modedit
- modres -d
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4
-
-
-
-
-
- 2.2 MODEDIT'S MENU SYSTEM AND DISPLAY
- --------------------------------------
-
- Once you've started up ModEdit, you need to know how to move
- around through the various available options. ModEdit is
- menu-driven. To choose an option from a menu, you may
- either:
-
- 1) Use the cursor keys to move the menu bar to the desired
- item, then press enter, or
-
- 2) Press the capitalized letter on the desired item's menu
- line.
-
- To escape from any menu or option, press the ESC key.
-
- Certain menu options (e.g. loading, saving, etc.) require you
- to input text. When ModEdit requires input from you, a small
- window will be created in which you may type the required
- input. If you make a mistake, use the backspace key to
- correct it. Press return when you are finished, or ESC to
- abort the input.
-
- When entering filenames for load options, you may either
- specify the filename to load, or you may specify a pathname.
- If you choose to specify a pathname, you must end it with a
- backslash (\). After specifying a pathname, you are given a
- directory of files in that path and a large reverse video
- bar. Move the bar with the arrow keys; press the space bar or
- enter to choose a file.
-
- A status line at the very bottom of the screen always gives
- you the current filename and various information about the
- song, as well as memory available.
-
- 2.3 CONFIGURATION
- ------------------
-
- Now that you know how to move around in ModEdit, you can
- configure ModEdit to your particular system and preferences.
- Select the "Configuration" option from the Main Menu.
-
- You will be presented with the Configuration Submenu. From
- here you may set various options about ModEdit, such as
- colors, directories, etc. The only ones you really need to
- set right now are the following:
-
- - ModFile directory: this is where ModEdit will look for
- your Modfiles (i.e. songfiles). This option is under the
- "Directories" option of the Configuration Submenu.
-
-
-
-
-
-
-
-
-
-
- Page 5
-
-
-
-
-
- - Sample directory: this is where ModEdit will look for your
- sample files. This option is also under the "Directories"
- option of the Configuration submenu.
-
- And, if you've loaded ModRes into memory, you also need to
- set:
-
- - Output device: this is the device to which ModRes will
- play music/samples. It defaults to the PC speaker, but
- can be a D/A converter on an LPT port (see the ModPlay
- documentation for information on how to build a D/A
- converter).
-
- Feel free to set any other configuration options you wish to
- customize (such as screen colors, error beep, etc.). When
- you're done, select "Save Configuration" to save the current
- settings to a configuration file. Next time you start up
- ModEdit, the configuration file will be read and the defaults
- set according to your specifications.
-
- The configuration file is saved to the current working
- directory; this will initially be the directory that you were
- in when you started ModEdit. If for some reason you wish to
- save the configuration file elsewhere, do so by changing the
- current working directory. Then, when you save the
- configuration, it will be saved in the new current working
- directory.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 6
-
-
-
-
-
- =========================
- 3. NOMENCLATURE/CONCEPTS
- =========================
-
- In order to use ModEdit, it is necessary first to understand
- some general terminology and concepts dealing with ModFile
- construction.
-
- 3.1 NOTE UNIT
- --------------
-
- The fundamental building block of patterns. It consists of
- three parts:
-
- 1) A musical note and octave (e.g. C#3 or A 2)
-
- 2) A "sample" or "instrument" number that determines what
- instrument sound will be associated with the given
- musical note
-
- 3) An effect number and argument, which jointly determine
- "how" the note is to be played (i.e. loud, soft,
- arpeggiated, etc.)
-
- 3.2 PATTERN
- ------------
-
- A collection of 64 contiguous note units. It is the
- fundamental building block of songs created with ModEdit. By
- arranging note units within a pattern/several patterns, you
- can create musical motives. Patterns are numbered starting
- with ZERO (contrast with samples below) and may go up to 63
- (i.e. 64 patterns max).
-
- 3.3 SEQUENCE
- -------------
-
- An arrangement of patterns. By arranging patterns into a
- sequence, you can group musical motives into a song. The
- sequence may be up to 128 patterns long. A given pattern can
- appear in the sequence more than once, if desired -- this
- means that for repeated musical passages, you need not create
- another identical pattern; you simply place the same pattern
- number in the sequence.
-
-
- 3.4 SAMPLE
- -----------
-
- Also interchangeably called "instrument." It is a collection
- of digitized data which mimics a particular instrument (e.g.
-
-
-
-
-
-
-
-
-
- Page 7
-
-
-
-
-
- flute, piano, guitar, etc.). Samples make your music sound
- "real" as opposed to "computerish" (simple square wave
- beeps). Up to 31 distinct samples may be used in a Modfile,
- affording a wide range of orchestrational possibilities. The
- samples are numbered 1-31 (contrast with the pattern
- numbering scheme above).
-
- 3.5 INTEGRATING NOTE UNITS, PATTERNS, SEQUENCE, AND SAMPLES
- ------------------------------------------------------------
-
- A complete song, therefore, consists of a number of
- PATTERNS, each of which contains 64 NOTE UNITS. These
- patterns are SEQUENCED into a particular order, which defines
- the song the listener will hear. The SAMPLE that is
- associated with each note determines the timbral quality
- (sound) that the note makes as it is played.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 8
-
-
-
-
-
- =================
- 4. USING MODEDIT
- =================
-
- 4.1 ENTERING MUSIC
- -------------------
-
- 4.1.1 Creating and Editing Patterns
- ------------------------------------
-
- The main building block of ModFiles is the pattern. Musical
- notes in ModFiles are entered into patterns. From the main
- menu, choose the "Pattern" option, which will take you to the
- Pattern Submenu.
-
- Initially, no patterns will be in memory. Therefore, you
- must create a NEW pattern, so choose the "New Pattern Edit"
- option. To edit an old pattern, you would simply have chosen
- "Old Pattern Edit" and entered the pattern number you wished
- to edit.
-
- You are now in the ModEdit pattern editor. The screen will
- look something like this:
-
-
- Track 1 Track 2 Track 3 Track 4
- --!-----------!-----------!-----------!-----------+ Abbreviated Sample List
- 00!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00|
- 01!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 01 <<NONE>>|17 <<NONE>>
- 02!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 02 <<NONE>>|18 <<NONE>>
-
-
- 15!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 15 <<NONE>>|31 <<NONE>>
- --!-----------!-----------!-----------!-----------+ 16 <<NONE>>
- ^ ^ ^ ^ ^
- | | | | | To the left are descriptions of each
- | | | | Effect field: argument field for each track. Each track has a
- | | | | note field, a sample field, and an
- | | | Effect field: command effect field, as shown. At the very
- | | | left is the note position within the
- | | Sample field: sample number pattern. The edit window scrolls, so
- | | you may go up to note position 63
- | Note field: note and octave (since there are 64 note units within
- | each pattern).
- Note position within the pattern
-
-
- Below the pattern edit window appear 2 lines (which have
- been omitted in the above diagram for clarity). The first
- tells you which pattern number you are editing. The second
-
-
-
-
-
-
-
-
-
- Page 9
-
-
-
-
-
-
- tells you the "default sample number," which is explained
- under "Sample field" below.
-
- The "Abbreviated Sample List" is a shortened version of the
- full list of samples. It's just for reference, so that you
- can tell at a glance which sample file is loaded into which
- sample slot. See "Orchestration: using samples" below for
- more information on samples.
-
- Moving around the pattern editor
- --------------------------------
- Each pattern consists of 64 note units for each of 4 tracks.
- The 64 note units are numbered 0 - 63. The edit window is
- only 16 lines long, so to see all 64 note units use the up
- and down arrow keys to scroll.
-
- Movement around the screen is quite simple. Use the arrow
- keys, home, end, page up, and page down to move the cursor
- to any field of any track at any note unit position. INS and
- DEL will insert a note unit or delete a note unit from the
- track where the cursor is currently located.
-
- To reset any field (note, sample, or effect) to an empty or
- zero value, simply press the SPACE bar when the cursor is on
- that field. Empty fields might at first seem useless; why
- would one want an empty field? The answer is that empty note
- unit fields allow entering notes of differing durational
- values. See "Note field" below.
-
- Editing the note field
- ----------------------
- The note field consists of a musical note and an octave.
- The musical note can be any of the following: C C# D D# E F
- F# G G# A A# B. This is a full twelve-tone scale; therefore,
- to enter "flat" notes, "double sharp" notes and the like, you
- must enter them as their enharmonic equivalent in the given
- scale above. For instance, B-flat would be entered as A#,
- C## would be entered as D, etc. This notation does result
- in some tonal ambiguity from a musical standpoint, but it
- makes things much easier for the computer. If you don't
- quite understand what enharmonically equivalent notes are,
- don't worry about it.
-
- To alter an existing note field, you may either type over
- it, or use one of the special note editing keys: "O"
- [capital] will increase the note's octave value; "o"
- [lowercase] will decrease the note's octave value. "+" will
- increase the note by one half-step; "-" will decrease the
- note by one half- step. Additionally, "=" will copy a note
- field to the note field directly underneath it.
-
-
-
-
-
-
-
-
-
- Page 10
-
-
-
-
-
- The octave range of notes is theoretically C 0 to B 9. If
- you try to enter extremely high notes, though, you will start
- getting inaccuracies because of loss of note resolution at
- the higher extremes. For instance, if you try to enter "B
- 8", "A 8" will appear on the screen instead. This is because
- the note period for B 8 is so small that the computer's
- limited resolution interprets it as A 8 instead. There's
- really no reason you should need to go THAT high with your
- notes anyway. The effective range is approximately C 0 to C
- 7.
-
- Initially the note field will be blank; therefore "..." will
- appear in the field. To enter a note in the note field,
- simply move the cursor to the note field in the desired
- track, and type in the note/octave from the keyboard. The
- note will replace whatever old note was there before.
-
- Entering notes of differing durations requires a "relative"
- view of note duration. All musical note durations are
- relative, in "real" musical notation. For instance, a half
- note is half the length of a whole note. A quarter note is
- half the length of a half note. An eighth note is half the
- length of a quarter note; a sixteenth note is half the
- length of an eighth note, etc. For instance, here's one way
- of conceptualizing different note durations:
-
- +---------------+
- |= = = = = = = =| One whole note: 8 atomic units
- +-------+-------+
- |= = = =|= = = =| Two half notes: each 4 atomic units
- +---+---+---+---+
- |= =|= =|= =|= =| Four quarter notes: each 2 atomic units
- +-+-+-+-+-+-+-+-+
- |=|=|=|=|=|=|=|=| Eight 8th notes: each 1 atomic unit
- +-+-+-+-+-+-+-+-+
-
- Note that, in this particular diagram, we cannot subdivide
- beyond 8th notes because at the 8th note level, we have
- reached the atomic notational unit "=", which in this case
- represents an eighth note.
-
- We could alternatively, though, choose the atomic unit "="
- to represent a SIXTEENTH note, in which case our relations
- would be as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 11
-
-
-
-
-
-
- +-------------------------------+
- |= = = = = = = = = = = = = = = =| 1 whole note :16 atomic units
- +---------------+---------------+
- |= = = = = = = =|= = = = = = = =| 2 half notes :each 8 atomic
- +-------+-------+-------+-------+ units
- |= = = =|= = = =|= = = =|= = = =| 4 quarter notes:each 4 atomic
- +---+---+---+---+---+---+---+---+ units
- |= =|= =|= =|= =|= =|= =|= =|= =| 8 8th notes :each 2 atomic
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ units
- |=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=| 16 16th notes :each 1 atomic
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ unit
-
- Important points to note about the above diagrams:
-
- (1) We are using a certain number of atomic units to
- represent each note duration.
-
- (2) The number of atomic units needed to represent a note of
- a certain duration is a function of the note duration
- that a SINGLE atomic unit represents.
-
- Thus, conceptually, here is how you enter notes of different
- durations:
-
- (1) Determine the SMALLEST or SHORTEST note duration you
- will need in the song. Say, you choose the 16th note.
-
- (2) Assume the atomic note unit represents the note duration
- chosen in (1).
-
- (3) The note duration that is twice as long as the note
- duration in (1) will be represented by twice as many
- atomic units. For instance, in this example, 8th notes
- would be represented by TWO atomic units, since 16th
- notes are represented by one. Correspondingly, quarter
- notes would be represented by FOUR atomic units, since
- 8th notes are represented by two... etc, etc.
-
- (4) Adjust the song speed (see "Effect field" below) so that
- the atomic note unit is of the right real-time, absolute
- length.
-
- As you have probably ascertained by now, the "atomic note
- units" above are almost exactly the "note units" that
- comprise a pattern. So, still using the above choice of
- atomic note unit as 16th note, here's how you'd enter the
- passage C2[4th] D2[8th] E2[8th] F2[16th] G2[16th] A2[16th]
- B2[16th] C3[4th]:
-
-
-
-
-
-
-
-
-
-
-
- Page 12
-
-
-
-
-
-
- Track 1 Track 2 Track 3 Track 4
- --!-----------!-----------!-----------!-----------+ Abbreviated Sample List
- 00!C 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00|
- 01!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 01 <<NONE>>|17 <<NONE>>
- 02!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 02 <<NONE>>|18 <<NONE>>
- 03!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 03 <<NONE>>|19 <<NONE>>
- 04!D 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 04 <<NONE>>|20 <<NONE>>
- 05!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 05 <<NONE>>|21 <<NONE>>
- 06!E 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 06 <<NONE>>|22 <<NONE>>
- 07!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 07 <<NONE>>|23 <<NONE>>
- 07!F 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 08 <<NONE>>|24 <<NONE>>
- 09!G 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 09 <<NONE>>|25 <<NONE>>
- 10!A 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 10 <<NONE>>|26 <<NONE>>
- 11!B 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 11 <<NONE>>|27 <<NONE>>
- 12!C 3|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 12 <<NONE>>|28 <<NONE>>
- 13!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 13 <<NONE>>|29 <<NONE>>
- 14!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 14 <<NONE>>|30 <<NONE>>
- 15!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 15 <<NONE>>|31 <<NONE>>
- --!-----------!-----------!-----------!-----------+ 16 <<NONE>>
-
- Editing pattern 0.
- Default sample: 01.
-
-
- The "..." in the note field indicates that particular note
- unit is "empty"; an "empty" note unit means to HOLD the most
- recent note in that track, whatever it was. (Remember to
- enter empty or null fields, press the SPACE bar when the
- cursor is on that field.) So, the C 2 is played for 4 note
- units (0 - 3); then the D 2 is played for 2 note units (4 -
- 5), etc. Thus, the C 2 is played twice as long as the D 2,
- which is exactly as intended (C 2 is a quarter note, which
- should be played twice as long as the D 2, which is an 8th
- note).
-
- Editing the sample number field
- -------------------------------
- You will notice that when you enter a note, not only does
- the note appear, but also a number in the sample field to
- the right appears. This number is the "default sample"
- number that was mentioned above.
-
- The concept of a "default sample" number is as follows.
- Each note in a pattern must be "played" with a particular
- "instrument." It is often (almost always) necessary to enter
- a long series of notes that is played with one instrument.
- Rather than entering the notes AND entering the same sample
- number over and over again, you simply enter the note, and
- ModEdit will automatically enter the default sample number
- in the sample field for you. If you change the default
-
-
-
-
-
-
-
-
-
- Page 13
-
-
-
-
-
- sample (with "S" and "s"; see below) to NONE, this automatic
- feature is turned off.
-
- By default, the default sample will NOT overwrite an
- existing (i.e. non-zero) sample number. For instance, say
- that the default sample is 3, and you enter a note "C 1" in
- an empty note unit; then the sample number of that note unit
- will become 3. Later, you change your default sample to 4,
- and change this "C 1" to a "D 1". The sample number will
- stay 3, since the default sample, by default, does not have
- "precedence" over an existing sample number. This is so that
- you may change existing melody lines without altering the
- sample number. You may change this precedence by going to
- the Configuration Menu (see "Configuration" below). If the
- default sample has "precedence," it will always overwrite an
- existing sample field. This is useful for entirely rewriting
- tracks, samples and all.
-
- To change the default sample, press "S" [uppercase] to
- increase, or "s" [lowercase] to decrease. You'll want to
- change the default sample number when your lead line changes
- instruments, when you switch from entering a lead track to a
- percussion track, etc. -- basically, whenever the music
- you're entering switches from predominantly one instrument
- to another.
-
- You may also edit the sample field manually by moving the
- cursor onto the sample field, and typing in the sample
- number that you want associated with the note in the
- adjoining note field. If you attempt to enter a sample
- number greater than 31, ModEdit will clip the value to 31.
- Just as with the note field, "+" and "-" increase and
- decrease the field value, respectively.
-
- Note that it is possible for a note unit to have a non-empty
- note field, but a null (zero) sample field. This can happen
- if you set the default sample to NONE and edit an empty note
- unit, or if you manually change the sample field to zero. The
- end result is a note with no associated sample. I call such
- notes "orphaned" notes. You generally should avoid orphaned
- notes. They may play correctly, since the sample number
- that will be used during playback will most likely default
- to the last sample number that was used in that track. It's
- best explicitly to associate a specific sample number with
- each non-empty note field.
-
- Additionally, you need to beware of using samples that you
- haven't loaded. ModEdit allows you, for instance, use "sample
- number 17" even if you have not yet loaded (see "Loading
- samples" under "Orchestration" below) a sample into position
- 17. If you forget eventually to load a sample into position
-
-
-
-
-
-
-
-
-
- Page 14
-
-
-
-
-
- 17, you may (probably will) get very strange results during
- playback which may crash your computer. So, always make
- sure that, when you're ready to play your music, you are only
- using samples you have loaded.
-
- Editing the effect field
- ------------------------
- The effect field consists of 2 parts: a command and an
- argument.
-
- The command can one of 16 values: 0 1 2 3 4 5 6 7 8 9 A B C
- D E F. These commands control various aspects of note and
- song playback. An effect command generally takes effect
- starting immediately with the note field associated with that
- effect.
-
- The argument is one byte long and is represented in
- hexadecimal. A hexadecimal byte, in case you don't know, is
- a base 16 representation of a number that consists of an
- "upper nybble" and a "lower nybble", each of which may take
- on a value of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
- or F. Values from A - F correspond to the decimal values 10
- - 15.
-
- Certain commands listed below use the 2 nybbles separately
- (e.g. arpeggiation). In this case, the 1st nybble is one
- argument, and the 2nd nybble is the 2nd argument. Other
- commands treat the 2 nybbles jointly as one byte (e.g.
- speed). In this case, the decimal equivalent of the
- hexidecimal number is calculated by: (upper nybble * 16) +
- lower nybble. So, for instance, an effect of "F 1D" would
- mean set the song speed ("F") to 29 (1*16 + D = 1*16 + 13 =
- 29).
-
- Here's a list of effects and their required argument byte.
- "xy" for the argument byte means each nybble is treated
- separately; "xx" means they are treated jointly as one byte.
-
- 0 -- AREPEGGIATION
- Format: 0 xy
-
- Plays its associated note in arpeggiated fashion; that is, it
- rapidly steps the note between 3 pitch values: the original
- pitch value, the original pitch value + "x" number of
- halfsteps, and the original pitch value + "y" number of
- halfsteps.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 15
-
-
-
-
-
-
- 1 -- SLIDE UP
- Format: 1 xx
-
- Slides pitch up; slide speed is determined by the xx argument
- (remember, it's in hexadecimal).
-
- 2 -- SLIDE DOWN
- Format: 2 xx
-
- Just like SLIDE UP except it slides the pitch down.
-
- 3 -- SLIDE TO NOTE
- Format: 3 xx
-
- Similar to slide except it slides the pitch TO the pitch of
- the associated note field (commands 1 and 2 only specify a
- speed, not a destination). xx is the speed to slide the
- pitch.
-
- 4 -- VIBRATO
- Format: 4 xy
-
- Performs "vibrato" on a note (wavering effect). x is the
- vibrato speed; y is the vibrato depth.
-
- A -- VOLUME SLIDE
- Format: A x0 or A 0y
-
- Slides the volume either up or down. If x is specified and y
- is 0, the volume is slid up at speed x. If y is specified
- and x is 0, the volume is slid down at speed y.
-
- B -- POSITION JUMP
- Format: B xx
-
- Breaks the pattern (i.e. stops playing it at its current
- position) and jumps to position xx (hexadecimal!) in the
- pattern sequence table.
-
- C -- SET VOLUME
- Format: C xx
-
- Sets the current volume to xx. Valid range is 00 - 40 (hex).
-
- D -- PATTERN BREAK
- Format: D 00
-
- Breaks the pattern (i.e. stops playing it at its current
- position) and goes on to the next one in the pattern sequence
- table. The argument is meaningless.
-
-
-
-
-
-
-
-
-
- Page 16
-
-
-
-
-
-
- F -- SET SPEED
- Format: F xx
-
- Sets the speed of the song; hex values 00 - 1F are valid.
-
-
- The best way to understand what exactly these effects do is
- just to experiment and listen.
-
- Playing music from within the editor
- ------------------------------------
- With ModRes installed, you may hear your music from within
- the pattern editor two ways.
-
- First, you may press the "N" key. This plays the note that
- the cursor is currently on.
-
- Second, you may press the "P" key, which plays the entire
- pattern.
-
- These functions are useful for immediately hearing what your
- music sounds like, allowing you to make changes and hear the
- results.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 17
-
-
-
-
-
- 4.1.2 Sequencing patterns
- --------------------------
-
- After you've entered your music into patterns, you then must
- sequence the individual patterns into a particular order that
- will define the song. To do this, choose the "Sequence
- Pattern" option of the Pattern Submenu. You will then be
- presented with a table full of zeros, with an index number
- going from 0 to 127 beside each zero. This is the pattern
- sequence table.
-
- Initially, no patterns will be in your song sequence. So,
- move the cursor to song position 0 and press INS, to insert a
- pattern into the sequence. A highlighted "00" will appear in
- position 0. If you press INS again, another highlighted "00"
- will appear. You may press INS as many times as needed (up
- to the maximum of 128) to insert patterns into the song
- sequence.
-
- Then you simply edit the highlighted list. The highlighted
- list is the sequence of patterns that will be played.
- Initially it will contain all zeros. So, let's say that
- patterns 0,1,2, and 3 contain the lead in to your song, then
- patterns 4, 5, and 6 contain a melody to be repeated twice,
- then patterns 7,8, and 9 form your coda. You would press
- INS 13 times, which would result in a highlighted blank list
- of 13 zeros. Then you edit these zeros to reflect your
- desired sequence:
-
- +----->Song position
- |
- | +-->Pattern to be played at that song
- | | position
- 00|00 00|00
- 01|00 01|01
- 02|00 02|02
- 03|00 03|03
- 04|00 04|04 ---> Notice that the "4 5 6"
- 05|00 05|05 progression occurs twice; this
- 06|00 06|06 is because, as mentioned
- 07|00 07|04 above, patterns 4, 5, and 6
- 08|00 08|05 contain a musical phrase
- 09|00 09|06 to be repeated twice.
- 10|00 10|07
- 11|00 11|08
- 12|00 12|09
-
- Unedited blank Final edited
- sequence sequence
-
-
-
-
-
-
-
-
-
-
-
- Page 18
-
-
-
-
-
- To delete a pattern from a sequence, simply move the cursor
- onto the pattern in the highlighted area and press DEL.
-
- You need to be aware that when you save a ModFile (see
- "Saving and loading ModFiles" below), the highest pattern
- number that will be saved is the highest pattern number that
- was USED in the pattern sequence. For instance, say you
- created 38 patterns (0 - 37), but in your sequence you only
- used patterns 0 through 20. If you attempted to save the
- song, patterns 21 through 37 would not be saved. This is a
- limitation imposed by the ModFile format. Be sure, therefore,
- that when you save a ModFile that the highest pattern number
- in the sequence table corresponds to the highest pattern in
- memory. If you try to save a ModFile and there is a danger of
- losing patterns, ModEdit will warn you of this before
- proceeding.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 19
-
-
-
-
-
- 4.1.3 Other pattern options
- ----------------------------
-
- The Pattern Submenu has a few other options for your
- convenience.
-
- "Duplicate pattern" will create an identical copy of a
- pattern. You supply it source and destination pattern
- numbers, and it will copy the source pattern into the
- destination pattern (leaving the source unchanged). You may
- choose to copy all tracks from the source to the
- destination, or only one track (in which case the other
- tracks in the destination are unchanged). This is useful for
- musical lines that are similar but not identical; you simply
- copy the needed tracks from an old pattern into a new one,
- then make the necessary minor changes to the new pattern.
-
- "Transpose pattern" allows you to increase or decrease the
- pitch of notes in a pattern by a certain number of
- half-steps. You may transpose all tracks or only one track.
-
- "Clear all patterns" does just what it says -- erases all
- patterns from memory. It asks for confirmation before it
- wipes the pattern memory. It's useful if you want to start
- over with a new song but keep the current samples in memory
- (see also "Clear all samples" under "Orchestration: using
- samples" and "Wipe all memory" under "Miscellaneous").
-
- "Play pattern" is used in conjunction with the resident
- module player ModRes You type in a pattern number (0-64) and
- it plays it to the current output device. For more
- information see "Hearing your music" below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 20
-
-
-
-
-
- 4.2 ORCHESTRATION: USING SAMPLES
- ----------------------------------
-
- To reiterate, samples are the "instruments" that make your
- music sound real. Up to 31 distinct samples may be present
- in a ModFile, and they are uniquely identified by their
- sample number 1 through 31. A sample defines the sound that
- a note makes when it is played.
-
- 4.2.1 The "sample directory"
- -----------------------------
-
- Samples are stored as digitized sound files on disk; each
- sample is stored in its own individual file. Since the
- possible number of samples is practically infinite, ModEdit
- allows you to specify a "sample directory" where your sample
- files are stored. For instance you could set the sample
- directory to A:\, which would make ModEdit look for sample
- files by default on A:\. This would allow you to store
- sample files on diskettes. Alternatively, you could make a
- subdirectory on your hard drive, and set the sample
- drive/directory there, so that your sample files would not
- clutter up other directories.
-
- If a sample directory is not specified (either by hand or
- through the configuration file) it defaults to the current
- working directory.
-
- 4.2.2 Loading sample files from disk
- -------------------------------------
-
- To use a sample in your song, you must load it from disk
- into memory. You can load it into any of 31 slots (since,
- again, 31 samples may be present in a ModFile).
-
- To load a sample from disk, choose the "Load sample" option
- of the Sample Submenu. You will then be presented with a
- list showing you what sample each of the 31 sample slots
- holds. Initially, all of the slots will be empty, so next to
- each sample number you will see "NOT ALLOCATED."
-
- Pick a sample number that you wish to load. Say, you choose
- 1. Type "1" and press enter. ModEdit will then ask you for
- the sample filename. Say you want to load in a bass drum
- sample into sample 1, which is stored on disk as the file
- "bassdrum.sam." Type in "bassdrum.sam" and press return.
- Remember, ModEdit will look in the "sample directory" on the
- "sample drive" to try to locate the sample file. If it
- cannot find your sample file, you'll get an error message and
- be prompted to try again.
-
-
-
-
-
-
-
-
-
-
- Page 21
-
-
-
-
-
- If the load is successful, then next to sample number 1 in
- the list will appear "bassdrum.sam," which tells you that now
- sample 1 is associated with the bassdrum.sam file, which is
- your bass drum. So, whenever you use "1" in the sample field
- for a particular note (see "Note field" and "Sample field"
- under "Creating/editing patterns" above), that particular
- note will be played with a bass drum sound.
-
- You may continue to load sample files until (1) you have
- loaded all the samples you need; (2) you have loaded samples
- into all 31 slots; or (3) you have no more memory to load any
- more samples.
-
- Note that ModEdit currently cannot load sample files greater
- than 64K.
-
- 4.2.3 Playing samples
- ----------------------
-
- The "Play sample" option plays a sample to the "current
- output device" (see "Configuration" below). This is useful
- for determining exactly what a sample sounds like, and how it
- will sound when played in your song.
-
- 4.2.4 Saving sample files to disk
- ----------------------------------
-
- You may be wondering, "but where can I get digitized sample
- files?" You will find in the ModEdit archive file a few
- example sample files to play with; they are all "*.sam" files
- which can be loaded with the "Load sample" option above.
-
- The "Save sample" option of the Sample Submenu allows you to
- save samples in memory to individual sample files on disk.
- This is useful for extracting the digitized samples from
- existing ModFiles. When you choose the "Save sample" option,
- you will be presented with a list of samples and their
- allocations. You simply enter the sample number you wish to
- save, then the filename to save it to, and ModEdit writes the
- sample data from memory to a file.
-
- Note that the "sample name field" (i.e. the name that is
- printed beside the sample slot number) is actually
- INDEPENDENT of the sample filename on disk. (See "Attributes
- of samples" below.) For clarity, ModEdit always by default
- assigns the sample filename to the sample name field, but
- the name is just there for your convenience. All the
- computer knows about is the sample number.
-
- This can cause problems when trying to save samples from
- existing ModFiles to disk. Since, again, there is nothing
-
-
-
-
-
-
-
-
-
- Page 22
-
-
-
-
-
- that requires the sample name field to be meaningful, ModFile
- composers often blank out the sample name fields entirely or
- replace the name fields with a message about themselves.
- (ModEdit allows you to do this also; see "Attributes of
- samples" below.) Such alteration of the sample name field
- does not affect the playing of the ModFile, but it makes
- difficult the logical interpretation of samples.
-
- So, say that you just found this ModFile with interesting
- sample sounds, and you want to use those in your ModFiles.
- You load the ModFile into ModEdit, go into the save sample
- screen, and you see a list of 1 - 31 with blanks by each
- sample slot. You can still save the samples with absolutely
- no problem; just type in the sample number you wish to save.
- But what about the filename? You don't "know" which sample
- number is associated with what actual sound. This is the
- purpose of the sample name field, but since it's been wiped,
- you have no information.
-
- An analogy that may be useful is this: say you decide to
- order 31 musical instruments in the mail. They arrive in 31
- separate, identical, sealed boxes. There are no labels on
- any of the boxes, just a number from 1 - 31. How can you tell
- just by looking what instrument is in which box? You can't.
-
- The "Play Sample" option mentioned above can be useful here.
- By playing the sample and listening to it, you can fill in
- the name field yourself, for your own reference. For
- instance, say that sample number 1 has a blanked-out name
- field. You choose the "Play Sample" option to play sample
- 1, and it sounds like an electric guitar. Then you could
- change the sample name field to "Electric Guitar" or
- something similar (see "Attributes of samples" below). The
- whole idea is just that if the sample name field is blank,
- you have to figure out for yourself what the sample actually
- sounds like. The sample name field is a label, nothing more.
-
- 4.2.5 Releasing samples
- ------------------------
-
- Sometimes you may load a sample that you later decide you
- don't need/want in your ModFile anymore. You could just
- leave it in there, but it would be taking up disk and memory
- space. Also, there are only 31 samples, so it's possible
- that you could run out of sample slots.
-
- For situations such as these you need to "release" or
- "deallocate" a sample slot. Choose the "Release (deallocate)
- sample" option of the Sample Submenu. You will be presented
- with a list of the 31 sample slots and any samples that have
- been loaded into those slots. To free a sample slot so that
-
-
-
-
-
-
-
-
-
- Page 23
-
-
-
-
-
- you may load another sample into it, type its number and
- press return. That sample slot will then say "NOT
- ALLOCATED" on the list.
-
- For instance, say that sample slot 7 has been loaded with
- the sample file "badsnd.sam" which you decide is no longer
- appropriate in your song. You'd just choose "Release
- (deallocate sample)" then type "7." Next to slot 7 in the
- list, "badsnd.sam" would be replaced by "NOT ALLOCATED." You
- are now free to load in another sample file, say
- "goodsnd.sam," into slot 7 via the "Load sample" option.
-
- If you attempt to load a sample into an already allocated
- slot, you will be given the option of deallocating it.
-
- 4.2.6 Attributes of samples
- ----------------------------
-
- Sample attributes define certain characteristics of the
- sample. You may edit any of these attributes from the
- "Attribute view/edit" option of the Sample Submenu.
-
- The first attribute of a sample is the name. As mentioned
- above, ModEdit by default sets the sample name attribute to
- the sample filename on disk. This is for clarity and it is
- recommended that you have meaningful sample names. You are,
- however, free to edit the name attribute to anything you
- want, up to 22 characters long. Some composers edit all the
- sample name attributes to form a message containing composer
- information or the like.
-
- The second attribute is the volume. Whenever a note unit is
- played, the sample that is used to play that note can have a
- volume from 0 through 64 (64 being loudest). You may specify
- the volume for this note unit explicitly through the effect
- field with command "C" (see "Effects" above). If you do not
- specify a volume, the sample is played back with its
- "default" volume, i.e., the volume attribute.
-
- The third and fourth attributes jointly determine "looping"
- of the sample. Some sounds, such as a piano or a snare drum,
- have a definite start and end point. Such samples are
- generally not looped (though they could be for special
- effects or something similar). On the other hand some
- sounds, such as a flute or a sine wave, do not have a
- definite "ending" point; the sound is a constant waveform
- that only changes in frequency. Such sounds are often
- looped.
-
- A "looped" sample is one that will continuously be played
- without stop. Sample looping is defined by a "loop start"
-
-
-
-
-
-
-
-
-
- Page 24
-
-
-
-
-
- attribute and a "loop length" attribute. The "loop start"
- attribute is a number that represents an offset from the
- beginning of the sample; it is from this point that sample
- looping begins. The "loop length" attribute is a number that
- represents the length of the section to loop. A diagram
- will make this clearer:
-
- +---Loop Length----------+
- | |
- | This section is played |
- v continuously v
- -Sample data stream--------==========================
- ^ ^ ^
- | | |
- | Loop Start |
- | |
- +--------------Sample Length------------------------+
-
- The portion of the sample data stream beginning at the loop
- start and ending at loopstart + looplength is played
- continuously, allowing "ringing" or continuously sounding
- notes. This looped portion of the data stream is represented
- above by the "=" symbol.
-
- The best way to get a feel for sample looping is to
- experiment with the loop bytes and listen to the results
- (e.g. with the "Play sample" option of ModEdit or with the
- various "Play pattern" options).
-
-
- 4.2.7 Default sample settings
- ------------------------------
-
- Although all information is saved when you save a ModFile,
- not all information is saved when you save a sample file.
- Specifically, sample attributes are NOT saved when you save a
- sample file; only the sample data (i.e. the sound) itself is
- saved. Therefore, when you load a sample file, no attribute
- information is known. So, ModEdit sets the sample attributes
- for newly-loaded samples to "default" values.
-
- The "Default sample settings" option of the Sample Submenu
- allows you to change these defaults. You may set the default
- volume, default loop start, and default loop length. The
- default volume is 64 (hex 40), which is the maximum volume;
- the default loop start and loop length are both 0 (no
- looping). If you change these values, then the new values
- will be applied to every sample as soon as it is loaded.
-
- Of course the "Edit sample attributes" option allows you to
- change the attributes for a particular sample once it's
- loaded into memory.
-
-
-
-
-
-
-
-
- Page 25
-
-
-
-
-
- 4.3 HEARING YOUR MUSIC
- ----------------------
-
- 4.3.1 ModRes: Inline playing
- ------------------------------
-
- If you've loaded ModRes into memory (see "Setup" above), you
- may hear your music directly from within ModEdit.
-
- First, you may choose the "Play Pattern" option. You will
- be asked to supply a pattern number (0-63), and ModRes will
- play this pattern to the current output device (see
- "Configuration" below for a description of the current output
- device).
-
- Secondly, you may go into the pattern sequence screen, move
- the cursor to a pattern you wish to hear, and press "P."
- This will play the pattern that the cursor is currently on.
- Alternatively, you could press "S," which would play the
- entire song, starting from the pattern the cursor was on.
-
- Consult "MODRES.DOC" for more information on ModRes.
-
- 4.3.2 ModPlay: External playing
- ---------------------------------
-
- To play modules outside the ModEdit environment, simply
- choose the "Save ModFile" option of the File Submenu to save
- your song to a ModFile. It's best to save it with an
- extension of ".MOD," so that ModPlay and ModEdit can
- automatically locate it.
-
- The resulting ModFile on disk can be played via the external
- ModPlay Module Player, by Mark J. Cox. Consult the ModPlay
- documentation for specific instructions on using ModPlay.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 26
-
-
-
-
-
- 4.4 SAVING AND LOADING MODFILES
- --------------------------------
-
- ModEdit can load in standard 15 or 31 instrument ModFiles.
- This means you can edit a vary large portion of existing
- Amiga ModFiles (since the ModFile format comes from the
- Amiga). ModEdit looks for ModFiles in the "ModFile
- directory," which you may set/change via the Configuration
- Submenu. Loading a ModFile is straightforward; choose the
- "Load ModFile" option of the File Submenu, specify the
- path/filename, and the ModFile will be loaded into memory.
- Any errors during loading will be printed to the screen.
-
- Saving a ModFile is equally simple; simply choose the "Save
- ModFile" option of the File Submenu. Technical note:
- ModEdit only saves 31 instrument ModFiles, even ModFiles that
- were originally loaded as 15 instrument modules. Since the 15
- instrument format is supported for loading, compabitility is
- maintained.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 27
-
-
-
-
-
- =============
- 5. REFERENCE
- =============
-
- 5.1 Exhaustive menu options
- ----------------------------
-
- Following are all the available options in ModEdit. Most are
- self-explanatory; where needed, a brief explanation is
- included.
-
- FILE SUBMENU
- - Directory listing
- - Save ModFile
- - Load ModFile
- - Jump to DOS shell
-
- PATTERN SUBMENU
- - Old pattern edit (edits an existing pattern)
- - New pattern edit (creates new pattern in memory)
- - Sequence patterns (into a song)
- - Duplicate pattern
- - Transpose pattern (up or down a certain # of halfsteps)
- - Play pattern (must have MODRES loaded)
- - Clear all patterns
-
- SAMPLE SUBMENU
- - View current samples
- - Attribute view/edit (name, volume, looping)
- - Load sample
- - Save sample
- - Play sample (must have MODRES loaded)
- - Default sample settings (for newly-loaded samples)
- - Release (deallocate) sample
- - Clear all samples
-
- CONFIGURATION SUBMENU
- - Directories (current, ModFile, Sample)
- - Masks for filenames (sample/ModFile filename masks)
- - Toggle error beep
- - Colors
- - Output device for playback (with MODRES)
- - Precedence of default sample (see section 4.1.1,
- subheading "Editing the sample number field")
- - Save configuration
-
- MISCELLANEOUS SUBMENU
- - Title of song
- - Wipe all memory
-
-
-
-
-
-
-
-
-
-
-
- Page 28
-
-
-
-
-
-
- EXIT SUBMENU
- - Return to main menu
- - Exit
-
-
- 5.2 Pattern editor quick reference key summary
- -----------------------------------------------
-
- Key(s) Function
- ------ --------
- Cursor movement keys Standard functions
- A-G, 0-9, # Note entry
- N Play note cursor is on
- O (uppercase) Increase note by one octave
- o (lowercase) Decrease note by one octave
- P Play entire pattern
- S (uppercase) Increase default sample
- s (lowercase) Decrease default sample
- + Increase note or sample field
- - Decrease note or sample field
-
- 5.3 Effect list -- quick reference
- -----------------------------------
-
- Effect #/Description Format/Argument
- -------------------- ---------------
- 1: Slide Up 1 xx xx=speed
- 2: Slide Down 2 xx xx=speed
- 3: Slide To Note 3 xx xx=speed
- 4: Vibrato 4 xy x=speed y=depth
- 5: <<no effect>>
- 6: <<no effect>>
- 7: <<no effect>>
- 8: <<no effect>>
- 9: <<no effect>>
- A: Volume Slide A x0/A 0y x=upspeed OR y=downspeed
- B: Position Jump B xx xx=pattern position
- C: Set Volume C xx xx=volume(00-40 hex)
- D: Pattern Break D -- skip to next patt.
- E: NOT USED
- F: Set Speed F xx xx=speed(00-1F)
-
-
- 5.4 ModPlay
- ------------
-
- ModPlay is an external Module (ModFile) playing program by
- Mark J. Cox. ModPlay can play ModFiles created with ModEdit,
- outside the ModEdit environment. It is available at many
- ftp sites, one of which is wuarchive.wustl.edu (in
-
-
-
-
-
-
-
-
-
- Page 29
-
-
-
-
-
- mirrors/msdos/sound, program modpy112.zip).
-
- Here is an excerpt from the ModPlay documentation:
-
- Modplay allows you to play (most) Amiga
- soundtracker/noisetracker files on a PC (10Mhz or
- faster clock speed). CGA minimum is required for the
- graphical display whilst playing, but no display at
- all is required just to play modules. MODPLAY detects
- automatically if a module is corrupt, and detects if it
- is a 15 or 31 instrument module.
-
-
- 5.5 Coming attractions
- -----------------------
-
- New version of ModRes, which will:
- - Work with 10 MHz machines
- - Add SoundBlaster support
- - Allow more flexible sample playing options
- - Allow greater than 64K samples
-
- See the file "MODRES.DOC" for more information. Be on the
- lookout for these and other improvements in later versions.
-
-
- 5.6 License/Warranty/Disclaimer
- --------------------------------
-
- The below information applies only to ModEdit and related
- documentation files. Specifically, the below terms do not
- apply to the "MODRES.COM" program file. For license
- information concerning MODRES, consult MODRES.DOC.
-
- This program and accompanying documentation are Copyright
- 1991 by the author (Norman Lin). You are hereby granted
- permission to freely distribute and use this program for
- personal use. You may upload this program to electronic
- bulletin boards or Internet FTP sites. This documentation
- file must always be included with the program.
-
- You are specifically prohibited from selling or charging or
- requesting any monetary amount for the distribution or use of
- ModEdit or accompanying documentation. ModEdit may not be
- used for any commercial purposes without my prior express
- written permission. ModEdit may not be distributed for use
- with any for-profit software (including but not limited to
- commercial software and shareware) without my prior express
- written permission.
-
- There is no warranty of any kind; this software is provided
- on an "AS-IS" basis. The author of this software (Norman
-
-
-
-
-
-
-
-
-
- Page 30
-
-
-
-
-
- Lin) shall not be liable for any damages whatsoever that may
- result, directly or indirectly, from the use of this software
- or documentation. By using ModEdit, you agree to all the
- above terms.
-
- If you find ModEdit useful, entertaining, or interesting --
- or if you just feel kind-hearted -- a voluntary donation in
- any amount ($5 U.S. suggested) would be greatly appreciated.
- With your support, future, better versions of this and other
- software can be made available.
-
- Send all contributions, comments, or queries about ModEdit
- to:
-
- Norman Lin | Norman Lin
- 1109 West 94th Street | 1400 Asp Avenue
- Jenks, OK 74037 | Walker Tower Box 1214E
- | Norman, OK 73026
- ==========================|================================
- Permanent address | Current address --
- | valid through August, 1991
-
- Before August 1991, the address on the right will reach me
- more quickly. After August 1991, either email me to get my
- new current address (preferable), or use the permanent
- address.
-
- Internet email address:
-
- norlin@uokmax.ecn.uoknor.edu
- norlin@129.15.22.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 31
-
-
-
-
-
-
-