How much can you change a program before it becomes a different program? I believe I have reached that point with Computer Blues. Version 4 got rid of the base repeats and Version 5 gave each voice its own channel and different patches for the JAM() and base notes. Fixing the timing can be done but would require a major rewrite.
Here are the resulting sound and program files for Version 5.
These are the changes made to version 4 to produce Version 5.
Added "16 POKE 559,0" - turned off display to speed up processing. May have improved timing.
The port setup routine was modified to include sending out program changes for each channel.
JAM() was assigned to channel 1 and uses patch 97 - Vibes
LOW() was assigned to channel 2 and uses patch 27 - ElecBass
BASE() was assigned to channel 3 and uses patch 27.
3000 CLOSE #1:OPEN #1,9,0,"R2:":XIO 36,#1,14,0,"R2:":XIO 38,#1,32,0,"R2:":XIO 40,#1,0,0,"R2:"
3100 PUT #1,192:PUT #1,97:REM C1-I97
3110 PUT #1,193:PUT #1,27:REM C2-I27
3120 PUT #1,194:PUT #1,27:REM C3-I27
The (channel# - 1) was added to CMD for note on and note off to direct the note information to the correct channel. The JAM() did not require changing, going to channel #1.
535 CMD=145:MIDINOTE=LOW(CHORD):VELOCITY=90:GOSUB 3
540 CMD=146:MIDINOTE=BASE(CHORD,THNOT):VELOCITY=90:GOSUB 3
700 CMD=129:MIDINOTE=LOW(CHORD):VELOCITY=0:GOSUB 3
710 CMD=130:MIDINOTE=BASE(CHORD,THNOT):VELOCITY=0:GOSUB 3
That's it for me and the Blues. I had thought about setting up the ST and record the MIDI data using Tiger Cub and then quantize the music, add tracks, and ……; or feed it into the MIDIMAX on another A8 computer.
Brain Fart: What if I had a MIDIJOY setup. Then I could output the RAMO equipped A8 MIDI data to the MIDIJOY equipped A8. It would sound just like playing it on an A8 machine.
Although I may not be playing Computer Blues, I'm sure I will be using the hardware for other music programs. The hardware was rebuilt to free up the shields for future projects and have a permanent setup for the A8 (or any other RS232 equipped computer).
Remember at the end of the first blog on this subject there was a photo of the parts for an optional setup. Those parts were mounted on a wood plaque and wired. Slightly more permanent.
I looked up some prices and found the major parts would cost about $16.
Arduino UNO compatible = $5.00
RS232 to TTL converter = $7.00
MIDI Socket - Panel mount = $2.77
220 ohm - $.90/100
I had a lot of incidentals laying around and was able to use them at no additional cost.
There is a MIDI switch box connected to the R2: port of the 850 on my system. The cable between them is wired so that the pin outs of the box outputs follow the standard(?) for an IBM RS232 port or USB-to-RS232 converter with DB9 male connector(Data Terminal). The Shield had a DB9 Female connector wired to be a Data Set, thus allowing the use of a standard cable (db9-female to db9-male). The RS-232 to TTL converter I purchased has a DB9 male and was wired as a Data Terminal. A null-modem cable is needed to connect the two Data Terminals. How you solve your cable problems is up to you.