gdr@pbhya.PacBell.COM (Guy Ridley) (05/27/88)
A program I wrote creates a string of 256 notes and sends them out the MIDI port one at a time. The problem is, it never gets through the whole string. I don't think it's a software error because: 1) It never stops at the same place, sometimes it gets through 150 notes, sometimes only 5, and 2) there is no random function in the program that could explain this. What happens when the notes stop is that the monitor blinks and the disk drive starts up (usually). Sometimes I get 4 bombs, if the monitor doesn't go nuts. Any experienced music hackers out there? What do you suspect? The cables? The optoisolator? My DX-7? A bad chip? Or if it's software why doesn't it bomb at the same place every time? (Possible hint: I am using timer C when sending the notes.) -- Guy Ridley
leo@philmds.UUCP (Leo de Wit) (06/04/88)
In article <14252@pbhya.PacBell.COM> gdr@pbhya.PacBell.COM (Guy Ridley) writes: >A program I wrote creates a string of 256 notes and sends them out the MIDI >port one at a time. The problem is, it never gets through the whole string. >I don't think it's a software error because: 1) It never stops at the same >place, sometimes it gets through 150 notes, sometimes only 5, and 2) there is >no random function in the program that could explain this. > [rest of message deleted] Which method do you use writing the notes to the MIDI port? It seems you're not using the standard way, because you explicitly say: one at a time. The xbios call, Midiws (xbios 12), lets you write a complete string to the MIDI port. Note that's not a C-style string: you must supply a count (number of bytes to send minus one; a 2-byte integer) and the start address. The random function you spoke of could be the value of the start pointer on the stack if you thought this function had only one parameter X-). Hope this helps? Leo (the high C).