Jump to content

A8- MMSDRUM.BAS-creating drum patterns for MMS



The program I am about to describe should be considered a beta version - of a beta version.  I was using it to test out some Ideas for inputting drum patterns so they could be saved as VOICE data files to load into MIDI MUSIC SYSTEM(MMS) projects. 


It has the capabilities of setting up a 4/4 pattern and then outputting to a MMS voice file.  What it doesn't do is play the pattern or check for any kind of error. Most of the patterns are from books, I haven't experimented with rhythms.  But I have found many errors in the program that need to be avoided.


These two links are the foundation for this program.


A8 MMS programing drum tracks - Out of the Pack - AtariAge Forums

A8 MMS Voice File Data Explanation - Out of the Pack - AtariAge Forums




Underneath the hood of this program may be one of the ugliest programs I have ever written and allowed to see the light of day.  The idea of using the joystick input is from Your Atari Computer (YAC).  Joystick input Page177 and subroutine 4-33 on page 165 (included on disk). YAC was the only resource needed.  Pages on string manipulating have become a little more frayed.




If you use the program, try to limit the number of instruments played on the 1/16 notes to 4.  You may start to hear a delay when more are played.  There is nothing to prevent you from trying to play them all.


When naming files, the device "Dn:" is required.  Standard Atari DOS filenames are used.  The extension must be ".Vnn.  Where nn is a number from 01 to 99.  MMS automatically saves voice files with the V and then the voice number being saved. 


When importing the data to MMS the filename requires entry of the file extension but then asks which voice it should be loaded into. Also remember MMS will append the file at the end of anything already in the tracks.


The program has zero error protection.  There shouldn't be any errors entering the pattern.  Make sure a formatted disk is in the drive and file naming rules are followed. If there is an error use "? FNAME$" to see if that is the problem.  Sorry but the easiest way to recover from an error is to just type RUN and start over.


I think I have found an error in timing caused when the program creates an incomplete Triplet. You can be off by one ^Z and not have it show up in the beats/measure (it gets lost in the round up). It has only happened once, but I was so busy editing the pattern in MMS I forgot to write down what I did. 


The last thing (that I know of) to considered is that all MIDI drums may not be play back the same.  I didn't program in the use of the sustain controller but some synths may need it.  It did seem to change up when I switched from the MIDIPlus-miniEngine USB to the Proteus 2000.


After the file has been written, the program ends.  "RUN" the program to reset the variables and display for the next measure.  It's still easier than doing the work by hand.


Program: -MMSDRUM.atr



  1. Design or find a Drum pattern.
  3. Use a joystick to move the cursor within the grid.
  4. Press trigger to toggle on or off instrument hit.
  5. When done press START and then input file name as "Dn.filename.Vnn". "nn" must be a number between 1 and 99.
  6. After the program has saved the pattern, it will end.  Re-"RUN" the program to reset the variables for the next 4/4 pattern.


To Play:

  1. Load MIDI MUSIC SYSTEM software.
  2. Press "A" and assign the midi channel for the track you will be programing the drums on(1-20).
  3. Press "L" to load voice.  Input Filename.
  4. If load successful it will ask which Voice to put it in.  Voice 21 to 99.
  5. Load all your patterns into different Voices.
  6. Choose your drum voice track and enter a series of Jumps (Jn) to the voices in the order you wish them to play.
  7.  Return to menu and press "P". You should hear the Drums if all went well.


DRUM200.ATR holds some examples from the book.  The .V31, .V32, and .V33 is the voice data created with MMSDRUM.  The .MUS, MMS Files, can be loaded and played (be sure to set the midi channel for your setup).




The following is a simple pattern that was used to photograph the screen.  I never saved it but if you try it out, you will agree……….




it needs "MORE COW BELL."


Modifying the program:

 If you are going to change an instrument in the drum set, the grid can be changed in Lines 2000 to 20090.  Change the name but make the grid line up with the rest of it.  The MIDI note to play can be changed in line 2103 to 21140.


If you want to change the Velocity setting, they are in line 21010.  No accent VELLO = Low velocity.  Accent VELHI = High velocity.



MMSDRUM program was used to create the drum track for "You Can Take It Back"  



Recommended Comments

There are no comments to display.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...