home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-30 | 27.1 KB | 1,551 lines |
- # 1 "osbind.c"
-
-
-
-
-
-
-
-
- #define __NO_INLINE__
-
- # 1 "/local/x68/include/osbind.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #define _OSBIND_H
-
-
- # 1 "/local/x68/include/compiler.h" 1 3
-
-
-
-
-
-
-
- #define _COMPILER_H
-
-
-
- #define __MINT__
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #define __SIZE_TYPEDEF__ unsigned long
- #define __PTRDIFF_TYPEDEF__ long
- #define __WCHAR_TYPEDEF__ int
- # 54 "/local/x68/include/compiler.h" 3
-
- #define __EXITING volatile void
-
-
-
-
-
- # 69 "/local/x68/include/compiler.h" 3
-
-
-
-
-
-
-
-
-
- # 98 "/local/x68/include/compiler.h" 3
-
-
- # 113 "/local/x68/include/compiler.h" 3
-
-
-
-
-
-
-
-
- #define __VA_LIST__ char *
-
-
-
- #define __CDECL
-
-
-
-
- #define __NULL ((void *)0)
-
-
-
-
-
-
-
-
-
-
-
-
- #define __PROTO(x) x
-
- #define __EXTERN
- # 159 "/local/x68/include/compiler.h" 3
-
-
-
-
-
-
-
-
- #define _UID_T unsigned short
- #define _GID_T unsigned short
- #define _PID_T int
-
-
- # 103 "/local/x68/include/osbind.h" 2 3
-
-
-
-
-
-
-
-
- # 1 "/local/x68/include/ostruct.h" 1 3
-
- #define _OSTRUCT_H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- typedef struct {
- long b_free;
- long b_total;
- long b_secsiz;
- long b_clsiz;
- } _DISKINFO;
-
-
- typedef struct {
- short time;
- short date;
- } _DOSTIME;
-
-
- typedef struct
- {
- unsigned char maxlen;
- unsigned char actuallen;
- char buffer[255];
- } _CCONLINE;
-
-
-
-
-
-
- typedef struct _dta {
- char dta_buf[21];
- char dta_attribute;
- unsigned short dta_time;
- unsigned short dta_date;
- long dta_size;
- char dta_name[14];
- } _DTA;
-
-
-
- #define FA_RDONLY 0x01
- #define FA_HIDDEN 0x02
- #define FA_SYSTEM 0x04
- #define FA_LABEL 0x08
- #define FA_DIR 0x10
- #define FA_CHANGED 0x20
-
-
-
- #define PE_LOADGO 0
- #define PE_LOAD 3
- #define PE_GO 4
- #define PE_CBASEPAGE 5
-
-
-
- #define PE_GO_FREE 6
-
-
-
- #define PE_ASYNC_LOADGO 100
- #define PE_ASYNC_GO 104
- #define PE_ASYNC_GO_FREE 106
- #define PE_OVERLAY 200
-
-
-
-
-
-
-
- #define _PRT 0
- #define _AUX 1
- #define _CON 2
- #define _MIDI 3
- #define _IKBD 4
- #define _RAWCON 5
-
-
- typedef struct {
- short recsiz;
- short clsiz;
- short clsizb;
- short rdlen;
- short fsiz;
- short fatrec;
- short datrec;
- short numcl;
- short bflags;
- } _BPB;
-
-
-
-
- typedef struct _md {
- struct _md *md_next;
- long md_start;
- long md_length;
- long md_owner;
- } _MD;
-
-
- typedef struct {
- _MD *mp_free;
- _MD *mp_used;
- _MD *mp_rover;
- } _MPB;
-
-
-
-
-
-
-
- #define CURS_HIDE 0
- #define CURS_SHOW 1
- #define CURS_BLINK 2
- #define CURS_NOBLINK 3
- #define CURS_SETRATE 4
- #define CURS_GETRATE 5
-
-
- typedef struct {
- char *ibuf;
- short ibufsiz;
- short ibufhd;
- short ibuftl;
- short ibuflow;
- short ibufhi;
- } _IOREC;
-
-
- typedef struct {
- char topmode;
- char buttons;
- char xparam;
- char yparam;
- } _PARAM;
-
-
- typedef struct {
- void (*midivec) (void) ;
- void (*vkbderr) (void) ;
- void (*vmiderr) (void) ;
- void (*statvec) (void *) ;
- void (*mousevec) (void *) ;
- void (*clockvec) (void *) ;
- void (*joyvec) (void *) ;
- long (*midisys) (void) ;
- long (*ikbdsys) (void) ;
- char kbstate;
- } _KBDVECS;
-
-
- typedef struct {
- void *unshift;
- void *shift;
- void *caps;
- } _KEYTAB;
-
-
- typedef struct
- {
- void *pb_scrptr;
- int pb_offset;
- int pb_width;
- int pb_height;
- int pb_left;
- int pb_right;
- int pb_screz;
- int pb_prrez;
- void *pb_colptr;
- int pb_prtype;
- int pb_prport;
- void *pb_mask;
- } _PBDEF;
-
-
-
-
-
-
- # 111 "/local/x68/include/osbind.h" 2 3
-
-
-
- # 272 "/local/x68/include/osbind.h" 3
-
-
-
-
-
- # 989 "/local/x68/include/osbind.h" 3
-
-
-
-
-
-
-
-
-
-
-
-
- # 1034 "/local/x68/include/osbind.h" 3
-
-
- long gemdos (short, ...) ;
- long bios (short, ...) ;
- long xbios (short, ...) ;
-
- #define trap_1_w gemdos
- #define trap_1_ww gemdos
- #define trap_1_wl gemdos
- #define trap_1_wlw gemdos
- #define trap_1_www gemdos
- #define trap_1_wll gemdos
- #define trap_1_wwll gemdos
- #define trap_1_wlww gemdos
- #define trap_1_wwlll gemdos
-
- #define trap_13_w bios
- #define trap_13_ww bios
- #define trap_13_wl bios
- #define trap_13_www bios
- #define trap_13_wwl bios
- #define trap_13_wwlwww bios
-
- #define trap_14_w xbios
- #define trap_14_ww xbios
- #define trap_14_wl xbios
- #define trap_14_www xbios
- #define trap_14_wwl xbios
- #define trap_14_wwll xbios
- #define trap_14_wllw xbios
- #define trap_14_wlll xbios
- #define trap_14_wwwl xbios
- #define trap_14_wwwwl xbios
- #define trap_14_wllww xbios
- #define trap_14_wwwwwww xbios
- #define trap_14_wllwwwww xbios
- #define trap_14_wllwwwwlw xbios
- #define trap_14_wllwwwwwlw xbios
-
-
-
-
-
-
-
-
-
-
-
- #define Pterm0() (void)trap_1_w((short)(0x00))
-
- #define Cconin() (long)trap_1_w((short)(0x01))
-
- #define Cconout(c) (void)trap_1_ww((short)(0x02),(short)(c))
-
- #define Cauxin() (long)trap_1_w((short)(0x03))
-
- #define Cauxout(c) (void)trap_1_ww((short)(0x04),(short)(c))
-
- #define Cprnout(c) (void)trap_1_ww((short)(0x05),(short)(c))
-
- #define Crawio(data) (long)trap_1_ww((short)(0x06),(short)(data))
-
- #define Crawcin() (long)trap_1_w((short)(0x07))
-
- #define Cnecin() (long)trap_1_w((short)(0x08))
-
- #define Cconws(s) (void)trap_1_wl((short)(0x09),(long)(s))
-
- #define Cconrs(buf) (void)trap_1_wl((short)(0x0A),(long)(buf))
-
- #define Cconis() (short)trap_1_w((short)(0x0B))
-
- #define Dsetdrv(d) (long)trap_1_ww((short)(0x0E),(short)(d))
-
- #define Cconos() (short)trap_1_w((short)(0x10))
-
- #define Cprnos() (short)trap_1_w((short)(0x11))
-
- #define Cauxis() (short)trap_1_w((short)(0x12))
-
- #define Cauxos() (short)trap_1_w((short)(0x13))
-
- #define Dgetdrv() (short)trap_1_w((short)(0x19))
-
- #define Fsetdta(dta) (void)trap_1_wl((short)(0x1A),(long)(dta))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #define Super(ptr) (long)trap_1_wl((short)(0x20),(long)(ptr))
-
-
- #define Tgetdate() (short)trap_1_w((short)(0x2A))
-
- #define Tsetdate(date) (long)trap_1_ww((short)(0x2B),(short)(date))
-
- #define Tgettime() (short)trap_1_w((short)(0x2C))
-
- #define Tsettime(time) (long)trap_1_ww((short)(0x2D),(short)(time))
-
- #define Fgetdta() (_DTA *)trap_1_w((short)(0x2F))
-
- #define Sversion() (short)trap_1_w((short)(0x30))
-
- #define Ptermres(save,rv) (void)trap_1_wlw((short)(0x31),(long)(save),(short)(rv))
-
- #define Dfree(buf,d) (long)trap_1_wlw((short)(0x36),(long)(buf),(short)(d))
-
- #define Dcreate(path) (short)trap_1_wl((short)(0x39),(long)(path))
-
- #define Ddelete(path) (long)trap_1_wl((short)(0x3A),(long)(path))
-
- #define Dsetpath(path) (long)trap_1_wl((short)(0x3B),(long)(path))
-
- #define Fcreate(fn,mode) (long)trap_1_wlw((short)(0x3C),(long)(fn),(short)(mode))
-
- #define Fopen(fn,mode) (long)trap_1_wlw((short)(0x3D),(long)(fn),(short)(mode))
-
- #define Fclose(handle) (long)trap_1_ww((short)(0x3E),(short)(handle))
-
- #define Fread(handle,cnt,buf) (long)trap_1_wwll((short)(0x3F),(short)(handle), (long)(cnt),(long)(buf))
-
-
- #define Fwrite(handle,cnt,buf) (long)trap_1_wwll((short)(0x40),(short)(handle), (long)(cnt),(long)(buf))
-
-
- #define Fdelete(fn) (long)trap_1_wl((short)(0x41),(long)(fn))
-
- #define Fseek(where,handle,how) (long)trap_1_wlww((short)(0x42),(long)(where), (short)(handle),(short)(how))
-
-
- #define Fattrib(fn,rwflag,attr) (short)trap_1_wlww((short)(0x43),(long)(fn), (short)(rwflag),(short)(attr))
-
-
- #define Fdup(handle) (long)trap_1_ww((short)(0x45),(short)(handle))
-
- #define Fforce(Hstd,Hnew) (long)trap_1_www((short)(0x46),(short)(Hstd),(short)(Hnew))
-
- #define Dgetpath(buf,d) (long)trap_1_wlw((short)(0x47),(long)(buf),(short)(d))
-
- #define Malloc(size) (long)trap_1_wl((short)(0x48),(long)(size))
-
- #define Mfree(ptr) (long)trap_1_wl((short)(0x49),(long)(ptr))
-
- #define Mshrink(ptr,size) (long)trap_1_wwll((short)(0x4A),(short)0,(long)(ptr),(long)(size))
-
- #define Pexec(mode,prog,tail,env) (long)trap_1_wwlll((short)(0x4B),(short)(mode),(long)(prog), (long)(tail),(long)(env))
-
-
- #define Pterm(rv) (void)trap_1_ww((short)(0x4C),(short)(rv))
-
- #define Fsfirst(filespec,attr) (long)trap_1_wlw((short)(0x4E),(long)(filespec),(short)(attr))
-
- #define Fsnext() (long)trap_1_w((short)(0x4F))
-
- #define Frename(zero,old,new) (short)trap_1_wwll((short)(0x56),(short)(zero), (long)(old),(long)(new))
-
-
- #define Fdatime(timeptr,handle,rwflag) (long)trap_1_wlww((short)(0x57),(long)(timeptr), (short)(handle),(short)(rwflag))
-
-
-
-
-
-
-
-
- #define Getmpb(ptr) (void)trap_13_wl((short)(0x00),(long)(ptr))
-
- #define Bconstat(dev) (short)trap_13_ww((short)(0x01),(short)(dev))
-
- #define Bconin(dev) (long)trap_13_ww((short)(0x02),(short)(dev))
-
- #define Bconout(dev,c) (long)trap_13_www((short)(0x03),(short)(dev),(short)((c) & 0xFF))
-
-
- #define Rwabs(rwflag,buf,n,sector,d) (long)trap_13_wwlwww((short)(0x04),(short)(rwflag),(long)(buf), (short)(n),(short)(sector),(short)(d))
-
-
- #define Setexc(vnum,vptr) (void (*) __PROTO((void)))trap_13_wwl((short)(0x05),(short)(vnum),(long)(vptr))
-
- #define Tickcal() (long)trap_13_w((short)(0x06))
-
- #define Getbpb(d) (void *)trap_13_ww((short)(0x07),(short)(d))
-
- #define Bcostat(dev) (short)trap_13_ww((short)(0x08),(short)(dev))
-
- #define Mediach(dev) (short)trap_13_ww((short)(0x09),(short)(dev))
-
- #define Drvmap() (long)trap_13_w((short)(0x0A))
-
- #define Kbshift(data) (long)trap_13_ww((short)(0x0B),(short)(data))
-
- #define Getshift() Kbshift(-1)
-
-
-
-
-
-
-
- #define Initmous(type,param,vptr) (void)trap_14_wwll((short)(0x00),(short)(type), (long)(param),(long)(vptr))
-
-
- #define Ssbrk(size) (void *)trap_14_ww((short)(0x01),(short)(size))
-
- #define Physbase() (void *)trap_14_w((short)(0x02))
-
- #define Logbase() (void *)trap_14_w((short)(0x03))
-
- #define Getrez() (short)trap_14_w((short)(0x04))
-
- #define Setscreen(lscrn,pscrn,rez) (void)trap_14_wllw((short)(0x05),(long)(lscrn),(long)(pscrn), (short)(rez))
-
-
- #define Setpallete(palptr) (void)trap_14_wl((short)(0x06),(long)(palptr))
-
- #define Setcolor(colornum,mixture) (short)trap_14_www((short)(0x07),(short)(colornum),(short)(mixture))
-
- #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))
-
-
- #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))
-
-
- #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))
-
-
-
- #define Midiws(cnt,ptr) (void)trap_14_wwl((short)(0x0C),(short)(cnt),(long)(ptr))
-
- #define Mfpint(vnum,vptr) (void)trap_14_wwl((short)(0x0D),(short)(vnum),(long)(vptr))
-
- #define Iorec(ioDEV) (void *)trap_14_ww((short)(0x0E),(short)(ioDEV))
-
- #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))
-
-
-
- #define Keytbl(nrml,shft,caps) (void *)trap_14_wlll((short)(0x10),(long)(nrml), (long)(shft),(long)(caps))
-
-
- #define Random() (long)trap_14_w((short)(0x11))
-
- #define Protobt(buf,serial,dsktyp,exec) (void)trap_14_wllww((short)(0x12),(long)(buf),(long)(serial), (short)(dsktyp),(short)(exec))
-
-
- #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))
-
-
- #define Scrdmp() (void)trap_14_w((short)(0x14))
-
- #define Cursconf(rate,attr) (short)trap_14_www((short)(0x15),(short)(rate),(short)(attr))
-
- #define Settime(time) (void)trap_14_wl((short)(0x16),(long)(time))
-
- #define Gettime() (long)trap_14_w((short)(0x17))
-
- #define Bioskeys() (void)trap_14_w((short)(0x18))
-
- #define Ikbdws(len_minus1,ptr) (void)trap_14_wwl((short)(0x19),(short)(len_minus1),(long)(ptr))
-
- #define Jdisint(vnum) (void)trap_14_ww((short)(0x1A),(short)(vnum))
-
- #define Jenabint(vnum) (void)trap_14_ww((short)(0x1B),(short)(vnum))
-
- #define Giaccess(data,reg) (short)trap_14_www((short)(0x1C),(short)(data),(short)(reg))
-
- #define Offgibit(ormask) (void)trap_14_ww((short)(0x1D),(short)(ormask))
-
- #define Ongibit(andmask) (void)trap_14_ww((short)(0x1E),(short)(andmask))
-
- #define Xbtimer(timer,ctrl,data,vptr) (void)trap_14_wwwwl((short)(0x1F),(short)(timer),(short)(ctrl), (short)(data),(long)(vptr))
-
-
- #define Dosound(ptr) (void)trap_14_wl((short)(0x20),(long)(ptr))
-
- #define Setprt(config) (short)trap_14_ww((short)(0x21),(short)(config))
-
- #define Kbdvbase() (_KBDVECS*)trap_14_w((short)(0x22))
-
- #define Kbrate(delay,reprate) (short)trap_14_www((short)(0x23),(short)(delay),(short)(reprate))
-
- #define Prtblk(pblkptr) (void)trap_14_wl((short)(0x24),(long)(pblkptr))
-
- #define Vsync() (void)trap_14_w((short)(0x25))
-
- #define Supexec(funcptr) (long)trap_14_wl((short)(0x26),(long)(funcptr))
-
- #define Blitmode(flag) (short)trap_14_ww((short)(0x40),(short)(flag))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #define Mxalloc(amt,flag) (long)trap_1_wlw((short)(0x44),(long)(amt),(short)(flag))
-
- #define Maddalt(start,size) (long)trap_1_wll((short)(0x14),(long)(start),(long)(size))
-
-
- #define Setpalette(palptr) (void)trap_14_wl((short)(0x06),(long)(palptr))
-
- #define EsetShift(mode) (void)trap_14_ww((short)(80),(short)mode)
-
- #define EgetShift() (short)trap_14_w((short)(81))
-
- #define EsetBank(bank) (short)trap_14_ww((short)(82),(short)bank)
-
- #define EsetColor(num,val) (short)trap_14_www((short)(83),(short)num,(short)val)
-
- #define EsetPalette(start,count,ptr) (void)trap_14_wwwl((short)(84),(short)start,(short)count,(long)ptr)
-
- #define EgetPalette(start,count,ptr) (void)trap_14_wwwl((short)(85),(short)start,(short)count,(long)ptr)
-
- #define EsetGray(mode) (short)trap_14_ww((short)(86),(short)mode)
-
- #define EsetSmear(mode) (short)trap_14_ww((short)(87),(short)mode)
-
-
- #define DMAread(sector,count,buffer,devno) (long)trap_14_wlwlw((short)0x2a,(long)sector,(short)count,(long)buffer, (short)devno)
-
-
- #define DMAwrite(sector,count,buffer,devno) (long)trap_14_wlwlw((short)0x2b,(long)sector,(short)count,(long)buffer, (short)devno)
-
-
- #define Bconmap(dev) (long)trap_14_ww((short)0x2c,(short)(dev))
-
- #define NVMaccess(op,start,count,buf) (short)trap_14_wwwwl((short)0x2e,(short)op,(short)start,(short)count, (long)buf)
-
-
-
-
-
- #define Waketime(w_date, w_time) (void)trap_14_www((short)(0x2f),(unsigned short)(w_date), (unsigned short)(w_time))
-
-
-
-
-
-
-
-
-
-
- # 11 "osbind.c" 2
-
-
- long gemdos (short n)
- {
- register long retvalue __asm__("d0");
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #1;
- addqw #2,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, short a)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
-
- __asm__ volatile
- ("
- movw %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addqw #4,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, long a)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
-
- __asm__ volatile
- ("
- movl %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, long a, short b)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- short _b = (b);
-
- __asm__ volatile
- ("
- movw %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addqw #8,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, short a, long b, long c)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
- long _c = (c);
-
- __asm__ volatile
- ("
- movl %4,sp@-;
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addw #12,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, long a, short b, short c)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- short _b = (b);
- short _c = (c);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movw %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addw #10,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, short a, short b)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
-
- __asm__ volatile
- ("
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, long a, long b)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
-
- __asm__ volatile
- ("
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #1;
- addw #10,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long gemdos (short n, short a, long b, long c, long d)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
- long _c = (c);
- long _d = (d);
-
- __asm__ volatile
- ("
- movl %4,sp@-;
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d)
- );
-
-
- __asm__ volatile
- ("
- trap #1;
- addw #16,sp "
- : "=r"(retvalue)
- :
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n, long a)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
-
- __asm__ volatile
- ("
- movl %2,sp@-;
- movw %1,sp@-;
- trap #13;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n)
- {
- register long retvalue __asm__("d0");
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #13;
- addqw #2,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n, short a)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
-
- __asm__ volatile
- ("
- movw %2,sp@-;
- movw %1,sp@-;
- trap #13;
- addqw #4,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n, short a, short b)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
-
- __asm__ volatile
- ("
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #13;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n, short a, long b, short c, short d, short e)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
- short _c = (c);
- short _d = (d);
- short _e = (e);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movw %3,sp@-;
- movw %2,sp@-;
- movl %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e)
- );
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #13;
- addw #14,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long bios (short n, short a, long b)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
-
- __asm__ volatile
- ("
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #13;
- addqw #8,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, short a, long b)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
-
- __asm__ volatile
- ("
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addqw #8,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, short a, long b, long c)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- long _b = (b);
- long _c = (c);
-
- __asm__ volatile
- ("
- movl %4,sp@-;
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #12,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, short a)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
-
- __asm__ volatile
- ("
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addqw #4,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n)
- {
- register long retvalue __asm__("d0");
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #14;
- addqw #2,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, short c)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- short _c = (c);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #12,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
-
- __asm__ volatile
- ("
- movl %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, short a, short b)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
-
- __asm__ volatile
- ("
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, short c, short d, short e,
- short f, short g)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- short _c = (c);
- short _d = (d);
- short _e = (e);
- short _f = (f);
- short _g = (g);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_c), "r"(_d), "r"(_e), "r"(_f), "r"(_g)
- );
-
- __asm__ volatile
- ("
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #20,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, short c, short d, short e,
- short f, long g, short h)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- short _c = (c);
- short _d = (d);
- short _e = (e);
- short _f = (f);
- long _g = (g);
- short _h = (h);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_d), "r"(_e), "r"(_f), "r"(_g), "r"(_h)
- );
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #24,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, short c, short d, short e,
- short f, short g, long h, short i)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- short _c = (c);
- short _d = (d);
- short _e = (e);
- short _f = (f);
- short _g = (g);
- long _h = (h);
- short _i = (i);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_e), "r"(_f), "r"(_g), "r"(_h), "r"(_i)
- );
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movw %3,sp@-;
- movl %2,sp@-;
- movl %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d)
- );
-
- __asm__ volatile
- ("
- trap #14;
- addw #26,sp "
- : "=r"(retvalue)
- :
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
-
- long xbios (short n, short a, short b, short c, short d, short e,
- short f)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
- short _c = (c);
- short _d = (d);
- short _e = (e);
- short _f = (f);
-
- __asm__ volatile
- ("
- movw %4,sp@-;
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_b), "r"(_c), "r"(_d), "r"(_e), "r"(_f)
- );
-
- __asm__ volatile
- ("
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #14,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, long c)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- long _c = (c);
-
- __asm__ volatile
- ("
- movl %4,sp@-;
- movl %3,sp@-;
- movl %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addw #14,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, long a, long b, short c, short d)
- {
- register long retvalue __asm__("d0");
- long _a = (a);
- long _b = (b);
- short _c = (c);
- short _d = (d);
-
- __asm__ volatile
- ("
- movw %3,sp@-;
- movw %2,sp@-;
- movl %1,sp@-;
- movl %0,sp@- "
- :
- : "r"(_a), "r"(_b), "r"(_c), "r"(_d)
- );
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #14;
- addw #14,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
- long xbios (short n, short a, short b, short c, long d)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
- short _c = (c);
- long _d = (d);
-
- __asm__ volatile
- ("
- movl %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- movw %0,sp@- "
- :
- : "r"(_a), "r"(_b), "r"(_c), "r"(_d)
- );
-
- __asm__ volatile
- ("
- movw %1,sp@-;
- trap #14;
- addw #12,sp "
- : "=r"(retvalue)
- : "r"(n)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-
-
- long xbios (short n, short a, short b, long c)
- {
- register long retvalue __asm__("d0");
- short _a = (a);
- short _b = (b);
- long _c = (c);
-
- __asm__ volatile
- ("
- movl %4,sp@-;
- movw %3,sp@-;
- movw %2,sp@-;
- movw %1,sp@-;
- trap #14;
- addqw #6,sp "
- : "=r"(retvalue)
- : "r"(n), "r"(_a), "r"(_b), "r"(_c)
- : "d0", "d1", "d2", "a0", "a1", "a2"
- );
- return retvalue;
- }
-