the cutting room mirror

The 4th Unit 2 (Sharp X68000)

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

To do:
There also seems to be an SDK "X68k BASIC to C Converter" on Disk 1 and other .X executables.

Leftover SDK Headers#

Like in The 4th Unit, present throughout Disk 1 are various .h files that seem to be from the X68000 SDK. Although the files don't have filenames (due to not being in the file table), they are labelled in a comment at the start of the file. Judging by the deleted files and folders listed in the filetables, it appears that the source was stored on the master disk but later deleted before copying.

ctype.h#

/*
 * ctype.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define __U 1
#define __L 2
#define __N 4
#define __S 8
#define __P 16
#define __C 32
#define __B 64
#define __X 128

extern  char _ctype[];

/*********** ctype macros ****************/
#define isalpha(c)      (_ctype[(c)+1]&(__U|__L))
#define isupper(c)      (_ctype[(c)+1]&__U)
#define islower(c)      (_ctype[(c)+1]&__L)
#define isdigit(c)      (_ctype[(c)+1]&__N)
#define isxdigit(c)     (_ctype[(c)+1]&__X)
#define isspace(c)      (_ctype[(c)+1]&__S)
#define ispunct(c)      (_ctype[(c)+1]&__P)
#define isalnum(c)      (_ctype[(c)+1]&(__U|__L|__N))
#define isprint(c)      (_ctype[(c)+1]&(__P|__U|__L|__N|__B))
#define isgraph(c)      (_ctype[(c)+1]&(__P|__U|__L|__N))
#define iscntrl(c)      (_ctype[(c)+1]&__C)
#define isascii(c)      ((unsigned)(c)<=127)
#define iscsym(c)       (isalnum(c)||(((c)&127)==0x5f))
#define iscsymf(c)      (isalpha(c)||(((c)&127)==0x5f))

#define toupper(c)     (islower(c)?((c)-('a'-'A')):(c))
#define tolower(c)     (isupper(c)?((c)+('a'-'A')):(c))
#define toascii(c)      ((c)&127)

#ifndef NULL
#define NULL 0
#endif

assert.h#

/*
 * assert.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifndef NDEBUG
#define assert(exp) {if (!(exp)) {fprintf(stderr,"Assertion failed: file %s, line %d\n", , );exit(1);}}
#else
#define assert(exp)
#endif /* NDEBUG */

fefunc.h#

    .nlist
*
* fefunc.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
*
FPACK   macro   callname
    dc.w    callname
    endm

****************************************
__LMUL          EQU $FE00       d0=d0*d1
__LDIV          EQU $FE01       d0=d0/d1
__LMOD          EQU $FE02       d0=d0 mod d1
*           EQU $FE03
__UMUL          EQU $FE04       d0=d0*d1
__UDIV          EQU $FE05       d0=d0/d1
__UMOD          EQU $FE06       d0=d0 mod d1
*           EQU $FE07
__IMUL          EQU $FE08       d0d1=d0*d1
__IDIV          EQU $FE09       d0アマリd1=d0/d1
*           EQU $FE0A
*           EQU $FE0B
__RANDOMIZE     EQU $FE0C       err=d0(0~65535)
__SRAND         EQU $FE0D       err=d0(-32768~32767)
__RAND          EQU $FE0E       d0=rand()
*           EQU $FE0F
*************************************
__STOL          EQU $FE10       d0=(a0).10進
__LTOS          EQU $FE11       (a0)..=d0
__STOH          EQU $FE12       d0=(a0).16進
__HTOS          EQU $FE13       (a0)..=d0
__STOO          EQU $FE14       d0=(a0).8進
__OTOS          EQU $FE15       (a0)..=d0
__STOB          EQU $FE16       d0=(a0).2進
__BTOS          EQU $FE17       (a0)..=d0
__IUSING        EQU $FE18       (a0)..=d0,d1桁
*           EQU $FE19
*************************************
__LTOD          EQU $FE1A       d0d1=d0
__DTOL          EQU $FE1B       d0=d0d1
__LTOF          EQU $FE1C       d0=d0
__FTOL          EQU $FE1D       d0=d0
__FTOD          EQU $FE1E       d0d1=d0
__DTOF          EQU $FE1F       d0=d0d1
*************************************
__VAL           EQU $FE20       d0d1=(a0).16/10/8/2進
__USING         EQU $FE21       (a0)..=d0d1,d2.d3,d4
__STOD          EQU $FE22       d0d1,d2,d3=(a0)10進
__DTOS          EQU $FE23       (a0)..=d0d1
__ECVT          EQU $FE24       (a0),d0,d1=d0d1,d2全体桁
__FCVT          EQU $FE25       (a0),d0,d1=d0d1,d2小数点桁
__GCVT          EQU $FE26       (a0)..=d0d1,d2全体桁
*           EQU $FE27
*************************************
__DTST          EQU $FE28       z=d0d1
__DCMP          EQU $FE29       z,c=d0d1-d2d3
__DNEG          EQU $FE2A       d0d1=neg(d0d1)
__DADD          EQU $FE2B       d0d1=d0d1+d2d3
__DSUB          EQU $FE2C       d0d1=d0d1-d2d3
__DMUL          EQU $FE2D       d0d1=d0d1*d2d3
__DDIV          EQU $FE2E       d0d1=d0d1/d2d3
__DMOD          EQU $FE2F       d0d1=d0d1 mod d2d3
*************************************
__DABS          EQU $FE30       d0d1=abs(d0d1)
__DCEIL         EQU $FE31       d0d1=ceil(d0d1)
__DFIX          EQU $FE32       d0d1=fix(d0d1)
__DFLOOR        EQU $FE33       d0d1=floor(d0d1)
__DFRAC         EQU $FE34       d0d1=frac(d0d1)
__DSGN          EQU $FE35       d0d1=sgn(d0d1)
__SIN           EQU $FE36       d0d1=sin(d0d1)
__COS           EQU $FE37       d0d1=cos(d0d1)
__TAN           EQU $FE38       d0d1=tan(d0d1)
__ATAN          EQU $FE39       d0d1=atan(d0d1)
__LOG           EQU $FE3A       d0d1=ln(d0d1)
__EXP           EQU $FE3B       d0d1=exp(d0d1)
__SQR           EQU $FE3C       d0d1=sqr(d0d1)
__PI            EQU $FE3D       d0d1=pi()
__NPI           EQU $FE3E       d0d1=pi(d0d1)
__POWER         EQU $FE3F       d0d1=pow(d0d1,d2d3)
__RND           EQU $FE40       d0d1=rnd()
*           EQU $FE41
*           EQU $FE42
*           EQU $FE43
*           EQU $FE44
*           EQU $FE45
*           EQU $FE46
*           EQU $FE47
*           EQU $FE48
__DFREXP        EQU $FE49       D0D1,D2=D0D1
__DLDEXP        EQU $FE4A       D0D1=D0D1,D2
__DADDONE       EQU $FE4B       d0d1=d0d1+1#
__DSUBONE       EQU $FE4C       d0d1=d0d1-1#
__DDIVTWO       EQU $FE4D       d0d1=d0d1/2#
__DIEECNV       EQU $FE4E       d0d1=d0d1
__IEEDCNV       EQU $FE4F       d0d1=d0d1
*************************************
__FVAL          EQU $FE50
__FUSING        EQU $FE51
__STOF          EQU $FE52
__FTOS          EQU $FE53
__FECVT         EQU $FE54
__FFCVT         EQU $FE55
__FGCVT         EQU $FE56
*           EQU $FE57
*************************************
__FTST          EQU $FE58
__FCMP          EQU $FE59
__FNEG          EQU $FE5A
__FADD          EQU $FE5B
__FSUB          EQU $FE5C
__FMUL          EQU $FE5D
__FDIV          EQU $FE5E
__FMOD          EQU $FE5F
*************************************
__FABS          EQU $FE60
__FCEIL         EQU $FE61
__FFIX          EQU $FE62
__FFLOOR        EQU $FE63
__FFRAC         EQU $FE64
__FSGN          EQU $FE65
__FSIN          EQU $FE66
__FCOS          EQU $FE67
__FTAN          EQU $FE68
__FATAN         EQU $FE69
__FLOG          EQU $FE6A
__FEXP          EQU $FE6B
__FSQR          EQU $FE6C
__FPI           EQU $FE6D
__FNPI          EQU $FE6E
__FPOWER        EQU $FE6F
__FRND          EQU $FE70
*           EQU $FE71
*           EQU $FE72
*           EQU $FE73
*           EQU $FE74
*           EQU $FE75
*           EQU $FE76
*           EQU $FE77
*           EQU $FE78
__FFREXP        EQU $FE79
__FLDEXP        EQU $FE7A
__FADDONE       EQU $FE7B
__FSUBONE       EQU $FE7C
__FDIVTWO       EQU $FE7D
__FIEECNV       EQU $FE7E
__IEEFCNV       EQU $FE7F

__CLMUL         EQU $FEE0
__CLDIV         EQU $FEE1
__CLMOD         EQU $FEE2
__CUMUL         EQU $FEE3
__CUDIV         EQU $FEE4
__CUMOD         EQU $FEE5
__CLTOD         EQU $FEE6
__CDTOL         EQU $FEE7
__CLTOF         EQU $FEE8
__CFTOL         EQU $FEE9
__CFTOD         EQU $FEEA
__CDTOF         EQU $FEEB

__CDCMP         EQU $FEEC
__CDADD         EQU $FEED
__CDSUB         EQU $FEEE
__CDMUL         EQU $FEEF
__CDDIV         EQU $FEF0
__CDMOD         EQU $FEF1
__CFCMP         EQU $FEF2
__CFADD         EQU $FEF3
__CFSUB         EQU $FEF4
__CFMUL         EQU $FEF5
__CFDIV         EQU $FEF6
__CFMOD         EQU $FEF7
__CDTST         EQU $FEF8
__CFTST         EQU $FEF9
__CDINC         EQU $FEFA
__CFINC         EQU $FEFB
__CDDEC         EQU $FEFC
__CFDEC         EQU $FEFD

__FEVARG        EQU $FEFE   >d0,d1
__FEVECS        EQU $FEFF   d0,a0>d0
    .list

conio.h#

/*
 * conio.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
char    *cgets(char *);
int cprintf(char *,);
void    cputs(char *);
int cscanf(char *,);
int getch();
int getche();
int kbhit();
void    putch(int);
int ungetch(int);
#else
char    *cgets();
int cprintf();
void    cputs();
int cscanf();
int getch();
int getche();
int kbhit();
void    putch();
int ungetch();
#endif

float.h#

/*
 * float.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define FLT_RADIX 2     /* radix of exponent            */
#define DBL_MAX_EXP 308     /* max decimal exponent for double  */
#define DBL_MIN_EXP -308    /* min decimal exponent for double  */
#define DBL_DIG 14      /* max decimal digits for double    */
#define HUGE_VAL 3.5953862697246E+308   /* huge double value        */
/*       1.1125369292536E-308                   */
#ifndef NULL
#define NULL 0
#endif

iocslib.h#

/*
 * iocslib.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#include    <class.h>

struct  REGS    {
    int d0;
    int d1;
    int d2;
    int d3;
    int d4;
    int d5;
    int d6;
    int d7;
    int a1;
    int a2;
    int a3;
    int a4;
    int a5;
    int a6;
};

/*
 *
 */

struct  FNTBUF  {
    WORD    xl;
    WORD    yl;
    UBYTE   buffer[72]; /*  #define FNT_PAT_BUF 72  (=MAX) */
};

/*
 *
 */

struct  CLIPXY  {
    WORD    xs;
    WORD    ys;
    WORD    xe;
    WORD    ye;
};


/*
 *
 */

struct  CHAIN {
    INT adr;
    UWORD   len;    
};

/*
 *
 */

struct  CHAIN2 {
    INT adr;
    UWORD   len;
    struct  CHAIN2  *next;   /*      =NULLPTRなら終わり。     */  
};

/*
 *
 */

struct  PSETPTR{
    WORD    x;
    WORD    y;
    UWORD   color;
};

/*
 *
 */

struct  POINTPTR{
    WORD    x;
    WORD    y;
    UWORD   color;
};

/*
 *
 */

struct  LINEPTR{
    WORD    x1;
    WORD    y1;
    WORD    x2;
    WORD    y2;
    UWORD   color;
    UWORD   linestyle;
};

/*
 *
 */

struct  BOXPTR{
    WORD    x1;
    WORD    y1;
    WORD    x2;
    WORD    y2;
    UWORD   color;
    UWORD   linestyle;
};

/*
 *
 */

struct  FILLPTR{
    WORD    x1;
    WORD    y1;
    WORD    x2;
    WORD    y2;
    UWORD   color;
};

/*
 *
 */

struct  CIRCLEPTR{
    WORD    x;
    WORD    y;
    UWORD   radius;
    UWORD   color;
    WORD    start;
    WORD    end;
    UWORD   ratio;
};

/*
 *
 */

struct  PAINTPTR{
    WORD    x;
    WORD    y;
    UWORD   color;
    UBYTE * buf_start;
    UBYTE * buf_end;
};

/*
 *
 */

struct  SYMBOLPTR{
    WORD    x1;
    WORD    y1;
    UBYTE   *string_address;
    UBYTE   mag_x;
    UBYTE   mag_y;
    UWORD   color;
    UBYTE   font_type;
    UBYTE   angle;
};

/*
 *
 */



struct  GETPTR{
    WORD    x1;
    WORD    y1;
    WORD    x2;
    WORD    y2;
    UBYTE * buf_start;
    UBYTE * buf_end;
};

/*
 *
 */

struct  PUTPTR{
    WORD    x1;
    WORD    y1;
    WORD    x2;
    WORD    y2;
    UBYTE * buf_start;
    UBYTE * buf_end;
};

/*
 *
 */

struct  XLINEPTR{
    UWORD   vram_page;
    WORD    x;
    WORD    y;
    WORD    x1;
    UWORD   line_style;
};

/*
 *
 */


struct  YLINEPTR{
    UWORD   vram_page;
    WORD    x;
    WORD    y;
    WORD    y1;
    UWORD   line_style;
};

/*
 *
 */

struct  TBOXPTR{
    UWORD   vram_page;
    WORD    x;
    WORD    y;
    WORD    x1;
    WORD    y1;
    UWORD   line_style;
};

/*
 *
 */

struct  TXFILLPTR{
    UWORD   vram_page;
    WORD    x;
    WORD    y;
    WORD    x1;
    WORD    y1;
    UWORD   fill_patn;
};

/*
 *
 */

struct  TREVPTR{
    UWORD   vram_page;
    WORD    x;
    WORD    y;
    WORD    x1;
    WORD    y1;
};

/*
 *  PATST
 */
struct  PATST   {
    short   OFFSETX;
    short   OFFSETY;
    short   shadow[16];
    short   pattern[16];
};

/*
 *
 */

#ifdef FORWORD
    int TRAP15(struct REGS *,struct REGS *);
    int B_KEYINP();
    int B_KEYSNS();
    int B_SFTSNS();
    int BITSNS(int);
    void    SKEYSET(int);
    void    TVCTRL(int);
    void    LEDMOD(int,int);
    int TGUSEMD(int,int);
    int DEFCHR(int,int,UBYTE *);
    int CRTMOD(int);
    int CONTRAST(int);
    int HSVTORGB(int,int,int);
    int TPALET(int,int);
    int TPALET2(int,int);
    void    TCOLOR(int);
    int FNTGET(int,int,struct FNTBUF *);
    void    TEXTGET(int,int,struct FNTBUF *);
    void    TEXTPUT(int,int,struct FNTBUF *);
    void    CLIPPUT(int,int,struct FNTBUF *,struct CLIPXY *);
    int SCROLL(int,int,int);    
    void    B_CURON();
    void    B_CUROFF();
    int B_PUTC(int);
    int B_PRINT(UBYTE *);
    int B_COLOR(int);
    int B_LOCATE(int,int);
    void    B_DOWN_S();
    void    B_UP_S();
    void    B_UP(int);
    void    B_DOWN(int);
    void    B_RIGHT(int);
    void    B_LEFT(int);
    void    B_CLR_ED();
    void    B_CLR_ST();
    void    B_CLR_AL();
    void    B_ERA_ED();
    void    B_ERA_ST();
    void    B_ERA_AL();
    void    B_INS(int);
    void    B_DEL(int);
    int B_CONSOL(int,int,int,int);
    int B_PUTMES(int,int,int,int,UBYTE *);
    int SET232C(int);
    int LOF232C();
    int INP232C();
    int ISNS232C();
    int OSNS232C();
    void    OUT232C(int);
    int JOYGET(int);
    int INIT_PRN(int,int);
    int SNSPRN();
    void    OUTLPT(int);
    void    OUTPRN(int);
    int B_SEEK(int,int);
    int B_VERIFY(int,int,int,UBYTE *);
    int B_READDI(int,int,int,UBYTE *);
    int B_DSKINI(UBYTE *,int);
    int B_DRVSNS(int);
    int B_WRITE(int,int,int,UBYTE *);
    int B_READ(int,int,int,UBYTE *);
    int B_RECALI(int);
    int B_ASSIGN(int,int,int,UBYTE *);
    int B_WRITED(int,int,int,UBYTE *);
    int B_READID(int,int,UBYTE *);
    int B_BADFMT(int,int,int);
    int B_READDL(int,int,int,UBYTE *);
    int B_FORMAT(int,int,int,UBYTE *);
    int B_DRVCHK(int,int);
    int B_EJECT(int);
    int BINDATEBCD(int);
    void    BINDATESET(int);
    int TIMEBCD(int);
    void    TIMESET(int);
    int BINDATEGET();
    int DATEBIN(int);
    int TIMEGET();
    int TIMEBIN(int);
    int DATECNV(UBYTE *);
    int TIMECNV(UBYTE *);
    int DATEASC(int,UBYTE *);
    int TIMEASC(int,UBYTE *);
    void    DAYASC(int,UBYTE *);
    int ALARMMOD(int);
    int ALARMSET(int,int,int);
    int ALARMGET(int*,int*,int*);
    void    ADPCMOUT(UBYTE *,int,int);
    void    ADPCMINP(UBYTE *,int,int);
    void    ADPCMAOT(struct CHAIN *,int,int);
    void    ADPCMAIN(struct CHAIN *,int,int);
    void    ADPCMLOT(struct CHAIN2 *,int);
    void    ADPCMLIN(struct CHAUN2 *,int);
    int ADPCMSNS();
    void    ADPCMMOD(int);
    int OPMSET(int,int);
    int OPMSNS();
    int OPMINTST(UBYTE *);
    int TIMERDST(UBYTE *,int,int);
    int VDISPST(UBYTE *,int,int);
    int CRTCRAS(UBYTE *,int);
    int HSYNCST(UBYTE *);
    int PRNINTST(UBYTE *);
    void    MS_INIT();
    void    MS_CURON();
    void    MS_CUROF();
    int MS_STAT();
    int MS_GETDT();
    int MS_CURGT();
    int MS_CURST(int,int);
    int MS_LIMIT(int,int,int,int);
    int MS_OFFTM(int,int);
    int MS_ONTM(int,int);
    void    MS_PATST(int,struct PATST *);
    void    MS_SEL(int);
    void    MS_SEL2(UBYTE *);
    int SKEY_MOD(int,int,int);
    void    DENSNS();
    int ONTIME();
    int B_INTVCS(int,int);
    int B_SUPER(int);
    int B_BPEEK(UBYTE *);
    int B_WPEEK(UWORD *);
    int B_LPEEK(ULONG *);
    void    B_MEMSTR(UBYTE *,UBYTE *,int);
    void    B_BPOKE(UBYTE *,int);
    void    B_WPOKE(UWORD *,int);
    void    B_LPOKE(ULONG *,int);
    void    B_MEMSET(UBYTE *,UBYTE *,int);
    void    DMAMOVE(UBYTE *,UBYTE *,int,int);
    void    DMAMOV_A(struct CHAIN *,UBYTE*,int,int);
    void    DMAMOV_L(struct CHAIN2 *,UBYTE *,int);
    int DMAMODE();
    int BOOTINF();
    int ROMVER();
    void    G_CLR_ON();
    int GPALET(int,int);
    int SFTJIS(int);
    int JISSFT(int);
    int AKCONV(int,int);
    int RMACNV(int,UBYTE *,UBYTE *);
    int DAKJOB(UBYTE *);
    int HANJOB(UBYTE *);
    void    OS_CURON();
    void    OS_CUROF();
    int APAGE(int);
    int VPAGE(int);
    int HOME(int,int,int);
    int WINDOW(int,int,int,int);
    int WIPE();
    int PSET(struct PSETPTR *);
    int POINT(struct POINTPTR *);
    int LINE(struct LINEPTR *);
    int BOX(struct BOXPTR *);
    int FILL(struct FILLPTR *);
    int CIRCLE(struct CIRCLEPTR *);
    int PAINT(struct PAINTPTR *);
    int SYMBOL(struct SYMBOLPTR *);
    int GETGRM(struct GETPTR *);
    int PUTGRM(struct PUTPTR *);
    int SP_INIT();
    int SP_ON();
    void    SP_OFF();
    int SP_CGCLR(int);
    void    SP_DEFCG(int,int,UBYTE *);
    int SP_GTPCG(int,int,UBYTE *);
    int SP_REGST(int,int,int,int,int,int);
    int SP_REGGT(int,int*,int*,int*,int*);
    int BGSCRLST(int,int,int);
    int BGSCRLGT(int,int*,int*);
    int BGCTRLST(int,int,int);
    int BGCTRLGT(int);
    int BGTEXTCL(int,int);
    int BGTEXTST(int,int,int,int);
    int BGTEXTGT(int,int,int);
    int SPALET(int,int,int);
    void    TXXLINE(struct XLINEPTR *);
    void    TXYLINE(struct YLINEPTR *);
    void    TXBOX(struct XBOXPTR *);
    void    TXFILL(struct TXFILLPTR *);
    void    TXREV(struct TREVPTR *);
    void    TXRASCPY(int,int,int);
    void    ABORTRST();
    void    IPLERR();
    void    ABORTJOB();

#else
    int TRAP15();
    int B_KEYINP();
    int B_KEYSNS();
    int B_SFTSNS();
    int BITSNS();
    void    SKEYSET();
    void    TVCTRL();
    void    LEDMOD();
    int TGUSEMD();
    int DEFCHR();
    int CRTMOD();
    int CONTRAST();
    int HSVTORGB();
    int TPALET();
    int TPALET2();
    void    TCOLOR();
    int FNTGET();
    void    TEXTGET();
    void    TEXTPUT();
    void    CLIPPUT();
    int SCROLL();   
    void    B_CURON();
    void    B_CUROFF();
    int B_PUTC();
    int B_PRINT();
    int B_COLOR();
    int B_LOCATE();
    void    B_DOWN_S();
    void    B_UP_S();
    void    B_UP();
    void    B_DOWN();
    void    B_RIGHT();
    void    B_LEFT();
    void    B_CLR_ED();
    void    B_CLR_ST();
    void    B_CLR_AL();
    void    B_ERA_ED();
    void    B_ERA_ST();
    void    B_ERA_AL();
    void    B_INS();
    void    B_DEL();
    int B_CONSOL();
    int B_PUTMES();
    int SET232C();
    int LOF232C();
    int INP232C();
    int ISNS232C();
    int OSNS232C();
    void    OUT232C();
    int JOYGET();
    int INIT_PRN();
    int SNSPRN();
    void    OUTLPT();
    void    OUTPRN();
    int B_SEEK();
    int B_VERIFY();
    int B_READDI();
    int B_DSKINI();
    int B_DRVSNS();
    int B_WRITE();
    int B_READ();
    int B_RECALI();
    int B_ASSIGN();
    int B_WRITED();
    int B_READID();
    int B_BADFMT();
    int B_READDL();
    int B_FORMAT();
    int B_DRVCHK();
    int B_EJECT();
    int BINDATEBCD();
    void    BINDATESET();
    int TIMEBCD();
    void    TIMESET();
    int BINDATEGET();
    int DATEBIN();
    int TIMEGET();
    int TIMEBIN();
    int DATECNV();
    int TIMECNV();
    int DATEASC();
    int TIMEASC();
    void    DAYASC();
    int ALARMMOD();
    int ALARMSET();
    int ALARMGET();
    void    ADPCMOUT();
    void    ADPCMINP();
    void    ADPCMAOT();
    void    ADPCMAIN();
    void    ADPCMLOT();
    void    ADPCMLIN();
    int ADPCMSNS();
    void    ADPCMMOD();
    int OPMSET();
    int OPMSNS();
    int OPMINTST();
    int TIMERDST();
    int VDISPST();
    int CRTCRAS();
    int HSYNCST();
    int PRNINTST();
    void    MS_INIT();
    void    MS_CURON();
    void    MS_CUROF();
    int MS_STAT();
    int MS_GETDT();
    int MS_CURGT();
    int MS_CURST();
    int MS_LIMIT();
    int MS_OFFTM();
    int MS_ONTM();
    void    MS_PATST();
    void    MS_SEL();
    void    MS_SEL2();
    int SKEY_MOD();
    void    DENSNS();
    int ONTIME();
    int B_INTVCS();
    int B_SUPER();
    int B_BPEEK();
    int B_WPEEK();
    int B_LPEEK();
    void    B_MEMSTR();
    void    B_BPOKE();
    void    B_WPOKE();
    void    B_LPOKE();
    void    B_MEMSET();
    void    DMAMOVE();
    void    DMAMOV_A();
    void    DMAMOV_L();
    int DMAMODE();
    int BOOTINF();
    int ROMVER();
    void    G_CLR_ON();
    int GPALET();
    int SFTJIS();
    int JISSFT();
    int AKCONV();
    int RMACNV();
    int DAKJOB();
    int HANJOB();
    void    OS_CURON();
    void    OS_CUROF();
    int APAGE();
    int VPAGE();
    int HOME();
    int WINDOW();
    int WIPE();
    int PSET();
    int POINT();
    int LINE();
    int BOX();
    int FILL();
    int CIRCLE();
    int PAINT();
    int SYMBOL();
    int GETGRM();
    int PUTGRM();
    int SP_INIT();
    int SP_ON();
    void    SP_OFF();
    int SP_CGCLR();
    void    SP_DEFCG();
    int SP_GTPCG();
    int SP_REGST();
    int SP_REGGT();
    int BGSCRLST();
    int BGSCRLGT();
    int BGCTRLST();
    int BGCTRLGT();
    int BGTEXTCL();
    int BGTEXTST();
    int BGTEXTGT();
    int SPALET();
    void    TXXLINE();
    void    TXYLINE();
    void    TXBOX();
    void    TXFILL();
    void    TXREV();
    void    TXRASCPY();
    void    ABORTRST();
    void    IPLERR();
    void    ABORTJOB();
#endif

jstring.h#

/*
 * jstring.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int jstrcmp(unsigned char *,unsigned char *);
int jstrncmp(unsigned char *,unsigned char *,int); 
unsigned char *jstrrchr(unsigned char *,int);
unsigned char *jstrchr(unsigned char *,int);
#else
int jstrcmp();
int jstrncmp();
unsigned char *jstrrchr();
unsigned char *jstrchr();
#endif

error.h#

/*
 * error.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define  EPERM      1
#define  ENOENT     2
#define  ESRCH      3
#define  EINTR      4
#define  EIO        5
#define  ENXIO      6
#define  E2BIG      7
#define  ENOEXEC    8
#define  EBADF      9
#define  ECHILD    10
#define  EAGAIN    11
#define  ENOMEM    12
#define  EACCES    13
#define  EFAULT    14
#define  ENOTBLK   15
#define  EBUSY     16
#define  EEXIST    17
#define  EXDEV     18
#define  ENODEV    19
#define  ENOTDIR   20
#define  EISDIR    21
#define  EINVAL    22
#define  ENFILE    23
#define  EMFILE    24
#define  ENOTTY    25
#define  ETXTBSY   26
#define  EFBIG     27
#define  ENOSPC    28
#define  ESPIPE    29
#define  EROFS     30
#define  EMLINK    31
#define  EPIPE     32
#define  EDOM      33
#define  ERANGE    34

extern int errno;

#ifndef NULL
#define NULL 0
#endif

limits.h#

/*
 * limits.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define CHAR_BIT 8      /* bits per char            */
#define CHAR_MAX 127        /* max value for char           */
#define CHAR_MIN -128       /* min value for char           */
#define SCHAR_MAX 127       /* max value for signed char        */
#define SCHAR_MIN -128      /* min value for signed char        */
#define UCHAR_MAX 255       /* max value for unsigned char      */
#define SHRT_MAX 32767      /* max value for short int      */
#define SHRT_MIN -32768     /* min value for short int      */
#define USHRT_MAX 65535     /* max value for unsigned short int     */
#define INT_MAX 2147483647  /* max value for int            */
#define INT_MIN -2147483648 /* min value for int            */
#define UINT_MAX 4294967295 /* max value for unsigned int       */
#define LONG_MAX 2147483647 /* max value for long int       */
#define LONG_MIN -2147483648    /* min value for long int       */
#define ULONG_MAX 4294967295    /* max value for unsigned long int  */

#ifndef NULL
#define NULL 0
#endif

math.h#

/*
 * math.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
/***** math exceptions ****/
struct exception {
    int type;
    char *name;
    double arg1, arg2;
    double retval;
};

struct complex  {
    double  x,y;
};

/** Exception type codes**/
#define DOMAIN    1
#define SING      2
#define OVERFLOW  3
#define UNDERFLOW 4
#define TLOSS     5
#define PLOSS     6

#define PI   3.1415926535898
#define PID2 1.5707963267949        /* PI/2     */
#define PID4 0.78539816339745       /* PI/4     */
#define I_PI 0.31830988618379       /* 1/PI     */
#define I_PID2 0.63661977236758     /* 1/PID2   */

extern int errno;

#ifdef  FORWORD

double  atof(char *);
double  acos(double);
double  asin(double);
double  atan(double);
double  atan2(double, double);
double  cos(double);
double  sin(double);
double  tan(double);
double  cosh(double);
double  sinh(double);
double  tanh(double);
double  exp(double);
double  frexp(double, int *);
double  ldexp(double, int);
double  log(double);
double  log10(double);
double  modf(double, double *);
double  pow(double, double);
double  sqrt(double);
double  ceil(double);
double  fabs(double);
double  floor(double);
double  fmod(double, double);
double  hypot(double, double);
double  except(int, char *, double, double, double);
int matherr(struct exception *);
double  cabs(struct complex *);

#else

double  atof();
double  acos();
double  asin();
double  atan();
double  atan2();
double  cos();
double  sin();
double  tan();
double  cosh();
double  sinh();
double  tanh();
double  exp();
double  frexp();
double  ldexp();
double  log();
double  log10();
double  modf();
double  pow();
double  sqrt();
double  ceil();
double  fabs();
double  floor();
double  fmod();
double  hypot();
double  except();
int matherr();
double  cabs();

#endif

setjmp.h#

/*
 * setjmp.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
typedef struct  {
    int _D3;
    int _D4;
    int _D5;
    int _D6;
    int _D7;
    int _A3;
    int _A4;
    int _A5;
    int _A6;
    int _A7;
    int _PC;
} jmp_buf;

#ifdef  FORWORD

int setjmp(jmp_buf *);
void    longjmp(jmp_buf *, int);

#else

int setjmp();
void    longjmp();

#endif

stdio.h#

/*
 * stdio.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
/*
 *#define   MACRO       stream function is macro ?
 */
#ifndef BUFSIZ
#define BUFSIZ  1024    /*  書き直し注意  */
#endif
#ifndef _NFILE
#define _NFILE  40  /*  書き直し注意  */
#endif
/*
 * CLIBを変更しなければ意味がありません
 * 変更ファイル       STDIO.MAC
 * AS AR実行ファイル  __MAIN.S _GETIOB.S FCLOSEAL.S FLUSHALL.S
 *          FCLOSE.S SETBUF.S FREOPEN.S FOPEN.S
 */
#ifndef EOF
#define EOF (-1)
#endif
#ifndef EOS
#define EOS '\0'
#endif
#ifndef NULL
#define NULL    (char *)0
#endif

typedef struct  _iobuf  {
    char    *_ptr;
    int _cnt;
    char    *_base;
    int _flag;
    int _bsize;
    char    _file;
    char    _pback;
} FILE;
extern  FILE    _iob[_NFILE];

#define stdin   (&_iob[0])
#define stdout  (&_iob[1])
#define stderr  (&_iob[2])
#define stdaux  (&_iob[3])
#define stdprn  (&_iob[4])

#define _IOFBF      0x00
#define _IOREAD     0x01
#define _IOWRT      0x02
#define _IORW       0x100
#define _IONBF      0x08
#define _IOMYBUF    0x10
#define _IOEOF      0x20
#define _IOERR      0x40
#define _IOLBF      0x80

#ifdef  MACRO
    #define getc(f) (--(f)->_cnt >= 0 ? 0xff & *(f)->_ptr++ : _filbuf(f))
    #define putc(c,f) (--(f)->_cnt >= 0 ? 0xff & (*(f)->_ptr++ = (c)) : _flsbuf((c),(f)))
    #define getchar() getc(stdin)
    #define putchar(c) putc((c),stdout)
    #define feof(f) ((f)->_flag & _IOEOF)
    #define ferror(f) ((f)->_flag & _IOERR)
    #define fileno(f) ((f)->_file)
    #define clearerr(f) ((f)->_flag &= ~(_IOEOF+_IOERR))
#else
    #ifdef  FORWORD
        int getc(FILE *);
        int putc(int,FILE *);
        int getchar(void);
        int putchar(int);
        int feof(FILE *);
        int ferror(FILE *);
        int fileno(FILE *);
        void    clearerr(FILE *);
    #else
        int getc();
        int putc();
        int getchar();
        int putchar();
        int feof();
        int ferror();
        int fileno();
        void    clearerr();
    #endif
#endif

#ifdef  FORWORD

    int fclose(FILE *);
    int fflush(FILE *);
    FILE    *fopen(char *, char *);
    FILE    *freopen(char *, char *, FILE *);
    void    setbuf(FILE *, char *);
    int setvbuf(FILE *, char *, int, int);
    int fprintf(FILE *, char *,);
    int fscanf(FILE *, char *,);
    int printf(char *,);
    int scanf(char *,);
    int sprintf(char *, char *,);
    int sscanf(char *, char *,);
    int fgetc(FILE *);
    char    *fgets(char *, int, FILE *);
    int fputc(int, FILE *);
    int fputs(char *, FILE *);
    char    *gets(char *);
    int puts(char *);
    int ungetc(int, FILE *);
    int fread(char *, int, int, FILE *);
    int fwrite(char *, int, int, FILE *);
    int fseek(FILE *, long, int);
    long    ftell(FILE *);
    void    rewind(FILE *);
    void    perror(char *);
    int fcloseall(void);
    int flushall(void);
    int fputchar(int);
    void    clrerr(FILE *);
    void    fmode(FILE *, int);
    int getw(FILE *);
    int fgetchar(void);
    int getl(FILE *);
    int putl(long,FILE *);
    int putw(short,FILE *);
    int setnbf(FILE *);
    FILE    *fdopen(int, char *);
#else

    int fclose();
    int fflush();
    FILE    *fopen();
    FILE    *freopen();
    void    setbuf();
    int setvbuf();
    int fprintf();
    int fscanf();
    int printf();
    int scanf();
    int sprintf();
    int sscanf();
    int fgetc();
    char    *fgets();
    int fputc();
    int fputs();
    char    *gets();
    int puts();
    int ungetc();
    int fread();
    int fwrite();
    int fseek();
    long    ftell();
    void    rewind();
    void    perror();
    int fcloseall();
    int flushall();
    int fputchar();
    void    clrerr();
    void    fmode();
    int getw();
    int fgetchar();
    int getl();
    int putl();
    int putw();
    int setnbf();
    FILE    *fdopen();
#endif

/*
 * end of stdio.h
 */

basic.h#

/*
 * basic.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int  asc(char *);
double   atof(char *);
int  atoi(char *);
char    *b_binS(char *,int);
char    *b_chrS(char *,int);
char    *ecvt(double,int,int *,int *);
char    *fcvt(double,int,int *,int *);
double   fix(double);
char    *gcvt(double,int,char *);
char    *b_hexS(char *,int);
char    *b_itoa(char *,int);
char    *b_octS(char *,int);
int  toascii(char);
int  tolower(char);
int  toupper(char);
double   val(char *);
int  dskf(int);
int  b_fclose(int);
int  b_fcloseall(void);
int  b_feof(int);
int  b_fgetc(int);
int  b_fopen(char *,char *);
int  b_fputc(char,int);
int  b_fread(void *,int,int,int);
int  b_freads(char *,int,int);
int  b_fseek(int,int,int);
int  b_fwrite(void *,int,int,int);
int  b_fwrites(char *,int);
double   atan(double);
double   cos(double);
double   exp(double);
double   log(double);
double   pow(double,double);
int  rand(void);
void     randomize(int);
double   rnd(void);
double   sgn(double);
double   sin(double);
double   sqrt(double);
void     srand(int);
double   tan(double);
int  instr(int,char *,char *);
int  isalnum(char);
int  isalpha(char);
int  isascii(char);
int  iscntrl(char);
int  isdigit(char);
int  isgraph(char);
int  islower(char);
int  isprint(char);
int  ispunct(char);
int  isspace(char);
int  isupper(char);
int  isxdigit(char);
char    *b_leftS(char *,char *,int);
char    *b_midS(char *,char *,int,int);
char    *b_mirrorS(char *,char *);
char    *b_rightS(char *,char *,int);
int  b_strchr(char *,char);
int  strcspn(char *,char *);
char    *b_stringS(char *,int,char *);
int  strlen(char *);
char    *strlwr(char *);
char    *strnset(char *,char,int);
int  b_strrchr(char *,char);
char    *strrev(char *);
char    *strset(char *,char);
int  strspn(char *,char *);
char    *b_strtok(char *,char *);
char    *strupr(char *);
void     frename(char *,char *);
void     fdelete(char *);

#else
int  asc();
double   atof();
int  atoi();
char    *b_binS();
char    *b_chrS();
char    *ecvt();
char    *fcvt();
double   fix();
char    *gcvt();
char    *b_hexS();
char    *b_itoa();
char    *b_octS();
int  toascii();
int  tolower();
int  toupper();
double   val();
int  dskf();
int  b_fclose();
int  b_fcloseall();
int  b_feof();
int  b_fgetc();
int  b_fopen();
int  b_fputc();
int  b_fread();
int  b_freads();
int  b_fseek();
int  b_fwrite();
int  b_fwrites();
double   atan();
double   cos();
double   exp();
double   log();
double   pow();
int  rand();    
void     randomize();
double   rnd();
double   sgn();
double   sin();
double   sqrt();
void     srand();
double   tan();
int  instr();
int  isalnum();
int  isalpha();
int  isascii();
int  iscntrl();
int  isdigit();
int  isgraph();
int  islower();
int  isprint();
int  ispunct();
int  isspace();
int  isupper();
int  isxdigit();
char    *b_leftS();
char    *b_midS();
char    *b_mirrorS();
char    *b_rightS();
int  b_strchr();
int  strcspn();
char    *b_stringS();
int  strlen();
char    *strlwr();
char    *strnset();
int  b_strrchr();
char    *strrev();
char    *strset();
int  strspn();
char    *b_strtok();
char    *strupr();
void     frename();
void     fdelete();
#endif

time.h#

/*
 * time.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
extern int daylight;
extern long timezone;
extern char *tzname[2];
extern char tzstn[];
extern char tzdtn[];

/*  template of tm "gmtime" */
struct tm {
    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
    int tm_wday;
    int tm_yday;
    int tm_isdst;
};

#ifndef NULL
#define NULL 0
#endif

#ifdef  FORWORD

long    time(long *);
char    *asctime(struct tm *);
char    *ctime(long *);
struct tm   *gmtime(long *);
struct tm   *localtime(long *);
void    tzset(void);

#else

long    time();
char    *asctime();
char    *ctime();
struct tm   *gmtime();
struct tm   *localtime();
void    tzset();

#endif

signal.h#

/*
 * signal.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define NSIG 1
#define SIG_DFL (int (*)())0
#define SIG_IGN (int (*)())1

#define SIGINT  0xfff1      /*rts   dc.w    $fff1   */

#ifdef  FORWORD

void    (*signal(int, void (*)()))(int);

#else

void    (*signal())();

#endif

stat.h#

/*
 * stat.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
struct stat {
    short   st_dev;     /*デバイス番号(ディスク・ドライブ番号)*/
    int st_ino;     /*inode番号*/
    short   st_mode;    /*ファイルタイプとファイル属性*/
    short   st_nlink;   /*(1)リンクカウント*/
    short   st_uid;     /*(0)ユーザID*/
    short   st_gid;     /*(0)グループID*/
    short   st_rdev;    /*rawデバイス番号*/
    int st_size;    /*ファイル・サイズ*/
    int st_atime;   /*アクセス時刻*/
    int st_mtime;   /*モディファィ時刻*/
    int st_ctime;   /*クリエイト時刻*/
};

/*st_mode*/

#define S_IREAD     0   /*読み込み可能*/
#define S_IWRITE    1   /*書き込み可能*/
#define S_IFDIR     16  /*ディレクトリー*/
#define S_IFREG     32  /*通常*/
#define S_IEXEC     64  /*実行*/
#define S_IFCHR     128 /*デバイス*/

#ifdef  FORWORD
int fstat(int, struct stat *);
int stat(char *, struct stat *);

#else
int fstat();
int stat();
#endif

fcntl.h#

/*
 * fcntl.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
/*************************************************************************/
/** ストリーム入出力,低水準I/O関数用マクロ 2         **/
/*************************************************************************/
#define O_RDONLY    0x00000001  /*読み込み専用                */
#define O_WRONLY    0x00000002  /*書き込み専用                */
#define O_APPEND    0x00000004  /*アペンド・モード          */
#define O_RDWR      0x00000100  /*読み書き可能                */
#define O_BINARY    0x00000400  /*バイナリ・モード          */
#define O_TEXT      0x00000800  /*テキスト・モード          */
#define O_TRUNC     0x00001000  /*ファイル・サイズを0に切り詰める  */
#define O_EXCL      0x00002000  /*ファイルが存在している時エラーとする    */
#define O_CREAT     0x00004000  /*ファイルが存在しない時は作成        */
#define O_EOF       0x00008000  /*EOFに達したことを表す      */

#define STDIN   0
#define STDOUT  1
#define STDERR  2
#define STDAUX  3
#define STDPRN  4

class.h#

/*
 * class.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define INT int
#define UINT    unsigned int
#define WORD    short
#define UWORD   unsigned short
#define BYTE    char
#define UBYTE   unsigned char
#define VOID    void
#define DEFAULT int
#define BOOLEAN int
#define LONG    long
#define ULONG   unsigned long

/*
 */

#define REG register
#define LOCAL   auto
#define MLOCAL  static
#define EXTERN  extern

mouse.h#

/*
 * mouse.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int mouse(int);
int msarea(int,int,int,int);
int msbtn(int,int,int);
int mspos(int *,int*);
int msstat(int *,int *,int *,int *);
int setmspos(int,int);
#else
int mouse();
int msarea();
int msbtn();
int mspos();
int msstat();
int setmspos();
#endif

stick.h#

/*
 * stick.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int stick(int);
int strig(int);
#else
int stick();
int strig();
#endif

sprite.h#

/*
 * sprite.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
void    sp_clr(int,int);
int sp_color(char,int,int);
void    sp_def(char,char *,int);
void    sp_disp(char);
void    sp_move(char,int,int,int);
void    sp_off(int,int);
void    sp_on(int,int);
void    sp_pat(char,char *,int);
int sp_init(void);
int sp_set(char,int,int,int,int);
int sp_stat(char,char);
int bg_scroll(char,int,int);
int bg_set(char,int,int);
int bg_stat(char,char);
int bg_fill(char,int);
int bg_put(char,char,char,int);
int bg_get(char,char,char);
#else
void    sp_clr();
int sp_color();
void    sp_def();
void    sp_disp();
void    sp_move();
void    sp_off();
void    sp_on();
void    sp_pat();
int sp_init();
int sp_set();
int sp_stat();
int bg_scroll();
int bg_set();
int bg_stat();
int bg_fill();
int bg_put();
int bg_get();
#endif

doslib.h#

/*
 * doslib.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#include    <class.h>

/*
 *
 */
struct PDBADR{
    UINT    env;
    UINT    exit;
    UINT    ctrlc;
    UINT    errexit;
    UINT    comline;
    UBYTE   handle[12];
    UINT    bss;
    UINT    heep;
    UINT    stack;
    UINT    usp;
    UINT    ssp;
    UWORD   sr;
    UWORD   abort_sr;
    UINT    abort_ssp;
    UINT    trap10;
    UINT    trap11;
    UINT    trap12;
    UINT    trap13;
    UINT    trap14;
    UINT    osflg;
    UBYTE   reserve[28];
    UBYTE   exe_path[68];
    UBYTE   exe_name[24];
};

struct  INPPTR{
    UBYTE   max;
    UBYTE   length;
    UBYTE   buffer[256];
};
    
/*
 *
 */


struct  COMLINE{
    UBYTE   len;
    UBYTE   buffer[255];
};
    
/*
 *
 */

struct  NAMESTBUF{
    UBYTE   flg;
    UBYTE   drive;
    UBYTE   path[65];
    UBYTE   name1[8];
    UBYTE   ext[3];
    UBYTE   name2[10];
};
    
/*
 *
 */

struct  FREEINF{
    UWORD   free;
    UWORD   max;
    UWORD   sec;
    UWORD   byte;
};
    
/*
 *
 */

struct  NAMECKBUF{
    UBYTE   drive[2];
    UBYTE   path[65];
    UBYTE   name[19];
    UBYTE   ext[5];
};
    
/*
 *
 */

struct  DPBPTR{
    UBYTE   drive;
    UBYTE   unit;
    UWORD   byte;
    UBYTE   sec;
    UBYTE   shift;
    UWORD   fatsec;
    UBYTE   fatcount;
    UBYTE   fatlen;
    UWORD   dircount;
    UWORD   datasec;
    UWORD   maxfat;
    UWORD   dirsec;
    INT driver;
    UBYTE   id;
    UBYTE   flg;
struct  DPBPTR * next;
    UWORD   dirfat;
    UBYTE   dirbuf[64];
};


    
/*
 *
 */

struct  FILBUF{
    UBYTE   os[21];
    UBYTE   atr;
    UWORD   time;
    UWORD   date;
    UINT    filelen;
    UBYTE   name[23];
};
    
/*
 *
 */

#ifdef  FORWORD

void EXIT();
int GETCHAR();
void PUTCHAR(int);
int COMINP();
void COMOUT(int);
void PRNOUT(int);
int INPOUT(int);
int INKEY();
int GETC();
void PRINT(UBYTE *);
int GETS(struct INPPTR *);
int KEYSNS();
int KFLUSHGP();
int KFLUSHIO(int);
int KFLUSHIN();
int KFLUSHGC();
int KFLUSHGS(struct INPPTR *);
int FFLUSH();
int CHGDRV(int);
int DRVCTRL(int,int);
int CONSNS();
int PRNSNS();
int CINSNS();
int COUTSNS();
int FATCHK(UBYTE *,UWORD *);
int HENDSPMO();
int HENDSPMP(int,UBYTE *);
int HENDSPMR(int,UBYTE *);
void HENDSPMC();
int HENDSPIO();
int HENDSPIP(int,UBYTE *);
int HENDSPIR(int,UBYTE *);
int HENDSPIC(int);
int HENDSPSO();
int HENDSPSP(int,UBYTE *);
int HENDSPSR(int,UBYTE *);
void HENDSPSC();
int CURDRV();
int GETSS(struct INPPTR *);
int FGETC(int);
int FGETS(struct INPPTR *,int);
void FPUTC(int,int);
void FPUTS(UBYTE *,int);
void ALLCLOSE();
int SUPER(int);
void FNCKEYGT(int,UBYTE *); 
void FNCKEYST(int,UBYTE *);
int C_PUTC(int);
int C_PRINT(UBYTE *);
int C_COLOR(int);
int C_LOCATE(int,int);
int C_DOWN_S();
int C_UP_S();
int C_UP(int);
int C_DOWN(int);
int C_RIGHT(int);
int C_LEFT(int);
int C_CLS_ED();
int C_CLS_ST();
int C_CLS_AL();
int C_ERA_ED();
int C_ERA_ST();
int C_ERA_AL();
int C_INS(int);
int C_DEL(int);
int C_FNKMOD(int);
int C_WINDOW(int,int);
int C_WIDTH(int);
int C_CURON();
int C_CUROFF();
int K_KEYINP();
int K_KEYSNS();
int K_SFTSNS();
int K_KEYBIT(int);
void K_INSMOD(int);
int INTVCS(int, char *);
void PSPSET(struct PDBADR *);
int GETTIM2();
int SETTIM2(int);
int NAMESTS(UBYTE *,struct NAMESTBUF *);
int GETDATE();
int SETDATE(int);
int GETTIME();
int SETTIME(int);
void VERIFY(int);
int DUP0(int,int);
int VERNUM();
void KEEPPR(int,int);
int GETDPB(int,struct DPBPTR *);
int BREAKCK(int);
void DRVXCHG(int,int);
int INTVCG(int);
int DSKFRE(int,struct FREEINF *);
int NAMECK(UBYTE *,struct NAMECKBUF *);
int MKDIR(UBYTE *);
int RMDIR(UBYTE *);
int CHDIR(UBYTE *);
int CREATE(UBYTE *,int);
int OPEN(UBYTE *,int);
int CLOSE(int);
int READ(int,UBYTE *,int);
int WRITE(int,UBYTE *,int);
int DELETE(UBYTE *);
int SEEK(int,int,int);
int CHMOD(UBYTE *,int);
int IOCTRLGT(int);
int IOCTRLST(int,int);
int IOCTRLRH(int,UBYTE *,int);
int IOCTRLWH(int,UBYTE *,int);
int IOCTRLRD(int,UBYTE *,int);
int IOCTRLWD(int,UBYTE *,int);
int IOCTRLIS(int);
int IOCTRLOS(int);
int DUP(int);
int DUP2(int);
int CURDIR(int,UBYTE *);
int MALLOC(int);
int MFREE(int);
int SETBLOCK(int,int);
int LOADEXEC(UBYTE *,struct COMLINE *,UBYTE *);
int LOAD(UBYTE *,struct COMLINE *,UBYTE *);
int PATHCHK(UBYTE *,struct COMLINE *,UBYTE *);
int LOADONLY(UBYTE *,UBYTE *,UBYTE *);
int EXECONLY(int);
void EXIT2(int);
int WAIT();
int FILES(struct FILBUF *,UBYTE *,int);
int NFILES(struct FILBUF *);
int SETPDB(struct PDBADR *);
struct PDBADR * GETPDB();
int SETENV(int,UBYTE *,UBYTE *);
int GETENV(int,UBYTE *,UBYTE *);
int VERIFYG();
int MOVE(UBYTE *,UBYTE *);
int RENAME(UBYTE *,UBYTE *);
int FILEDATE(int,int);
void DISKRED(UBYTE *,int,int,int);
void DISKWRT(UBYTE *,int,int,int);

#else
void EXIT();
int GETCHAR();
void PUTCHAR();
int COMINP();
void COMOUT();
void PRNOUT();
int INPOUT();
int INKEY();
int GETC();
void PRINT();
int GETS();
int KEYSNS();
int KFLUSHGP();
int KFLUSHIO();
int KFLUSHIN();
int KFLUSHGC();
int KFLUSHGS();
int FFLUSH();
int CHGDRV();
int DRVCTRL();
int CONSNS();
int PRNSNS();
int CINSNS();
int COUTSNS();
int FATCHK();
int HENDSPMO();
int HENDSPMP();
int HENDSPMR();
void HENDSPMC();
int HENDSPIO();
int HENDSPIP();
int HENDSPIR();
int HENDSPIC();
int HENDSPSO();
int HENDSPSP();
int HENDSPSR();
void HENDSPSC();
int CURDRV();
int GETSS();
int FGETC();
int FGETS();
void FPUTC();
void FPUTS();
void ALLCLOSE();
int SUPER();
int FNCKEYGT(); 
void FNCKEYST();
int C_PUTC();
int C_PRINT();
int C_COLOR();
int C_LOCATE();
int C_DOWN_S();
int C_UP_S();
int C_UP();
int C_DOWN();
int C_RIGHT();
int C_LEFT();
int C_CLS_ED();
int C_CLS_ST();
int C_CLS_AL();
int C_ERA_ED();
int C_ERA_ST();
int C_ERA_AL();
int C_INS();
int C_DEL();
int C_FNKMOD();
int C_WINDOW();
int C_WIDTH();
int C_CURON();
int C_CUROFF();
int K_KEYINP();
int K_KEYSNS();
int K_SFTSNS();
int K_KEYBIT();
void K_INSMOD();
int INTVCS();
void PSPSET();
int GETTIM2();
int SETTIM2();
int NAMESTS();
int GETDATE();
int SETDATE();
int GETTIME();
int SETTIME();
void VERIFY();
int DUP0();
int VERNUM();
void KEEPPR();
int GETDPB();
int BREAKCK();
void DRVXCHG();
int INTVCG();
int DSKFRE();
int NAMECK();
int MKDIR();
int RMDIR();
int CHDIR();
int CREATE();
int OPEN();
int CLOSE();
int READ();
int WRITE();
int DELETE();
int SEEK();
int CHMOD();
int IOCTRLGT();
int IOCTRLST();
int IOCTRLRH();
int IOCTRLWH();
int IOCTRLRD();
int IOCTRLWD();
int IOCTRLIS();
int IOCTRLOS();
int DUP();
int DUP2();
int CURDIR();
int MALLOC();
int MFREE();
int SETBLOCK();
int LOADEXEC();
int LOAD();
int PATHCHK();
int LOADONLY();
int EXECONLY();
void EXIT2();
int WAIT();
int FILES();
int NFILES();
int SETPDB();
struct PDBADR * GETPDB();
int SETENV();
int GETENV();
int VERIFYG();
int MOVE();
int RENAME();
int FILEDATE();
void DISKRED();
void DISKWRT();

#endif

music.h#

/*
 * music.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int m_alloc(char,int);
int m_assign(char,char);
int m_cont(int,int,int,int,int,int,int,int);
int m_free(char);
void    m_init(void);
int m_play(int,int,int,int,int,int,int,int);
int m_stat(char);
int m_stop(int,int,int,int,int,int,int,int);
int m_tempo(char);
int m_trk(char,char *);
int m_vget(char,char *);
int m_vset(char,char *);

#else
int m_alloc();
int m_assign();
int m_cont();
int m_free();
void    m_init();
int m_play();
int m_stat();
int m_stop();
int m_tempo();
int m_trk();
int m_vget();
int m_vset();
#endif

audio.h#

/*
 * audio.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
void    a_play(void *,int,int,int,int);
void    a_rec(void *,int,int,int);
int a_stat();
void    a_end();
void    a_stop();
void    a_cont();
#else
void    a_play();
void    a_rec();
int a_stat();
void    a_end();
void    a_stop();
void    a_cont();
#endif

basic0.h#

/*
 * basic0.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
static  char    STRCRLF[3]={13,10,0};
static  char    STRTAB[2]={9,0};

#ifdef  FORWORD
char    *b_dateS(char *);
char    *b_timeS(char *);
char    *b_dayS(char *);
int  b_free(void);
char    *b_inkeyS(char *);
char    *b_inkey0(char *);
char    *b_striS(char *,int);
char    *b_strfS(char *,double);
int  csrlin(void);
int  pos(void);
char    *b_spaceS(char *,int);
char    *using(char *,char *,);
void     beep(void);
void     cls(void);
void     b_exit(int);
void     width(int);
void     color(int);
void     console(int,int,int);
void     b_input(char *,int,);
void     b_linput(char *,int);
void     locate(int,int);
void     b_sprint(char *);
void     b_iprint(int);
void     b_fprint(double);
void     b_tprint(int);
void     b_slprint(char *);
void     b_ilprint(int);
void     b_flprint(double);
void     b_tlprint(int);
void     key(int,char *);
void     screen(int,int,int,int);
double   pi();
double   b_pi(double);
int  abs(int);
double   fabs(double);
void     b_setdate(char *);
void     b_settime(char *);
void     b_csw(int);
void     b_tpalet(int,int,int,int);
void     b_strncpy(int,char *,char *);
int  b_strcmp(char *,int,char *);
char    *b_stradd(char *,char *,char *,);
void     b_init();
int b_int(double);
#else
char    *b_dateS();
char    *b_timeS();
char    *b_dayS();
int  b_free();
char    *b_inkeyS();
char    *b_inkey0();
char    *b_striS();
char    *b_strfS();
int  csrlin();
int  pos();
char    *b_spaceS();
char    *using();
void     beep();
void     cls();
void     b_exit();
void     width();
void     color();
void     console();
void     b_input();
void     b_linput();
void     locate();
void     b_sprint();
void     b_iprint();
void     b_fprint();
void     b_tprint();
void     b_slprint();
void     b_ilprint();
void     b_flprint();
void     b_tlprint();
void     key();
void     screen();
double   pi();
double   b_pi();
int  abs();
double   fabs();
void     b_setdate();
void     b_settime();
void     b_csw();
void     b_tpalet();
void     b_strncpy();
int  b_strcmp();
char    *b_stradd();
void     b_init();
int b_int();
#endif

graph.h#

/*
 * graph.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
void    apage(char);
void    box(int,int,int,int,int,int);
void    circle(int,int,int,int,int,int,int);
void    contrast(int);
void    fill(int,int,int,int,int);
void    get(int,int,int,int,void *,int);
void    home(int,int,int);
int hsv(int,int,int);
void    line(int,int,int,int,int,int);
void    paint(int,int,int);
void    palet(int,int);
int point(int,int);
void    pset(int,int,int);
void    put(int,int,int,int,void *,int);
int rgb(int,int,int);
void    symbol(int,int,char *,char,char,int,int,int);
void    vpage(char);
void    window(int,int,int,int);
void    wipe(void);
#else
void    apage();
void    box();
void    circle();
void    contrast();
void    fill();
void    get();
void    home();
int hsv();
void    line();
void    paint();
void    palet();
int point();
void    pset();
void    put();
int rgb();
void    symbol();
void    vpage();
void    window();
void    wipe();
#endif

string.h#

/*
 * string.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define stricmp strcmpi

#ifndef NULL
#define NULL
#endif

#ifdef  FORWORD

void    *memcpy(char *, char *, int);
char    *strcpy(char *, char *);
char    *strncpy(char *, char *, int);
char    *strcat(char *, char *);
char    *strncat(char *, char *, int);
int memcmp(void *, void *, int);
int strcmpi(char *, char *);
int strcmp(char *, char *);
int strncmp(char *, char *, int);
void    *memchr(void *, int, int);
char    *strchr(char *, char);
int strcspn(char *, char *);
char    *strpbrk(char *, char *);
char    *strrchr(char *, char);
int strspn(char *, char *);
char    *strtok(char *, char *);
void    *memset(void *, int, int);
int strlen(char *);
char    *strnset(char *, char, unsigned int);
char    *strlwr(char *);
char    *strupr(char *);
char    *strset(char *, char);
char    *strrev(char *);
char    *strdup(char *);
void    strins(char *, char *);
void    strsfn(char *, char *, char *, char *, char *);
void    strmfe(char *, char *, char *);
void    strmfn(char *, char *, char *, char *, char *);
void    strmfp(char *, char *, char *);
int stcgfe(char *, char *);
int strbpl(char **, int, char *);
int stcgfn(char *, char *);
long    strtol(char *, char **, int);
void    strsrt(char **, int);

char    *memccpy(char *, char *, char, int);
void    movedata(char *,char *,int);
void    setmem(char *, unsigned, int);
void    movmem(char *, char *, int);
void    swmem(char *, char *, unsigned);
void    repmem(char *, char *, unsigned, int);

#else

void    *memcpy();
char    *strcpy();
char    *strncpy();
char    *strcat();
char    *strncat();
int memcmp();
int strcmpi();
int strcmp();
int strncmp();
void    *memchr();
char    *strchr();
int strcspn();
char    *strpbrk();
char    *strrchr();
int strspn();
char    *strtok();
void    *memset();
int strlen();
char    *strnset();
char    *strlwr();
char    *strupr();
char    *strset();
char    *strrev();
char    *strdup();
void    strins();
void    strsfn();
void    strmfe();
void    strmfn();
void    strmfp();
int stcgfe();
int strbpl();
int stcgfn();
long    strtol();
void    strsrt();

char    *memccpy();
void    movedata();
void    setmem();
void    movmem();
void    swmem();
void    repmem();
#endif

image.h#

/*
 * image.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
void    img_set(char,int,int,int,int);
void    img_still(char);
void    img_pos(char);
void    img_color(char);
void    v_cut(char);
void    crt(char);
void    img_ht(int,int,int,int,char,char);
int img_save(char *,int,int);
int img_load(char *,int,int,int);
void    img_scrn(char,char,char);
void    img_put(int,int,int,int,void *,int);
int keysns(void);
void    img_home(int,int,char,char,char);

#else
void    img_set();
void    img_still();
void    img_pos();
void    img_color();
void    v_cut();
void    crt();
void    img_ht();
int img_save();
int img_load();
void    img_scrn();
void    img_put();
int keysns();
void    img_home();
#endif

stdlib.h#

/*
 * stdlib.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
extern  int     errno;
extern  int     _doserrno;
extern  unsigned char   **environ;
extern  unsigned int    _PSP;
extern  int     _fmode;
extern  char        *sys_errlist[];
extern  int     sys_nerr;

#ifdef  FORWORD

int atoi(char *);
long    atol(char *);
int rand(void);
void    srand(unsigned);
void    *calloc(unsigned, unsigned);
void    free(void *);
void    *malloc(unsigned);
void    *realloc(void *, unsigned);
void    abort(void);
void    exit(int);
void    _exit(int);
char    *getenv(char *);
int system(char *);
void    *bsearch(void *, void *, unsigned, unsigned, int (*)(void *, void *));
void    qsort(void *, unsigned, unsigned, int (*)(void *, void *));
int abs(int);
short   wabs(short);
long    labs(long);

char    *sbrk(int);
int rlsmem(char *, unsigned);
int rlsml(char *, long);
char    *getmem(unsigned);
char    *getml(long);
void    rbrk(void);
void    rstmem(void);
long    chkml(void);
long    sizmem(void);
int bldmem(void);
int allmem(void);

int putenv(char *);
void    swaw(int *, int *, int);
void    swab(char *, char *, int);
void    lqsort(long *, int);
void    sqsort(short *, int);
void    fqsort(float *, int);
void    dqsort(double *, int);
void    tqsort(char **, int);

char    *itoa(int, char *, int);
char    *ltoa(long, char *, int);
char    *wtoa(short, char *, int);
char    *fcvt(double, int, int *, int *);
char    *gcvt(double, int, char *);
short   atow(char *);
char    *uitoa(unsigned int);
char    *ultoa(unsigned long);
char    *uwtoa(unsigned short);
char    *ecvt(double, int, int *, int *);

#else

int atoi();
long    atol();
int rand();
void    srand();
void    *calloc();
void    free();
void    *malloc();
void    *realloc();
void    abort();
void    exit();
void    _exit();
char    *getenv();
int system();
void    *bsearch();
void    qsort();
int abs();
short   wabs();
long    labs();

char    *sbrk();
int rlsmem();
int rlsml();
char    *getmem();
char    *getml();
void    rbrk();
void    rstmem();
long    chkml();
long    sizmem();
int bldmem();
int allmem();

int putenv();
void    swaw();
void    swab();
void    lqsort();
void    sqsort();
void    fqsort();
void    dqsort();
void    tqsort();

char    *itoa();
char    *ltoa();
char    *wtoa();
char    *fcvt();
char    *gcvt();
short   atow();
char    *uitoa();
char    *ultoa();
char    *uwtoa();
char    *ecvt();

#endif

process.h#

/*
 * process.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#define P_WAIT  0
#ifdef  FORWORD
int getpid(void);
int execve(char *, char **, char **);
int execvpe(char *, char **, char **);
int execl(char *, char *, );
int execlp(char *, char *, );
int execv(char *, char **);
int execvp(char *, char **);
int execle(char *, char *, );
int execlpe(char *, char *, );
int spawnl(int, char *, char *, );
int spawnlp(int, char *, char *, );
int spawnv(int, char *, char **);
int spawnvp(int, char *, char **);
int spawnle(int, char *, char *, );
int spawnve(int, char *, char **, char **);
#else
int getpid();
int execve();
int execvpe();
int execl();
int execlp();
int execv();
int execvp();
int execle();
int execlpe();
int spawnl();
int spawnlp();
int spawnv();
int spawnvp();
int spawnle();
int spawnve();
#endif

direct.h#

/*
 * direct.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
char    *getcwd(char *, int);
int mkdir(char *);
int rmdir(char *);
int chdir(char *);
#else
char    *getcwd();
int mkdir();
int rmdir();
int chdir();
#endif

utime.h#

/*
 * utime.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
struct  utimbuf {
    int actime;
    int modtime;
};

#ifdef  FORWORD
int utime(char *, struct utimbuf *);
#else
int utime();
#endif

timeb.h#

/*
 * timeb.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
struct  timeb   {
  int               time;
  unsigned short    millitim;
  short             timezone;
  short             dstflag;
};
#ifdef  FORWORD
void    ftime(struct timeb *);
#else
void    ftime();
#endif

jfctype.h#

/*
 * jfctype.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int iskpun(int);
int iskmoji(int);
int iskana(int);
int isalnmkana(int);
int isprkana(int);
int isalkana(int);
int isgrkana(int);
int iskanji2(int);
int jislower(int);
int iskanji(int);
int jisupper(int);
int jisalpha(int);
int jisl2(int); 
int jisl1(int); 
int jisl0(int); 
int jiszen(int); 
int jisdigit(int); 
int jiskata(int); 
int jishira(int); 
int jiskigou(int); 
int jisspace(int); 
int ispnkana(int); 
int hantozen(int); 
int zentohan(int); 
#else
int iskmoji();
int iskana();
int isalnmkana();
int isprkana();
int isalkana();
int isgrkana();
int iskanji2();
int jislower();
int iskanji();
int jisupper();
int jisalpha();
int jisl2();
int jisl1();
int jisl0();
int jiszen();
int jisdigit();
int jiskata();
int jishira();
int jiskigou();
int jisspace();
int ispnkana();
int hantozen();
int zentohan();
#endif

fctype.h#

/*
 * fctype.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD

int isalnum(int);
int isalpha(int);
int iscntrl(int);
int isdigit(int);
int isgraph(int);
int islower(int);
int isprint(int);
int ispunct(int);
int isspace(int);
int isupper(int);
int isxdigit(int);
int tolower(int);
int toupper(int);
int _tolower(int);
int _toupper(int);
int isascii(int);
int iscsymf(int);
int toascii(int);
int iscsym(int);

#else

int isalnum();
int isalpha();
int iscntrl();
int isdigit();
int isgraph();
int islower();
int isprint();
int ispunct();
int isspace();
int isupper();
int isxdigit();
int tolower();
int toupper();
int _tolower();
int _toupper();
int isascii();
int iscsymf();
int toascii();
int iscsym();

#endif
/* forword declaration list */

#ifndef NULL
#define NULL    0
#endif

io.h#

/*
 * io.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
 */
#ifdef  FORWORD
int close(int);
int eof(int);
int open(char *, int, );
int dup(int);
int write(int, char *, int);
int read(int, char *, int);
int creat(char *, int);
long    tell(int);
int dup2(int, int);
long    lseek(int, long, int);
int unlink(char *);
int chmod(char *, int);
int setmode(int, int);
int access(char *, int);
int chsize(int, long);
char    *mktemp(char *);
int isatty(int);
long    filelength(int);
int rename(char *,char *);

#else

int close();
int eof();
int open();
int dup();
int write();
int read();
int creat();
long    tell();
int dup2();
long    lseek();
int unlink();
int chmod();
int setmode();
int access();
int chsize();
char    *mktemp();
int isatty();
long    filelength();
int rename();

#endif

fdef.h#

    nlist
*
* fdef.h X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
*
*
*   引数コード   dc.w    ????
*
float_val   equ $0001       float型の値
int_val     equ $0002         int型の値
char_val    equ $0004        char型の値
str_val     equ $0008         str型の値
*
float_omt   equ $0081       省略可能なfloat型の値
int_omt     equ $0082       省略可能な  int型の値
char_omt    equ $0084       省略可能な char型の値
str_omt     equ $0088       省略可能な  str型の値
*
float_vp    equ $0011       float型の変数の値のポインタ
int_vp      equ $0012         int型の変数の値のポインタ
char_vp     equ $0014        char型の変数の値のポインタ
str_vp      equ $0018         str型の変数の値のポインタ
*
ary1        equ $003f       1次元配列(全ての型)
ary1_i      equ $0032       1次元配列(int型)
ary1_fic    equ $0037       1次元配列(float,int,char型)
ary1_c      equ $0034       1次元配列(char型)
ary2_c      equ $0054       2次元配列(char型)
*
float_ret   equ $8000       返り値はfloat型
int_ret     equ $8001       返り値はint型
str_ret     equ $8003       返り値はstr型
void_ret    equ $ffff       返り値はなし
*
*   引数オフセット sp+????
*
par1        equ 6       第1引数FAC
par2        equ 16      第2引数FAC
par3        equ 26      第3引数FAC
par4        equ 36      第4引数FAC
par5        equ 46      第5引数FAC
par6        equ 56      第6引数FAC
par7        equ 66      第7引数FAC
par8        equ 76      第8引数FAC
par9        equ 86      第9引数FAC
*
    list

doscall.mac#

    .nlist
*
* doscall.mac X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
*
*
* system call define list for C-Library
*
DOS macro   callname
    dc.w    callname
    endm

_EXIT       equ $ff00
_GETCHAR    equ $ff01
_PUTCHAR    equ $ff02
_COMINP     equ $ff03
_COMOUT     equ $ff04
_PRNOUT     equ $ff05
_INPOUT     equ $ff06
_INKEY      equ $ff07
_GETC       equ $ff08
_PRINT      equ $ff09
_GETS       equ $ff0a
_KEYSNS     equ $ff0b
_KFLUSH     equ $ff0c
_FFLUSH     equ $ff0d
_CHGDRV     equ $ff0e
_CHDRV      equ $ff0e
_DRVCTRL    equ $ff0f
_CONSNS     equ $ff10
_PRNSNS     equ $ff11
_CINSNS     equ $ff12
_COUTSNS    equ $ff13
_FATCHK     equ $ff17
_CURDRV     equ $ff19
_GETSS      equ $ff1a
_FGETC      equ $ff1b
_FGETS      equ $ff1c
_FPUTC      equ $ff1d
_FPUTS      equ $ff1e
_ALLCLOSE   equ $ff1f
_SUPER      equ $ff20
_FNCKEY     equ $ff21
_KNJCTRL    equ $ff22
_CONCTRL    equ $ff23
_KEYCTRL    equ $ff24
_INTVCS     equ $ff25
_PSPSET     equ $ff26
_GETTIM2    equ $ff27
_SETTIM2    equ $ff28
_NAMESTS    equ $ff29
_GETDATE    equ $ff2a
_SETDATE    equ $ff2b
_GETTIME    equ $ff2c
_SETTIME    equ $ff2d
_VERIFY     equ $ff2e
_DUP0       equ $ff2f
_VERNUM     equ $ff30
_KEEPPR     equ $ff31
_GETDPB     equ $ff32
_BREAKCK    equ $ff33
_DRVXCHG    equ $ff34
_INTVCG     equ $ff35
_DSKFRE     equ $ff36
_NAMECK     equ $ff37
_MKDIR      equ $ff39
_RMDIR      equ $ff3a
_CHDIR      equ $ff3b
_CREATE     equ $ff3c
_OPEN       equ $ff3d
_CLOSE      equ $ff3e
_READ       equ $ff3f
_WRITE      equ $ff40
_DELETE     equ $ff41
_SEEK       equ $ff42
_CHMOD      equ $ff43
_IOCTRL     equ $ff44
_DUP        equ $ff45
_DUP2       equ $ff46
_CURDIR     equ $ff47
_MALLOC     equ $ff48
_MFREE      equ $ff49
_SETBLOCK   equ $ff4a
_EXEC       equ $ff4b
_EXIT2      equ $ff4c
_WAIT       equ $ff4d
_FILES      equ $ff4e
_NFILES     equ $ff4f
_SETPDB     equ $ff50
_GETPDB     equ $ff51
_SETENV     equ $ff52
_GETENV     equ $ff53
_VERIFYG    equ $ff54
_RENAME     equ $ff56
_FILEDATE   equ $ff57

_DISKRED    equ $fff3
_DISKWRT    equ $fff4

_EXITVC     equ $fff0
_CTRLVC     equ $fff1
_ERRJVC     equ $fff2
    .list

iocscall.mac#

    .nlist
*
* iocscall.mac X68k XC Compiler v1.01 Copyright 1987 SHARP/Hudson
*
*
* bios rom call define list for C-Library
*
_B_KEYINP   equ $00
_B_KEYSNS   equ $01
_B_SFTSNS   equ $02
_BITSNS     equ $04
_SKEYSET    equ $05
_TVCTRL     equ $0c
_LEDMOD     equ $0d
_TGUSEMD    equ $0e
_DEFCHR     equ $0f
_CRTMOD     equ $10
_CONTRAST   equ $11
_HSVTORGB   equ $12
_TPALET     equ $13
_TPALET2    equ $14
_TCOLOR     equ $15
_FNTGET     equ $19
_TEXTGET    equ $1a
_TEXTPUT    equ $1b
_CLIPPUT    equ $1c
_SCROLL     equ $1d
_B_CURON    equ $1e
_B_CUROFF   equ $1f
_B_PUTC     equ $20
_B_PRINT    equ $21
_B_COLOR    equ $22
_B_LOCATE   equ $23
_B_DOWN_S   equ $24
_B_UP_S     equ $25
_B_UP       equ $26
_B_DOWN     equ $27
_B_RIGHT    equ $28
_B_LEFT     equ $29
_B_CLR_ST   equ $2a
_B_ERA_ST   equ $2b
_B_INS      equ $2c
_B_DEL      equ $2d
_B_CONSOL   equ $2e
_B_PUTMES   equ $2f
_SET232C    equ $30
_LOF232C    equ $31
_INP232C    equ $32
_ISNS232C   equ $33
_OSNS232C   equ $34
_OUT232C    equ $35
_JOYGET     equ $3b
_INIT_PRN   equ $3c
_SNSPRN     equ $3d
_OUTLPT     equ $3e
_OUTPRN     equ $3f
_B_SEEK     equ $40
_B_VERIFY   equ $41
_B_READDI   equ $42
_B_DSKINI   equ $43
_B_DRVSNS   equ $44
_B_WRITE    equ $45
_B_READ     equ $46
_B_RECALI   equ $47
_B_ASSIGN   equ $48
_B_WRITED   equ $49
_B_READID   equ $4a
_B_BADFMT   equ $4b
_B_READDL   equ $4c
_B_FORMAT   equ $4d
_B_DRVCHK   equ $4e
_B_EJECT    equ $4f
_DATEBCD    equ $50
_DATESET    equ $51
_TIMEBCD    equ $52
_TIMESET    equ $53
_DATEGET    equ $54
_DATEBIN    equ $55
_TIMEGET    equ $56
_TIMEBIN    equ $57
_DATECNV    equ $58
_TIMECNV    equ $59
_DATEASC    equ $5a
_TIMEASC    equ $5b
_DAYASC     equ $5c
_ALARMMOD   equ $5d
_ALARMSET   equ $5e
_ALARMGET   equ $5f
_ADPCMOUT   equ $60
_ADPCMINP   equ $61
_ADPCMAOT   equ $62
_ADPCMAIN   equ $63
_ADPCMLOT   equ $64
_ADPCMLIN   equ $65
_ADPCMSNS   equ $66
_ADPCMMOD   equ $67
_OPMSET     equ $68
_OPMSNS     equ $69
_OPMINTST   equ $6a
_TIMERDST   equ $6b
_VDISPST    equ $6c
_CRTCRAS    equ $6d
_HSYNCST    equ $6e
_PRNINTST   equ $6f
_MS_INIT    equ $70
_MS_CURON   equ $71
_MS_CUROF   equ $72
_MS_STAT    equ $73
_MS_GETDT   equ $74
_MS_CURGT   equ $75
_MS_CURST   equ $76
_MS_LIMIT   equ $77
_MS_OFFTM   equ $78
_MS_ONTM    equ $79
_MS_PATST   equ $7a
_MS_SEL     equ $7b
_MS_SEL2    equ $7c
_SKEY_MOD   equ $7d
_DENSNS     equ $7e
_ONTIME     equ $7f
_B_INTVCS   equ $80
_B_SUPER    equ $81
_B_BPEEK    equ $82
_B_WPEEK    equ $83
_B_LPEEK    equ $84
_B_MEMSTR   equ $85
_B_BPOKE    equ $86
_B_WPOKE    equ $87
_B_LPOKE    equ $88
_B_MEMSET   equ $89
_DMAMOVE    equ $8a
_DMAMOV_A   equ $8b
_DMAMOV_L   equ $8c
_DMAMODE    equ $8d
_BOOTINF    equ $8e
_ROMVER     equ $8f
_G_CLR_ON   equ $90
_GPALET     equ $94
_SFTJIS     equ $a0
_JISSFT     equ $a1
_AKCONV     equ $a2
_RMACNV     equ $a3
_DAKJOB     equ $a4
_HANJOB     equ $a5
_OS_CURON   equ $ae
_OS_CUROF   equ $af
_APAGE      equ $b1
_VPAGE      equ $b2
_HOME       equ $b3
_WINDOW     equ $b4
_WIPE       equ $b5
_PSET       equ $b6
_POINT      equ $b7
_LINE       equ $b8
_BOX        equ $b9
_FILL       equ $ba
_CIRCLE     equ $bb
_PAINT      equ $bc
_SYMBOL     equ $bd
_GETGRM     equ $be
_PUTGRM     equ $bf
_SP_INIT    equ $c0
_SP_ON      equ $c1
_SP_OFF     equ $c2
_SP_CGCLR   equ $c3
_SP_DEFCG   equ $c4
_SP_GTPCG   equ $c5
_SP_REGST   equ $c6
_SP_REGGT   equ $c7
_BGSCRLST   equ $c8
_BGSCRLGT   equ $c9
_BGCTRLST   equ $ca
_BGCTRLGT   equ $cb
_BGTEXTCL   equ $cc
_BGTEXTST   equ $cd
_BGTEXTGT   equ $ce
_SPALET     equ $cf
_TXXLINE    equ $d3
_TXYLINE    equ $d4
_TXBOX      equ $d6
_TXFILL     equ $d7
_TXREV      equ $d8
_TXRASCPY   equ $df
_OPMDRV     equ $f0
_ABORTRST   equ $fd
_IPLERR     equ $fe
_ABORTJOB   equ $ff

IOCS    macro   callname
    moveq.l #callname,d0
    trap    #15
    endm
    .list