diff --git a/XTMax/Tools/BCC31/BCC.EXE b/XTMax/Tools/BCC31/BCC.EXE new file mode 100644 index 0000000..3b2eed1 Binary files /dev/null and b/XTMax/Tools/BCC31/BCC.EXE differ diff --git a/XTMax/Tools/BCC31/DPMI16BI.OVL b/XTMax/Tools/BCC31/DPMI16BI.OVL new file mode 100644 index 0000000..69f0e09 Binary files /dev/null and b/XTMax/Tools/BCC31/DPMI16BI.OVL differ diff --git a/XTMax/Tools/BCC31/DPMILOAD.EXE b/XTMax/Tools/BCC31/DPMILOAD.EXE new file mode 100644 index 0000000..17881fa Binary files /dev/null and b/XTMax/Tools/BCC31/DPMILOAD.EXE differ diff --git a/XTMax/Tools/BCC31/DPMIMEM.DLL b/XTMax/Tools/BCC31/DPMIMEM.DLL new file mode 100644 index 0000000..1d24230 Binary files /dev/null and b/XTMax/Tools/BCC31/DPMIMEM.DLL differ diff --git a/XTMax/Tools/BCC31/INCLUDE/CONIO.H b/XTMax/Tools/BCC31/INCLUDE/CONIO.H new file mode 100644 index 0000000..274d37f --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/CONIO.H @@ -0,0 +1,155 @@ +/* conio.h + + Direct MSDOS console input/output. + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ + +#if !defined(__CONIO_H) +#define __CONIO_H + +#if !defined(___DEFS_H) +#include <_defs.h> +#endif + +#if !defined(_Windows) + +#define _NOCURSOR 0 +#define _SOLIDCURSOR 1 +#define _NORMALCURSOR 2 + +struct text_info { + unsigned char winleft; + unsigned char wintop; + unsigned char winright; + unsigned char winbottom; + unsigned char attribute; + unsigned char normattr; + unsigned char currmode; + unsigned char screenheight; + unsigned char screenwidth; + unsigned char curx; + unsigned char cury; +}; + +enum text_modes { LASTMODE=-1, BW40=0, C40, BW80, C80, MONO=7, C4350=64 }; + +#if !defined(__COLORS) +#define __COLORS + +enum COLORS { + BLACK, /* dark colors */ + BLUE, + GREEN, + CYAN, + RED, + MAGENTA, + BROWN, + LIGHTGRAY, + DARKGRAY, /* light colors */ + LIGHTBLUE, + LIGHTGREEN, + LIGHTCYAN, + LIGHTRED, + LIGHTMAGENTA, + YELLOW, + WHITE +}; +#endif + +#define BLINK 128 /* blink bit */ + +extern int _Cdecl directvideo; +extern int _Cdecl _wscroll; + +#endif /* !_Windows */ + +#ifdef __cplusplus +extern "C" { +#endif + +void _Cdecl clreol( void ); +void _Cdecl clrscr( void ); +void _Cdecl gotoxy( int __x, int __y ); +int _Cdecl wherex( void ); +int _Cdecl wherey( void ); +int _Cdecl getch( void ); +int _Cdecl getche( void ); +int _Cdecl kbhit( void ); +int _Cdecl putch( int __c ); + +#ifndef _PORT_DEFS +unsigned char _Cdecl inportb( unsigned __portid ); +unsigned _Cdecl inport ( unsigned __portid ); +int _Cdecl inp( unsigned __portid ); +unsigned _Cdecl inpw( unsigned __portid ); +void _Cdecl outportb( unsigned __portid, unsigned char __value ); +void _Cdecl outport ( unsigned __portid, unsigned __value ); +int _Cdecl outp( unsigned __portid, int __value ); +unsigned _Cdecl outpw( unsigned __portid, unsigned __value ); +#endif /* !_PORT_DEFS */ + +#if !defined(_Windows) + +void _Cdecl delline( void ); +int _Cdecl gettext( int __left, int __top, + int __right, int __bottom, + void *__destin); +void _Cdecl gettextinfo (struct text_info *__r ); +void _Cdecl highvideo( void ); +void _Cdecl insline( void ); +void _Cdecl lowvideo( void ); +int _Cdecl movetext( int __left, int __top, + int __right, int __bottom, + int __destleft, int __desttop ); +void _Cdecl normvideo( void ); +int _Cdecl puttext( int __left, int __top, + int __right, int __bottom, + void *__source ); +void _Cdecl textattr( int __newattr ); +void _Cdecl textbackground( int __newcolor ); +void _Cdecl textcolor( int __newcolor ); +void _Cdecl textmode( int __newmode ); +void _Cdecl window( int __left, int __top, int __right, int __bottom); + +void _Cdecl _setcursortype( int __cur_t ); +char * _Cdecl cgets( char *__str ); +int _Cdecl cprintf( const char *__format, ... ); +int _Cdecl cputs( const char *__str ); +int _Cdecl cscanf( const char *__format, ... ); +char * _Cdecl getpass( const char *__prompt ); +int _Cdecl ungetch( int __ch ); + +#endif /* !_Windows */ + +#ifndef _PORT_DEFS +#define _PORT_DEFS + + /* These are in-line functions. These prototypes just clean up + some syntax checks and code generation. + */ +unsigned char _Cdecl __inportb__ (unsigned __portid); +unsigned _Cdecl __inportw__ (unsigned __portid); +unsigned char _Cdecl __outportb__(unsigned __portid, unsigned char __value); +unsigned _Cdecl __outportw__(unsigned __portid, unsigned __value); + +#define inportb(__portid) __inportb__(__portid) +#define outportb(__portid, __value) ((void) __outportb__(__portid, __value)) +#define inport(__portid) __inportw__(__portid) +#define outport(__portid, __value) ((void) __outportw__(__portid, __value)) + +/* MSC-compatible macros for port I/O */ +#define inp(__portid) __inportb__ (__portid) +#define outp(__portid, __value) __outportb__(__portid, (unsigned char)__value) +#define inpw(__portid) __inportw__ (__portid) +#define outpw(__portid, __value) __outportw__(__portid, __value) + +#endif /* _PORT_DEFS */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __CONIO_H */ diff --git a/XTMax/Tools/BCC31/INCLUDE/DOS.H b/XTMax/Tools/BCC31/INCLUDE/DOS.H new file mode 100644 index 0000000..acf5cdc --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/DOS.H @@ -0,0 +1,520 @@ +/* dos.h + + Defines structs, unions, macros, and functions for dealing + with MSDOS and the Intel iAPX86 microprocessor family. + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ +#ifndef __DOS_H +#define __DOS_H + +#if !defined(___DEFS_H) +#include <_defs.h> +#endif + +#if !defined(_RTLDLL) +extern int _Cdecl errno; +extern int _Cdecl _doserrno; +#else + +#ifdef __cplusplus +extern "C" { +#endif +int far * far _Cdecl __getErrno(void); +int far * far _Cdecl __getDOSErrno(void); +#ifdef __cplusplus +} +#endif + +#define errno (*__getErrno()) +#define _doserrno (*__getDOSErrno()) +#endif + +#ifndef __DLL__ + +/* Variables */ +extern int const _Cdecl _8087; +extern int _Cdecl _argc; +extern char **_Cdecl _argv; +extern char **_Cdecl environ; + +extern unsigned _Cdecl _psp; +extern unsigned _Cdecl _heaplen; +extern unsigned char _Cdecl _osmajor; +extern unsigned char _Cdecl _osminor; +extern unsigned _Cdecl _stklen; +extern unsigned _Cdecl _fpstklen; +extern unsigned _Cdecl _version; +extern unsigned _Cdecl _osversion; /* MSC name for _version */ + +#endif /* __DLL__*/ + + +#define FA_NORMAL 0x00 /* Normal file, no attributes */ +#define FA_RDONLY 0x01 /* Read only attribute */ +#define FA_HIDDEN 0x02 /* Hidden file */ +#define FA_SYSTEM 0x04 /* System file */ +#define FA_LABEL 0x08 /* Volume label */ +#define FA_DIREC 0x10 /* Directory */ +#define FA_ARCH 0x20 /* Archive */ + +/* MSC names for file attributes */ + +#define _A_NORMAL 0x00 /* Normal file, no attributes */ +#define _A_RDONLY 0x01 /* Read only attribute */ +#define _A_HIDDEN 0x02 /* Hidden file */ +#define _A_SYSTEM 0x04 /* System file */ +#define _A_VOLID 0x08 /* Volume label */ +#define _A_SUBDIR 0x10 /* Directory */ +#define _A_ARCH 0x20 /* Archive */ + +#define NFDS 20 /* Maximum number of fds */ + +struct fcb { + char fcb_drive; /* 0 = default, 1 = A, 2 = B */ + char fcb_name[8]; /* File name */ + char fcb_ext[3]; /* File extension */ + short fcb_curblk; /* Current block number */ + short fcb_recsize; /* Logical record size in bytes */ + long fcb_filsize; /* File size in bytes */ + short fcb_date; /* Date file was last written */ + char fcb_resv[10]; /* Reserved for DOS */ + char fcb_currec; /* Current record in block */ + long fcb_random; /* Random record number */ +}; + +struct xfcb { + char xfcb_flag; /* Contains 0xff to indicate xfcb */ + char xfcb_resv[5];/* Reserved for DOS */ + char xfcb_attr; /* Search attribute */ + struct fcb xfcb_fcb; /* The standard fcb */ +}; + +struct COUNTRY { + int co_date; + char co_curr[5]; + char co_thsep[2]; + char co_desep[2]; + char co_dtsep[2]; + char co_tmsep[2]; + char co_currstyle; + char co_digits; + char co_time; + long co_case; + char co_dasep[2]; + char co_fill[10]; +}; + +#if defined(__MSC) && !defined(__cplusplus) +struct DOSERROR { + int exterror; + char class; + char action; + char locus; +}; +#else +struct DOSERROR { + int de_exterror; + char de_class; + char de_action; + char de_locus; +}; +#endif /* __MSC and not C++ */ + +struct dfree { + unsigned df_avail; + unsigned df_total; + unsigned df_bsec; + unsigned df_sclus; +}; + +struct diskfree_t { + unsigned total_clusters; + unsigned avail_clusters; + unsigned sectors_per_cluster; + unsigned bytes_per_sector; +}; + +struct fatinfo { + char fi_sclus; + char fi_fatid; + unsigned fi_nclus; + int fi_bysec; +}; + +struct devhdr { + long dh_next; /* Next device pointer */ + short dh_attr; /* Attributes */ + unsigned short dh_strat; /* Driver strategy routine */ + unsigned short dh_inter; /* Driver interrupt routine */ + char dh_name[8]; /* Device name */ +}; + +struct time { + unsigned char ti_min; /* Minutes */ + unsigned char ti_hour; /* Hours */ + unsigned char ti_hund; /* Hundredths of seconds */ + unsigned char ti_sec; /* Seconds */ +}; + +struct dostime_t { + unsigned char hour; /* Hours */ + unsigned char minute; /* Minutes */ + unsigned char second; /* Seconds */ + unsigned char hsecond; /* Hundredths of seconds */ +}; + +struct date { + int da_year; /* Year - 1980 */ + char da_day; /* Day of the month */ + char da_mon; /* Month (1 = Jan) */ +}; + +struct dosdate_t { + unsigned char day; /* 1-31 */ + unsigned char month; /* 1-12 */ + unsigned int year; /* 1980 - 2099 */ + unsigned char dayofweek;/* 0 - 6 (0=Sunday) */ +}; + +#ifndef _REG_DEFS +#define _REG_DEFS + +struct WORDREGS { + unsigned int ax, bx, cx, dx, si, di, cflag, flags; +}; + +struct BYTEREGS { + unsigned char al, ah, bl, bh, cl, ch, dl, dh; +}; + +union REGS { + struct WORDREGS x; + struct BYTEREGS h; +}; + +struct SREGS { + unsigned int es; + unsigned int cs; + unsigned int ss; + unsigned int ds; +}; + +struct REGPACK { + unsigned r_ax, r_bx, r_cx, r_dx; + unsigned r_bp, r_si, r_di, r_ds, r_es, r_flags; +}; + +#endif /* _REG_DEFS */ + +typedef struct { + char ds_drive; /* do not change */ + char ds_pattern [13]; /* these fields, */ + char ds_reserved [7]; /* Microsoft reserved */ + char ds_attrib; + short ds_time; + short ds_date; + long ds_size; + char ds_nameZ [13]; /* result of the search, asciiz */ +} dosSearchInfo; /* used with DOS functions 4E, 4F */ + + +#ifndef _FFBLK_DEF +#define _FFBLK_DEF +struct ffblk { + char ff_reserved[21]; + char ff_attrib; + unsigned ff_ftime; + unsigned ff_fdate; + long ff_fsize; + char ff_name[13]; +}; +#endif /* _FFBLK_DEF */ + +/* The MSC find_t structure corresponds exactly to the ffblk structure */ +struct find_t { + char reserved[21]; /* Microsoft reserved - do not change */ + char attrib; /* attribute byte for matched file */ + unsigned wr_time; /* time of last write to file */ + unsigned wr_date; /* date of last write to file */ + long size; /* size of file */ + char name[13]; /* asciiz name of matched file */ +}; + +#ifdef __MSC +#define _find_t find_t +#endif + +/* axret values for _hardresume() */ + +#define _HARDERR_IGNORE 0 /* ignore error */ +#define _HARDERR_RETRY 1 /* retry the operation */ +#define _HARDERR_ABORT 2 /* abort program */ +#define _HARDERR_FAIL 3 /* fail the operation */ + +#define SEEK_CUR 1 +#define SEEK_END 2 +#define SEEK_SET 0 + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined( _Windows ) +int _Cdecl absread( int __drive, int __nsects, long __lsect, + void _FAR *__buffer ); +int _Cdecl abswrite( int __drive, int __nsects, long __lsect, + void _FAR *__buffer ); +int _Cdecl allocmem( unsigned __size, unsigned _FAR *__segp ); +#endif + +int _CType _FARFUNC bdos( int __dosfun, unsigned __dosdx, unsigned __dosal ); +int _CType bdosptr( int __dosfun, void _FAR *__argument, + unsigned __dosal ); +struct COUNTRY _FAR *_Cdecl country( int __xcode, struct COUNTRY _FAR *__cp); +void _Cdecl ctrlbrk( int _Cdecl( *handler )( void )); + +#if !defined( _Windows ) +void _CType delay( unsigned __milliseconds ); +#endif + +void _Cdecl _FARFUNC disable( void ); +int _Cdecl _FARFUNC dosexterr( struct DOSERROR _FAR *__eblkp ); +long _Cdecl _FARFUNC dostounix( struct date _FAR *__d, struct time _FAR *__t ); + +unsigned _Cdecl _dos_allocmem( unsigned __size, unsigned _FAR *__segp ); +unsigned _Cdecl _dos_close ( int __fd ); +unsigned _Cdecl _dos_commit( int __fd ); +unsigned _Cdecl _dos_creat( const char _FAR *__pathP, unsigned __attr, + int _FAR *__fd ); +unsigned _Cdecl _dos_creatnew( const char _FAR *__pathP, unsigned __attr, + int _FAR *__fd ); +unsigned _Cdecl _dos_findfirst( const char _FAR *__path, + unsigned __attrib, + struct find_t _FAR *__finfo ); +unsigned _Cdecl _dos_findnext( struct find_t _FAR *__finfo ); +unsigned _Cdecl _dos_freemem( unsigned __segx ); +void _Cdecl _dos_getdate( struct dosdate_t _FAR *__datep ); +unsigned _Cdecl _dos_getdiskfree( unsigned __drive, + struct diskfree_t _FAR *__dtable); +void _Cdecl _dos_getdrive( unsigned _FAR *__drive ); +unsigned _Cdecl _dos_getfileattr( const char _FAR *__filename, + unsigned _FAR *__attrib ); +unsigned _Cdecl _dos_getftime( int __fd, unsigned _FAR *__date, + unsigned _FAR *__time ); +void _Cdecl _dos_gettime( struct dostime_t _FAR *__timep ); +void _Cdecl _dos_keep(unsigned char __status, unsigned __size); +unsigned _Cdecl _dos_open( const char _FAR *__pathP, unsigned __oflag, + int _FAR *__fd ); +unsigned _Cdecl _dos_read( int __fd, void far *__buf, unsigned __len, + unsigned _FAR *__nread ); +unsigned _Cdecl _dos_setblock( unsigned __size, unsigned __segx, + unsigned _FAR *__maxp ); +unsigned _Cdecl _dos_setdate( struct dosdate_t _FAR *__datep ); +void _Cdecl _dos_setdrive( unsigned __drive, unsigned _FAR *__ndrives ); +unsigned _Cdecl _dos_setfileattr( const char _FAR *__filename, + unsigned _FAR __attrib); +unsigned _Cdecl _dos_setftime( int __fd, unsigned __date, unsigned __time ); +unsigned _Cdecl _dos_settime( struct dostime_t _FAR *__timep ); +unsigned _Cdecl _dos_write( int __fd, const void far *__buf, unsigned __len, + unsigned _FAR *__nread ); + +void __emit__( unsigned char __byte, ...); +void _Cdecl _FARFUNC enable( void ); + +#if !defined( _Windows ) +int _Cdecl freemem( unsigned __segx ); +#endif + +int _Cdecl getcbrk( void ); +void _CType getdate( struct date _FAR *__datep ); +void _Cdecl getdfree( unsigned char __drive, + struct dfree _FAR *__dtable ); +int _Cdecl _getdrive( void ); +void _Cdecl getfat( unsigned char __drive, + struct fatinfo _FAR *__dtable ); +void _Cdecl getfatd( struct fatinfo _FAR *__dtable ); +unsigned _Cdecl getpsp( void ); +int _Cdecl getswitchar( void ); +void _CType gettime( struct time _FAR *__timep ); +int _Cdecl getverify( void ); + +#if !defined( _Windows ) +#ifdef __cplusplus +void _Cdecl _harderr( void _Cdecl (far *__fptr)( unsigned __deverr, + unsigned __doserr, unsigned far *__hdr) ); +#else +void _Cdecl _harderr( void _Cdecl (far *__fptr)( ) ); +#endif +void _Cdecl _hardresume( int __axret ); +void _Cdecl _hardretn( int __retn ); + +#ifdef __cplusplus +void _CType harderr( int _Cdecl( *__handler )( int __errval, int __ax, + int __bp, int __si) ); +#else +void _CType harderr( int _Cdecl( *__handler )( ) ); +#endif +void _CType hardresume( int __axret ); +void _CType hardretn( int __retn ); +#endif + +#ifndef _PORT_DEFS +unsigned _Cdecl inport ( unsigned __portid ); +unsigned char _Cdecl inportb( unsigned __portid ); +unsigned _Cdecl inpw ( unsigned __portid ); +int _Cdecl inp ( unsigned __portid ); +#endif + +int _Cdecl int86( int __intno, + union REGS _FAR *__inregs, + union REGS _FAR *__outregs ); +int _Cdecl int86x( int __intno, + union REGS _FAR *__inregs, + union REGS _FAR *__outregs, + struct SREGS _FAR *__segregs ); +int _Cdecl intdos( union REGS _FAR *__inregs, + union REGS _FAR *__outregs ); +int _Cdecl intdosx( union REGS _FAR *__inregs, + union REGS _FAR *__outregs, + struct SREGS _FAR *__segregs ); +void _Cdecl intr( int __intno, struct REGPACK _FAR *__preg ); + +#if !defined( _Windows ) +void _Cdecl keep( unsigned char __status, unsigned __size ); +void _Cdecl nosound( void ); +#endif + +#ifndef _PORT_DEFS +void _Cdecl outport ( unsigned __portid, unsigned __value ); +void _Cdecl outportb( unsigned __portid, unsigned char __value ); +unsigned _Cdecl outpw ( unsigned __portid, unsigned __value ); +int _Cdecl outp ( unsigned __portid, int __value ); +#endif + +char _FAR * _Cdecl parsfnm( const char _FAR *__cmdline, + struct fcb _FAR *__fcb, int __opt ); +int _Cdecl peek( unsigned __segment, unsigned __offset ); +char _Cdecl peekb( unsigned __segment, unsigned __offset ); +void _Cdecl poke( unsigned __segment, unsigned __offset, int __value); +void _Cdecl pokeb( unsigned __segment, + unsigned __offset, char __value ); + +#if !defined( _Windows ) +int _Cdecl randbrd( struct fcb _FAR *__fcb, int __rcnt ); +int _Cdecl randbwr( struct fcb _FAR *__fcb, int __rcnt ); +#endif + +void _Cdecl segread( struct SREGS _FAR *__segp ); + +#if !defined( _Windows ) +int _Cdecl setblock( unsigned __segx, unsigned __newsize ); +#endif + +int _Cdecl setcbrk( int __cbrkvalue ); +void _Cdecl setdate( struct date _FAR *__datep ); +void _Cdecl setswitchar( char __ch ); +void _Cdecl settime( struct time _FAR *__timep ); +void _Cdecl setverify( int __value ); + +#if !defined( _Windows ) +void _Cdecl sleep( unsigned __seconds ); +void _Cdecl sound( unsigned __frequency ); +#endif + +void _Cdecl _FARFUNC unixtodos( long __time, struct date _FAR *__d, + struct time _FAR *__t ); +int _CType unlink( const char _FAR *__path ); + + /* These are in-line functions. These prototypes just clean up + some syntax checks and code generation. + */ + +void _Cdecl __cli__( void ); +void _Cdecl __sti__( void ); +void _Cdecl __int__( int __interruptnum ); + +#define disable( ) __emit__( (char )( 0xfa ) ) +#define _disable( ) __emit__( (char )( 0xfa ) ) /* MSC name */ +#define enable( ) __emit__( (char )( 0xfb ) ) +#define _enable( ) __emit__( (char )( 0xfb ) ) /* MSC name */ + +#define geninterrupt( i ) __int__( i ) /* Interrupt instruction */ + +#ifndef _PORT_DEFS +#define _PORT_DEFS + +unsigned char _Cdecl __inportb__ ( unsigned __portid ); +unsigned _Cdecl __inportw__ ( unsigned __portid ); +unsigned char _Cdecl __outportb__( unsigned __portid, unsigned char __value ); +unsigned _Cdecl __outportw__( unsigned __portid, unsigned __value ); + +#define inportb(__portid) __inportb__(__portid) +#define outportb(__portid, __value) ((void) __outportb__(__portid, __value)) +#define inport(__portid) __inportw__(__portid) +#define outport(__portid, __value) ((void) __outportw__(__portid, __value)) + +/* MSC-compatible macros for port I/O */ +#define inp(__portid) __inportb__ (__portid) +#define outp(__portid, __value) __outportb__(__portid, (unsigned char)__value) +#define inpw(__portid) __inportw__ (__portid) +#define outpw(__portid, __value) __outportw__(__portid, __value) + +#endif /* _PORT_DEFS */ + +#if !__STDC__ + +extern unsigned _Cdecl _ovrbuffer; +int cdecl far _OvrInitEms( unsigned __emsHandle, unsigned __emsFirst, + unsigned __emsPages ); +int cdecl far _OvrInitExt( unsigned long __extStart, + unsigned long __extLength ); + +char far *cdecl getdta( void ); +void cdecl setdta( char far *__dta ); + +#define MK_FP( seg,ofs )( (void _seg * )( seg ) +( void near * )( ofs )) +#define FP_SEG( fp )( (unsigned )( void _seg * )( void far * )( fp )) +#define FP_OFF( fp )( (unsigned )( fp )) + +#ifdef __cplusplus +void _Cdecl _chain_intr ( void interrupt (far *__target)( ... )); +void interrupt( far * _Cdecl _dos_getvect( unsigned __interruptno ))( ... ); +void interrupt( far * _CType getvect( int __interruptno ))( ... ); +void _Cdecl _dos_setvect( unsigned __interruptno, + void interrupt( far *__isr )( ... )); +void _CType setvect( int __interruptno, + void interrupt( far *__isr )( ... )); +int inline _Cdecl peek( unsigned __segment, unsigned __offset ) + { return( *( (int far* )MK_FP( __segment, __offset )) ); } +char inline _Cdecl peekb( unsigned __segment, unsigned __offset ) + { return( *( (char far* )MK_FP( __segment, __offset )) ); } +void inline _Cdecl poke( unsigned __segment, unsigned __offset, int __value ) + {( *( (int far* )MK_FP( __segment, __offset )) = __value ); } +void inline _Cdecl pokeb( unsigned __segment, unsigned __offset, char __value ) + {( *( (char far* )MK_FP( __segment, __offset )) = __value ); } +#else +void _Cdecl _chain_intr ( void interrupt (far *__target)( )); +void interrupt( far * _Cdecl _dos_getvect( unsigned __interruptno ))( ); +void interrupt( far * _CType getvect( int __interruptno ))( ); +void _Cdecl _dos_setvect( unsigned __interruptno, + void interrupt( far *__isr )( )); +void _CType setvect( int __interruptno, + void interrupt( far *__isr )( ) ); +#define peek( a,b )( *( (int far* )MK_FP( (a ),( b )) )) +#define peekb( a,b )( *( (char far* )MK_FP( (a ),( b )) )) +#define poke( a,b,c )( *( (int far* )MK_FP( (a ),( b )) ) =( int )( c )) +#define pokeb( a,b,c )( *( (char far* )MK_FP( (a ),( b )) ) =( char )( c )) +#endif /* __cplusplus */ + +#endif /* !__STDC__ */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __DOS_H */ + + \ No newline at end of file diff --git a/XTMax/Tools/BCC31/INCLUDE/MEM.H b/XTMax/Tools/BCC31/INCLUDE/MEM.H new file mode 100644 index 0000000..d09b551 --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/MEM.H @@ -0,0 +1,91 @@ +/* mem.h + + Memory manipulation functions + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ + +#if !defined(__MEM_H) +#define __MEM_H + +#if !defined(___DEFS_H) +#include <_defs.h> +#endif + +#ifndef NULL +#include <_null.h> +#endif + +#ifndef _STDDEF +#define _STDDEF +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +#if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) +typedef long ptrdiff_t; +#else +typedef int ptrdiff_t; +#endif +#endif +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned size_t; +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif +void _FAR * _FARFUNC _Cdecl memccpy(void _FAR *__dest, const void _FAR *__src, + int __c, size_t __n); +void _FAR * _FARFUNC _Cdecl memchr(const void _FAR *__s, int __c, size_t __n); +int _FARFUNC _Cdecl memcmp(const void _FAR *__s1, const void _FAR *__s2, + size_t __n); +void _FAR * _FARFUNC _Cdecl memcpy(void _FAR *__dest, const void _FAR *__src, + size_t __n); +int _FARFUNC _Cdecl memicmp(const void _FAR *__s1, const void _FAR *__s2, + size_t __n); +void _FAR * _CType _FARFUNC memmove(void _FAR *__dest, const void _FAR *__src, + size_t __n); +void _FAR * _CType _FARFUNC memset(void _FAR *__s, int __c, size_t __n); +void _FARFUNC _Cdecl movedata(unsigned __srcseg, unsigned __srcoff, + unsigned __dstseg,unsigned __dstoff, size_t __n); +void _FARFUNC _Cdecl movmem(const void _FAR *__src, void _FAR *__dest, + unsigned __length); +void _FARFUNC _Cdecl setmem(void _FAR *__dest,unsigned __length, char __value); + +#if !__STDC__ +void far * _FARCALL cdecl _fmemccpy(void far *__dest, const void far *__src, + int __c, size_t __n); +void far * _FARCALL cdecl _fmemchr(const void far *__s, int __c, size_t __n); +int _FARCALL cdecl _fmemcmp(const void far *__s1, const void far *__s2, + size_t __n); +void far * _FARCALL cdecl _fmemcpy(void far *__dest, const void far *__src, + size_t __n); +int _FARCALL cdecl _fmemicmp(const void far *__s1, const void far *__s2, + size_t __n); +void far * _FARCALL cdecl _fmemmove(void far *__dest, const void far *__src, + size_t __n); +void far * _FARCALL cdecl _fmemset(void far *__s, int __c, size_t __n); +void _FARCALL cdecl _fmovmem(const void far *__src, void far *__dest, + unsigned __length); +void _FARCALL cdecl _fsetmem(void far *__dest, unsigned __length, + char __value); +#endif + +#if !defined(__STRING_H) +/* Intrinsic functions */ + +void _FAR * _Cdecl _FARFUNC __memchr__ (const void _FAR *__s, int __c, size_t __n); +int _Cdecl _FARFUNC __memcmp__(const void _FAR *__s1, + const void _FAR *__s2, size_t __n); +void _FAR * _Cdecl _FARFUNC __memcpy__(void _FAR *__dest, const void _FAR *__src, + size_t __n); +void _FAR * _CType _FARFUNC __memset__(void _FAR *__s, int __c, size_t __n); +#endif +#ifdef __cplusplus +} +#endif + +#endif /* __MEM_H */ + diff --git a/XTMax/Tools/BCC31/INCLUDE/STDARG.H b/XTMax/Tools/BCC31/INCLUDE/STDARG.H new file mode 100644 index 0000000..4f27929 --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/STDARG.H @@ -0,0 +1,38 @@ +/* stdarg.h + + Definitions for accessing parameters in functions that accept + a variable number of arguments. + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ + +#ifndef __STDARG_H +#define __STDARG_H + +#ifdef __VARARGS_H +#error Can't include both STDARG.H and VARARGS.H +#endif + +#if !defined(___DEFS_H) +#include <_defs.h> +#endif + +typedef void _FAR *va_list; + +#define __size(x) ((sizeof(x)+sizeof(int)-1) & ~(sizeof(int)-1)) + +#if defined(__cplusplus) && !defined(__STDC__) +#define va_start(ap, parmN) (ap = ...) +#else +#define va_start(ap, parmN) ((void)((ap) = (va_list)((char _FAR *)(&parmN)+__size(parmN)))) +#endif + +#define va_arg(ap, type) (*(type _FAR *)(((*(char _FAR *_FAR *)&(ap))+=__size(type))-(__size(type)))) +#define va_end(ap) ((void)0) + +#if !__STDC__ +#define _va_ptr (...) +#endif + +#endif diff --git a/XTMax/Tools/BCC31/INCLUDE/STDIO.H b/XTMax/Tools/BCC31/INCLUDE/STDIO.H new file mode 100644 index 0000000..032b328 --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/STDIO.H @@ -0,0 +1,248 @@ +/* stdio.h + + Definitions for stream input/output. + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ + +#ifndef __STDIO_H +#define __STDIO_H + +#if !defined(___DEFS_H) +#include <_defs.h> +#endif + +#if !defined(___NFILE_H) +#include <_nfile.h> +#endif + +#ifndef NULL +#include <_null.h> +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned size_t; +#endif + +/* Definition of the file position type +*/ +typedef long fpos_t; + + +/* Definition of the control structure for streams +*/ +typedef struct { + int level; /* fill/empty level of buffer */ + unsigned flags; /* File status flags */ + char fd; /* File descriptor */ + unsigned char hold; /* Ungetc char if no buffer */ + int bsize; /* Buffer size */ + unsigned char _FAR *buffer; /* Data transfer buffer */ + unsigned char _FAR *curp; /* Current active pointer */ + unsigned istemp; /* Temporary file indicator */ + short token; /* Used for validity checking */ +} FILE; /* This is the FILE object */ + +/* Bufferisation type to be used as 3rd argument for "setvbuf" function +*/ +#define _IOFBF 0 +#define _IOLBF 1 +#define _IONBF 2 + +/* "flags" bits definitions +*/ +#define _F_RDWR 0x0003 /* Read/write flag */ +#define _F_READ 0x0001 /* Read only file */ +#define _F_WRIT 0x0002 /* Write only file */ +#define _F_BUF 0x0004 /* Malloc'ed Buffer data */ +#define _F_LBUF 0x0008 /* line-buffered file */ +#define _F_ERR 0x0010 /* Error indicator */ +#define _F_EOF 0x0020 /* EOF indicator */ +#define _F_BIN 0x0040 /* Binary file indicator */ +#define _F_IN 0x0080 /* Data is incoming */ +#define _F_OUT 0x0100 /* Data is outgoing */ +#define _F_TERM 0x0200 /* File is a terminal */ + +/* End-of-file constant definition +*/ +#define EOF (-1) /* End of file indicator */ + +/* Number of files that can be open simultaneously +*/ +#if __STDC__ +#define FOPEN_MAX (_NFILE_ - 2) /* (_NFILE_ - stdaux & stdprn) */ +#else +#define FOPEN_MAX (_NFILE_) /* Able to have 20 files */ +#define SYS_OPEN (_NFILE_) +#endif + +#define FILENAME_MAX 80 + +/* Default buffer size use by "setbuf" function +*/ +#define BUFSIZ 512 /* Buffer size for stdio */ + +/* Size of an arry large enough to hold a temporary file name string +*/ +#define L_ctermid 5 /* CON: plus null byte */ +#define P_tmpdir "" /* temporary directory */ +#define L_tmpnam 13 /* tmpnam buffer size */ + +/* Constants to be used as 3rd argument for "fseek" function +*/ +#define SEEK_CUR 1 +#define SEEK_END 2 +#define SEEK_SET 0 + +/* Number of unique file names that shall be generated by "tmpnam" function +*/ +#define TMP_MAX 0xFFFF + +/* Standard I/O predefined streams +*/ + +#if !defined( _RTLDLL ) +extern FILE _Cdecl _streams[]; +extern unsigned _Cdecl _nfile; + +#define stdin (&_streams[0]) +#define stdout (&_streams[1]) +#define stderr (&_streams[2]) + +#if !__STDC__ +#define stdaux (&_streams[3]) +#define stdprn (&_streams[4]) +#endif + +#else + +#ifdef __cplusplus +extern "C" { +#endif +FILE far * far __getStream(int); +#ifdef __cplusplus +} +#endif + +#define stdin __getStream(0) +#define stdout __getStream(1) +#define stderr __getStream(2) +#define stdaux __getStream(3) +#define stdprn __getStream(4) + +#endif + +#ifdef __cplusplus +extern "C" { +#endif +void _Cdecl clearerr(FILE _FAR *__stream); +int _Cdecl _FARFUNC fclose(FILE _FAR *__stream); +int _Cdecl _FARFUNC fflush(FILE _FAR *__stream); +int _Cdecl _FARFUNC fgetc(FILE _FAR *__stream); +int _Cdecl fgetpos(FILE _FAR *__stream, fpos_t _FAR *__pos); +char _FAR *_Cdecl _FARFUNC fgets(char _FAR *__s, int __n, FILE _FAR *__stream); +FILE _FAR *_Cdecl _FARFUNC fopen(const char _FAR *__path, const char _FAR *__mode); +int _Cdecl _FARFUNC fprintf(FILE _FAR *__stream, const char _FAR *__format, ...); +int _Cdecl _FARFUNC fputc(int __c, FILE _FAR *__stream); +int _Cdecl _FARFUNC fputs(const char _FAR *__s, FILE _FAR *__stream); +size_t _Cdecl _FARFUNC fread(void _FAR *__ptr, size_t __size, size_t __n, + FILE _FAR *__stream); +FILE _FAR *_Cdecl _FARFUNC freopen(const char _FAR *__path, const char _FAR *__mode, + FILE _FAR *__stream); +int _Cdecl _FARFUNC fscanf(FILE _FAR *__stream, const char _FAR *__format, ...); +int _Cdecl _FARFUNC fseek(FILE _FAR *__stream, long __offset, int __whence); +int _Cdecl fsetpos(FILE _FAR *__stream, const fpos_t _FAR *__pos); +long _Cdecl _FARFUNC ftell(FILE _FAR *__stream); +size_t _Cdecl _FARFUNC fwrite(const void _FAR *__ptr, size_t __size, size_t __n, + FILE _FAR *__stream); +char _FAR *_Cdecl gets(char _FAR *__s); +void _Cdecl perror(const char _FAR *__s); +int _Cdecl printf(const char _FAR *__format, ...); +int _Cdecl puts(const char _FAR *__s); +int _CType remove(const char _FAR *__path); +int _CType _FARFUNC rename(const char _FAR *__oldname,const char _FAR *__newname); +void _Cdecl _FARFUNC rewind(FILE _FAR *__stream); +int _Cdecl scanf(const char _FAR *__format, ...); +void _Cdecl setbuf(FILE _FAR *__stream, char _FAR *__buf); +int _Cdecl _FARFUNC setvbuf(FILE _FAR *__stream, char _FAR *__buf, + int __type, size_t __size); +int _Cdecl _FARFUNC sprintf(char _FAR *__buffer, const char _FAR *__format, ...); +int _Cdecl _FARFUNC sscanf(const char _FAR *__buffer, + const char _FAR *__format, ...); +char _FAR *_Cdecl _FARFUNC strerror(int __errnum); +FILE _FAR *_Cdecl _FARFUNC tmpfile(void); +char _FAR *_Cdecl _FARFUNC tmpnam(char _FAR *__s); +int _Cdecl _FARFUNC ungetc(int __c, FILE _FAR *__stream); +int _Cdecl _FARFUNC vfprintf(FILE _FAR *__stream, const char _FAR *__format, + void _FAR *__arglist); +int _Cdecl _FARFUNC vfscanf(FILE _FAR *__stream, const char _FAR *__format, + void _FAR *__arglist); +int _CType vprintf(const char _FAR *__format, void _FAR *__arglist); +int _Cdecl vscanf(const char _FAR *__format, void _FAR *__arglist); +int _Cdecl _FARFUNC vsprintf(char _FAR *__buffer, const char _FAR *__format, + void _FAR *__arglist); +int _Cdecl _FARFUNC vsscanf(const char _FAR *__buffer, const char _FAR *__format, + void _FAR *__arglist); +int _CType unlink(const char _FAR *__path); +int _Cdecl getc(FILE _FAR *__fp); + +int _Cdecl getchar(void); +int _Cdecl putchar(const int __c); + +int _Cdecl putc(const int __c, FILE _FAR *__fp); +int _Cdecl feof(FILE _FAR *__fp); +int _Cdecl ferror(FILE _FAR *__fp); + + +#if !__STDC__ +int _Cdecl _FARFUNC fcloseall(void); +FILE _FAR *_Cdecl _FARFUNC fdopen(int __handle, char _FAR *__type); +int _Cdecl _FARFUNC fgetchar(void); +int _Cdecl _FARFUNC flushall(void); +int _Cdecl _FARFUNC fputchar(int __c); +FILE _FAR * _Cdecl _fsopen (const char _FAR *__path, const char _FAR *__mode, + int __shflag); +int _Cdecl getw(FILE _FAR *__stream); +int _Cdecl putw(int __w, FILE _FAR *__stream); +int _Cdecl rmtmp(void); +char _FAR * _Cdecl _FARFUNC _strerror(const char _FAR *__s); +char _FAR * _Cdecl _FARFUNC tempnam(char _FAR *__dir, char _FAR *__pfx); + +#define fileno(f) ((f)->fd) +#ifdef __MSC +#define _fileno(f) fileno(f) +#endif + +#endif /* !__STDC__ */ + +int _Cdecl _FARFUNC _fgetc(FILE _FAR *__stream); /* used by getc() macro */ +int _Cdecl _FARFUNC _fputc(char __c, FILE _FAR *__stream); /* used by putc() macro */ + +void _Cdecl _InitEasyWin(void); /* Initialization call for Easy Windows */ + +#ifdef __cplusplus +} +#endif + +/* The following macros provide for common functions */ + +#define ferror(f) ((f)->flags & _F_ERR) +#define feof(f) ((f)->flags & _F_EOF) + +#define getc(f) \ + ((--((f)->level) >= 0) ? (unsigned char)(*(f)->curp++) : \ + _fgetc (f)) + +#define putc(c,f) \ + ((++((f)->level) < 0) ? (unsigned char)(*(f)->curp++=(c)) : \ + _fputc ((c),f)) + +#define getchar() getc(stdin) +#define putchar(c) putc((c), stdout) + +#define ungetc(c,f) ungetc((c),f) /* traditionally a macro */ + +#endif + diff --git a/XTMax/Tools/BCC31/INCLUDE/_DEFS.H b/XTMax/Tools/BCC31/INCLUDE/_DEFS.H new file mode 100644 index 0000000..4806204 --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/_DEFS.H @@ -0,0 +1,104 @@ +/* _defs.h + + Common definitions for pointer size and calling conventions. + + Copyright (c) 1991, 1992 by Borland International + All Rights Reserved. +*/ + +#if !defined(___DEFS_H) +#define ___DEFS_H + +#if __STDC__ +# define _Cdecl +#else +# define _Cdecl cdecl +#endif + +#ifndef __PAS__ +# define _CType _Cdecl +#else +# define _CType pascal +#endif + +#ifdef __MSC +# define _emit db +# define __far _far +# define __near _near +# define __cdecl _cdecl +# define __pascal _pascal +# define __export _export +# ifdef __SMALL__ +# define _M_I86SM +# endif +# ifdef __COMPACT__ +# define _M_I86CM +# endif +# ifdef __MEDIUM__ +# define _M_I86MM +# endif +# ifdef __LARGE__ +# define _M_I86LM +# endif +# ifndef _Windows +# define _DOS +# else +# define _WINDOWS +# endif +#endif + +#if defined(__STDC__) +# define _FAR +# define _FARFUNC +# define _CLASSTYPE +#else +# if defined(_BUILDRTLDLL) +# define _FARFUNC _export +# elif defined(_RTLDLL) +# define _FARFUNC far +# else +# define _FARFUNC +# endif +# if defined(__DLL__) +# if defined(_RTLDLL) || defined(_CLASSDLL) +# define _CLASSTYPE _export +# else +# define _CLASSTYPE far +# endif +# define _FAR far +# elif defined(_RTLDLL) || defined(_CLASSDLL) +# define _CLASSTYPE huge +# define _FAR far +# else +# define _FAR +# if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__) +# define _CLASSTYPE near +# elif defined(__COMPACT__) || defined(__LARGE__) +# define _CLASSTYPE far +# else +# define _CLASSTYPE huge +# endif +# endif +#endif /* __STDC__ */ + +#if defined(_BUILDRTLDLL) +# define _FARCALL _export +#else +# define _FARCALL far +#endif + +#if defined( __cplusplus ) +# define _PTRDEF(name) typedef name _FAR * P##name; +# define _REFDEF(name) typedef name _FAR & R##name; +# define _REFPTRDEF(name) typedef name _FAR * _FAR & RP##name; +# define _PTRCONSTDEF(name) typedef const name _FAR * PC##name; +# define _REFCONSTDEF(name) typedef const name _FAR & RC##name; +# define _CLASSDEF(name) class _CLASSTYPE name; \ + _PTRDEF(name) \ + _REFDEF(name) \ + _REFPTRDEF(name) \ + _PTRCONSTDEF(name) \ + _REFCONSTDEF(name) +#endif + +#endif /* ___DEFS_H */ diff --git a/XTMax/Tools/BCC31/INCLUDE/_NFILE.H b/XTMax/Tools/BCC31/INCLUDE/_NFILE.H new file mode 100644 index 0000000..b7411a9 --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/_NFILE.H @@ -0,0 +1,14 @@ +/* _nfile.h + + Maximum number of open files + + Copyright (c) 1991, 1992 by Borland International + All Rights Reserved. +*/ + +#ifndef ___NFILE_H +#define ___NFILE_H + +#define _NFILE_ 20 + +#endif diff --git a/XTMax/Tools/BCC31/INCLUDE/_NULL.H b/XTMax/Tools/BCC31/INCLUDE/_NULL.H new file mode 100644 index 0000000..221ec2f --- /dev/null +++ b/XTMax/Tools/BCC31/INCLUDE/_NULL.H @@ -0,0 +1,15 @@ +/* _null.h + + Definition of NULL. + + Copyright (c) 1987, 1992 by Borland International + All Rights Reserved. +*/ + +#ifndef NULL +# if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__) +# define NULL 0 +# else +# define NULL 0L +# endif +#endif diff --git a/XTMax/Tools/BCC31/MAKE.EXE b/XTMax/Tools/BCC31/MAKE.EXE new file mode 100644 index 0000000..9918ac8 Binary files /dev/null and b/XTMax/Tools/BCC31/MAKE.EXE differ diff --git a/XTMax/Tools/BCC31/TASM.EXE b/XTMax/Tools/BCC31/TASM.EXE new file mode 100644 index 0000000..f3867a6 Binary files /dev/null and b/XTMax/Tools/BCC31/TASM.EXE differ diff --git a/XTMax/Tools/BCC31/TLINK.CFG b/XTMax/Tools/BCC31/TLINK.CFG new file mode 100644 index 0000000..02377ae --- /dev/null +++ b/XTMax/Tools/BCC31/TLINK.CFG @@ -0,0 +1 @@ +-LD:\LIB diff --git a/XTMax/Tools/BCC31/TLINK.EXE b/XTMax/Tools/BCC31/TLINK.EXE new file mode 100644 index 0000000..b46896d Binary files /dev/null and b/XTMax/Tools/BCC31/TLINK.EXE differ diff --git a/XTMax/Tools/BCC31/TURBOC.CFG b/XTMax/Tools/BCC31/TURBOC.CFG new file mode 100644 index 0000000..245f00a --- /dev/null +++ b/XTMax/Tools/BCC31/TURBOC.CFG @@ -0,0 +1,2 @@ +-ID:\INCLUDE +-LD:\LIB