[Coco] My MIDI history [and other things] (Re: OS9 Unmodified MIDI file player)

Paul Seniura pdseniura at techie.com
Thu Feb 23 11:50:58 EST 2012

Hi again,

I thought I'd quickly type this up,
then send it to the list,
to head-off any inbox-stuffing.  ;)

My personal history on MIDI [all this is "AFAICR"]:

I was a bit involved with MIDI as a developing standard.
I had joined the organization in order to get their publications
and perhaps affect future specs (at the time).

After acquiring (relatively cheaply) one of Casio's keyboards
that supported MIDI,
the early problems came to light.
The main issue was how to specify Instruments
that can be agreed-upon by the various manufacturers
to mean the same thing (e.g. Patch #001 is Acoustic Piano, etc.).
Yeah I was in the early stages of MIDI that far back.  ;)

But the three formats for Standard MIDI Files (SMFs) were pretty-much set.

Already we all had access to tons of SMFs at various (dial-up) BBS sites.

Somehow I had saved around $800 cash to buy a Roland MT-32
available at a local university music shop.
(I remember a coworker/friend and I raced down there during a lunch-hour
 to pick it up before someone else grabbed it.)

After that, the "General MIDI Spec" soon came,
and we knew why Drums were usually assigned to Channel-10
(that's what the MT-32 did,
 but it was always changable with SysEx
 or thru its panel buttons etc.).

The CoCo3, with its smarter electronics, and even with OS-9 Level II,
still had issues with the time-slicing / multitasking code.
(I remember a secondary project I'd always wanted to attempt:
 use the CoCo3's hardware timer 'chip' to facilitate the
 task-swapping and other timing done in software, simply put,
 to help alleviate "system overhead" and such.)

I initially wrote the Type-0 MIDI player
because this was the simplest format to play --
all the 'timing' was already 'resolved',
sort-of a 'pre-muxing' of the various tracks etc.

But Type-1 files were the most popular,
for obvious reasons (today as well as back then) --
it was the easiest way to 'save' a composition
and 'load' it back in
to your 'music editor'.
I believe I had tried a 'filter' program to translate Type-1 to Type-0,
to be used in a 'pipe' CLI to drive the Type-0 player,
but again the limitations of the CoCo3/OS-9LII system became too much,
which showed as timing problems in the played music
(but nary a crash, fortunately <g>).
However, since the T1-to-T0 converter was written as a filter/pipe,
it could save the output into a T0.mid file with simple shell functions,
and then use the T0 player to play it, usually fine & dandy.

Also, around that time,
somehow I was led to one of the authors of a [famous] game outfit
(I forget his name & company, I think it's "Sierra Games").
Long story short here:
Games usually use an internal MIDI player,
whether the game is written for PCs
or for 'standalone' (plug-in) consoles.
Eventually, that person decided to publish this code (since he owned it)
and the rest is history.  ;)
My brain is fuzzy here, but I must've been the one who ported his code
such that you wouldn't need the T1-to-T0 converter any more.
I was rather adamant about Proper Attribution,
(after writing Mike K about using my "V" theme,
 I _knew_ the Global Copyright Issues were already coming, see),
so maybe that's why my name wasn't mentioned as much
for the new(er) MIDI player.
But still we all do need to find the actual original author of that code
and give him tribute for his contribution.

Later on, I designed and built a couple prototype boards:
a Centronics (IEEE-1284) Parallel Printer Port and OS-9 Driver,
and a MIDI I/O Pak (IIRC using a clone of the existing OS-9 Serial Driver;
yes it did Input as well as Output, and used the 'opto-isolators' as
required by the MIDI hardware spec).
These were designed for the CoCo Multipak
which assumed you had the Multipak's Interrupt Pins tied together
for those "sure-fire" signals.
(I remember the crystals were very costly for our MIDI Pak prototype,
 we were using a local company to make different frequencies.
 Also a fellow electronics friend brought his oscilloscope over
 so we could debug & tweak the simple oscillator used to
 drive the crystal; I remember his congratulating me for
 my "two gate" design which always started-up [I was told,
 by many sources, that it was widely known for mis-starts
 and no-starts, see].
 Of course this board never gelled into an official product, however.)

I thought I'd finish my computer history here,
even if a bit O.T.:

Still later, the infamous 2-meg RAM kit came out,
then the 32K-Cache floppy and hard drive kits, etc.
I had also stayed current with dial-up modem speeds,
getting a 9600-baud, then 14.4K, then 28.8K,
then finally 56K when our phone lines were 'upgraded' as required.
I overhauled the power in the CoCo3 itself,
adding a huge outboard transformer, and even bigger filter caps,
acting as an UPS (I didn't know anyone making cheaper versions).
I'd then ran RiBBS for a short while.

Sometime more later,
I had acquired an Atari ST, 512K model,
from another coworker (he needed funds for a house; ended up as manager).
I had vastly increased the ST's hardware --
doubling the CPU speed and capability (adding cache and FP chip),
lots more RAM (but IIRC it was still a 24-bit bus{!}),
a SCSI hard drive kit,
and finally I seeked-out OS-9/68K (OSK) directly from Cumana Ltd.
Suddenly our MIDI opened-up here, too;
but still the ST's internal sound and graphics were still not enough
for what was coming (Usenet, Internet, HTTP, 'videos', etc.).

But I left most things there
when Apple finally succumbed
to go with PCI and other industry standards
and dropped prices for their 7600 model.
Then their PowerPC towers looked real good
(the PPC is a "68K on steroids", see).
The OSX project was started,
we "talked" Apple into using FreeBSD as a base,
especially since I had experience with it at my day job,
and again the rest is history.  ;)

(Exactly why Apple dropped PPC
 is publicly blamed on IBM
 but I for one am not sure at all,
 in fact I am still extremely miffed about this.
 I'm afraid the Actual Facts
 we will never know
 and went to the grave with Steve Jobs.
 After all, M$/Xbox and Sony/PS both still currently use
 further iterations of the PPC line.)

Might as well say this to wrap up my life:

I'm basically medically disabled / retired
with 38+years work on record
(related mainly to IBM mainframes and related equipment).
OkDHS has helped me,
now stuck in a retirement village.

Nowadays all the above projects are lost.
I ain't got nuthin left to prove none of it.
(triple negative, figure it out <g>)

(Other aspects as to why I'm disabled etc.
 are yet more long histories
 and can be discussed via email if interested.)

I now have a lowly iMac made in late-2006 with Core2Duo chipset,
my only 'puter ATM,
with other various added critters
such as several HDHomeRun boxes (used for OTA only).
This past week the fruity company strongly hints
that they won't support this iMac model anymore
when "OS-10.8 aka Mountain Lion" comes out.

I try to stay involved with open-source projects
mainly to help keep my mind active and 'sharp'.
But also because I've always felt this is a way out
from the political / financial mess we are all in
thanks to the corporations and banks
and especially thanks to the *AA folks.

I'm trying to spread the word:
I'm 100%-against The NWO
and 100%-for Dr Ron Paul.

There, I've said it.  :|

Thanks for reading.

More information about the Coco mailing list