home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / gnu / libsrc87 / osbind.i < prev    next >
Encoding:
Text File  |  1993-07-30  |  27.1 KB  |  1,551 lines

  1. # 1 "osbind.c"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. #define __NO_INLINE__
  11.  
  12. # 1 "/local/x68/include/osbind.h" 1 3
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. #define _OSBIND_H
  113.  
  114.  
  115. # 1 "/local/x68/include/compiler.h" 1 3
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. #define _COMPILER_H
  124.  
  125.  
  126.  
  127. #define __MINT__
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.          
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158. #define __SIZE_TYPEDEF__ unsigned long
  159. #define __PTRDIFF_TYPEDEF__ long
  160. #define __WCHAR_TYPEDEF__ int
  161. # 54 "/local/x68/include/compiler.h" 3
  162.  
  163. #define __EXITING volatile void
  164.  
  165.  
  166.  
  167.  
  168.  
  169. # 69 "/local/x68/include/compiler.h" 3
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. # 98 "/local/x68/include/compiler.h" 3
  180.  
  181.  
  182. # 113 "/local/x68/include/compiler.h" 3
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191. #define __VA_LIST__ char *
  192.  
  193.  
  194.  
  195. #define __CDECL
  196.  
  197.  
  198.  
  199.  
  200. #define __NULL ((void *)0)
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213. #define __PROTO(x) x
  214.  
  215. #define __EXTERN
  216. # 159 "/local/x68/include/compiler.h" 3
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225. #define _UID_T unsigned short
  226. #define _GID_T unsigned short
  227. #define _PID_T int
  228.  
  229.  
  230. # 103 "/local/x68/include/osbind.h" 2 3
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239. # 1 "/local/x68/include/ostruct.h" 1 3
  240.  
  241. #define _OSTRUCT_H
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261. typedef struct {
  262.     long b_free;     
  263.     long b_total;     
  264.     long b_secsiz;     
  265.     long b_clsiz;     
  266. } _DISKINFO;
  267.  
  268.  
  269. typedef struct {
  270.   short time;
  271.   short date;
  272. } _DOSTIME;
  273.  
  274.  
  275. typedef struct
  276. {
  277.         unsigned char maxlen;
  278.         unsigned char actuallen;
  279.         char    buffer[255];
  280. } _CCONLINE;
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287. typedef struct _dta {
  288.     char         dta_buf[21];     
  289.     char            dta_attribute;     
  290.     unsigned short  dta_time;         
  291.     unsigned short  dta_date;         
  292.     long            dta_size;         
  293.     char            dta_name[14];     
  294. } _DTA;
  295.  
  296.  
  297.  
  298. #define        FA_RDONLY           0x01
  299. #define        FA_HIDDEN           0x02
  300. #define        FA_SYSTEM           0x04
  301. #define        FA_LABEL            0x08
  302. #define        FA_DIR              0x10
  303. #define        FA_CHANGED          0x20
  304.  
  305.  
  306.  
  307. #define        PE_LOADGO           0           
  308. #define        PE_LOAD             3           
  309. #define        PE_GO               4           
  310. #define        PE_CBASEPAGE        5           
  311.  
  312.  
  313.  
  314. #define        PE_GO_FREE          6           
  315.  
  316.  
  317.  
  318. #define    PE_ASYNC_LOADGO       100           
  319. #define       PE_ASYNC_GO       104           
  320. #define       PE_ASYNC_GO_FREE   106           
  321. #define       PE_OVERLAY       200           
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. #define _PRT    0
  330. #define _AUX    1
  331. #define _CON    2
  332. #define _MIDI   3
  333. #define _IKBD   4
  334. #define _RAWCON 5
  335.  
  336.  
  337. typedef struct {
  338.   short recsiz;          
  339.   short clsiz;           
  340.   short clsizb;          
  341.   short rdlen;           
  342.   short fsiz;            
  343.   short fatrec;          
  344.   short datrec;          
  345.   short numcl;           
  346.   short bflags;          
  347. } _BPB;
  348.  
  349.  
  350.  
  351.  
  352. typedef struct _md {
  353.     struct _md    *md_next;     
  354.     long     md_start;     
  355.     long     md_length;     
  356.     long     md_owner;     
  357. } _MD;
  358.  
  359.  
  360. typedef struct {
  361.     _MD *mp_free;         
  362.     _MD *mp_used;         
  363.     _MD *mp_rover;         
  364. } _MPB;
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372. #define CURS_HIDE       0
  373. #define CURS_SHOW       1
  374. #define CURS_BLINK      2
  375. #define CURS_NOBLINK    3
  376. #define CURS_SETRATE    4
  377. #define CURS_GETRATE    5
  378.  
  379.  
  380. typedef struct {
  381.     char    *ibuf;
  382.     short   ibufsiz;
  383.     short   ibufhd;
  384.     short   ibuftl;
  385.     short   ibuflow;
  386.     short   ibufhi;
  387. } _IOREC;
  388.  
  389.  
  390. typedef struct {
  391.     char    topmode;
  392.     char    buttons;
  393.     char    xparam;
  394.     char    yparam;
  395. } _PARAM;
  396.  
  397.  
  398. typedef struct {
  399.     void    (*midivec)    (void) ;
  400.     void    (*vkbderr)    (void) ;
  401.     void    (*vmiderr)    (void) ;
  402.     void    (*statvec)    (void *) ;
  403.     void    (*mousevec)    (void *) ;
  404.     void    (*clockvec)    (void *) ;
  405.     void    (*joyvec)    (void *) ;
  406.     long    (*midisys)    (void) ;
  407.     long    (*ikbdsys)    (void) ;
  408.     char    kbstate;
  409. } _KBDVECS;
  410.  
  411.  
  412. typedef struct {
  413.     void *unshift;     
  414.     void *shift;     
  415.     void *caps;         
  416. } _KEYTAB;
  417.  
  418.  
  419. typedef struct
  420. {
  421.         void    *pb_scrptr;
  422.         int     pb_offset;
  423.         int     pb_width;
  424.         int     pb_height;
  425.         int     pb_left;
  426.         int     pb_right;
  427.         int     pb_screz;
  428.         int     pb_prrez;
  429.         void    *pb_colptr;
  430.         int     pb_prtype;
  431.         int     pb_prport;
  432.         void    *pb_mask;
  433. } _PBDEF;
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440. # 111 "/local/x68/include/osbind.h" 2 3
  441.  
  442.  
  443.  
  444. # 272 "/local/x68/include/osbind.h" 3
  445.  
  446.  
  447.  
  448.  
  449.  
  450. # 989 "/local/x68/include/osbind.h" 3
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463. # 1034 "/local/x68/include/osbind.h" 3
  464.  
  465.  
  466.   long gemdos    (short, ...) ;
  467.   long bios    (short, ...) ;
  468.   long xbios    (short, ...) ;
  469.  
  470. #define trap_1_w    gemdos
  471. #define trap_1_ww    gemdos
  472. #define trap_1_wl    gemdos
  473. #define trap_1_wlw    gemdos
  474. #define trap_1_www    gemdos
  475. #define trap_1_wll    gemdos
  476. #define trap_1_wwll    gemdos
  477. #define trap_1_wlww    gemdos
  478. #define trap_1_wwlll    gemdos
  479.  
  480. #define trap_13_w    bios
  481. #define trap_13_ww    bios
  482. #define trap_13_wl    bios
  483. #define trap_13_www    bios
  484. #define trap_13_wwl    bios
  485. #define trap_13_wwlwww    bios
  486.  
  487. #define trap_14_w    xbios
  488. #define trap_14_ww    xbios
  489. #define trap_14_wl    xbios
  490. #define trap_14_www    xbios
  491. #define trap_14_wwl    xbios
  492. #define trap_14_wwll    xbios
  493. #define trap_14_wllw    xbios
  494. #define trap_14_wlll    xbios
  495. #define trap_14_wwwl    xbios
  496. #define trap_14_wwwwl    xbios
  497. #define trap_14_wllww    xbios
  498. #define trap_14_wwwwwww    xbios
  499. #define trap_14_wllwwwww    xbios
  500. #define trap_14_wllwwwwlw    xbios
  501. #define trap_14_wllwwwwwlw    xbios
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513. #define           Pterm0()    (void)trap_1_w((short)(0x00))
  514.  
  515. #define           Cconin()    (long)trap_1_w((short)(0x01))
  516.  
  517. #define           Cconout(c)    (void)trap_1_ww((short)(0x02),(short)(c))
  518.  
  519. #define           Cauxin()    (long)trap_1_w((short)(0x03))
  520.  
  521. #define           Cauxout(c)    (void)trap_1_ww((short)(0x04),(short)(c))
  522.  
  523. #define           Cprnout(c)    (void)trap_1_ww((short)(0x05),(short)(c))
  524.  
  525. #define           Crawio(data)    (long)trap_1_ww((short)(0x06),(short)(data))
  526.  
  527. #define           Crawcin()    (long)trap_1_w((short)(0x07))
  528.  
  529. #define           Cnecin()    (long)trap_1_w((short)(0x08))
  530.  
  531. #define           Cconws(s)    (void)trap_1_wl((short)(0x09),(long)(s))
  532.  
  533. #define           Cconrs(buf)    (void)trap_1_wl((short)(0x0A),(long)(buf))
  534.  
  535. #define           Cconis()    (short)trap_1_w((short)(0x0B))
  536.  
  537. #define           Dsetdrv(d)    (long)trap_1_ww((short)(0x0E),(short)(d))
  538.  
  539. #define           Cconos()    (short)trap_1_w((short)(0x10))
  540.  
  541. #define           Cprnos()    (short)trap_1_w((short)(0x11))
  542.  
  543. #define           Cauxis()    (short)trap_1_w((short)(0x12))
  544.  
  545. #define           Cauxos()    (short)trap_1_w((short)(0x13))
  546.  
  547. #define           Dgetdrv()    (short)trap_1_w((short)(0x19))
  548.  
  549. #define           Fsetdta(dta)    (void)trap_1_wl((short)(0x1A),(long)(dta))
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571. #define           Super(ptr)    (long)trap_1_wl((short)(0x20),(long)(ptr))
  572.  
  573.      
  574. #define           Tgetdate()    (short)trap_1_w((short)(0x2A))
  575.  
  576. #define           Tsetdate(date)    (long)trap_1_ww((short)(0x2B),(short)(date))
  577.  
  578. #define           Tgettime()    (short)trap_1_w((short)(0x2C))
  579.  
  580. #define           Tsettime(time)    (long)trap_1_ww((short)(0x2D),(short)(time))
  581.  
  582. #define           Fgetdta()    (_DTA *)trap_1_w((short)(0x2F))
  583.  
  584. #define           Sversion()    (short)trap_1_w((short)(0x30))
  585.  
  586. #define           Ptermres(save,rv)    (void)trap_1_wlw((short)(0x31),(long)(save),(short)(rv))
  587.  
  588. #define           Dfree(buf,d)    (long)trap_1_wlw((short)(0x36),(long)(buf),(short)(d))
  589.  
  590. #define           Dcreate(path)    (short)trap_1_wl((short)(0x39),(long)(path))
  591.  
  592. #define           Ddelete(path)    (long)trap_1_wl((short)(0x3A),(long)(path))
  593.  
  594. #define           Dsetpath(path)    (long)trap_1_wl((short)(0x3B),(long)(path))
  595.  
  596. #define           Fcreate(fn,mode)    (long)trap_1_wlw((short)(0x3C),(long)(fn),(short)(mode))
  597.  
  598. #define           Fopen(fn,mode)    (long)trap_1_wlw((short)(0x3D),(long)(fn),(short)(mode))
  599.  
  600. #define           Fclose(handle)    (long)trap_1_ww((short)(0x3E),(short)(handle))
  601.  
  602. #define           Fread(handle,cnt,buf)    (long)trap_1_wwll((short)(0x3F),(short)(handle),    (long)(cnt),(long)(buf))
  603.  
  604.  
  605. #define           Fwrite(handle,cnt,buf)    (long)trap_1_wwll((short)(0x40),(short)(handle),    (long)(cnt),(long)(buf))
  606.  
  607.  
  608. #define           Fdelete(fn)    (long)trap_1_wl((short)(0x41),(long)(fn))
  609.  
  610. #define           Fseek(where,handle,how)    (long)trap_1_wlww((short)(0x42),(long)(where),    (short)(handle),(short)(how))
  611.  
  612.  
  613. #define           Fattrib(fn,rwflag,attr)    (short)trap_1_wlww((short)(0x43),(long)(fn),    (short)(rwflag),(short)(attr))
  614.  
  615.  
  616. #define           Fdup(handle)    (long)trap_1_ww((short)(0x45),(short)(handle))
  617.  
  618. #define           Fforce(Hstd,Hnew)    (long)trap_1_www((short)(0x46),(short)(Hstd),(short)(Hnew))
  619.  
  620. #define           Dgetpath(buf,d)    (long)trap_1_wlw((short)(0x47),(long)(buf),(short)(d))
  621.  
  622. #define           Malloc(size)    (long)trap_1_wl((short)(0x48),(long)(size))
  623.  
  624. #define           Mfree(ptr)    (long)trap_1_wl((short)(0x49),(long)(ptr))
  625.  
  626. #define           Mshrink(ptr,size)    (long)trap_1_wwll((short)(0x4A),(short)0,(long)(ptr),(long)(size))
  627.  
  628. #define           Pexec(mode,prog,tail,env)    (long)trap_1_wwlll((short)(0x4B),(short)(mode),(long)(prog), (long)(tail),(long)(env))
  629.  
  630.  
  631. #define           Pterm(rv)    (void)trap_1_ww((short)(0x4C),(short)(rv))
  632.  
  633. #define           Fsfirst(filespec,attr)    (long)trap_1_wlw((short)(0x4E),(long)(filespec),(short)(attr))
  634.  
  635. #define           Fsnext()    (long)trap_1_w((short)(0x4F))
  636.  
  637. #define           Frename(zero,old,new)    (short)trap_1_wwll((short)(0x56),(short)(zero),    (long)(old),(long)(new))
  638.  
  639.  
  640. #define           Fdatime(timeptr,handle,rwflag)    (long)trap_1_wlww((short)(0x57),(long)(timeptr),    (short)(handle),(short)(rwflag))
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649. #define Getmpb(ptr)    (void)trap_13_wl((short)(0x00),(long)(ptr))
  650.  
  651. #define           Bconstat(dev)    (short)trap_13_ww((short)(0x01),(short)(dev))
  652.  
  653. #define           Bconin(dev)    (long)trap_13_ww((short)(0x02),(short)(dev))
  654.  
  655. #define           Bconout(dev,c)    (long)trap_13_www((short)(0x03),(short)(dev),(short)((c) & 0xFF))
  656.  
  657.  
  658. #define           Rwabs(rwflag,buf,n,sector,d)    (long)trap_13_wwlwww((short)(0x04),(short)(rwflag),(long)(buf), (short)(n),(short)(sector),(short)(d))
  659.  
  660.  
  661. #define           Setexc(vnum,vptr) (void (*) __PROTO((void)))trap_13_wwl((short)(0x05),(short)(vnum),(long)(vptr))
  662.  
  663. #define           Tickcal()    (long)trap_13_w((short)(0x06))
  664.  
  665. #define           Getbpb(d)    (void *)trap_13_ww((short)(0x07),(short)(d))
  666.  
  667. #define           Bcostat(dev)    (short)trap_13_ww((short)(0x08),(short)(dev))
  668.  
  669. #define           Mediach(dev)    (short)trap_13_ww((short)(0x09),(short)(dev))
  670.  
  671. #define           Drvmap()    (long)trap_13_w((short)(0x0A))
  672.  
  673. #define           Kbshift(data)    (long)trap_13_ww((short)(0x0B),(short)(data))
  674.  
  675. #define           Getshift()    Kbshift(-1)
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683. #define           Initmous(type,param,vptr)    (void)trap_14_wwll((short)(0x00),(short)(type),    (long)(param),(long)(vptr))
  684.  
  685.  
  686. #define Ssbrk(size)    (void *)trap_14_ww((short)(0x01),(short)(size))
  687.  
  688. #define           Physbase()    (void *)trap_14_w((short)(0x02))
  689.  
  690. #define           Logbase()    (void *)trap_14_w((short)(0x03))
  691.  
  692. #define           Getrez()    (short)trap_14_w((short)(0x04))
  693.  
  694. #define           Setscreen(lscrn,pscrn,rez)    (void)trap_14_wllw((short)(0x05),(long)(lscrn),(long)(pscrn), (short)(rez))
  695.  
  696.  
  697. #define           Setpallete(palptr)    (void)trap_14_wl((short)(0x06),(long)(palptr))
  698.  
  699. #define           Setcolor(colornum,mixture)    (short)trap_14_www((short)(0x07),(short)(colornum),(short)(mixture))
  700.  
  701. #define           Floprd(buf,x,d,sect,trk,side,n)    (short)trap_14_wllwwwww((short)(0x08),(long)(buf),(long)(x), (short)(d),(short)(sect),(short)(trk),(short)(side),(short)(n))
  702.  
  703.  
  704. #define           Flopwr(buf,x,d,sect,trk,side,n)    (short)trap_14_wllwwwww((short)(0x09),(long)(buf),(long)(x), (short)(d),(short)(sect),(short)(trk),(short)(side),(short)(n))
  705.  
  706.  
  707. #define           Flopfmt(buf,x,d,spt,t,sd,i,m,v)    (short)trap_14_wllwwwwwlw((short)(0x0A),(long)(buf),(long)(x), (short)(d),(short)(spt),(short)(t),(short)(sd),(short)(i), (long)(m),(short)(v))
  708.  
  709.  
  710.  
  711. #define           Midiws(cnt,ptr)    (void)trap_14_wwl((short)(0x0C),(short)(cnt),(long)(ptr))
  712.  
  713. #define           Mfpint(vnum,vptr)    (void)trap_14_wwl((short)(0x0D),(short)(vnum),(long)(vptr))
  714.  
  715. #define           Iorec(ioDEV)    (void *)trap_14_ww((short)(0x0E),(short)(ioDEV))
  716.  
  717. #define           Rsconf(baud,flow,uc,rs,ts,sc)    (long)trap_14_wwwwwww((short)(0x0F),(short)(baud),(short)(flow), (short)(uc),(short)(rs),(short)(ts),(short)(sc))
  718.  
  719.  
  720.      
  721. #define           Keytbl(nrml,shft,caps)    (void *)trap_14_wlll((short)(0x10),(long)(nrml), (long)(shft),(long)(caps))
  722.  
  723.  
  724. #define           Random()    (long)trap_14_w((short)(0x11))
  725.  
  726. #define           Protobt(buf,serial,dsktyp,exec)    (void)trap_14_wllww((short)(0x12),(long)(buf),(long)(serial), (short)(dsktyp),(short)(exec))
  727.  
  728.  
  729. #define           Flopver(buf,x,d,sect,trk,sd,n)    (short)trap_14_wllwwwww((short)(0x13),(long)(buf),(long)(x),(short)(d),    (short)(sect),(short)(trk),(short)(sd),(short)(n))
  730.  
  731.  
  732. #define           Scrdmp()    (void)trap_14_w((short)(0x14))
  733.  
  734. #define           Cursconf(rate,attr)    (short)trap_14_www((short)(0x15),(short)(rate),(short)(attr))
  735.  
  736. #define           Settime(time)    (void)trap_14_wl((short)(0x16),(long)(time))
  737.  
  738. #define           Gettime()    (long)trap_14_w((short)(0x17))
  739.  
  740. #define           Bioskeys()    (void)trap_14_w((short)(0x18))
  741.  
  742. #define           Ikbdws(len_minus1,ptr)    (void)trap_14_wwl((short)(0x19),(short)(len_minus1),(long)(ptr))
  743.  
  744. #define           Jdisint(vnum)    (void)trap_14_ww((short)(0x1A),(short)(vnum))
  745.  
  746. #define           Jenabint(vnum)    (void)trap_14_ww((short)(0x1B),(short)(vnum))
  747.  
  748. #define           Giaccess(data,reg)    (short)trap_14_www((short)(0x1C),(short)(data),(short)(reg))
  749.  
  750. #define           Offgibit(ormask)    (void)trap_14_ww((short)(0x1D),(short)(ormask))
  751.  
  752. #define           Ongibit(andmask)    (void)trap_14_ww((short)(0x1E),(short)(andmask))
  753.  
  754. #define           Xbtimer(timer,ctrl,data,vptr)    (void)trap_14_wwwwl((short)(0x1F),(short)(timer),(short)(ctrl), (short)(data),(long)(vptr))
  755.  
  756.  
  757. #define           Dosound(ptr)    (void)trap_14_wl((short)(0x20),(long)(ptr))
  758.  
  759. #define           Setprt(config)    (short)trap_14_ww((short)(0x21),(short)(config))
  760.  
  761. #define           Kbdvbase()    (_KBDVECS*)trap_14_w((short)(0x22))
  762.  
  763. #define           Kbrate(delay,reprate)    (short)trap_14_www((short)(0x23),(short)(delay),(short)(reprate))
  764.  
  765. #define           Prtblk(pblkptr)    (void)trap_14_wl((short)(0x24),(long)(pblkptr)) 
  766.  
  767. #define           Vsync()    (void)trap_14_w((short)(0x25))
  768.  
  769. #define           Supexec(funcptr)    (long)trap_14_wl((short)(0x26),(long)(funcptr))
  770.  
  771. #define           Blitmode(flag)    (short)trap_14_ww((short)(0x40),(short)(flag))
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789. #define         Mxalloc(amt,flag)    (long)trap_1_wlw((short)(0x44),(long)(amt),(short)(flag))
  790.  
  791. #define        Maddalt(start,size)    (long)trap_1_wll((short)(0x14),(long)(start),(long)(size))
  792.  
  793.  
  794. #define            Setpalette(palptr)    (void)trap_14_wl((short)(0x06),(long)(palptr))
  795.  
  796. #define         EsetShift(mode)    (void)trap_14_ww((short)(80),(short)mode)
  797.  
  798. #define         EgetShift()    (short)trap_14_w((short)(81))
  799.  
  800. #define         EsetBank(bank)    (short)trap_14_ww((short)(82),(short)bank)
  801.  
  802. #define         EsetColor(num,val)    (short)trap_14_www((short)(83),(short)num,(short)val)
  803.  
  804. #define         EsetPalette(start,count,ptr)    (void)trap_14_wwwl((short)(84),(short)start,(short)count,(long)ptr)
  805.  
  806. #define         EgetPalette(start,count,ptr)    (void)trap_14_wwwl((short)(85),(short)start,(short)count,(long)ptr)
  807.  
  808. #define         EsetGray(mode)    (short)trap_14_ww((short)(86),(short)mode)
  809.  
  810. #define         EsetSmear(mode)    (short)trap_14_ww((short)(87),(short)mode)
  811.  
  812.  
  813. #define        DMAread(sector,count,buffer,devno)    (long)trap_14_wlwlw((short)0x2a,(long)sector,(short)count,(long)buffer, (short)devno)
  814.  
  815.  
  816. #define        DMAwrite(sector,count,buffer,devno)    (long)trap_14_wlwlw((short)0x2b,(long)sector,(short)count,(long)buffer, (short)devno)
  817.  
  818.  
  819. #define        Bconmap(dev)    (long)trap_14_ww((short)0x2c,(short)(dev))
  820.  
  821. #define        NVMaccess(op,start,count,buf)    (short)trap_14_wwwwl((short)0x2e,(short)op,(short)start,(short)count, (long)buf)
  822.  
  823.  
  824.  
  825.  
  826.  
  827. #define           Waketime(w_date, w_time)    (void)trap_14_www((short)(0x2f),(unsigned short)(w_date),    (unsigned short)(w_time))
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838. # 11 "osbind.c" 2
  839.  
  840.  
  841. long gemdos (short n)
  842. {
  843.     register long retvalue __asm__("d0");
  844.  
  845.     __asm__ volatile
  846.     ("
  847.         movw    %1,sp@-;
  848.         trap    #1;
  849.         addqw   #2,sp "
  850.     : "=r"(retvalue)             
  851.     : "r"(n)                 
  852.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  853.     );
  854.     return retvalue;
  855. }
  856.  
  857. long gemdos (short n, short a)
  858. {
  859.     register long retvalue __asm__("d0");
  860.     short _a = (a);
  861.  
  862.     __asm__ volatile
  863.     ("
  864.         movw    %2,sp@-;
  865.         movw    %1,sp@-;
  866.         trap    #1;
  867.         addqw   #4,sp "
  868.     : "=r"(retvalue)             
  869.     : "r"(n), "r"(_a)             
  870.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  871.     );
  872.     return retvalue;
  873. }
  874.  
  875. long gemdos (short n, long a)
  876. {
  877.     register long retvalue __asm__("d0");
  878.     long  _a =  (a);
  879.  
  880.     __asm__ volatile
  881.     ("
  882.         movl    %2,sp@-;
  883.         movw    %1,sp@-;
  884.         trap    #1;
  885.         addqw   #6,sp "
  886.     : "=r"(retvalue)             
  887.     : "r"(n), "r"(_a)             
  888.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  889.     );
  890.     return retvalue;
  891. }
  892.  
  893. long gemdos (short n, long a, short b)
  894. {
  895.     register long retvalue __asm__("d0");
  896.     long  _a =  (a);
  897.     short _b = (b);
  898.  
  899.     __asm__ volatile
  900.     ("
  901.         movw    %3,sp@-;
  902.         movl    %2,sp@-;
  903.         movw    %1,sp@-;
  904.         trap    #1;
  905.         addqw   #8,sp "
  906.     : "=r"(retvalue)             
  907.     : "r"(n), "r"(_a), "r"(_b)         
  908.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  909.     );
  910.     return retvalue;
  911. }
  912.  
  913. long gemdos (short n, short a, long b, long c)
  914. {
  915.     register long retvalue __asm__("d0");
  916.     short _a = (a);
  917.     long  _b =  (b);
  918.     long  _c =  (c);
  919.  
  920.     __asm__ volatile
  921.     ("
  922.         movl    %4,sp@-;
  923.         movl    %3,sp@-;
  924.         movw    %2,sp@-;
  925.         movw    %1,sp@-;
  926.         trap    #1;
  927.         addw    #12,sp "
  928.     : "=r"(retvalue)             
  929.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)      
  930.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  931.     );
  932.     return retvalue;
  933. }
  934.  
  935. long gemdos (short n, long a, short b, short c)
  936. {
  937.     register long retvalue __asm__("d0");
  938.     long  _a =  (a);
  939.     short _b = (b);
  940.     short _c = (c);
  941.  
  942.     __asm__ volatile
  943.     ("
  944.         movw    %4,sp@-;
  945.         movw    %3,sp@-;
  946.         movl    %2,sp@-;
  947.         movw    %1,sp@-;
  948.         trap    #1;
  949.         addw    #10,sp "
  950.     : "=r"(retvalue)             
  951.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)      
  952.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  953.     );
  954.     return retvalue;
  955. }
  956.  
  957. long gemdos (short n, short a, short b)
  958. {
  959.     register long retvalue __asm__("d0");
  960.     short _a = (a);
  961.     short _b = (b);
  962.  
  963.     __asm__ volatile
  964.     ("
  965.         movw    %3,sp@-;
  966.         movw    %2,sp@-;
  967.         movw    %1,sp@-;
  968.         trap    #1;
  969.         addqw   #6,sp "
  970.     : "=r"(retvalue)             
  971.     : "r"(n), "r"(_a), "r"(_b)         
  972.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  973.     );
  974.     return retvalue;
  975. }
  976.  
  977. long gemdos (short n, long a, long b)
  978. {
  979.     register long retvalue __asm__("d0");
  980.     long  _a =  (a);
  981.     long  _b =  (b);
  982.  
  983.     __asm__ volatile
  984.     ("
  985.         movl    %3,sp@-;
  986.         movl    %2,sp@-;
  987.         movw    %1,sp@-;
  988.         trap    #1;
  989.         addw    #10,sp "
  990.     : "=r"(retvalue)             
  991.     : "r"(n), "r"(_a), "r"(_b)         
  992.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  993.     );
  994.     return retvalue;
  995. }
  996.  
  997. long gemdos (short n, short a, long b, long c, long d)
  998. {
  999.     register long retvalue __asm__("d0");
  1000.     short _a = (a);
  1001.     long  _b =  (b);
  1002.     long  _c =  (c);
  1003.     long  _d =  (d);
  1004.  
  1005.     __asm__ volatile
  1006.     ("
  1007.         movl    %4,sp@-;
  1008.         movl    %3,sp@-;
  1009.         movl    %2,sp@-;
  1010.         movw    %1,sp@-;
  1011.         movw    %0,sp@- "
  1012.     :                          
  1013.     : "r"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d)  
  1014.     );
  1015.    
  1016.  
  1017.     __asm__ volatile
  1018.     ("
  1019.         trap    #1;
  1020.         addw    #16,sp "
  1021.     : "=r"(retvalue)             
  1022.     :                     
  1023.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1024.     );
  1025.     return retvalue;
  1026. }
  1027.  
  1028. long bios (short n, long a)
  1029. {
  1030.     register long retvalue __asm__("d0");
  1031.     long  _a =  (a);
  1032.  
  1033.     __asm__ volatile
  1034.     ("
  1035.         movl    %2,sp@-;
  1036.         movw    %1,sp@-;
  1037.         trap    #13;
  1038.         addqw   #6,sp "
  1039.     : "=r"(retvalue)             
  1040.     : "r"(n), "r"(_a)             
  1041.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1042.     );
  1043.     return retvalue;
  1044. }
  1045.  
  1046. long bios (short n)
  1047. {
  1048.     register long retvalue __asm__("d0");
  1049.  
  1050.     __asm__ volatile
  1051.     ("
  1052.         movw    %1,sp@-;
  1053.         trap    #13;
  1054.         addqw   #2,sp "
  1055.     : "=r"(retvalue)             
  1056.     : "r"(n)                 
  1057.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1058.     );
  1059.     return retvalue;
  1060. }
  1061.  
  1062. long bios (short n, short a)
  1063. {
  1064.     register long retvalue __asm__("d0");
  1065.     short _a = (a);
  1066.  
  1067.     __asm__ volatile
  1068.     ("
  1069.         movw    %2,sp@-;
  1070.         movw    %1,sp@-;
  1071.         trap    #13;
  1072.         addqw   #4,sp "
  1073.     : "=r"(retvalue)             
  1074.     : "r"(n), "r"(_a)             
  1075.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1076.     );
  1077.     return retvalue;
  1078. }
  1079.  
  1080. long bios (short n, short a, short b)
  1081. {
  1082.     register long retvalue __asm__("d0");
  1083.     short _a = (a);
  1084.     short _b = (b);
  1085.  
  1086.     __asm__ volatile
  1087.     ("
  1088.         movw    %3,sp@-;
  1089.         movw    %2,sp@-;
  1090.         movw    %1,sp@-;
  1091.         trap    #13;
  1092.         addqw   #6,sp "
  1093.     : "=r"(retvalue)             
  1094.     : "r"(n), "r"(_a), "r"(_b)         
  1095.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1096.     );
  1097.     return retvalue;
  1098. }
  1099.  
  1100. long bios (short n, short a, long b, short c, short d, short e)
  1101. {
  1102.     register long retvalue __asm__("d0");
  1103.     short _a = (a);
  1104.     long  _b =  (b);
  1105.     short _c = (c);
  1106.     short _d = (d);
  1107.     short _e = (e);
  1108.  
  1109.     __asm__ volatile
  1110.     ("
  1111.         movw    %4,sp@-;
  1112.         movw    %3,sp@-;
  1113.         movw    %2,sp@-;
  1114.         movl    %1,sp@-;
  1115.         movw    %0,sp@-    "
  1116.     :                           
  1117.     : "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e)  
  1118.     );
  1119.  
  1120.     __asm__ volatile
  1121.     ("
  1122.         movw    %1,sp@-;
  1123.         trap    #13;
  1124.         addw    #14,sp "
  1125.     : "=r"(retvalue)             
  1126.     : "r"(n)                 
  1127.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1128.     );
  1129.     return retvalue;
  1130. }
  1131.  
  1132. long bios (short n, short a, long b)
  1133. {
  1134.     register long retvalue __asm__("d0");
  1135.     short _a = (a);
  1136.     long  _b =  (b);
  1137.  
  1138.     __asm__ volatile
  1139.     ("
  1140.         movl    %3,sp@-;
  1141.         movw    %2,sp@-;
  1142.         movw    %1,sp@-;
  1143.         trap    #13;
  1144.         addqw   #8,sp "
  1145.     : "=r"(retvalue)             
  1146.     : "r"(n), "r"(_a), "r"(_b)         
  1147.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1148.     );
  1149.     return retvalue;
  1150. }
  1151.  
  1152. long xbios (short n, short a, long b)
  1153. {
  1154.     register long retvalue __asm__("d0");
  1155.     short _a = (a);
  1156.     long  _b =  (b);
  1157.  
  1158.     __asm__ volatile
  1159.     ("
  1160.         movl    %3,sp@-;
  1161.         movw    %2,sp@-;
  1162.         movw    %1,sp@-;
  1163.         trap    #14;
  1164.         addqw   #8,sp "
  1165.     : "=r"(retvalue)             
  1166.     : "r"(n), "r"(_a), "r"(_b)               
  1167.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1168.     );
  1169.     return retvalue;
  1170. }
  1171.  
  1172. long xbios (short n, short a, long b, long c)
  1173. {
  1174.     register long retvalue __asm__("d0");
  1175.     short _a = (a);
  1176.     long  _b =  (b);
  1177.     long  _c =  (c);
  1178.  
  1179.     __asm__ volatile
  1180.     ("
  1181.         movl    %4,sp@-;
  1182.         movl    %3,sp@-;
  1183.         movw    %2,sp@-;
  1184.         movw    %1,sp@-;
  1185.         trap    #14;
  1186.         addw    #12,sp "
  1187.     : "=r"(retvalue)             
  1188.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)      
  1189.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1190.     );
  1191.     return retvalue;
  1192. }
  1193.  
  1194. long xbios (short n, short a)
  1195. {
  1196.     register long retvalue __asm__("d0");
  1197.     short _a = (a);
  1198.  
  1199.     __asm__ volatile
  1200.     ("
  1201.         movw    %2,sp@-;
  1202.         movw    %1,sp@-;
  1203.         trap    #14;
  1204.         addqw   #4,sp "
  1205.     : "=r"(retvalue)             
  1206.     : "r"(n), "r"(_a)             
  1207.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1208.     );
  1209.     return retvalue;
  1210. }
  1211.  
  1212. long xbios (short n)
  1213. {
  1214.     register long retvalue __asm__("d0");
  1215.  
  1216.     __asm__ volatile
  1217.     ("
  1218.         movw    %1,sp@-;
  1219.         trap    #14;
  1220.         addqw   #2,sp "
  1221.     : "=r"(retvalue)             
  1222.     : "r"(n)                 
  1223.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1224.     );
  1225.     return retvalue;
  1226. }
  1227.  
  1228. long xbios (short n, long a, long b, short c)
  1229. {
  1230.     register long retvalue __asm__("d0");
  1231.     long  _a =  (a);
  1232.     long  _b =  (b);
  1233.     short _c = (c);
  1234.  
  1235.     __asm__ volatile
  1236.     ("
  1237.         movw    %4,sp@-;
  1238.         movl    %3,sp@-;
  1239.         movl    %2,sp@-;
  1240.         movw    %1,sp@-;
  1241.         trap    #14;
  1242.         addw    #12,sp "
  1243.     : "=r"(retvalue)             
  1244.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)        
  1245.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1246.     );
  1247.     return retvalue;
  1248. }
  1249.  
  1250. long xbios (short n, long a)
  1251. {
  1252.     register long retvalue __asm__("d0");
  1253.     long  _a =  (a);
  1254.  
  1255.     __asm__ volatile
  1256.     ("
  1257.         movl    %2,sp@-;
  1258.         movw    %1,sp@-;
  1259.         trap    #14;
  1260.         addqw   #6,sp "
  1261.     : "=r"(retvalue)             
  1262.     : "r"(n), "r"(_a)             
  1263.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1264.     );
  1265.     return retvalue;
  1266. }
  1267.  
  1268. long xbios (short n, short a, short b)
  1269. {
  1270.     register long retvalue __asm__("d0");
  1271.     short _a = (a);
  1272.     short _b = (b);
  1273.  
  1274.     __asm__ volatile
  1275.     ("
  1276.         movw    %3,sp@-;
  1277.         movw    %2,sp@-;
  1278.         movw    %1,sp@-;
  1279.         trap    #14;
  1280.         addqw   #6,sp "
  1281.     : "=r"(retvalue)             
  1282.     : "r"(n), "r"(_a), "r"(_b)         
  1283.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1284.     );
  1285.     return retvalue;
  1286. }
  1287.  
  1288. long xbios (short n, long a, long b, short c, short d, short e,
  1289.               short f, short g)
  1290. {
  1291.     register long retvalue __asm__("d0");
  1292.     long  _a =  (a);
  1293.     long  _b =  (b);
  1294.     short _c = (c);
  1295.     short _d = (d);
  1296.     short _e = (e);
  1297.     short _f = (f);
  1298.     short _g = (g);
  1299.  
  1300.     __asm__ volatile
  1301.     ("
  1302.         movw    %4,sp@-;
  1303.         movw    %3,sp@-;
  1304.         movw    %2,sp@-;
  1305.         movw    %1,sp@-;
  1306.         movw    %0,sp@-    "
  1307.     :                           
  1308.     : "r"(_c), "r"(_d), "r"(_e), "r"(_f), "r"(_g)  
  1309.     );
  1310.  
  1311.     __asm__ volatile
  1312.     ("
  1313.         movl    %3,sp@-;
  1314.         movl    %2,sp@-;
  1315.         movw    %1,sp@-;
  1316.         trap    #14;
  1317.         addw    #20,sp "
  1318.     : "=r"(retvalue)             
  1319.     : "r"(n), "r"(_a), "r"(_b)         
  1320.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1321.     );
  1322.     return retvalue;
  1323. }
  1324.  
  1325. long xbios (short n, long a, long b, short c, short d, short e,
  1326.                short f, long g, short h)
  1327. {
  1328.     register long retvalue __asm__("d0");
  1329.     long  _a =  (a);
  1330.     long  _b =  (b);
  1331.     short _c = (c);
  1332.     short _d = (d);
  1333.     short _e = (e);
  1334.     short _f = (f);
  1335.     long  _g =  (g);
  1336.     short _h = (h);
  1337.  
  1338.     __asm__ volatile
  1339.     ("
  1340.         movw    %4,sp@-;
  1341.         movl    %3,sp@-;
  1342.         movw    %2,sp@-;
  1343.         movw    %1,sp@-;
  1344.         movw    %0,sp@- "
  1345.     :                           
  1346.     : "r"(_d), "r"(_e), "r"(_f), "r"(_g), "r"(_h)  
  1347.     );
  1348.  
  1349.     __asm__ volatile
  1350.     ("
  1351.         movw    %4,sp@-;
  1352.         movl    %3,sp@-;
  1353.         movl    %2,sp@-;
  1354.         movw    %1,sp@-;
  1355.         trap    #14;
  1356.         addw    #24,sp "
  1357.     : "=r"(retvalue)                
  1358.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)         
  1359.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1360.     );
  1361.     return retvalue;
  1362. }
  1363.  
  1364. long xbios (short n, long a, long b, short c, short d, short e,
  1365.             short f, short g, long h, short i)
  1366. {
  1367.     register long retvalue __asm__("d0");
  1368.     long  _a =  (a);
  1369.     long  _b =  (b);
  1370.     short _c = (c);
  1371.     short _d = (d);
  1372.     short _e = (e);
  1373.     short _f = (f);
  1374.     short _g = (g);
  1375.     long  _h =  (h);
  1376.     short _i = (i);
  1377.  
  1378.     __asm__ volatile
  1379.     ("
  1380.         movw    %4,sp@-;
  1381.         movl    %3,sp@-;
  1382.         movw    %2,sp@-;
  1383.         movw    %1,sp@-;
  1384.         movw    %0,sp@- "
  1385.     :                           
  1386.     : "r"(_e), "r"(_f), "r"(_g), "r"(_h), "r"(_i)  
  1387.     );
  1388.  
  1389.     __asm__ volatile
  1390.     ("
  1391.         movw    %4,sp@-;
  1392.         movw    %3,sp@-;
  1393.         movl    %2,sp@-;
  1394.         movl    %1,sp@-;
  1395.                 movw    %0,sp@- "
  1396.     :                          
  1397.     : "r"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d)  
  1398.     );
  1399.  
  1400.     __asm__ volatile
  1401.     ("
  1402.         trap    #14;
  1403.         addw    #26,sp "
  1404.     : "=r"(retvalue)             
  1405.     :                      
  1406.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1407.     );
  1408.     return retvalue;
  1409. }
  1410.  
  1411.  
  1412. long xbios (short n, short a, short b, short c, short d, short e,
  1413.              short f)
  1414. {
  1415.     register long retvalue __asm__("d0");
  1416.     short _a = (a);
  1417.     short _b = (b);
  1418.     short _c = (c);
  1419.     short _d = (d);
  1420.     short _e = (e);
  1421.     short _f = (f);
  1422.  
  1423.     __asm__ volatile
  1424.     ("
  1425.         movw    %4,sp@-;
  1426.         movw    %3,sp@-;
  1427.         movw    %2,sp@-;
  1428.         movw    %1,sp@-;
  1429.         movw    %0,sp@- "
  1430.     :                             
  1431.     : "r"(_b), "r"(_c), "r"(_d), "r"(_e), "r"(_f)     
  1432.     );
  1433.  
  1434.     __asm__ volatile
  1435.     ("
  1436.         movw    %2,sp@-;
  1437.         movw    %1,sp@-;
  1438.         trap    #14;
  1439.         addw    #14,sp "
  1440.     : "=r"(retvalue)             
  1441.     : "r"(n), "r"(_a)             
  1442.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1443.     );
  1444.     return retvalue;
  1445. }
  1446.  
  1447. long xbios (short n, long a, long b, long c)
  1448. {
  1449.     register long retvalue __asm__("d0");
  1450.     long  _a =  (a);
  1451.     long  _b =  (b);
  1452.     long  _c =  (c);
  1453.  
  1454.     __asm__ volatile
  1455.     ("
  1456.         movl    %4,sp@-;
  1457.         movl    %3,sp@-;
  1458.         movl    %2,sp@-;
  1459.         movw    %1,sp@-;
  1460.         trap    #14;
  1461.         addw    #14,sp "
  1462.     : "=r"(retvalue)             
  1463.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)      
  1464.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1465.     );
  1466.     return retvalue;
  1467. }
  1468.  
  1469. long xbios (short n, long a, long b, short c, short d)
  1470. {
  1471.     register long retvalue __asm__("d0");
  1472.     long  _a =  (a);
  1473.     long  _b =  (b);
  1474.     short _c = (c);
  1475.     short _d = (d);
  1476.  
  1477.     __asm__ volatile
  1478.     ("
  1479.         movw    %3,sp@-;
  1480.         movw    %2,sp@-;
  1481.         movl    %1,sp@-;
  1482.         movl    %0,sp@- "
  1483.     :                     
  1484.     : "r"(_a), "r"(_b), "r"(_c), "r"(_d)     
  1485.     );
  1486.  
  1487.     __asm__ volatile
  1488.     ("
  1489.         movw    %1,sp@-;
  1490.         trap    #14;
  1491.         addw    #14,sp "
  1492.     : "=r"(retvalue)             
  1493.     : "r"(n)                 
  1494.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1495.     );
  1496.     return retvalue;
  1497. }
  1498.  
  1499. long xbios (short n, short a, short b, short c, long d)
  1500. {
  1501.     register long retvalue __asm__("d0");
  1502.     short _a = (a);
  1503.     short _b = (b);
  1504.     short _c = (c);
  1505.     long  _d =  (d);
  1506.  
  1507.     __asm__ volatile
  1508.     ("
  1509.         movl    %3,sp@-;
  1510.         movw    %2,sp@-;
  1511.         movw    %1,sp@-;
  1512.         movw    %0,sp@- "
  1513.     :                         
  1514.     : "r"(_a), "r"(_b), "r"(_c), "r"(_d)         
  1515.     );
  1516.  
  1517.     __asm__ volatile
  1518.     ("
  1519.         movw    %1,sp@-;
  1520.         trap    #14;
  1521.         addw    #12,sp "
  1522.     : "=r"(retvalue)             
  1523.     : "r"(n)                 
  1524.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1525.     );
  1526.     return retvalue;
  1527. }
  1528.  
  1529.  
  1530. long xbios (short n, short a, short b, long c)
  1531. {
  1532.     register long retvalue __asm__("d0");
  1533.     short _a = (a);
  1534.     short _b = (b);
  1535.     long  _c = (c);
  1536.  
  1537.     __asm__ volatile
  1538.     ("
  1539.         movl    %4,sp@-;
  1540.         movw    %3,sp@-;
  1541.         movw    %2,sp@-;
  1542.         movw    %1,sp@-;
  1543.         trap    #14;
  1544.         addqw   #6,sp "
  1545.     : "=r"(retvalue)             
  1546.     : "r"(n), "r"(_a), "r"(_b), "r"(_c)     
  1547.     : "d0", "d1", "d2", "a0", "a1", "a2"     
  1548.     );
  1549.     return retvalue;
  1550. }
  1551.