Article View: comp.sys.atari.st
Article #34436Re: MIDI Interrupts
From: Burris
Date: Sat, 08 Oct 1988 15:19
Date: Sat, 08 Oct 1988 15:19
46 lines
2045 bytes
2045 bytes
>
> Perhaps somebody has an answer to the following:
>
> XBIOS function Kbdvbase() returns a pointer to a structure where -
> among others - three pointers (*kb_midisys)(), (*kb_vmiderr)() and
> (*kb_midivec)() are stored. As far as I know from several books on the
> ATARI ST, kb_midisys() is called, when an interrupt has occured (in one
> of the ACIAs), kb_vmiderr() is the MIDI error handler and kb_midivec()
> is responsible for receiving a byte from the MIDI port. But I couldn't
> find any further description of what the routines should do EXACTLY and
> when/how they are called.
> Is there some sort of "official", detailed and reliable documentation
> of these (and possibly other) routines and TOS pecularities? Is the
> documentation, if any, available to "normal" users? Where? In W-Germany?
>
Actually the routine is like this:
struct vectors
{
long midivec; /* MIDI input */
long vkbderr; /* Keyboard error */
long vmiderr; /* MIDI error */
long statvec; /* IKBD status */
long mousevec; /* Mouse routines */
long clockvec; /* clock time routine */
long joyvec; /* joystick routines */
long midisys; /* system MIDI vector */
long ikbdsys; /* IKBD system vector */
};
struct vectors *kbdvbase();
midivec is the interrupt vector for the MIDI receiver. Essentially,
it just calls a routine that stores the MIDI bytes in a circular
buffer that is then read by the conin() BIOS routine.
The vmiderr vector is called whenever an overrun of the buffer is
detected.
You can supply your own MIDI interrupt routine by writing a new vector
to midivec. You should not mess with midisys.
Dave Burris
Technical Details
Message-ID:
<3478@ihuxz.ATT.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!ihuxz!burrisReferences:
<8810060809.AA13023@ucbvax.Berkeley.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!ihuxz!burris From: burris@ihuxz.ATT.COM (Burris) Newsgroups: comp.sys.atari.st Subject: Re: MIDI Interrupts Message-ID: <3478@ihuxz.ATT.COM> Date: 8 Oct 88 15:19:58 GMT References: <8810060809.AA13023@ucbvax.Berkeley.EDU> Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 46