Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!cbosgd!ihnp4!ihwpt!knudsen From: knudsen@ihwpt.ATT.COM (mike knudsen) Newsgroups: comp.sys.m6809 Subject: Re: OS9 Coco MIDI Message-ID: <2295@ihwpt.ATT.COM> Date: 28 Jan 88 18:05:59 GMT Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 47 Keywords: MIDI OS9 graphics sequencer About Pete's posting -- I'm really glad to see some MIDI music work getting into the Coco world. About time! For last couple (or more?) years I've been developing a graphic score notation editor that plays thru (what else) the Speech Systems MIDI pak. I like my human interface better than Lyra's, which I also own and have used. Mine uses multiple staves (so you can edit any voice at any time with the mouse) and supports more standard music notation (repeats, Nth endings, codas, etc.). (PS: will Speech Systems sell the MIDI pak without software?) I'm still trying to decide how to distribute my program (shareware, PD, sell it (thru whom?)). There is some PD patch libe C source code floating around on our MIDI mailing list that I'll port to L2 someday. I'll repeat my challenge here that I made in a mailing to Pete, that you CAN'T do MIDI recording (time stamping) under Coco OS9, unless you resort to serious cheating by re-directing all interrupt vectors directly to your code. During such recording, multi-tasking and OS9's real-time clock are totally disabled. And no other I/O either! Of course you can live with that while recording keyboard, but it sort of violates the decorum of OS9. Of course you can also use the SADLY NEGLECTED programmable timer that was designed into the GIME chip. I don't know whether you'd want interrupts enabled from it, or have interrupts only from the MIDI receiver. Incidentally, my score sequencer is 100% kosher OS9 -- I use the sleep() call to time playback MIDI messages to 1/60th second resolution, and use arithmetic to get tempo variations. No realtime problems so far, although I just loop-poll the UART trasnmitter buffer. (Hint: sandwich lots of computation between individual MIDI bytes, while the UART is sending, so you don't waste as much time polling). Multitasking is not disabled -- it's fun to CLEAR to another window and do a DIR E while playing. Sounds just like how I play piano while trying to talk to someone! -- Mike J Knudsen ...ihnp4!ihwpt!knudsen Bell Labs(AT&T) Delphi: RAGTIMER CIS: "Just say NO to MS-DOS!" "OS/2 == 1/2 of an OS"