When I started the Computer Blues Project I really thought there was no way to program the MIDI MATE from BASIC and that using the RS232 port was an option. If you don't have a MIDI Mate or MIDI Max, it is an option. If you do, there are ways of programing BASIC MIDI applications for them. I am just now starting to discover those methods.
That’s at the end of this blog story. Where to start? Once upon a time…..
I wasn't going to replace the MIDI Mate I sold after getting the ST but when the opportunity arose, I could only resist for about 3 months. The Wizztronics MIDI Max arrived and I was soon looking for my old MIDI Music System(MMS) song files. I unarced the song files and played some. It was like hitting the 25 year rewind. There was also a file named PD.ARC.
I read over the MMS documentation again but this time the Command Summary seemed to be a little hard to read. Lots of commands on a 4.25X5.5 inch page. Retyping the chart helped me reconnect to the long term memory paths and the larger format makes for a little less eye strain.
MIDI MUSIC SYSTEM comand summary.pdf
I started entering some drum patterns from the book 200 Drum Machine Patterns by Rene-Pierre Bardet. That was fun but it made me realize how much effort it would take to make me an adequate drum programmer. It ain't going to happen. I'm playing with the drum kit on the Casio CTK-481. Not sure if anyone can use them. I will post the MMS files at a later date.
Curiosity got the better of me and the PD.ARC file was unarched. The XMO file extensions makes me think that these are Public Domain files downloaded from Compuserve just before putting away the A8. I don't even remember reading/running them. The original XMO extensions have been changed to reflect the content of the files.
PD PROGAMS atr.zip
MIDIMate Software Interface Documentation 5/21/1985
By Hybrid Arts, Inc.
This file contains technical information on the MIDIMate hardware and a listing of the fig-FOURTH source code for the driver software. (also compatible with the MIDIMax).
(There are hardware schematics of midi interfaces that use the cassette motor control line to turn on and off the midi circuits. It would seem reasonable that these home brewed interfaces could be compatible with the Hybrid Arts MIDI software. (One more thing to find out.)
MIDITRACK III simulated DEMO
By Charles Faris
This is a tutorial program for the MIDITRACK III software. It explains the screen data and most of the commands of the MIDITRACK software.
HANDLR.ARC (contains HANDMIDI.DOC and HANDLER.MID)
The M: device. Documentation
By James Dillow 1987
Released through Bitwise Computer Services
This (kind of) explains the MIDI driver software that can send/receive MIDI data using standard
I/O commands. It creates a M: device. It can be programed using BASIC command OPEN, CLOSE, PRINT, INPUT, etc. Or any language. (There are problems in the listed BASIC example that will make the information useless. More information and better example below).
Compiled driver software.
This is the binary load file that creates a M: device. Load from DOS or Rename to AUTORUN.SYS to auto boot.
CZ-101 Voice Patcher by Greg Kopchak
Load and Save voice patch data to the CZ-101 MIDI keyboard.
Numeric data file - may be patch data for CZ-101 from PATCHER program?????
Dr. T Patch Format To Patcher by Greg Kopchak
Converts Dr. T tone data file to 16 PATCHER data files and a text file of patch names.
CZ-Patch Format to Patcher by Greg Kopchak
Converts Hybrid Arts CZ-PATCH tone data to 16 Patcher data files and a text file of patch names.
By Greg Kopchak
I think this is a voice mixer? for the CZ-101. I had a CZ-101s but never used this program to edit voices.
Star Spangled Banner by Francis Scott Key
Program by Greg Kopchak 11/86
BASIC program to play Star Spangle Banner. Says "Requires Midimate and CZ-101". There are Program Change messages that call specific voice patches on the CZ-101 which may or may not sound good on your synth.
There is a 270 byte machine language routine and a lot of poking into the IO routines. Have yet to figure out how the program works. Disk IO did not work after program is stopped using the break key.
The M: device - HANDLR.ARC
This file called to me and I had to give it a try. The resulting program is in an zipped .ATR image. MTEST.BAS will play middle C three times, if the driver is loaded and your MIDI system is attached.
midi device test atr.zip
The MIDI Device Test.ATR is in 720 sector format with DOS 2.0s and MEM.SAV.
The HANDLER.MID is the binary load file that installs the M: device onto the computer. The M: device can then be accessed like other devices within a given language.
The HANDMIDI.DOC is the documentation on the M: device and example program. The BASIC example program has several errors and will not be of much help.
AUTORUN.SYS is a copy of the HANDLER.MID file and sets up the M: device driver at boot up.
MTEST.BAS/.BTX is the Atari BASIC test program.
10 REM OPEN CHANNEL-START CONCURENT
20 OPEN #1,13,0,"M:"
30 XIO 40,#1,0,0,"M:"
40 REM PLAY NOTES - NOTE ON
45 FOR Y=1 TO 3:REM PLAY NOTE 3X
50 REM NOTE ON:MIDDLE C:VEL=100
60 PUT #1,144:PUT #1,60:PUT #1,100
70 FOR X=1 TO 50:NEXT X:REM DELAY
80 REM NOTE OFF:MIDDLE C:VEL=0
90 PUT #1,128:PUT #1,60:PUT #1,0
100 FOR X=1 TO 50:NEXT X:REM DELAY
110 NEXT Y
120 CLOSE #1
There are three problems with the example given in the .DOC file that needed to be addressed to get middle C to play.
a. The AUX1 in the OPEN Command should be 13. "13" is the same number used to set up concurrent in and out mode on the 850 interface.
b. The AUX2 is missing from the XIO command. AUX2 = 0. This is a syntax error if you enter this line in Atari BASIC.
c. The Note on and Note off MIDI commands require 3 bytes. The command number+channel, note number, and velocity. The example only shows 2 bytes being sent.
Once these changes were made, the note came on and turned off 3 times. The CLOSE #channel and END commands are to made sure the program ended properly.
Try it on your MIDI setup. Or better yet, write the nxt-gen MIDI game.