2708 lines
62 KiB
C
2708 lines
62 KiB
C
/*
|
|
* todo
|
|
*/
|
|
|
|
#ifndef __TOS_H__
|
|
#define __TOS_H__
|
|
|
|
#ifndef BYTE
|
|
#define BYTE char
|
|
#endif
|
|
|
|
#ifndef UBYTE
|
|
#define UBYTE unsigned char
|
|
#endif
|
|
|
|
#ifndef WORD
|
|
#define WORD short int
|
|
#endif
|
|
|
|
#ifndef UWORD
|
|
#define UWORD unsigned short int
|
|
#endif
|
|
|
|
#ifndef LONG
|
|
#define LONG long int
|
|
#endif
|
|
|
|
#ifndef ULONG
|
|
#define ULONG unsigned long int
|
|
#endif
|
|
|
|
#ifndef VOIDP
|
|
#define VOIDP void*
|
|
#endif
|
|
|
|
#ifndef VOID
|
|
#define VOID void
|
|
#endif
|
|
|
|
/* BIOS Errors */
|
|
|
|
#define E_OK 0
|
|
#define ERROR -1
|
|
#define EDRVNR -2
|
|
#define EUNCMD -3
|
|
#define E_CRC -4
|
|
#define EBADRQ -5
|
|
#define E_SEEK -6
|
|
#define EMEDIA -7
|
|
#define ESECNF -8
|
|
#define EPAPER -9
|
|
#define EWRITF -10
|
|
#define EREADF -11
|
|
#define EGENRL -12
|
|
#define EWRPRO -13
|
|
#define E_CHNG -14
|
|
#define EUNDEV -15
|
|
#define EBADSF -16
|
|
#define EOTHER -17
|
|
#define EINSERT -18
|
|
#define EDVNRSP -19
|
|
|
|
/* Variables used by BIOS */
|
|
|
|
#define DEV_PRINTER 0
|
|
#define DEV_AUX 1
|
|
#define DEV_CONSOLE 2
|
|
#define DEV_MIDI 3
|
|
#define DEV_IKBD 4
|
|
#define DEV_RAW 5
|
|
|
|
#define RW_READ 0
|
|
#define RW_WRITE 0
|
|
#define RW_NOMEDIACH 1
|
|
#define RW_NORETRIES 2
|
|
#define RW_NOTRANSLATE 3
|
|
|
|
#define VEC_BUSERROR 0x02
|
|
#define VEC_ADDRESSERROR 0x03
|
|
#define VEC_ILLEGALINSTRUCTION 0x04
|
|
#define VEC_GEMDOS 0x21
|
|
#define VEC_GEM 0x22
|
|
#define VEC_BIOS 0x2d
|
|
#define VEC_XBIOS 0x2e
|
|
#define VEC_TIMER 0x100
|
|
#define VEC_CRITICALERROR 0x101
|
|
#define VEC_CRITICALERR VEC_CRITICALERROR
|
|
#define VEC_TERMINATE 0x102
|
|
#define VEC_PROCTERM VEC_TERMINATE
|
|
#define VEC_INQUIRE ((VOIDP)-1)
|
|
|
|
#define MED_NOCHANGE 0
|
|
#define MED_UNKNOWN 1
|
|
#define MED_CHANGED 2
|
|
|
|
#define K_RSHIFT 0x0001
|
|
#define K_LSHIFT 0x0002
|
|
#define K_CTRL 0x0004
|
|
#define K_ALT 0x0008
|
|
#define K_CAPSLOCK 0x0010
|
|
#define K_CLRHOME 0x0020
|
|
#define K_INSERT 0x0040
|
|
|
|
typedef struct
|
|
{
|
|
BYTE d_reserved[21];
|
|
BYTE d_attrib;
|
|
UWORD d_time;
|
|
UWORD d_date;
|
|
LONG d_length;
|
|
char d_fname[14];
|
|
} DTA;
|
|
|
|
typedef struct __pd
|
|
{
|
|
VOID *p_lowtpa;
|
|
VOID *p_hitpa;
|
|
VOID *p_tbase;
|
|
LONG p_tlen;
|
|
VOID *p_dbase;
|
|
LONG p_dlen;
|
|
VOID *p_bbase;
|
|
LONG p_blen;
|
|
DTA *p_dta;
|
|
|
|
struct __pd *p_parent;
|
|
|
|
WORD p_res0;
|
|
WORD p_res1;
|
|
BYTE *p_env;
|
|
BYTE p_devx[6];
|
|
BYTE p_res2;
|
|
BYTE p_defdrv;
|
|
LONG p_res3[18];
|
|
BYTE p_cmdlin[128];
|
|
} PD;
|
|
|
|
#define BASEPAGE PD
|
|
|
|
typedef struct __md
|
|
{
|
|
struct __md *m_link;
|
|
VOIDP m_start;
|
|
LONG m_length;
|
|
BASEPAGE *m_own;
|
|
} MD;
|
|
|
|
typedef struct
|
|
{
|
|
MD *mp_mfl;
|
|
MD *mp_mal;
|
|
MD *mp_rover;
|
|
} MPB;
|
|
|
|
typedef struct
|
|
{
|
|
WORD recsiz;
|
|
WORD clsiz;
|
|
WORD clsizb;
|
|
WORD rdlen;
|
|
WORD fsiz;
|
|
WORD fatrec;
|
|
WORD datrec;
|
|
WORD numcl;
|
|
WORD bflags;
|
|
} BPB;
|
|
|
|
/* BIOS Calls */
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Getmpb(__reg("a0")MPB*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#0,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Bconstat(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#1,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Bconin(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#2,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Bconout(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#3,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Rwabs(__reg("d0")WORD,__reg("a0")VOIDP,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#4,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Setexc(__reg("d0")WORD,__reg("a0")VOID(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#5,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Tickcal(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#6,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") BPB* Getbpb(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#7,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Bcostat(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#8,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Mediach(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#9,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") ULONG Drvmap(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#10,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Kbshift(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#11,-(sp)\n"
|
|
"\ttrap\t#13\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
/* Variables used by XBIOS */
|
|
|
|
#define IM_DISABLE 0
|
|
#define IM_RELATIVE 1
|
|
#define IM_ABSOLUTE 2
|
|
#define IM_KEYCODE 4
|
|
|
|
#define IM_YBOT 0
|
|
#define IM_YTOP 1
|
|
#define IM_PACKETS 2
|
|
#define IM_KEYS 3
|
|
|
|
#define SCR_NOCHANGE -1
|
|
#define SCR_MODECODE 3
|
|
|
|
#define COL_INQUIRE -1
|
|
|
|
#define FLOP_DRIVEA 0
|
|
#define FLOP_DRIVEB 1
|
|
|
|
#define FLOP_NOSKEW 1
|
|
#define FLOP_SKEW -1
|
|
|
|
#define FLOP_MAGIC 0x8754321
|
|
#define FLOP_VIRGIN 0xe5e5
|
|
|
|
#define FLOPPY_DSDD 0
|
|
#define FLOPPY_DSHD 1
|
|
#define FLOPPY_DSED 2
|
|
|
|
#define DB_NULLSTRING 0xf000
|
|
#define DB_COMMAND 0xf100
|
|
|
|
#define MFP_PARALLEL 0
|
|
#define MFP_DCD 1
|
|
#define MFP_CTS 2
|
|
#define MFP_BITBLT 3
|
|
#define MFP_TIMERD 4
|
|
#define MFP_BAUDRATE MFP_TIMERD
|
|
#define MFP_200HZ 5
|
|
#define MFP_ACIA 6
|
|
#define MFP_DISK 7
|
|
#define MFP_TIMERB 8
|
|
#define MFP_HBLANK MFP_TIMERB
|
|
#define MFP_TERR 9
|
|
#define MFP_TBE 10
|
|
#define MFP_RERR 11
|
|
#define MFP_RBF 12
|
|
#define MFP_TIMERA 13
|
|
#define MFP_DMASOUND MFP_TIMERA
|
|
#define MFP_RING 14
|
|
#define MFP_MONODETECT 15
|
|
|
|
#define IO_SERIAL 0
|
|
#define IO_KEYBOARD 1
|
|
#define IO_MIDI 2
|
|
|
|
#define BAUD_19200 0
|
|
#define BAUD_9600 1
|
|
#define BAUD_4800 2
|
|
#define BAUD_3600 3
|
|
#define BAUD_2400 4
|
|
#define BAUD_2000 5
|
|
#define BAUD_1800 6
|
|
#define BAUD_1200 7
|
|
#define BAUD_600 8
|
|
#define BAUD_300 9
|
|
#define BAUD_200 10
|
|
#define BAUD_150 11
|
|
#define BAUD_134 12
|
|
#define BAUD_110 13
|
|
#define BAUD_75 14
|
|
#define BAUD_50 15
|
|
#define BAUD_INQUIRE -2
|
|
|
|
#define FLOW_NONE 0
|
|
#define FLOW_SOFT 1
|
|
#define FLOW_HARD 2
|
|
#define FLOW_BOTH 3
|
|
|
|
#define RS_RECVENABLE 0x01
|
|
#define RS_SYNCSTRIP 0x02
|
|
#define RS_MATCHBUSY 0x04
|
|
#define RS_BRKDETECT 0x08
|
|
#define RS_FRAMEERR 0x10
|
|
#define RS_PARITYERR 0x20
|
|
#define RS_OVERRUNERR 0x40
|
|
#define RS_BUFFUL 0x80
|
|
|
|
#define RS_ODDPARITY 0x02
|
|
#define RS_EVENPARITY 0x00
|
|
#define RS_PARITYENABLE 0x04
|
|
|
|
#define RS_NOSTOP 0x00
|
|
#define RS_1STOP 0x08
|
|
#define RS_15STOP 0x10
|
|
#define RS_2STOP 0x18
|
|
|
|
#define RS_8BITS 0x00
|
|
#define RS_7BITS 0x20
|
|
#define RS_6BITS 0x40
|
|
#define RS_5BITS 0x60
|
|
|
|
#define RS_CLK16 0x80
|
|
|
|
#define RS_INQUIRE -1
|
|
#define RS_LASTBAUD 2
|
|
|
|
#define KT_NOCHANGE ((char*)-1)
|
|
|
|
#define SERIAL_NOCHANGE -1
|
|
#define SERIAL_RANDOM 0x01000001
|
|
|
|
#define DISK_NOCHANGE -1
|
|
#define DISK_SSSD 0
|
|
#define DISK_DSSD 1
|
|
#define DISK_SSDD 2
|
|
#define DISK_DSDD 3
|
|
#define DISK_DSHD 4
|
|
#define DISK_DSED 5
|
|
|
|
#define EXEC_NOCHANGE -1
|
|
#define EXEC_NO 0
|
|
#define EXEC_YES 1
|
|
|
|
#define CURS_HIDE 0
|
|
#define CURS_SHOW 1
|
|
#define CURS_BLINK 2
|
|
#define CURS_NOBLINK 3
|
|
#define CURS_SETRATE 4
|
|
#define CURS_GETRATE 5
|
|
|
|
#define PSG_APITCHLOW 0
|
|
#define PSG_APITCHHIGH 1
|
|
#define PSG_BPITCHLOW 2
|
|
#define PSG_BPTICHHIGH 3
|
|
#define PSG_CPITCHLOW 4
|
|
#define PSG_CPITCHHIGH 5
|
|
#define PSG_NOISEPITCH 6
|
|
#define PSG_MODE 7
|
|
#define PSG_AVOLUME 8
|
|
#define PSG_BVOLUME 9
|
|
#define PSG_CVOLUME 10
|
|
#define PSG_FREQLOW 11
|
|
#define PSG_FREQHIGH 12
|
|
#define PSG_ENVELOPE 13
|
|
#define PSG_PORTA 14
|
|
#define PSG_PORTB 15
|
|
|
|
#define PSG_ENABLEA 0x01
|
|
#define PSG_ENABLEB 0x02
|
|
#define PSG_ENABLEC 0x04
|
|
#define PSG_NOISEA 0x08
|
|
#define PSG_NOISEB 0x10
|
|
#define PSG_NOISEC 0x20
|
|
#define PSG_PRTAOUT 0x40
|
|
#define PSG_PRTBOUT 0x80
|
|
|
|
#define GI_FLOPPYSIDE 0x01
|
|
#define GI_FLOPPYA 0x02
|
|
#define GI_FLOPPYB 0x04
|
|
#define GI_RTS 0x08
|
|
#define GI_DTR 0x10
|
|
#define GI_STROBE 0x20
|
|
#define GI_GPO 0x40
|
|
#define GI_SCCPORT 0x80
|
|
|
|
#define XB_TIMERA 0
|
|
#define XB_TIMERB 1
|
|
#define XB_TIMERC 2
|
|
#define XB_TIMERD 3
|
|
|
|
#define DS_INQUIRE -1
|
|
|
|
#define PRT_DOTMATRIX 0x01
|
|
#define PRT_MONO 0x02
|
|
#define PRT_ATARI 0x04
|
|
#define PRT_DRAFT 0x08
|
|
#define PRT_PARALLEL 0x10
|
|
#define PRT_CONTINUOUS 0x20
|
|
|
|
#define PRT_DAISY 0x01
|
|
#define PRT_COLOR 0x02
|
|
#define PRT_EPSON 0x04
|
|
#define PRT_FINAL 0x08
|
|
#define PRT_SERIAL 0x10
|
|
#define PRT_SINGLE 0x20
|
|
|
|
#define PRT_INQUIRE -1
|
|
|
|
#define KB_INQUIRE -1
|
|
|
|
#define FRATE_6 0
|
|
#define FRATE_12 1
|
|
#define FRATE_2 2
|
|
#define FRATE_3 3
|
|
#define FRATE_INQUIRE -1
|
|
|
|
#define BMAP_CHECK 0
|
|
#define BMAP_INQUIRE -1
|
|
#define BMAP_MAPTAB -2
|
|
|
|
#define NVM_READ 0
|
|
#define MVM_WRITE 1
|
|
#define NVM_RESET 2
|
|
|
|
#define BLIT_SOFT 0
|
|
#define BLIT_HARD 1
|
|
|
|
#define ST_LOW 0x0000
|
|
#define ST_MED 0x0100
|
|
#define ST_HIGH 0x0200
|
|
#define TT_MED 0x0300
|
|
#define TT_HIGH 0x0600
|
|
#define TT_LOW 0x0700
|
|
|
|
#define ES_GRAY 12
|
|
#define ES_SMEAR 15
|
|
|
|
#define ESB_INQUIRE -1
|
|
#define EC_INQUIRE -1
|
|
|
|
#define ESG_INQUIRE -1
|
|
#define ESG_COLOR 0
|
|
#define ESG_GRAY 1
|
|
|
|
#define ESM_INQUIRE -1
|
|
#define ESM_NORMAL 0
|
|
#define ESM_SMEAR 1
|
|
|
|
#define BPS1 0x00
|
|
#define BPS2 0x01
|
|
#define BPS4 0x02
|
|
#define BPS8 0x03
|
|
#define BPS16 0x04
|
|
|
|
#define COL80 0x08
|
|
#define COL40 0x00
|
|
|
|
#define VGA 0x10
|
|
#define TV 0x00
|
|
|
|
#define PAL 0x20
|
|
#define NTSC 0x00
|
|
|
|
#define OVERSCAN 0x40
|
|
|
|
#define STMODES 0x80
|
|
|
|
#define VERTFLAG 0x100
|
|
|
|
#define VM_INQUIRE -1
|
|
|
|
#define MON_MONO 0
|
|
#define MON_COLOR 1
|
|
#define MON_VGA 2
|
|
#define MON_TV 3
|
|
|
|
#define VCLK_EXTERNAL 0
|
|
#define VCLK_EXTVSYNC 1
|
|
#define VCLK_EXTHSYNC 2
|
|
|
|
#define OVERLAY_ON 1
|
|
#define OVERLAY_OFF 0
|
|
|
|
#define RTS_OFF 0x01
|
|
#define RTR_OFF 0x02
|
|
|
|
#define HF_CLEAR 0
|
|
#define HF_SET 1
|
|
#define HF_INQUIRE -1
|
|
|
|
#define ICR_RXDF 0
|
|
#define ICR_TXDE 1
|
|
#define ICR_TRDY 2
|
|
#define ICR_HF2 3
|
|
#define ICR_HF3 4
|
|
#define ICR_DMA 6
|
|
#define ICR_HREQ 7
|
|
|
|
#define DSPSEND_NOTHING 0x00000000
|
|
#define DSPSEND_ZERO 0xff000000
|
|
|
|
#define SNDLOCKED -129
|
|
|
|
#define SNDNOTLOCK -128
|
|
|
|
#define LTATTEN 0
|
|
#define RTATTEN 1
|
|
#define LTGAIN 2
|
|
#define RTGAIN 3
|
|
#define ADDERIN 4
|
|
#define ADCINPUT 5
|
|
#define SETPRESCALE 6
|
|
|
|
#define CCLK_6K 0
|
|
#define CCLK_12K 1
|
|
#define CCLK_25K 2
|
|
#define CCLK_50K 3
|
|
|
|
#define LEFT_MIC 0x00
|
|
#define LEFT_PSG 0x02
|
|
#define RIGHT_MIC 0x00
|
|
#define RIGHT_PSG 0x01
|
|
|
|
#define SND_INQUIRE -1
|
|
|
|
#define PLAY 0
|
|
#define RECORD 1
|
|
|
|
#define MODE_STEREO8 0
|
|
#define MODE_STEREO16 1
|
|
#define MODE_MONO 2
|
|
|
|
#define INT_DISABLE 0
|
|
#define INT_PLAY 1
|
|
#define INT_RECORD 2
|
|
#define INT_BOTH 3
|
|
|
|
#define PLAY_ENABLE 0x01
|
|
#define PLAY_REPEAT 0x02
|
|
#define RECORD_ENABLE 0x04
|
|
#define RECORD_REPEAT 0x08
|
|
|
|
#define DSP_TRISTATE 0
|
|
#define DSP_ENABLE 1
|
|
|
|
#define GPIO_INQUIRE 0
|
|
#define GPIO_READ 1
|
|
#define GPIO_WRITE 2
|
|
|
|
#define DMAPLAY 0
|
|
#define DSPXMIT 1
|
|
#define EXTINP 2
|
|
#define ADC 3
|
|
|
|
#define DMAREC 0x01
|
|
#define DSPRECV 0x02
|
|
#define EXTOUT 0x04
|
|
#define DAC 0x08
|
|
|
|
#define CLK_25M 0
|
|
#define CLK_EXT 1
|
|
#define CLK_32M 2
|
|
|
|
#define CLK_COMPAT 0
|
|
#define CLK_50K 1
|
|
#define CLK_33K 2
|
|
#define CLK_25K 3
|
|
#define CLK_20K 4
|
|
#define CLK_16K 5
|
|
#define CLK_12K 7
|
|
#define CLK_10K 9
|
|
#define CLK_8K 11
|
|
|
|
#define HANDSHAKE 0
|
|
#define NO_SHAKE 1
|
|
|
|
#define SND_ERROR 0xf
|
|
#define SND_OK 0
|
|
#define SND_BADCONTROL 1
|
|
#define SND_BADSYNC 2
|
|
#define SND_BADCLOCK 3
|
|
#define SND_LEFTCLIP 0x10
|
|
#define SND_RIGHTCLIP 0x20
|
|
|
|
#define WP_MONO 0x00
|
|
#define WP_STEREO 0x01
|
|
#define WP_8BIT 0x00
|
|
#define WP_16BIT 0x02
|
|
#define WP_MACRO 0x100
|
|
|
|
#define AG_FIND 0
|
|
#define AG_REPLACE 1
|
|
#define AG_CUT 2
|
|
#define AG_COPY 3
|
|
#define AG_PASTE 4
|
|
#define AG_DELETE 5
|
|
#define AG_HELP 6
|
|
#define AG_PRINT 7
|
|
#define AG_SAVE 8
|
|
#define AG_ERROR 9
|
|
#define AG_QUIT 10
|
|
|
|
#define WP_OK 0
|
|
#define WP_ERROR -1
|
|
#define WP_NOSOUND 1
|
|
|
|
typedef struct
|
|
{
|
|
char *ibuf;
|
|
WORD ibufsize;
|
|
WORD ibufhd;
|
|
WORD ibuftl;
|
|
WORD ibuflow;
|
|
WORD ibufhi;
|
|
} IOREC;
|
|
|
|
typedef struct
|
|
{
|
|
char *unshift;
|
|
char *shift;
|
|
char *caps;
|
|
} KEYTAB;
|
|
|
|
typedef struct
|
|
{
|
|
void (*midivec)( UBYTE data );
|
|
void (*vkbderr)( UBYTE data );
|
|
void (*vmiderr)( UBYTE data );
|
|
void (*statvec)( char *packet );
|
|
void (*mousevec)( char *packet );
|
|
void (*clockvec)( char *packet );
|
|
void (*joyvec)( char *packet );
|
|
void (*midisys)( VOID );
|
|
void (*ikbdsys)( VOID );
|
|
char ikbdstate;
|
|
} KBDVECS;
|
|
|
|
typedef struct
|
|
{
|
|
VOIDP blkptr;
|
|
UWORD offset;
|
|
UWORD width;
|
|
UWORD height;
|
|
UWORD left;
|
|
UWORD right;
|
|
UWORD srcres;
|
|
UWORD destres;
|
|
UWORD *colpal;
|
|
UWORD type;
|
|
UWORD port;
|
|
char *masks;
|
|
} PRTBLK;
|
|
|
|
/* Available from MetaDOS version 2.30 */
|
|
typedef struct
|
|
{
|
|
UWORD mi_version;
|
|
LONG mi_magic;
|
|
const BYTE *mi_log2phys;
|
|
} META_INFO_2;
|
|
|
|
typedef struct
|
|
{
|
|
ULONG drivemap;
|
|
BYTE *version;
|
|
LONG reserved[2];
|
|
|
|
META_INFO_2 *info; /* Available from MetaDOS version 2.30 */
|
|
} META_INFO_1;
|
|
|
|
#ifndef METAINFO
|
|
#define METAINFO META_INFO_1
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
BYTE reserved;
|
|
BYTE red;
|
|
BYTE green;
|
|
BYTE blue;
|
|
} RGB;
|
|
|
|
typedef struct
|
|
{
|
|
WORD blocktype;
|
|
LONG blocksize;
|
|
VOIDP blockaddr;
|
|
} DSPBLOCK;
|
|
|
|
typedef struct
|
|
{
|
|
VOIDP playptr;
|
|
VOIDP recordptr;
|
|
VOIDP reserved1;
|
|
VOIDP reserved2;
|
|
} SBUFPTR;
|
|
|
|
typedef struct
|
|
{
|
|
WORD (*Bconstat)();
|
|
LONG (*Bconin)();
|
|
LONG (*Bcostat)();
|
|
VOID (*Bconout)();
|
|
ULONG (*Rsconf)();
|
|
IOREC *iorec;
|
|
} MAPTAB;
|
|
|
|
typedef struct
|
|
{
|
|
MAPTAB *maptab;
|
|
WORD maptabsize;
|
|
} BCONMAP;
|
|
|
|
/* XBIOS Calls */
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Initmous(__reg("d0")WORD,__reg("a0")VOIDP,__reg("a1")VOID(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#0,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Ssbrk(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#1,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Physbase(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#2,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Logbase(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#3,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Getrez(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#4,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Setscreen(__reg("a0")VOIDP,__reg("a1")VOIDP,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#5,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Vsetscreen(__reg("a0")VOIDP,__reg("a1")VOIDP,__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#5,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Setpalette(__reg("a0")WORD*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#6,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Setcolor(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#7,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Floprd(__reg("a0")VOIDP,__reg("d0")LONG,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD,__reg("d5")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td5,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#8,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(20,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Flopwr(__reg("a0")VOIDP,__reg("d0")LONG,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD,__reg("d5")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td5,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#9,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(20,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Flopfmt(__reg("a0")VOIDP,__reg("a1")WORD*,__reg("d0")WORD,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD,__reg("d5")LONG,__reg("d6")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td6,-(sp)\n"
|
|
"\tmove.l\td5,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#10,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(26,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dbmsg(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#11,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Midiws(__reg("d0")WORD,__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#12,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Mfpint(__reg("d0")WORD,__reg("a0")VOID(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#13,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") IOREC* Iorec(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#14,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") ULONG Rsconf(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD,__reg("d5")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td5,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#15,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") KEYTAB* Keytbl(__reg("a0")char*,__reg("a1")char*,__reg("a2")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#16,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Random(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#17,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Protobt(__reg("a0")VOIDP,__reg("d0")LONG,__reg("d1")WORD,__reg("d2")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#18,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Flopver(__reg("a0")VOIDP,__reg("d0")LONG,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD,__reg("d5")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td5,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#19,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(20,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Scrdmp(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#20,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cursconf(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#21,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Settime(__reg("d0")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#22,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Gettime(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#23,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Bioskeys(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#24,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Ikbdws(__reg("d0")WORD,__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#25,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Jdisint(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#26,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Jenabint(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#27,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Giaccess(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#28,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Offgibit(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#29,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Ongibit(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#30,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Xbtimer(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")WORD,__reg("a0")VOID(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#31,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dosound(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#32,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Setprt(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#33,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") KBDVECS* Kbdvbase(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#34,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Kbrate(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#35,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Prtblk(__reg("a0")PRTBLK*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#36,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Vsync(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#37,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Supexec(__reg("a0")LONG(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#38,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Puntaes(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#39,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Floprate(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#41,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG DMAread(__reg("d0")LONG,__reg("d1")WORD,__reg("a0")VOIDP,__reg("d2")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#42,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG DMAwrite(__reg("d0")LONG,__reg("d1")WORD,__reg("a0")VOIDP,__reg("d2")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#43,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Bconmap(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#44,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD NVMaccess(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")WORD,__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#46,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID WakeTime(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#47,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Metainit(__reg("a0")METAINFO*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#48,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Blitmode(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#64,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EsetShift(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#80,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EgetShift(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#81,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EsetBank(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#82,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EsetColor(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#83,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID EsetPalette(__reg("d0")WORD,__reg("d1")WORD,__reg("a0")WORD*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#84,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID EgetPalette(__reg("d0")WORD,__reg("d1")WORD,__reg("a0")WORD*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#85,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EsetGray(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#86,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD EsetSmear(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#87,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD VsetMode(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#88,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD VgetMonitor(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#89,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
#define mon_type VgetMonitor
|
|
|
|
__regsused("d0/d1/a0/a1") VOID VsetSync(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#90,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG VgetSize(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#91,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID VsetMask(__reg("d0")LONG,__reg("d1")LONG,__reg("d2")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#150,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID VsetRGB(__reg("d0")WORD,__reg("d1")WORD,__reg("a0")RGB*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#93,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID VgetRGB(__reg("d0")WORD,__reg("d1")WORD,__reg("a0")RGB*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#94,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_DoBlock(__reg("a0")char*,__reg("d0")LONG,__reg("a1")char*,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#96,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_BlkHandShake(__reg("a0")char*,__reg("d0")LONG,__reg("a1")char*,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#97,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_BlkUnpacked(__reg("a0")LONG*,__reg("d0")LONG,__reg("a1")LONG*,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#98,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_InStream(__reg("a0")char*,__reg("d0")LONG,__reg("d1")LONG,__reg("a1")LONG*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#99,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_OutStream(__reg("a0")char*,__reg("d0")LONG,__reg("d1")LONG,__reg("a1")LONG*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#100,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_IOStream(__reg("a0")char*,__reg("a1")char*,__reg("d0")LONG,__reg("d1")LONG,__reg("d2")LONG,__reg("a2")LONG*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#101,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(26,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_RemoveInterrupts(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#102,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_GetWordSize(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#103,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Lock(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#104,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_Unlock(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#105,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_Available(__reg("a0")LONG*,__reg("a1")LONG*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#106,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Reserve(__reg("d0")LONG,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#107,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_LoadProg(__reg("a0")char*,__reg("d0")WORD,__reg("a1")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#108,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_ExecProg(__reg("a0")char*,__reg("d0")LONG,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#109,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_ExecBoot(__reg("a0")char*,__reg("d0")LONG,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#110,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dsp_LodToBinary(__reg("a0")char*,__reg("a1")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#111,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_TriggerHC(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#112,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_RequestUniqueAbility(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#113,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_GetProgAbility(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#114,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_FlushSubroutines(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#115,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_LoadSubroutine(__reg("a0")char*,__reg("d0")LONG,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#116,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_InqSubrAbility(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#117,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_RunSubroutine(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#118,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Hf0(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#119,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Hf1(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#120,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Hf2(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#121,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dsp_Hf3(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#122,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_BlkWords(__reg("a0")WORD*,__reg("d0")LONG,__reg("a1")WORD*,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#123,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_BlkBytes(__reg("a0")UBYTE*,__reg("d0")LONG,__reg("a1")UBYTE*,__reg("d1")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#124,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") BYTE Dsp_Hstat(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#125,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_SetVectors(__reg("a0")VOID(*)(),__reg("a1")LONG(*)()) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#126,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Dsp_MultBlocks(__reg("d0")LONG,__reg("d1")LONG,__reg("a0")DSPBLOCK*,__reg("a1")DSPBLOCK*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#127,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(18,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Locksnd(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#128,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Unlocksnd(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#129,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Soundcmd(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#130,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Setbuffer(__reg("d0")WORD,__reg("a0")VOIDP,__reg("a1")VOIDP) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#131,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Setmode(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#132,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Settracks(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#133,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Setmontracks(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#134,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Setinterrupt(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#135,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Buffoper(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#136,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dsptristate(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#137,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Gpio(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#138,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Devconnect(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")WORD,__reg("d3")WORD,__reg("d4")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td4,-(sp)\n"
|
|
"\tmove.w\td3,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#139,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Sndstatus(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#140,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Buffptr(__reg("a0")SBUFPTR*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#141,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD WavePlay(__reg("d0")WORD,__reg("d1")LONG,__reg("a0")VOIDP,__reg("d2")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#165,-(sp)\n"
|
|
"\ttrap\t#14\n"
|
|
"\tlea\t(16,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
/* GEMDOS Errors */
|
|
|
|
#define EINVFN -32
|
|
#define EFILNF -33
|
|
#define EPTHNF -34
|
|
#define ENHNDL -35
|
|
#define EACCDN -36
|
|
#define EIHNDL -37
|
|
#define ENSMEM -39
|
|
#define EIMBA -40
|
|
#define EDRIVE -46
|
|
#define ENSAME -48
|
|
#define ENMFIL -49
|
|
#define ELOCKED -58
|
|
#define ENSLOCK -59
|
|
#define ERANGE -64
|
|
#define ENAMETOOLONG ERANGE
|
|
#define EINTRN -65
|
|
#define EPLFMT -66
|
|
#define EGSBF -67
|
|
#define EBREAK -68
|
|
#define EXCPT -69
|
|
#define EPTHOV -70
|
|
#define ELOOP -80
|
|
#define EMOUNT -200
|
|
|
|
/* Variables used by GEMDOS */
|
|
|
|
#define DEV_READY -1
|
|
#define DEV_BUSY 0
|
|
|
|
#define SUP_SET 0L
|
|
#define SUP_INQUIRE 1L
|
|
#define SUP_USER 0L
|
|
#define SUP_SUPER -1L
|
|
|
|
#define FA_READONLY 0x01
|
|
#define FA_HIDDEN 0x02
|
|
#define FA_SYSTEM 0x04
|
|
#define FA_VOLUME 0x08
|
|
#define FA_DIR 0x10
|
|
#define FA_ARCHIVE 0x20
|
|
|
|
#define S_READ 0
|
|
#define S_WRITE 1
|
|
#define S_READWRITE 2
|
|
|
|
#define FO_READ S_READ
|
|
#define FO_WRITE S_WRITE
|
|
#define FO_RW S_READWRITE
|
|
|
|
#define SEEK_SET 0
|
|
#define SEEK_CUR 1
|
|
#define SEEK_END 2
|
|
|
|
#define FA_INQUIRE 0
|
|
#define FA_SET 1
|
|
|
|
#define MX_STRAM 0
|
|
#define MX_TTRAM 1
|
|
#define MX_PREFSTRAM 2
|
|
#define MX_PREFTTRAM 3
|
|
|
|
#define GSH_CONIN 0
|
|
#define GSH_CONOUT 1
|
|
#define GSH_AUX 2
|
|
#define GSH_PRN 3
|
|
#define GSH_BIOSCON -1
|
|
#define GSH_BIOSAUX -2
|
|
#define GSH_BIOSPRN -3
|
|
#define GSH_MIDIIN -4
|
|
#define GSH_MIDIOUT -5
|
|
|
|
#define DEFAULT_DRIVE 0
|
|
|
|
#define PE_LOADGO 0
|
|
#define PE_LOAD 3
|
|
#define PE_GO 4
|
|
#define PE_BASEPAGE 5
|
|
#define PE_GOTHENFREE 6
|
|
#define PE_CLOADGO 100
|
|
#define PE_CGO 104
|
|
#define PE_NOSHARE 106
|
|
#define PE_REPLACE 200
|
|
|
|
#define TERM_OK 0
|
|
#define TERM_ERROR 1
|
|
#define TERM_BADPARAMS 2
|
|
#define TERM_CRASH -1
|
|
#define TERM_CTRLC -32
|
|
|
|
typedef struct
|
|
{
|
|
ULONG b_free;
|
|
ULONG b_total;
|
|
ULONG b_secsize;
|
|
ULONG b_clsize;
|
|
} DISKINFO;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned hour : 5;
|
|
unsigned minute : 6;
|
|
unsigned second : 5;
|
|
unsigned year : 7;
|
|
unsigned month : 4;
|
|
unsigned day : 5;
|
|
} DATETIME;
|
|
|
|
typedef struct
|
|
{
|
|
LONG gem_magic; /* $87654321 if GEM present */
|
|
LONG gem_end; /* End address of OS RAM usage */
|
|
LONG gem_entry; /* Execution address of GEM */
|
|
} GEM_MUPB;
|
|
|
|
/* system variable _sysbase (0x4F2L) points to next structure */
|
|
typedef struct _osheader
|
|
{
|
|
UWORD os_entry; /* BRA to Reset Code */
|
|
UWORD os_version; /* TOS Version */
|
|
VOID *reseth; /* Reset Code */
|
|
struct _osheader *os_beg; /* Pointer to OSBASE */
|
|
VOID *os_end; /* Pointer to OS end*/
|
|
LONG os_rsvl; /* Reserved */
|
|
GEM_MUPB *os_magic; /* Memory Usage PB */
|
|
LONG os_date; /* OS Date $YYYYMMDD */
|
|
UWORD os_conf; /* OS Conf.Bits */
|
|
UWORD os_dosdate; /* DOS OS Date */
|
|
|
|
/* As of TOS 1.2: */
|
|
char **p_root; /* Base of OS Pool */
|
|
char **pkbshift; /* Key. Shift State */
|
|
BASEPAGE **p_run; /* Current Process */
|
|
char *p_rsv2; /* Reserved */
|
|
} OSHEADER;
|
|
|
|
#define SYSHDR OSHEADER
|
|
#define _sysbase ((OSHEADER **)0x4F2)
|
|
|
|
/* GEMDOS Calls */
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Pterm0(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#0,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Cconin(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#1,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Cconout(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#2,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cauxin(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#3,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Cauxout(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#4,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cprnout(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#5,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Crawio(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#6,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Crawcin(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#7,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Cnecin(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#8,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cconws(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#9,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Cconrs(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#10,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cconis(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#11,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dsetdrv(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#14,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cconos(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#16,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cprnos(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#17,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cauxis(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#18,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Cauxos(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#19,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Maddalt(__reg("a0")VOIDP,__reg("d0")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#20,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Dgetdrv(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#25,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Fsetdta(__reg("a0")DTA*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#26,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Super(__reg("a0")VOIDP) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#32,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") UWORD Tgetdate(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#42,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Tsetdate(__reg("d0")UWORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#43,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") UWORD Tgettime(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#44,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Tsettime(__reg("d0")UWORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#45,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") DTA* Fgetdta(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#47,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") UWORD Sversion(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#48,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Ptermres(__reg("d0")LONG,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#49,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dfree(__reg("a0")DISKINFO*,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#54,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dcreate(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#57,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Ddelete(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#58,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dsetpath(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#59,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fcreate(__reg("a0")char*,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#60,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fopen(__reg("a0")char*,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#61,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fclose(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#62,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fread(__reg("d0")WORD,__reg("d1")LONG,__reg("a0")VOIDP) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#63,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fwrite(__reg("d0")WORD,__reg("d1")LONG,__reg("a0")VOIDP) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.l\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#64,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fdelete(__reg("a0")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#65,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fseek(__reg("d0")LONG,__reg("d1")WORD,__reg("d2")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#66,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fattrib(__reg("a0")char*,__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#67,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Mxalloc(__reg("d0")LONG,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#68,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fdup(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#69,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fforce(__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#70,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Dgetpath(__reg("a0")char*,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#71,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOIDP Malloc(__reg("d0")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.w\t#72,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Mfree(__reg("a0")VOIDP) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#73,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#6,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Mshrink(__reg("a0")VOIDP,__reg("d0")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tclr.w\t-(sp)\n"
|
|
"\tmove.w\t#74,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Pexec(__reg("d0")WORD,__reg("a0")char*,__reg("a1")char*,__reg("a2")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#75,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(16,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") VOID Pterm(__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#76,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#4,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Fsfirst(__reg("a0")char*,__reg("d0")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#78,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#8,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") WORD Fsnext(VOID) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\t#79,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\taddq.l\t#2,sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Frename(__reg("a0")char*,__reg("a1")char*) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\ta1,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tclr.w\t-(sp)\n"
|
|
"\tmove.w\t#86,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(12,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Fdatime(__reg("a0")DATETIME*,__reg("d0")WORD,__reg("d1")WORD) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.l\ta0,-(sp)\n"
|
|
"\tmove.w\t#87,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(10,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
__regsused("d0/d1/a0/a1") LONG Flock(__reg("d0")WORD,__reg("d1")WORD,__reg("d2")LONG,__reg("d3")LONG) =
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.l\ta2,-(sp)\n"
|
|
"\tmove.l\td3,-(sp)\n"
|
|
"\tmove.l\td2,-(sp)\n"
|
|
"\tmove.w\td1,-(sp)\n"
|
|
"\tmove.w\td0,-(sp)\n"
|
|
"\tmove.w\t#92,-(sp)\n"
|
|
"\ttrap\t#1\n"
|
|
"\tlea\t(14,sp),sp\n"
|
|
"\tmove.l\t(sp)+,a2\n"
|
|
"\tmove.l\t(sp)+,d2";
|
|
|
|
#endif
|