Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!labrea!jade!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: losing MIDI bytes Message-ID: <8709110105.AA27649@cory.Berkeley.EDU> Date: Thu, 10-Sep-87 21:05:26 EDT Article-I.D.: cory.8709110105.AA27649 Posted: Thu Sep 10 21:05:26 1987 Date-Received: Sat, 12-Sep-87 11:25:43 EDT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 21 >I was wondering about the practicality of putting forbid() and >permit() on either side of your part of the code that is reading >the system exclusive data dump. If it is only a burst of 400 or so Not practical. Hell, if this is a *problem* may I suggest somebody write a program which Disable()'s interrupts, reads the bytes into a pre-allocated RAM buffer (timestamping them with one of the hardware clocks) then Enable() when they are through. Sure it will freeze the machine for a while... while your playing your keyboard, but hey... now you have ~4uS accuracy (tight way loop on serial data loop exit -> immediate read of hardware timers. The 4uS is due to the fact that the serial data is asyncronous and can latch in the middle of an instruction). It takes about 300uS per byte, I believe. (The above isn't entirely practical, but not entirely off the wall either) -Matt