DEFINITION MODULE XBIOScalls;

FROM SYSTEM IMPORT ADDRESS , BYTE , CODE , SETREG , REGISTER;

EXPORT QUALIFIED initmous, ssbrk, physbase, logbase, getrez, setscreen,
                 flopfmt, setpalette, setcolor, floprd, flopwr, midiws,
                 mfpint, iorec, rsconf, keytbl, random, protobt,
                 flopver, scrdmp, cursconf, settime, gettime, bioskeys,
                 ikbdws, jdisint, jenabint, giaccess, offgibit, ongibit,
                 xbtimer, dosound, setprt, kbdvbase, kbrate, prtblk, wvbl, 
                 puntaes; 

PROCEDURE initmous( type : CARDINAL; parameter, vector : ADDRESS );
                                                 (* XBIOS call #0 *)

PROCEDURE ssbrk( number : CARDINAL ) : ADDRESS;  (* XBIOS call #1 *)

PROCEDURE physbase() : ADDRESS;                  (* XBIOS call #2 *)

PROCEDURE logbase() : ADDRESS;                   (* XBIOS call #3 *)

PROCEDURE getrez() : CARDINAL;                   (* XBIOS call #4 *)

PROCEDURE setscreen( logadr, physadr : ADDRESS; res : INTEGER );
                                                 (* XBIOS call #5 *)

PROCEDURE setpalette( paletteptr : ADDRESS );    (* XBIOS call #6 *)

PROCEDURE setcolor( colornum : CARDINAL; VAR color : INTEGER );
                                                 (* XBIOS call #7 *)

PROCEDURE floprd( buffer : ADDRESS; filler : LONGINT; dev, sector,
                  track, side, count : CARDINAL ) : INTEGER ;
                                                 (* XBIOS call #8 *)

PROCEDURE flopwr( buffer : ADDRESS; filler : LONGINT; dev, sector, 
                  track, side, count : CARDINAL ) : INTEGER ;
                                                 (* XBIOS call #9 *)

PROCEDURE flopfmt( buffer : ADDRESS; filler : LONGINT; dev, spt, track, 
                   side, interleave : CARDINAL; magic : LONGCARD;
                   virgin : CARDINAL ) : INTEGER ;
                                                 (* XBIOS call #10 *)

PROCEDURE midiws( count : CARDINAL; ptr : ADDRESS );
                                                 (* XBIOS call #12 *)

PROCEDURE mfpint( number : CARDINAL; vector : ADDRESS );
                                                 (* XBIOS call #13 *)

PROCEDURE iorec( dev : CARDINAL ) : ADDRESS;     (* XBIOS call #14 *)

PROCEDURE rsconf( baud, ctrl, ucr, rsr, tsr, scr : INTEGER );
                                                 (* XBIOS call #15 *)

PROCEDURE keytbl( unshift, shift, capslock : ADDRESS ) : ADDRESS;
                                                 (* XBIOS CALL #16 *)

PROCEDURE random() : LONGCARD;                   (* XBIOS call #17 *)                                                    

PROCEDURE protobt( buffer : ADDRESS; serialno: LONGINT; 
                   disktype, execflag : INTEGER ); 
                                                 (* XBIOS call #18 *)

PROCEDURE flopver( buffer : ADDRESS; filler : LONGINT; dev, sector,
                   track, side, count : CARDINAL ) : INTEGER;
                                                 (* XBIOS call #19 *)

PROCEDURE scrdmp();                              (* XBIOS call #20 *)

PROCEDURE cursconf( function, rate : CARDINAL ) : CARDINAL ; 
                                                 (* XBIOS call #21 *)

PROCEDURE settime( time : LONGCARD ) ;           (* XBIOS call #22 *)

PROCEDURE gettime() : LONGCARD ;                 (* XBIOS call #23 *)

PROCEDURE bioskeys() ;                           (* XBIOS call #24 *)

PROCEDURE ikbdws( number : CARDINAL; pointer : ADDRESS ) ; 
                                                 (* XBIOS call #25 *)

PROCEDURE jdisint( number : CARDINAL ) ;         (* XBIOS call #26 *)

PROCEDURE jenabint( number : CARDINAL ) ;        (* XBIOS call #27 *)

PROCEDURE giaccess( data, register : BYTE ) : BYTE; 
                                                 (* XBIOS call #28 *)

PROCEDURE offgibit ( bitnumber : CARDINAL );     (* XBIOS call #29 *)

PROCEDURE ongibit ( bitnumber : CARDINAL );      (* XBIOS call #30 *)

PROCEDURE xbtimer ( timer : CARDINAL; control, data : BYTE;
                    vector : ADDRESS );          (* XBIOS call #31 *)

PROCEDURE dosound ( pointer : ADDRESS );         (* XBIOS call #32 *)

PROCEDURE setprt ( config : INTEGER ) : CARDINAL;
                                                 (* XBIOS call #33 *)

PROCEDURE kbdvbase () : ADDRESS;                 (* XBIOS call #34 *)

PROCEDURE kbrate ( delay, repeat : INTEGER ) : CARDINAL;
                                                 (* XBIOS call #35 *)

PROCEDURE prtblk ( parameter : ADDRESS );        (* XBIOS call #36 *)

PROCEDURE wvbl ();                               (* XBIOS call #37 *)

PROCEDURE puntaes ();                            (* XBIOS call #39 *)





END XBIOScalls.
