Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-FileInitmous()Kbdvbase() XBIOSSyntaxKBDVECS *Kbdvbase( VOID )
Function Kbdvbase() returns a pointer to a system structure
containing a 'jump' table to system vector handlers.
Opcode 34 (0x22)
Availability All TOSversions.
Binding move.w #$22,-(sp)
trap #14
addq.l #2,sp
Return Value Kbdvbase() returns a pointer to a system structure KBDVECS which is defined as follows:
typedef struct
{
VOID (*midivec)( UBYTE data ); /* MIDI Input */
VOID (*vkbderr)( UBYTE data ); /* IKBD Error */
VOID (*vmiderr)( UBYTE data ); /* MIDI Error */
VOID (*statvec)(char *buf); /* IKBD Status */
VOID (*mousevec)(char *buf); /* IKBD Mouse */
VOID (*clockvec)(char *buf); /* IKBD Clock */
VOID (*joyvec)(char *buf); /* IKBD Joystick */
VOID (*midisys)( VOID ); /* MainMIDI Vector */
VOID (*ikbdsys)( VOID ); /* MainIKBD Vector */
char ikbdstate; /* See below */
} KBDVECS;
midivec is called with the received data byte in d0. If an
overflow error occurred on either ACIA, vkbderr or vmiderr
will be called, as appropriate by midisys or ikbdsys with
the contents of the ACIA data register in d0. statvec,
mousevec, clockvec, and joyvec all are called with the
address of the packet in register A0. midisys and ikbdsys are
called by the MFP ACIA interrupt handler when a character is
ready to be read from either the midi or keyboard
ports. ikbdstate is set to the number of bytes remaining to
be read by the ikbdsys handler from a multiple-byte status
packet.
Comments If you intercept any of these routines you should either JMP
through the old handler or RTS.
See Also Initmous()