	34 Kbdvbase

	KBDVBASE *Kbdvbase( void );

Diese XBIOS-Funktion liefert einen Zeiger auf eine Vektortabelle,
die die Adressen von Routinen enthlt, die Tastatur- und MIDI-
Daten verarbeiten. Die Tabelle ist folgendermaen aufgebaut:

typedef struct
{
	void	(*kb_midivec)();	/* MIDI-Eingabe */
	void	(*kb_vkbderr)();	/* Tastatur-Fehler */
	void	(*kb_vmiderr)();	/* MIDI-Fehler */
	void	(*kb_statvec)();	/* IKBD Status */
	void	(*kb_mousevec)();	/* Maus-Routinen */
	void	(*kb_clockvec)();	/* Uhrzeit-Routine */
	void	(*kb_joyvec)(); 	/* Joystick-Routinen */
	void	(*kb_midisys)();	/* MIDI-Systemvektor */
	void	(*kb_kbdsys)(); 	/* IKBD-Systemvektor */
} KBDVBASE;

'midivec' zeigt auf eine Routine, die die empfangenen Daten vom
MIDI-Eingang (Byte in D0) in den MIDI-Puffer schreibt.

'vkbderr' und 'vmiderr' werden aufgerufen, wenn ein berlauf von
der Tastatur- oder MIDI-ACIA gemeldet wird.

Die restlichen vier Routinen 'statvec', 'mousevec', 'clockvec'
und 'joyvec' verarbeiten die entsprechenden Datenpakete, die von
der Tastatur-ACIA kommen. Diesen Routinen wird ein Zeiger auf
das empfangene Paket in A0 und auf dem Stack bergeben. Der
Maus-Vektor wird von GEM benutzt. Wenn Sie eigene Routinen be-
nutzen wollen, so mssen sie mit RTS abgeschlossen werden und
drfen nicht lnger als eine Millisekunde Verarbeitungszeit
bentigen.

Die Routinen 'midisys' und 'ikbdsys' werden aufgerufen, wenn
ein Zeichen an der betreffenden ACIA zur Verfgung steht.
'midisys' holt das Zeichen und springt dann ber 'midivec';
'ikbdsys' holt ein Datenpaket von der ACIA und verzweigt dann
in die oben beschriebenen Unterroutinen.

Beispiel:

	move.w	#34,-(sp)	* Kbdvbase
	trap	#14
	addq.l	#2,sp
