🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #25833

Re: reading from the midi port

#25833
From: burris
Date: Fri, 20 Mar 1987 13:33
23 lines
1627 bytes
In article <14085@cca.CCA.COM>, m204help@cca.CCA.COM (Keith Hedger) writes:
> 
> I am trying to read data from the midi in port on the 520 ST  and
> am having a problem... 
> ...when the
> array reaches a length of 78 it is displayed on the screen and a new
> string starts getting written... 

You do not have enough real time to be doing printf's and/or other screen
output if the MIDI data is coming in at near the MIDI baud rate. The 520ST
does use a circular FIFO buffer algorithm and you MUST unload the data into
your private buffer fast enough to insure that there is no overflow. Disk
I/O is completely out of the question! MIDI data MUST be stored in memory
until completion then stored.

I have solved the real-time printing problem in the hopes of real-time
graphical note representation by driving a MIDI 1.0 protocol handler
via the MIDI port interrupt and using my own interrupt code instead of
ATARI's. This frees the processor to do other tasks between MIDI bytes
while insuring that notes don't get missed.

Dave Burris
ihnp4!ihuxz!burris
Technical Details
Message-ID: <1932@ihuxz.ATT.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!rutgers!ames!ptsfa!ihnp4!ihuxz!burris
References: <14085@cca.CCA.COM>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!rutgers!ames!ptsfa!ihnp4!ihuxz!burris
From: burris@ihuxz.UUCP
Newsgroups: comp.sys.atari.st
Subject: Re: reading from the midi port
Message-ID: <1932@ihuxz.ATT.COM>
Date: Fri, 20-Mar-87 08:33:41 EST
Article-I.D.: ihuxz.1932
Posted: Fri Mar 20 08:33:41 1987
Date-Received: Sun, 22-Mar-87 21:11:31 EST
References: <14085@cca.CCA.COM>
Organization: AT&T Bell Laboratories - Naperville, Illinois
Lines: 23
Summary: Don't do the output.