├── src ├── autoexec.bat └── hello.c ├── .gitignore ├── bootdisk ├── bin │ ├── cf.com │ ├── cg.com │ ├── fpc.com │ ├── l80.com │ ├── m80.com │ ├── mx.com │ ├── cref80.com │ ├── lib80.com │ ├── c.bat │ ├── msxbios.tco │ ├── glib.tco │ ├── math.tco │ ├── curses.tco │ ├── lib.tco │ └── mlib.tco ├── command2.com ├── lib │ ├── cend.rel │ ├── ck.rel │ ├── clib.rel │ ├── crun.rel │ ├── glib.rel │ ├── math.rel │ ├── mlib.rel │ ├── curses.rel │ └── msxbios.rel ├── msxdos2.sys ├── autoexec.bat └── include │ ├── memory.h │ ├── direct.h │ ├── process.h │ ├── stdlib.h │ ├── conio.h │ ├── setjmp.h │ ├── malloc.h │ ├── string.h │ ├── type.h │ ├── io.h │ ├── msxbios.h │ ├── ctype.h │ ├── glib.h │ ├── stdio.h │ ├── math.h │ ├── curses.h │ └── bdosfunc.h ├── Makefile ├── boot.tcl └── README.md /src/autoexec.bat: -------------------------------------------------------------------------------- 1 | c hello 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | src/*.com 2 | src/*.mac 3 | src/*.rel 4 | src/*.sym 5 | -------------------------------------------------------------------------------- /bootdisk/bin/cf.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/cf.com -------------------------------------------------------------------------------- /bootdisk/bin/cg.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/cg.com -------------------------------------------------------------------------------- /bootdisk/bin/fpc.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/fpc.com -------------------------------------------------------------------------------- /bootdisk/bin/l80.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/l80.com -------------------------------------------------------------------------------- /bootdisk/bin/m80.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/m80.com -------------------------------------------------------------------------------- /bootdisk/bin/mx.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/mx.com -------------------------------------------------------------------------------- /bootdisk/command2.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/command2.com -------------------------------------------------------------------------------- /bootdisk/lib/cend.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/cend.rel -------------------------------------------------------------------------------- /bootdisk/lib/ck.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/ck.rel -------------------------------------------------------------------------------- /bootdisk/lib/clib.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/clib.rel -------------------------------------------------------------------------------- /bootdisk/lib/crun.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/crun.rel -------------------------------------------------------------------------------- /bootdisk/lib/glib.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/glib.rel -------------------------------------------------------------------------------- /bootdisk/lib/math.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/math.rel -------------------------------------------------------------------------------- /bootdisk/lib/mlib.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/mlib.rel -------------------------------------------------------------------------------- /bootdisk/msxdos2.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/msxdos2.sys -------------------------------------------------------------------------------- /bootdisk/bin/cref80.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/cref80.com -------------------------------------------------------------------------------- /bootdisk/bin/lib80.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/bin/lib80.com -------------------------------------------------------------------------------- /bootdisk/lib/curses.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/curses.rel -------------------------------------------------------------------------------- /bootdisk/lib/msxbios.rel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fr3nd/msx-c-compiler/HEAD/bootdisk/lib/msxbios.rel -------------------------------------------------------------------------------- /src/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | main() 4 | { 5 | printf("Hello world MSX!\n"); 6 | } 7 | -------------------------------------------------------------------------------- /bootdisk/autoexec.bat: -------------------------------------------------------------------------------- 1 | MODE 80 2 | PATH A:\;A:\BIN 3 | 4 | SET PROMPT=ON 5 | SET ECHO=OFF 6 | SET UPPER=ON 7 | SET REDIR=ON 8 | SET TIME 24 9 | SET DATE dd-mm-yy 10 | SET EXPERT ON 11 | 12 | SET INCLUDE=A:\INCLUDE 13 | 14 | C: 15 | CD \ 16 | AUTOEXEC.BAT 17 | -------------------------------------------------------------------------------- /bootdisk/bin/c.bat: -------------------------------------------------------------------------------- 1 | ECHO ** CF 2 | CF %2 %1 3 | ECHO ** FPC 4 | FPC %1 MLIB LIB 5 | ECHO ** CG 6 | CG -K %3 %1 7 | ECHO ** M80 8 | M80 =%1/Z 9 | ECHO ** L80 10 | L80 A:\LIB\CK,%1,A:\LIB\MLIB/S,A:\LIB\CLIB/S,A:\LIB\CRUN/S,A:\LIB\CEND,%1/N/Y/E:xmain 11 | ECHO COMPILATION DONE 12 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | @openmsx \ 4 | -ext "Mitsubishi_ML-30DC_ML-30FD" \ 5 | -ext "ram4mb" \ 6 | -machine turbor \ 7 | -diska src \ 8 | -diskb bootdisk \ 9 | -script boot.tcl 10 | 11 | clean: 12 | rm -f src/*.com src/*.mac src/*.rel src/*.sym 13 | 14 | # vim:ft=make 15 | # 16 | -------------------------------------------------------------------------------- /bootdisk/include/memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: memory.h Memory Manipulate Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern VOID setmem(), memset(); 12 | extern VOID movmem(), memcpy(); 13 | 14 | -------------------------------------------------------------------------------- /bootdisk/include/direct.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: direct.h Directory Manipulate Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern int expargs(); 12 | extern STATUS chdir(), mkdir(), rmdir(); 13 | extern char *getcwd(); 14 | 15 | -------------------------------------------------------------------------------- /bootdisk/include/process.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: process.h Process Control Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern VOID execl(.), execlp(.); 12 | extern VOID execv(), execvp(); 13 | extern VOID exit(), _exit(); 14 | 15 | -------------------------------------------------------------------------------- /boot.tcl: -------------------------------------------------------------------------------- 1 | proc wait_until_compiled {} { 2 | puts -nonewline stderr "\x1b\[1;1f\x1b\[J" 3 | puts stderr [get_screen] 4 | if {[string first "COMPILATION DONE" [get_screen]] > 0} { 5 | exit 6 | } 7 | after time 10 wait_until_compiled 8 | } 9 | 10 | set save_settings_on_exit off 11 | set speed 9999 12 | set fullspeedwhenloading on 13 | set renderer none 14 | 15 | wait_until_compiled 16 | -------------------------------------------------------------------------------- /bootdisk/include/stdlib.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: stdlib.h Standard Library 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern char *getenv(); 12 | extern STATUS putenv(); 13 | 14 | extern int abs(), max(), min(), atoi(); 15 | extern VOID qsort(), perror(); 16 | 17 | -------------------------------------------------------------------------------- /bootdisk/include/conio.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: conio.h Console and I/O Port Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern char getch(), getche(); 12 | extern BOOL kbhit(); 13 | extern VOID sensebrk(); 14 | extern char inp(); 15 | extern VOID outp(); 16 | 17 | -------------------------------------------------------------------------------- /bootdisk/include/setjmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: setjmp.h Longjmp Support 6 | */ 7 | #ifndef HEADERsetjmp 8 | #define HEADERsetjmp 9 | 10 | #ifndef HEADERtype 11 | #include 12 | #endif /* HEADERtype */ 13 | 14 | typedef int jmp_buf[2]; 15 | 16 | extern int setjmp(); 17 | extern VOID longjmp(); 18 | 19 | #endif /* HEADERsetjmp */ 20 | 21 | -------------------------------------------------------------------------------- /bootdisk/include/malloc.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: malloc.h Storage Management Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | /* high level storage management functions */ 12 | #define malloc(size) alloc(size) 13 | extern char *alloc(); 14 | extern VOID free(); 15 | 16 | /* low level storage management functions */ 17 | extern char *sbrk(); 18 | extern VOID rsvstk(); 19 | 20 | -------------------------------------------------------------------------------- /bootdisk/include/string.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: string.h String Mnipulate Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern int strcmp(), strncmp(); 12 | extern size_t strlen(); 13 | extern char *strcat(), *strcpy(), *strchr(); 14 | extern char *strncat(), *strncpy(); 15 | extern char *strlwr(), *strupr(); 16 | 17 | extern VOID sprintf(.); 18 | extern int sscanf(.); 19 | 20 | -------------------------------------------------------------------------------- /bootdisk/include/type.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: type.h Common Types and Constants 6 | */ 7 | #ifndef HEADERtype 8 | #define HEADERtype 9 | 10 | #define NULL 0 /* constant for pointer */ 11 | 12 | typedef char TINY; 13 | typedef char VOID; 14 | typedef unsigned size_t; 15 | 16 | typedef char BOOL; 17 | #define TRUE 1 /* constants for BOOL */ 18 | #define FALSE 0 19 | #define YES 1 20 | #define NO 0 21 | 22 | typedef char STATUS; 23 | #define OK 0 /* constants for STATUS */ 24 | #define ERROR -1 25 | #define WILDCARD -2 26 | 27 | typedef int FD; /* file discripter type */ 28 | 29 | #endif /* HEADERtype */ 30 | -------------------------------------------------------------------------------- /bootdisk/include/io.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: io.h Low Level File Input/Output Functions 6 | */ 7 | #ifndef HEADERtype 8 | #include 9 | #endif /* HEADERtype */ 10 | 11 | extern FD open(), creat(); 12 | extern STATUS close(); 13 | extern int read(), write(); 14 | extern STATUS rename(), unlink(); 15 | extern TINY eof(); 16 | extern BOOL isatty(); 17 | 18 | /* open file flags */ 19 | #define O_RDONLY (0) 20 | #define O_WRONLY (1) 21 | #define O_RDWR (2) 22 | 23 | /* Standard File Handles */ 24 | #define STDIN (FD)0 /* Standard input channel */ 25 | #define STDOUT (FD)1 /* Standard output channel */ 26 | #define STDERR (FD)2 /* Standard error channel */ 27 | #define STDAUX (FD)3 /* Auxilliary I/O channel */ 28 | #define STDPRN (FD)4 /* Standard list channel */ 29 | #define STDLST (FD)4 /* Standard list channel */ 30 | 31 | -------------------------------------------------------------------------------- /bootdisk/include/msxbios.h: -------------------------------------------------------------------------------- 1 | typedef unsigned NAT; 2 | 3 | typedef struct _regs { 4 | TINY f; 5 | TINY a; 6 | NAT bc; 7 | NAT de; 8 | NAT hl; 9 | } REGS; 10 | 11 | #define fnkstr(n) ((char *)0xf86f+16*(n)) 12 | #define msx2() (*(TINY *)0xfaf8) 13 | 14 | VOID calbio(); 15 | VOID calbas(); 16 | VOID calsub(); 17 | VOID calslt(); 18 | TINY rdslt(); 19 | VOID wrslt(); 20 | VOID callx(); 21 | VOID inifnk(); 22 | VOID disscr(); 23 | VOID enascr(); 24 | VOID screen(); 25 | VOID gicini(); 26 | VOID sound(); 27 | TINY rdpsg(); 28 | BOOL chsns(); 29 | char chget(); 30 | VOID chput(); 31 | BOOL lptout(); 32 | BOOL lptstt(); 33 | char *pinlin(); 34 | char *inlin(); 35 | TINY breakx(); 36 | VOID beep(); 37 | VOID cls(); 38 | VOID locate(); 39 | VOID erafnk(); 40 | VOID dspfnk(); 41 | TINY gtstck(); 42 | BOOL gttrig(); 43 | TINY gtpad(); 44 | TINY gtpdl(); 45 | VOID chgsnd(); 46 | TINY snsmat(); 47 | VOID kilbuf(); 48 | NAT rnd(); 49 | VOID di(); 50 | VOID ei(); 51 |  -------------------------------------------------------------------------------- /bootdisk/include/ctype.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: ctype.h Character Type Header 6 | */ 7 | #define isupper(c) ('A' <= (c) && (c) <= 'Z') 8 | #define islower(c) ('a' <= (c) && (c) <= 'z') 9 | #define isdigit(c) ('0' <= (c) && (c) <= '9') 10 | #define isxdigit(c) (isdigit(c) || 'a' <= (c) && (c) <= 'f'\ 11 | || 'A' <= (c) && (c) <= 'F') 12 | #define isspace(c) ((c) == ' ' || '\t' <= (c) && (c) <= '\r') 13 | #define iscntrl(c) ((c) < ' ' || (c) == '\177') 14 | #define isalpha(c) (isupper(c) || islower(c)) 15 | #define isalnum(c) (isalpha(c) || isdigit(c)) 16 | 17 | extern char toupper(), tolower(); 18 | 19 | /* kanji first byte 0x81~0x9f 0xe0~0xfc */ 20 | #define iskanji(c) ('\201' <= (c) && (c) <= '\237'\ 21 | || '\340' <= (c) && (c) <= '\374') 22 | 23 | /* kanji second byte 0x40~0x7e 0x80~0xfc */ 24 | #define iskanji2(c) ('\100' <= (c) && (c) <= '\176'\ 25 | || '\200' <= (c) && (c) <= '\374') 26 | 27 | -------------------------------------------------------------------------------- /bootdisk/include/glib.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define c_dpage (*(TINY *)0xfaf5) 4 | #define c_apage (*(TINY *)0xfaf6) 5 | #define c_fore (*(TINY *)0xf3e9) 6 | #define c_back (*(TINY *)0xf3ea) 7 | #define c_bord (*(TINY *)0xf3eb) 8 | #define c_lastx (*(NAT *)0xfcb7) 9 | #define c_lasty (*(NAT *)0xfcb9) 10 | #define c_screen (*(TINY *)0xfcaf) 11 | #define c_sprite (*(TINY *)0xf3e0 & 3) 12 | #define c_xmax (gtxmax()) 13 | #define c_ymax (gtymax()) 14 | 15 | #define PSET (TINY)0 16 | #define AND (TINY)1 17 | #define OR (TINY)2 18 | #define XOR (TINY)3 19 | #define PRESET (TINY)4 20 | #define TPSET (TINY)8 21 | #define TAND (TINY)9 22 | #define TOR (TINY)10 23 | #define TXOR (TINY)11 24 | #define TPRESET (TINY)12 25 | 26 | VOID ginit(); 27 | VOID interlace(); 28 | NAT gtxmax(); 29 | NAT gtymax(); 30 | VOID setrd(); 31 | TINY invdp(); 32 | VOID setwrt(); 33 | VOID outvdp(); 34 | TINY vpeek(); 35 | VOID vpoke(); 36 | VOID filvrm(); 37 | VOID ldirmv(); 38 | VOID ldirvm(); 39 | VOID wrtvdp(); 40 | TINY rdvdp(); 41 | TINY rdvsts(); 42 | VOID color(); 43 | VOID iniplt(); 44 | VOID rstplt(); 45 | NAT getplt(); 46 | VOID setplt(); 47 | VOID pset(); 48 | VOID line(); 49 | VOID boxline(); 50 | VOID boxfill(); 51 | VOID circle(); 52 | VOID paint(); 53 | TINY point(); 54 | VOID inispr(); 55 | NAT calpat(); 56 | NAT calatr(); 57 | VOID sprite(); 58 | VOID colspr(); 59 | VOID putspr(); 60 | VOID cpyv2v(); 61 | VOID cpyv2m(); 62 | VOID cpym2v(); 63 | VOID totext(); 64 | VOID grpprt(); 65 | VOID knjprt(); 66 | VOID glocate(); 67 | VOID setpg(); 68 | NAT vramsize(); 69 |  -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MSX-C Compiler 2 | 3 | This is an effort to speed up the compilation of any MSX-C program using ASCII MSX-C running on OpenMSX. 4 | 5 | ## History 6 | 7 | While following Javi Lavandeira's [Relearning MSX](http://www.lavandeira.net/relearning-msx/) great articles about programming on the MSX, I realised how slow and cumbersome was to program on our favourite 8-bit machine. 8 | 9 | For example, compiling a simple (6 lines long) "hello world" program takes more than 1 minute to generate the .com file. 10 | 11 | I'm also more confortable writting code on vim than on any of the current MSX text editors. 12 | 13 | I wondered if there was a way to code on my current Linux workstation and compile without having to copy my code to the MSX and manually write the commands, so I started investigating. 14 | 15 | ## Requirements 16 | 17 | * Linux (Tested on Ubuntu 16.04) 18 | * It could probably work on Mac OS X, but I haven't tested it. Not sure about making it work on Windows. 19 | * GNU Make 20 | * OpenMSX (Tested on 0.12.0) 21 | 22 | ## Instructions 23 | 24 | Just run ```make```. This will compile the ```src/hello.c``` file in about 2-3 seconds! 25 | 26 | ## How does it work? 27 | 28 | Make will actually launch OpenMSX emulating a MSX Turbo-R with 4MB of RAM with a specific configuration to make it faster: 29 | * Sets speed to 9999 to increase the CPU cycles of the emulated MSX. 30 | * Sets fullspeedwhenloading to on to avoid emulating real MSX floppy drive speeds. 31 | * Sets renderer to none to avoid any overhead having to render the MSX screen. 32 | 33 | Also, and because the MSX screen won't be rendered, we're capturing the text output and displaying it on the Linux terminal so it's possible to see any possible errors while compiling. 34 | 35 | When the compilation process is finished, OpenMSX is closed and the generated files will be on the ```src/``` directory. -------------------------------------------------------------------------------- /bootdisk/bin/msxbios.tco: -------------------------------------------------------------------------------- 1 | S1 ( 2 | M2 C 3 | M3 C 4 | M4 R 5 | M5 I 6 | M6 R 7 | M7 I 8 | M8 N 9 | ) 10 | V9 S1 #10 11 | V10 I #2 12 | S11 ( 13 | M12 C 14 | M13 C 15 | M14 N 16 | M15 N 17 | M16 N 18 | ) 19 | Xcalbio C F E 20 | P17 N 21 | P18 R 22 | { 23 | } 24 | Xcalbas C F E 25 | P19 N 26 | P20 R 27 | { 28 | } 29 | Xcalsub C F E 30 | P21 N 31 | P22 R 32 | { 33 | } 34 | Xcalslt C F E 35 | P23 C 36 | P24 N 37 | P25 R 38 | { 39 | } 40 | Xrdslt C F E 41 | P26 C 42 | P27 N 43 | { 44 | } 45 | Xwrslt C F E 46 | P28 C 47 | P29 N 48 | P30 C 49 | { 50 | } 51 | Xcallx C F E 52 | P31 N 53 | P32 R 54 | { 55 | } 56 | Xinifnk C F E 57 | { 58 | } 59 | Xdisscr C F E 60 | { 61 | } 62 | Xenascr C F E 63 | { 64 | } 65 | Xscreen C F E 66 | P33 C 67 | { 68 | } 69 | Xgicini C F E 70 | { 71 | } 72 | Xsound C F E 73 | P34 C 74 | P35 C 75 | { 76 | } 77 | Xrdpsg C F E 78 | P36 C 79 | { 80 | } 81 | Xchsns C F E 82 | { 83 | } 84 | Xchget C F E 85 | { 86 | } 87 | Xchput C F E 88 | P37 C 89 | { 90 | } 91 | Xlptout C F E 92 | P38 C 93 | { 94 | } 95 | Xlptstt C F E 96 | { 97 | } 98 | Xpinlin R F E 99 | { 100 | } 101 | Xinlin R F E 102 | { 103 | } 104 | Xbreakx C F E 105 | { 106 | } 107 | Xbeep C F E 108 | { 109 | } 110 | Xcls C F E 111 | { 112 | } 113 | Xlocate C F E 114 | P39 C 115 | P40 C 116 | { 117 | } 118 | Xerafnk C F E 119 | { 120 | } 121 | Xdspfnk C F E 122 | { 123 | } 124 | Xgtstck C F E 125 | P41 C 126 | { 127 | } 128 | Xgttrig C F E 129 | P42 C 130 | { 131 | } 132 | Xgtpad C F E 133 | P43 C 134 | { 135 | } 136 | Xgtpdl C F E 137 | P44 C 138 | { 139 | } 140 | Xchgsnd C F E 141 | P45 C 142 | { 143 | } 144 | Xsnsmat C F E 145 | P46 C 146 | { 147 | } 148 | Xkilbuf C F E 149 | { 150 | } 151 | Xrnd N F E 152 | P47 N 153 | { 154 | } 155 | Xdi C F E 156 | { 157 | } 158 | Xei C F E 159 | { 160 | } 161 |  -------------------------------------------------------------------------------- /bootdisk/include/stdio.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: stdio.h Buffered Input/Output Functions 6 | */ 7 | #ifndef HEADERstdio /* referenced for 'typedef FILE' */ 8 | #define HEADERstdio 9 | 10 | #ifndef HEADERtype 11 | #include 12 | #endif /* HEADERtype */ 13 | 14 | typedef struct { 15 | TINY serial; /* is not 0 when serial device */ 16 | char mode; /* file mode - R, W, R/W */ 17 | char *ptr; /* next character position */ 18 | int count; /* number of characters left */ 19 | char *base; /* location of buffer */ 20 | FD fd; /* file descriptor */ 21 | size_t bufsiz; /* size of bufer */ 22 | } FILE; 23 | 24 | #define _NFILES 15 /* maximum number of buffered I/O */ 25 | #define BUFSIZ 1024 /* default buffer size of fopen */ 26 | #define SERIBUF 256 /* buffer size for device */ 27 | 28 | extern char _buffs[_NFILES]; 29 | extern FILE _iob[_NFILES]; 30 | 31 | #define stdin (&_iob[0]) 32 | #define stdout (&_iob[1]) 33 | #define stderr (&_iob[2]) 34 | #define stdaux (&_iob[3]) 35 | #define stdprn (&_iob[4]) 36 | 37 | #define EOF (-1) 38 | #define CPMEOF '\032' /* EOF char ^Z */ 39 | 40 | #define ungetch ugetch /* for poor linker with 6 chars symbol */ 41 | #define fcloseall fclosall 42 | 43 | /****** buffered I/O functions ******/ 44 | extern FILE *fopen(.); 45 | extern int getc(), getchar(); 46 | extern char *fgets(), *gets(); 47 | extern int fscanf(.), scanf(.); 48 | extern STATUS putc(), putchar(), 49 | fputs(), puts(), 50 | fprintf(.), printf(.); 51 | extern STATUS ungetc(), ungetch(); 52 | extern STATUS fclose(); 53 | extern TINY fcloseall(); 54 | 55 | extern int fread(), fwrite(); 56 | extern STATUS fflush(); 57 | extern TINY flushall(); 58 | extern STATUS fsetbin(), fsettext(); /* non-standard */ 59 | extern STATUS setvbuf(); 60 | extern VOID setbuf(); 61 | extern VOID clearerr(); 62 | 63 | /* FILE.mode bit assignment */ 64 | #define _IOREAD 0x01 65 | #define _IOWRT 0x02 66 | #define _IOEOF 0x04 67 | #define _IOOVF 0x08 68 | #define _BINARY 0x10 69 | #define _IOMYBUF 0x20 70 | 71 | /* FILE.serial bit assignment */ 72 | #define _IOSERI 0x01 73 | #define _IONBF 0x04 /* no buffering */ 74 | #define _IOLBF 0x40 /* line buffering */ 75 | #define _IOFBF 0x00 /* full buffering */ 76 | 77 | #define fileno(fp) ((fp)->fd) 78 | #define feof(fp) (((fp)->mode & _IOEOF) != 0) 79 | #define ferror(fp) (((fp)->mode & _IOOVF) != 0) 80 | 81 | #ifndef DIVHEADER 82 | #include 83 | #include 84 | #include 85 | #include 86 | #include 87 | #include 88 | #include 89 | #include 90 | #include 91 | #include 92 | #endif /* DIVHEADER */ 93 | 94 | #endif /* HEADERstdio */ 95 | 96 | -------------------------------------------------------------------------------- /bootdisk/include/math.h: -------------------------------------------------------------------------------- 1 | /* 2 | MSX-C Library Math-Pack Module Header (math.h) 3 | signed long(SLONG) and MSX double(XDOUBLE) 4 | 5 | Copyright by ASCII Corporation 1987 6 | */ 7 | 8 | /* 9 | Definition of SLONG and XDOUBLE 10 | */ 11 | #ifndef NOUSESL 12 | typedef struct { 13 | char byte[4]; 14 | } SLONG; 15 | #endif 16 | #ifndef NOUSEXD 17 | typedef struct { 18 | char byte[8]; 19 | } XDOUBLE; 20 | #endif 21 | 22 | /* 23 | Function Declarations 24 | */ 25 | #ifndef NOUSESL 26 | extern SLONG *atosl(); 27 | extern SLONG *slcpy(); 28 | #endif 29 | 30 | #ifndef NOUSEXD 31 | extern STATUS atoxd(); 32 | extern XDOUBLE *xdcpy(); 33 | #endif 34 | 35 | #ifndef NOUSESL 36 | extern SLONG *sladd(), *slsub(), *slmul(), *sldiv(), *slmod(); 37 | extern SLONG *slneg(), *slabs(), *uldiv(), *ulmod(); 38 | extern SLONG *slnot(), *sland(), *slor(), *slxor(); 39 | extern SLONG *slsla(), *slsll(), *slsra(), *slsrl(); 40 | extern SLONG *slrlc(), *slrl(), *slrrc(), *slrr(); 41 | #endif 42 | 43 | #ifndef NOUSEXD 44 | extern STATUS xdadd(), xdsub(), xdmul(), xddiv(), xdpow(); 45 | extern STATUS xdneg(), xdfabs(); 46 | extern STATUS xdfix(), xdfloor(), xdceil(); 47 | extern STATUS xdsqrt(); 48 | extern STATUS xdsin(), xdcos(), xdtan(), xdatn(); 49 | extern STATUS xdlog(), xdexp(); 50 | extern STATUS xdrnd(), xdnrm(); 51 | #endif 52 | 53 | #ifndef NOUSESL 54 | extern int slsgn(), slcmp(); 55 | extern char *sltoa(); 56 | extern SLONG *itosl(), *uitosl(); 57 | #endif 58 | 59 | #ifndef NOUSEXD 60 | extern int xdsgn(), xdcmp(); 61 | extern char *xdtoa(); 62 | extern STATUS itoxd(), xdtoi(); 63 | #endif 64 | 65 | #ifndef NOUSESL 66 | #ifndef NOUSEXD 67 | extern STATUS sltoxd(), ultoxd(), xdtosl(); 68 | #endif 69 | #endif 70 | /* 71 | External Variables 72 | */ 73 | #ifndef NOUSESL 74 | extern SLONG slbuf; 75 | extern BOOL slcy; 76 | #endif 77 | 78 | /* 79 | Substitute printf(), scanf() 80 | */ 81 | 82 | #ifndef NOUSESL 83 | #ifndef NOUSEXD 84 | /* use sl, xd */ 85 | #define printf mprf 86 | #define fprintf mfprf 87 | #define sprintf msprf 88 | #define scanf mscf 89 | #define fscanf mfscf 90 | #define sscanf msscf 91 | 92 | #else 93 | /* use sl */ 94 | #define printf mprfl 95 | #define fprintf mfprfl 96 | #define sprintf msprfl 97 | #define scanf mscfl 98 | #define fscanf mfscfl 99 | #define sscanf msscfl 100 | 101 | #endif 102 | #else 103 | #ifndef NOUSEXD 104 | /* use xd */ 105 | #define printf mprfd 106 | #define fprintf mfprfd 107 | #define sprintf msprfd 108 | #define scanf mscfd 109 | #define fscanf mfscfd 110 | #define sscanf msscfd 111 | 112 | #else 113 | /* use nomal type */ 114 | #endif 115 | #endif 116 | /* 117 | Extended printf(), scanf() 118 | */ 119 | extern STATUS printf(.), fprintf(.); 120 | extern VOID sprintf(.); 121 | extern int scanf(.), fscanf(.), sscanf(.); 122 | 123 | /* 124 | end of math.h 125 | */ 126 | 127 |  -------------------------------------------------------------------------------- /bootdisk/bin/glib.tco: -------------------------------------------------------------------------------- 1 | S1 ( 2 | M2 C 3 | M3 C 4 | M4 R 5 | M5 I 6 | M6 R 7 | M7 I 8 | M8 N 9 | ) 10 | V9 S1 #10 11 | V10 I #2 12 | S11 ( 13 | M12 C 14 | M13 C 15 | M14 N 16 | M15 N 17 | M16 N 18 | ) 19 | Xginit C F E 20 | { 21 | } 22 | Xinterlace C F E 23 | P17 C 24 | { 25 | } 26 | Xgtxmax N F E 27 | { 28 | } 29 | Xgtymax N F E 30 | { 31 | } 32 | Xsetrd C F E 33 | P18 N 34 | { 35 | } 36 | Xinvdp C F E 37 | { 38 | } 39 | Xsetwrt C F E 40 | P19 N 41 | { 42 | } 43 | Xoutvdp C F E 44 | P20 C 45 | { 46 | } 47 | Xvpeek C F E 48 | P21 N 49 | { 50 | } 51 | Xvpoke C F E 52 | P22 N 53 | P23 C 54 | { 55 | } 56 | Xfilvrm C F E 57 | P24 N 58 | P25 N 59 | P26 C 60 | { 61 | } 62 | Xldirmv C F E 63 | P27 R 64 | P28 N 65 | P29 N 66 | { 67 | } 68 | Xldirvm C F E 69 | P30 N 70 | P31 R 71 | P32 N 72 | { 73 | } 74 | Xwrtvdp C F E 75 | P33 C 76 | P34 C 77 | { 78 | } 79 | Xrdvdp C F E 80 | P35 C 81 | { 82 | } 83 | Xrdvsts C F E 84 | P36 C 85 | { 86 | } 87 | Xcolor C F E 88 | P37 C 89 | P38 C 90 | P39 C 91 | { 92 | } 93 | Xiniplt C F E 94 | { 95 | } 96 | Xrstplt C F E 97 | { 98 | } 99 | Xgetplt N F E 100 | P40 C 101 | { 102 | } 103 | Xsetplt C F E 104 | P41 C 105 | P42 N 106 | { 107 | } 108 | Xpset C F E 109 | P43 N 110 | P44 N 111 | P45 C 112 | P46 C 113 | { 114 | } 115 | Xline C F E 116 | P47 N 117 | P48 N 118 | P49 N 119 | P50 N 120 | P51 C 121 | P52 C 122 | { 123 | } 124 | Xboxline C F E 125 | P53 N 126 | P54 N 127 | P55 N 128 | P56 N 129 | P57 C 130 | P58 C 131 | { 132 | } 133 | Xboxfill C F E 134 | P59 N 135 | P60 N 136 | P61 N 137 | P62 N 138 | P63 C 139 | P64 C 140 | { 141 | } 142 | Xcircle C F E 143 | P65 N 144 | P66 N 145 | P67 N 146 | P68 C 147 | P69 I 148 | P70 I 149 | P71 N 150 | { 151 | } 152 | Xpaint C F E 153 | P72 N 154 | P73 N 155 | P74 C 156 | P75 C 157 | { 158 | } 159 | Xpoint C F E 160 | P76 N 161 | P77 N 162 | { 163 | } 164 | Xinispr C F E 165 | P78 C 166 | { 167 | } 168 | Xcalpat N F E 169 | P79 C 170 | { 171 | } 172 | Xcalatr N F E 173 | P80 C 174 | { 175 | } 176 | Xsprite C F E 177 | P81 C 178 | P82 R 179 | { 180 | } 181 | Xcolspr C F E 182 | P83 C 183 | P84 R 184 | { 185 | } 186 | Xputspr C F E 187 | P85 C 188 | P86 I 189 | P87 I 190 | P88 C 191 | P89 C 192 | { 193 | } 194 | Xcpyv2v C F E 195 | P90 N 196 | P91 N 197 | P92 N 198 | P93 N 199 | P94 C 200 | P95 N 201 | P96 N 202 | P97 C 203 | P98 C 204 | { 205 | } 206 | Xcpyv2m C F E 207 | P99 N 208 | P100 N 209 | P101 N 210 | P102 N 211 | P103 C 212 | P104 R 213 | { 214 | } 215 | Xcpym2v C F E 216 | P105 R 217 | P106 C 218 | P107 N 219 | P108 N 220 | P109 C 221 | P110 C 222 | { 223 | } 224 | Xtotext C F E 225 | { 226 | } 227 | Xgrpprt C F E 228 | P111 C 229 | P112 C 230 | { 231 | } 232 | Xknjprt C F E 233 | P113 N 234 | P114 C 235 | P115 C 236 | { 237 | } 238 | Xglocate C F E 239 | P116 N 240 | P117 N 241 | { 242 | } 243 | Xsetpg C F E 244 | P118 C 245 | P119 C 246 | { 247 | } 248 | Xvramsize N F E 249 | { 250 | } 251 |  -------------------------------------------------------------------------------- /bootdisk/bin/math.tco: -------------------------------------------------------------------------------- 1 | X_mspr C F 2 | P17 R 3 | P18 R 4 | P19 R 5 | { 6 | } 7 | Xmprf C U 8 | P74 I 9 | P75 R 10 | { 11 | } 12 | Xmfprf C U 13 | P76 I 14 | P77 R 15 | P78 R 16 | { 17 | } 18 | Xmsprf C U 19 | P79 I 20 | P80 R 21 | P81 R 22 | { 23 | } 24 | X_msll C F 25 | P82 R 26 | P84 C 27 | P83 C 28 | { 29 | } 30 | Xissp C F 31 | P86 C 32 | { 33 | } 34 | X_msfl I F 35 | P87 R 36 | P88 C 37 | P89 R 38 | P90 R 39 | { 40 | } 41 | X_mscn I F 42 | P97 R 43 | P98 R 44 | P99 R 45 | P100 R 46 | { 47 | } 48 | Xmscf I U 49 | P153 I 50 | P154 R 51 | { 52 | } 53 | Xmfscf I U 54 | P155 I 55 | P156 R 56 | P157 R 57 | { 58 | } 59 | Xmsscf I U 60 | P158 I 61 | P159 R 62 | P160 R 63 | { 64 | } 65 | Xslcpy R F E 66 | P17 R 67 | P18 R 68 | { 69 | } 70 | Xsladd R F E 71 | P19 R 72 | P20 R 73 | P21 R 74 | { 75 | } 76 | Xslsub R F E 77 | P22 R 78 | P23 R 79 | P24 R 80 | { 81 | } 82 | Xslneg R F E 83 | P25 R 84 | P26 R 85 | { 86 | } 87 | Xslabs R F E 88 | P27 R 89 | P28 R 90 | { 91 | } 92 | Xslmul R F E 93 | P29 R 94 | P30 R 95 | P31 R 96 | { 97 | } 98 | Xsldiv R F E 99 | P32 R 100 | P33 R 101 | P34 R 102 | { 103 | } 104 | Xslmod R F E 105 | P35 R 106 | P36 R 107 | P37 R 108 | { 109 | } 110 | Xuldiv R F E 111 | P38 R 112 | P39 R 113 | P40 R 114 | { 115 | } 116 | Xulmod R F E 117 | P41 R 118 | P42 R 119 | P43 R 120 | { 121 | } 122 | Xslsgn I F E 123 | P44 R 124 | { 125 | } 126 | Xslcmp I F E 127 | P45 R 128 | P46 R 129 | { 130 | } 131 | Xslnot R F E 132 | P47 R 133 | P48 R 134 | { 135 | } 136 | Xsland R F E 137 | P49 R 138 | P50 R 139 | P51 R 140 | { 141 | } 142 | Xslor R F E 143 | P52 R 144 | P53 R 145 | P54 R 146 | { 147 | } 148 | Xslxor R F E 149 | P55 R 150 | P56 R 151 | P57 R 152 | { 153 | } 154 | Xslsla R F E 155 | P58 R 156 | P59 R 157 | P60 C 158 | { 159 | } 160 | Xslsll R F E 161 | P61 R 162 | P62 R 163 | P63 C 164 | { 165 | } 166 | Xslsra R F E 167 | P64 R 168 | P65 R 169 | P66 C 170 | { 171 | } 172 | Xslsrl R F E 173 | P67 R 174 | P68 R 175 | P69 C 176 | { 177 | } 178 | Xslrlc R F E 179 | P70 R 180 | P71 R 181 | P72 C 182 | { 183 | } 184 | Xslrl R F E 185 | P73 R 186 | P74 R 187 | P75 C 188 | { 189 | } 190 | Xslrrc R F E 191 | P76 R 192 | P77 R 193 | P78 C 194 | { 195 | } 196 | Xslrr R F E 197 | P79 R 198 | P80 R 199 | P81 C 200 | { 201 | } 202 | Xatosl R F E 203 | P82 R 204 | P83 R 205 | { 206 | } 207 | Xsltoa R F E 208 | P84 R 209 | P85 R 210 | P86 C 211 | { 212 | } 213 | Xitosl R F E 214 | P87 R 215 | P88 I 216 | { 217 | } 218 | Xuitosl R F E 219 | P89 R 220 | P90 N 221 | { 222 | } 223 | Xxdcpy R F E 224 | P91 R 225 | P92 R 226 | { 227 | } 228 | Xmathu C F E 229 | P93 N 230 | P94 N 231 | P95 N 232 | P96 R 233 | { 234 | } 235 | Xxdadd C F E 236 | P97 R 237 | P98 R 238 | P99 R 239 | { 240 | } 241 | Xxdsub C F E 242 | P100 R 243 | P101 R 244 | P102 R 245 | { 246 | } 247 | Xxdmul C F E 248 | P103 R 249 | P104 R 250 | P105 R 251 | { 252 | } 253 | Xxddiv C F E 254 | P106 R 255 | P107 R 256 | P108 R 257 | { 258 | } 259 | Xxdpow C F E 260 | P109 R 261 | P110 R 262 | P111 R 263 | { 264 | } 265 | Xxdsqrt C F E 266 | P112 R 267 | P113 R 268 | { 269 | } 270 | Xxdneg C F E 271 | P114 R 272 | P115 R 273 | { 274 | } 275 | Xxdfabs C F E 276 | P116 R 277 | P117 R 278 | { 279 | } 280 | Xxdsgn I F E 281 | P118 R 282 | { 283 | } 284 | Xxdcmp I F E 285 | P119 R 286 | P120 R 287 | { 288 | } 289 | Xxdfix C F E 290 | P121 R 291 | P122 R 292 | { 293 | } 294 | Xxdfloor C F E 295 | P123 R 296 | P124 R 297 | { 298 | } 299 | Xxdceil C F E 300 | P125 R 301 | P126 R 302 | { 303 | } 304 | Xxdsin C F E 305 | P127 R 306 | P128 R 307 | { 308 | } 309 | Xxdcos C F E 310 | P129 R 311 | P130 R 312 | { 313 | } 314 | Xxdtan C F E 315 | P131 R 316 | P132 R 317 | { 318 | } 319 | Xxdatn C F E 320 | P133 R 321 | P134 R 322 | { 323 | } 324 | Xxdlog C F E 325 | P135 R 326 | P136 R 327 | { 328 | } 329 | Xxdexp C F E 330 | P137 R 331 | P138 R 332 | { 333 | } 334 | Xxdrnd C F E 335 | P139 R 336 | P140 R 337 | { 338 | } 339 | Xxdnrm C F E 340 | P141 R 341 | P142 R 342 | { 343 | } 344 | Xatoxd C F E 345 | P143 R 346 | P144 R 347 | { 348 | } 349 | Xxdtoa R F E 350 | P145 R 351 | P146 R 352 | P147 C 353 | { 354 | } 355 | Xitoxd C F E 356 | P148 R 357 | P149 I 358 | { 359 | } 360 | Xxdtoi C F E 361 | P150 R 362 | P151 R 363 | { 364 | } 365 | Xsltoxd C F E 366 | P152 R 367 | P153 R 368 | { 369 | } 370 | Xultoxd C F E 371 | P154 R 372 | P155 R 373 | { 374 | } 375 | Xxdtosl C F E 376 | P156 R 377 | P157 R 378 | { 379 | } 380 |  -------------------------------------------------------------------------------- /bootdisk/bin/curses.tco: -------------------------------------------------------------------------------- 1 | X_mknew R F 2 | P28 I 3 | P29 I 4 | P30 I 5 | P31 I 6 | { 7 | } 8 | Xnewwin R F 9 | P42 I 10 | P43 I 11 | P44 I 12 | P45 I 13 | { 14 | } 15 | Xtouchwin C F 16 | P61 R 17 | { 18 | } 19 | Xmvwin C F 20 | P68 R 21 | P69 I 22 | P70 I 23 | { 24 | } 25 | Xdelwin C F 26 | P72 R 27 | { 28 | } 29 | Xendwin C F 30 | { 31 | } 32 | Xinitscr R F 33 | { 34 | } 35 | Xsubwin R F 36 | P75 R 37 | P76 I 38 | P77 I 39 | P78 I 40 | P79 I 41 | { 42 | } 43 | Xwmove C F 44 | P93 R 45 | P94 I 46 | P95 I 47 | { 48 | } 49 | Xmove C F 50 | P97 I 51 | P98 I 52 | { 53 | } 54 | X_clrlin C F 55 | P99 R 56 | P100 C 57 | P101 C 58 | { 59 | } 60 | Xwerase C F 61 | P104 R 62 | { 63 | } 64 | Xerase C F 65 | { 66 | } 67 | Xmemmove C F 68 | P110 R 69 | P111 R 70 | P112 N 71 | { 72 | } 73 | X_rotate C F 74 | P119 R 75 | P120 C 76 | { 77 | } 78 | Xscroll C F 79 | P138 R 80 | { 81 | } 82 | Xwclreol C F 83 | P142 R 84 | { 85 | } 86 | Xclrtoeol C F 87 | { 88 | } 89 | Xwclrbot C F 90 | P148 R 91 | { 92 | } 93 | Xclrtobot C F 94 | { 95 | } 96 | X_waddch C F 97 | P156 R 98 | P157 C 99 | { 100 | } 101 | Xwaddch C F 102 | P182 R 103 | P183 C 104 | { 105 | } 106 | Xaddch C F 107 | P205 C 108 | { 109 | } 110 | Xwaddstr C F 111 | P206 R 112 | P207 R 113 | { 114 | } 115 | Xaddstr C F 116 | P211 R 117 | { 118 | } 119 | Xwdelch C F 120 | P212 R 121 | { 122 | } 123 | Xdelch C F 124 | { 125 | } 126 | Xwinsch C F 127 | P224 R 128 | P225 C 129 | { 130 | } 131 | Xinsch C F 132 | P241 C 133 | { 134 | } 135 | Xbox C F 136 | P242 R 137 | P243 C 138 | P244 C 139 | { 140 | } 141 | Xwdeleteln C F 142 | P258 R 143 | { 144 | } 145 | Xdeleteln C F 146 | { 147 | } 148 | Xwinsertln C F 149 | P259 R 150 | { 151 | } 152 | Xinsertln C F 153 | { 154 | } 155 | Xoverwrite C F 156 | P260 R 157 | P261 R 158 | { 159 | } 160 | X_deleteln C F 161 | P278 I 162 | { 163 | } 164 | X_insertln C F 165 | P281 I 166 | { 167 | } 168 | X_move C F 169 | P284 C 170 | P285 C 171 | { 172 | } 173 | X_clrtobot C F 174 | { 175 | } 176 | X_harddel C F 177 | P286 R 178 | { 179 | } 180 | X_touchl C F 181 | P302 R 182 | P303 C 183 | P304 C 184 | P305 C 185 | { 186 | } 187 | X_hardins C F 188 | P308 R 189 | { 190 | } 191 | X_putcc C F 192 | P328 R 193 | P329 C 194 | P330 C 195 | P331 C 196 | P332 C 197 | P333 R 198 | { 199 | } 200 | X_refine C F 201 | P338 R 202 | P339 R 203 | P340 C 204 | P341 C 205 | P342 C 206 | { 207 | } 208 | X_cputs C F 209 | P354 R 210 | P355 I 211 | { 212 | } 213 | X_wrefresh C F 214 | P366 R 215 | { 216 | } 217 | Xoffcur C F 218 | { 219 | } 220 | Xoncur C F 221 | { 222 | } 223 | X_tclin C F 224 | P379 R 225 | { 226 | } 227 | Xwrefresh C F 228 | P386 R 229 | { 230 | } 231 | Xrefresh C F 232 | { 233 | } 234 | X_addw C F 235 | P45 C 236 | P46 R 237 | { 238 | } 239 | Xwprintw C U 240 | P47 I 241 | P48 R 242 | P49 R 243 | { 244 | } 245 | Xprintw C U 246 | P50 I 247 | P51 R 248 | { 249 | } 250 | Xwinch C F 251 | P52 R 252 | { 253 | } 254 | Xinch C F 255 | { 256 | } 257 | X_cgetchar C F 258 | { 259 | } 260 | Xwgetch C F 261 | P57 R 262 | { 263 | } 264 | Xcgetch C F 265 | { 266 | } 267 | Xwgetstr C F 268 | P63 R 269 | P64 R 270 | { 271 | } 272 | Xgetstr C F 273 | P68 R 274 | { 275 | } 276 | Xmvwadch C F 277 | P69 R 278 | P70 I 279 | P71 I 280 | P72 C 281 | { 282 | } 283 | Xmvwgtch C F 284 | P73 R 285 | P74 I 286 | P75 I 287 | { 288 | } 289 | Xmvwadstr C F 290 | P76 R 291 | P77 I 292 | P78 I 293 | P79 R 294 | { 295 | } 296 | Xmvwgtstr C F 297 | P80 R 298 | P81 I 299 | P82 I 300 | P83 R 301 | { 302 | } 303 | Xmvwinch C F 304 | P84 R 305 | P85 I 306 | P86 I 307 | { 308 | } 309 | Xmvwdelch C F 310 | P87 R 311 | P88 I 312 | P89 I 313 | { 314 | } 315 | Xmvwinsch C F 316 | P90 R 317 | P91 I 318 | P92 I 319 | P93 C 320 | { 321 | } 322 | Xmvaddch C F 323 | P94 I 324 | P95 I 325 | P96 C 326 | { 327 | } 328 | Xmvgetch C F 329 | P97 I 330 | P98 I 331 | { 332 | } 333 | Xmvaddstr C F 334 | P99 I 335 | P100 I 336 | P101 R 337 | { 338 | } 339 | Xmvgetstr C F 340 | P102 I 341 | P103 I 342 | P104 R 343 | { 344 | } 345 | Xmvinch C F 346 | P105 I 347 | P106 I 348 | { 349 | } 350 | Xmvdelch C F 351 | P107 I 352 | P108 I 353 | { 354 | } 355 | Xmvinsch C F 356 | P109 I 357 | P110 I 358 | P111 C 359 | { 360 | } 361 | Xmvwprintw C U 362 | P112 I 363 | P113 R 364 | P114 I 365 | P115 I 366 | P116 R 367 | { 368 | } 369 | Xmvprintw C U 370 | P117 I 371 | P118 I 372 | P119 I 373 | P120 R 374 | { 375 | } 376 | X_wclear C F 377 | P121 R 378 | { 379 | } 380 | Xwclear C F 381 | P122 R 382 | { 383 | } 384 | Xclear C F 385 | { 386 | } 387 |  -------------------------------------------------------------------------------- /bootdisk/include/curses.h: -------------------------------------------------------------------------------- 1 | /********************************/ 2 | /* header file for MSX-CURSES */ 3 | /* "curses.h" */ 4 | /********************************/ 5 | 6 | #ifndef _NOCHANGE 7 | /* 8 | #include 9 | */ 10 | 11 | /* 12 | as both "curses.c" and user program include this header file, 13 | we need a trick to avoid conflicting definition between "curses.c" 14 | and user program. 15 | */ 16 | #ifndef EXTERN 17 | #define EXTERN extern 18 | #endif 19 | /* end of trick */ 20 | 21 | #define ERR 0xFF 22 | 23 | #define _SUBWIN 0x01 24 | #define _ENDLINES 0x02 25 | #define _FULLWIN 0x04 26 | #define _FLUSH 0x08 27 | #define _SCROLLWIN 0x10 28 | 29 | #define _RAW 0x01 30 | #define _ECHO 0x04 31 | 32 | #define _NOCHANGE -1 33 | 34 | typedef struct { 35 | char *_y; 36 | int _firstch; 37 | int _lastch; 38 | int _ins_del; 39 | } INDEXLIN; 40 | 41 | typedef struct { 42 | TINY _cury, _curx; 43 | TINY _maxy, _maxx; 44 | int _begy, _begx; 45 | int _flags; 46 | BOOL _clear; 47 | BOOL _leave; 48 | BOOL _scroll; 49 | INDEXLIN *_index; 50 | } WINDOW; 51 | 52 | typedef TINY SGTTY; /* flags for terminal type */ 53 | 54 | EXTERN SGTTY _tty; 55 | 56 | EXTERN TINY LINES; /* MAX lines */ 57 | EXTERN TINY COLS; /* MAX columns */ 58 | 59 | EXTERN WINDOW *stdscr; 60 | EXTERN WINDOW *curscr; 61 | 62 | /* 63 | * MSX work areas 64 | */ 65 | #define LINLEN ((TINY *)(0xf3b0)) /* Number of columns */ 66 | #define CRTCNT ((TINY *)(0xf3b1)) /* CRT horizontal line number */ 67 | #define CNFDFG ((TINY *)(0xf3de)) /* Function key displayed or not */ 68 | 69 | /* 70 | * char constants definitions 71 | */ 72 | #define BEL '\007' 73 | #define BS '\010' 74 | #define TAB '\011' 75 | #define LF '\012' 76 | #define HOME '\013' 77 | #define FF '\014' 78 | #define CR '\015' 79 | #define ESC '\033' 80 | #define RIGHT '\034' 81 | #define LEFT '\035' 82 | #define UP '\036' 83 | #define DOWN '\037' 84 | #define SPACE '\040' 85 | #define DEL '\177' 86 | 87 | #define ERR ERROR 88 | #define TABS (TINY)8 /* normal horizontal TAB */ 89 | 90 | /* 91 | * pseudo functions 92 | */ 93 | #define scrollok(win, bf) win->_scroll = bf 94 | #define clearok(win, bf) win->_clear = bf 95 | 96 | #define getyx(win, y, x) y = (int)win->_cury, x = (int)win->_curx 97 | 98 | #define INSERT TRUE 99 | #define DELETE FALSE 100 | 101 | #define wclrtobot wclrbot 102 | #define wclrtoeol wclreol 103 | 104 | #define echo() _tty |= _ECHO 105 | #define noecho() _tty &= ~_ECHO 106 | #define raw() _tty |= _RAW 107 | 108 | /* 109 | * initializing function 110 | */ 111 | WINDOW *initscr(); 112 | WINDOW *newwin(); 113 | WINDOW *subwin(); 114 | 115 | /* 116 | * console output function 117 | */ 118 | STATUS wrefresh(); 119 | STATUS refresh(); 120 | 121 | /* 122 | * logical screen output functions 123 | */ 124 | STATUS move(), addch(), addstr(), delch(), insch(), printw(.); 125 | STATUS wmove(), waddch(), waddstr(), wdelch(), winsch(), wprintw(.); 126 | STATUS box(), touchwin(); 127 | STATUS wclear(), clear(); 128 | 129 | STATUS mvprintw(.), mvwprintw(.); 130 | 131 | VOID overwrite(), erase(), clrtobot(), 132 | clrtoeol(); 133 | 134 | VOID werase(), wclrtobot(), 135 | wclrtoeol(); 136 | 137 | VOID delwin(); 138 | 139 | VOID insertln(), deleteln(); 140 | VOID winsertln(), wdeleteln(); 141 | 142 | STATUS scroll(); 143 | 144 | char inch(), winch(); 145 | 146 | /* 147 | * Internal functions 148 | */ 149 | VOID _rotate(); /* insertln, deleteln */ 150 | VOID _move(); 151 | 152 | /* 153 | * "mv" functions 154 | */ 155 | #define mvwgetch mvwgtch 156 | #define mvwgetstr mvwgtstr 157 | #define mvwaddch mvwadch 158 | #define mvwaddstr mvwadstr 159 | #define getch cgetch 160 | 161 | #define mvwadd mvwad 162 | 163 | STATUS mvwadch(), mvwadstr(), mvwgtstr(), 164 | mvwdelch(), mvwinsch(), mvaddch(), 165 | mvaddstr(), mvgetstr(), mvdelch(), 166 | mvinsch(); 167 | 168 | STATUS mvwin(); 169 | 170 | char mvwinch(), mvwgtch(), mvinch(), mvgetch(); 171 | 172 | /* 173 | * pseudo functions for console I/O 174 | */ 175 | #define TURBO ON /* TURBO ON !!! gain speed */ 176 | /* of console output routine. */ 177 | #ifdef TURBO /* if TURBO ON ... */ 178 | VOID chput(); 179 | #define putch chput /* then call BIOS directly */ 180 | #else /* else ... */ 181 | #define BIOS_CONOUT '\003' 182 | char bios(); 183 | #define putch(ch) bios(BIOS_CONOUT, ch) /* use library function */ 184 | #endif 185 | 186 | /* 187 | * console input functions 188 | */ 189 | char cgetch(); 190 | char wgetch(); 191 | STATUS getstr(); 192 | STATUS wgetstr(); 193 | 194 | /* 195 | * others 196 | */ 197 | VOID endwin(); 198 | VOID _rollup(); /* == scroll() */ 199 | 200 | /* 201 | * other utility function 202 | */ 203 | VOID memmove(); 204 | 205 | #endif 206 |  -------------------------------------------------------------------------------- /bootdisk/bin/lib.tco: -------------------------------------------------------------------------------- 1 | Xexit C F 2 | P48 I 3 | { 4 | } 5 | X_skipsp R F 6 | P53 R 7 | { 8 | } 9 | X_setarg C F 10 | P57 R 11 | { 12 | } 13 | X_setprog C F 14 | P62 R 15 | P63 R 16 | P64 C 17 | { 18 | } 19 | X_deffcb R F 20 | P81 R 21 | P82 R 22 | { 23 | } 24 | X_execgo C F 25 | P84 R 26 | P85 C 27 | { 28 | } 29 | X_exec C F 30 | P92 R 31 | P91 I 32 | P93 R 33 | P94 C 34 | { 35 | } 36 | Xexecl C U 37 | P103 I 38 | P104 R 39 | P105 R 40 | { 41 | } 42 | Xexeclp C U 43 | P107 I 44 | P108 R 45 | P109 R 46 | { 47 | } 48 | Xexecv C F 49 | P111 R 50 | P112 R 51 | { 52 | } 53 | Xexecvp C F 54 | P117 R 55 | P118 R 56 | { 57 | } 58 | X_unquote C F 59 | P123 R 60 | { 61 | } 62 | X_stdenv C F 63 | P143 R 64 | { 65 | } 66 | X_main C F 67 | { 68 | } 69 | X_whlpath C F 70 | P48 R 71 | P49 R 72 | { 73 | } 74 | X_cmp I F 75 | P52 R 76 | P53 R 77 | { 78 | } 79 | Xexpargs I F 80 | P54 I 81 | P56 R 82 | P55 I 83 | P57 R 84 | { 85 | } 86 | Xchdir C F 87 | P88 R 88 | { 89 | } 90 | Xmkdir C F 91 | P91 R 92 | { 93 | } 94 | X_attr C F 95 | P94 R 96 | { 97 | } 98 | Xrmdir C F 99 | P98 R 100 | { 101 | } 102 | Xgetcwd R F 103 | P103 R 104 | P104 I 105 | { 106 | } 107 | Xabs I F 108 | P48 I 109 | { 110 | } 111 | Xmin I F 112 | P49 I 113 | P50 I 114 | { 115 | } 116 | Xmax I F 117 | P51 I 118 | P52 I 119 | { 120 | } 121 | Xatoi I F 122 | P53 R 123 | { 124 | } 125 | X_swp C F 126 | P64 N 127 | P65 R 128 | P66 R 129 | { 130 | } 131 | Xqsort C F 132 | P70 R 133 | P71 N 134 | P72 N 135 | P73 R 136 | { 137 | } 138 | Xgetenv R F 139 | P95 R 140 | { 141 | } 142 | Xputenv C F 143 | P101 R 144 | { 145 | } 146 | X_cutpath R F 147 | P107 C 148 | P108 R 149 | { 150 | } 151 | Xperror C F 152 | P121 R 153 | { 154 | } 155 | Xfflush C F 156 | P14 R 157 | { 158 | } 159 | Xflushall C F 160 | { 161 | } 162 | X_flshserial C F 163 | { 164 | } 165 | Xsetvbuf C F 166 | P31 R 167 | P32 R 168 | P33 I 169 | P34 I 170 | { 171 | } 172 | Xsetbuf C F 173 | P43 R 174 | P44 R 175 | { 176 | } 177 | X_putc C F 178 | P45 C 179 | P46 R 180 | { 181 | } 182 | Xputc C F 183 | P51 C 184 | P52 R 185 | { 186 | } 187 | X_fillbuf C F 188 | P58 R 189 | { 190 | } 191 | X_getc I F 192 | P64 R 193 | { 194 | } 195 | Xungetc C F 196 | P67 C 197 | P68 R 198 | { 199 | } 200 | Xgetc I F 201 | P70 R 202 | { 203 | } 204 | Xputchar C F 205 | P81 C 206 | { 207 | } 208 | Xugetch C F 209 | P82 C 210 | { 211 | } 212 | Xgetchar I F 213 | { 214 | } 215 | Xfclose C F 216 | P83 R 217 | { 218 | } 219 | Xfclosall C F 220 | { 221 | } 222 | Xfsettext C F 223 | P99 R 224 | { 225 | } 226 | Xfsetbin C F 227 | P100 R 228 | { 229 | } 230 | Xfopen R U 231 | P101 N 232 | P102 R 233 | P103 R 234 | P104 N 235 | { 236 | } 237 | Xfputs C F 238 | P129 R 239 | P130 R 240 | { 241 | } 242 | Xfgets R F 243 | P135 R 244 | P136 I 245 | P137 R 246 | { 247 | } 248 | Xputs C F 249 | P143 R 250 | { 251 | } 252 | Xgets R F 253 | P144 R 254 | P145 I 255 | { 256 | } 257 | Xfread I F 258 | P146 R 259 | P147 I 260 | P148 I 261 | P149 R 262 | { 263 | } 264 | Xfwrite I F 265 | P158 R 266 | P159 I 267 | P160 I 268 | P161 R 269 | { 270 | } 271 | Xclearerr C F 272 | P169 R 273 | { 274 | } 275 | X_gv2 N F 276 | P170 R 277 | { 278 | } 279 | X_uspr C F E 280 | P175 R 281 | P176 N 282 | P177 C 283 | { 284 | } 285 | X_spr C F 286 | P180 R 287 | P181 R 288 | P182 R 289 | { 290 | } 291 | Xprintf C U 292 | P231 I 293 | P232 R 294 | { 295 | } 296 | Xfprintf C U 297 | P233 I 298 | P234 R 299 | P235 R 300 | { 301 | } 302 | X_sspr C F 303 | P236 C 304 | P237 R 305 | { 306 | } 307 | Xsprintf C U 308 | P238 I 309 | P239 R 310 | P240 R 311 | { 312 | } 313 | X_igs I F 314 | P241 R 315 | P242 R 316 | { 317 | } 318 | X_bc C F 319 | P246 C 320 | P247 C 321 | { 322 | } 323 | X_scn I F 324 | P252 R 325 | P253 R 326 | P254 R 327 | P255 R 328 | { 329 | } 330 | Xscanf I U 331 | P298 I 332 | P299 R 333 | { 334 | } 335 | Xfscanf I U 336 | P300 I 337 | P301 R 338 | P302 R 339 | { 340 | } 341 | X_sscn I F 342 | P303 R 343 | { 344 | } 345 | X_suget C F 346 | P306 C 347 | P307 R 348 | { 349 | } 350 | Xsscanf I U 351 | P308 I 352 | P309 R 353 | P310 R 354 | { 355 | } 356 | Xtoupper C F 357 | P1 C 358 | { 359 | } 360 | Xtolower C F 361 | P2 C 362 | { 363 | } 364 | Xstrcat R F 365 | P3 R 366 | P4 R 367 | { 368 | } 369 | Xstrcmp I F 370 | P10 R 371 | P11 R 372 | { 373 | } 374 | Xstrcpy R F 375 | P15 R 376 | P16 R 377 | { 378 | } 379 | Xstrlen N F 380 | P20 R 381 | { 382 | } 383 | Xstrchr R F 384 | P24 R 385 | P25 C 386 | { 387 | } 388 | Xstrlwr R F 389 | P31 R 390 | { 391 | } 392 | Xstrupr R F 393 | P35 R 394 | { 395 | } 396 | Xstrncat R F 397 | P39 R 398 | P40 R 399 | P41 N 400 | { 401 | } 402 | Xstrncmp I F 403 | P47 R 404 | P48 R 405 | P49 N 406 | { 407 | } 408 | Xstrncpy R F 409 | P54 R 410 | P55 R 411 | P56 N 412 | { 413 | } 414 | X_ioctl N F 415 | P37 I 416 | P38 C 417 | P39 N 418 | { 419 | } 420 | Xeof C F 421 | P42 I 422 | { 423 | } 424 | Xisatty C F 425 | P45 I 426 | { 427 | } 428 | X_rawmode C F 429 | P48 I 430 | P49 C 431 | { 432 | } 433 | X_raw C F 434 | P53 I 435 | { 436 | } 437 | X_noraw C F 438 | P54 I 439 | { 440 | } 441 | Xgetch C F 442 | { 443 | } 444 | Xgetche C F 445 | { 446 | } 447 | Xkbhit C F 448 | { 449 | } 450 | Xsensebrk C F 451 | { 452 | } 453 | Xsbrk R F 454 | P1 N 455 | { 456 | } 457 | Xrsvstk C F 458 | P8 N 459 | { 460 | } 461 | Xfree C F 462 | P15 R 463 | { 464 | } 465 | Xalloc R F 466 | P25 N 467 | { 468 | } 469 | Xbdos C D E 470 | P48 C 471 | { 472 | } 473 | Xbdosh I D E 474 | P49 C 475 | { 476 | } 477 | Xbios C D E 478 | P50 C 479 | { 480 | } 481 | Xcalla C F E 482 | P51 R 483 | P52 I 484 | P53 I 485 | P54 I 486 | P55 I 487 | { 488 | } 489 | Xcall I F E 490 | P56 R 491 | P57 I 492 | P58 I 493 | P59 I 494 | P60 I 495 | { 496 | } 497 | Xinp C F E 498 | P61 N 499 | { 500 | } 501 | Xoutp C F E 502 | P62 N 503 | P63 C 504 | { 505 | } 506 | Xmemcpy C F E 507 | P64 R 508 | P65 R 509 | P66 N 510 | { 511 | } 512 | Xmovmem C F E 513 | P68 R 514 | P67 R 515 | P69 N 516 | { 517 | } 518 | Xmemset C F E 519 | P70 R 520 | P71 C 521 | P72 N 522 | { 523 | } 524 | Xsetmem C F E 525 | P73 R 526 | P75 N 527 | P74 C 528 | { 529 | } 530 | X_chai C F E 531 | P76 R 532 | P77 I 533 | { 534 | } 535 | Xsetjmp I F E 536 | P78 R 537 | { 538 | } 539 | Xlongjmp C F E 540 | P79 R 541 | P80 I 542 | { 543 | } 544 | X_p_path R F E 545 | P81 R 546 | P82 R 547 | P83 R 548 | { 549 | } 550 | X_parsefn R F E 551 | P84 R 552 | P85 R 553 | P86 R 554 | { 555 | } 556 | X_ffirst C F E 557 | P87 R 558 | P88 R 559 | P89 C 560 | { 561 | } 562 | X_fnext C F E 563 | P90 R 564 | { 565 | } 566 | Xunlink C F E 567 | P91 R 568 | { 569 | } 570 | Xrename C F E 571 | P92 R 572 | P93 R 573 | { 574 | } 575 | Xwrite I F E 576 | P94 I 577 | P95 R 578 | P96 N 579 | { 580 | } 581 | Xread I F E 582 | P97 I 583 | P98 R 584 | P99 N 585 | { 586 | } 587 | X_seek C F E 588 | P100 I 589 | P101 I 590 | P102 C 591 | { 592 | } 593 | Xclose C F E 594 | P103 I 595 | { 596 | } 597 | Xopen I F E 598 | P104 R 599 | P105 I 600 | { 601 | } 602 | Xcreat I F E 603 | P106 R 604 | { 605 | } 606 | X_chkversion C F E 607 | { 608 | } 609 | X_exit C F E 610 | P107 I 611 | { 612 | } 613 | Xcallxx C F E 614 | P108 N 615 | P109 R 616 | { 617 | } 618 |  -------------------------------------------------------------------------------- /bootdisk/include/bdosfunc.h: -------------------------------------------------------------------------------- 1 | /* 2 | (C) Copyright by ASCII Corporation, 1989 3 | All rights Reserved. 4 | 5 | File: bdosfunc.h MSX-DOS Function Call Support 6 | */ 7 | #ifndef HEADERbdosfunc 8 | #define HEADERbdosfunc 9 | 10 | #ifndef HEADERtype 11 | #include 12 | #endif 13 | 14 | #define _TERM0 (TINY)0x00 /* Program terminate */ 15 | #define _CONIN (TINY)0x01 /* Console input */ 16 | #define _CONOUT (TINY)0x02 /* Console output */ 17 | #define _AUXIN (TINY)0x03 /* Auxiliary input */ 18 | #define _AUXOUT (TINY)0x04 /* Auxiliary output */ 19 | #define _LSTOUT (TINY)0x05 /* Printer output */ 20 | #define _DIRIO (TINY)0x06 /* Direct console I/O */ 21 | #define _DIRIN (TINY)0x07 /* Direct console input */ 22 | #define _INNOE (TINY)0x08 /* Console input without echo */ 23 | #define _STROUT (TINY)0x09 /* String output */ 24 | #define _BUFIN (TINY)0x0a /* Buffered line input */ 25 | #define _CONST (TINY)0x0b /* Console status */ 26 | #define _CPMVER (TINY)0x0c /* Return CP/M version number */ 27 | #define _DSKRST (TINY)0x0d /* Disk reset */ 28 | #define _SELDSK (TINY)0x0e /* Select disk */ 29 | #define _FOPEN (TINY)0x0f /* Open file (FCB) */ 30 | #define _FCLOSE (TINY)0x10 /* Close file (FCB) */ 31 | #define _SFIRST (TINY)0x11 /* Search for first (FCB) */ 32 | #define _SNEXT (TINY)0x12 /* Search for next (FCB) */ 33 | #define _FDEL (TINY)0x13 /* Delete file (FCB) */ 34 | #define _RDSEQ (TINY)0x14 /* Read sequential (FCB) */ 35 | #define _WRSEQ (TINY)0x15 /* Write sequential (FCB) */ 36 | #define _FMAKE (TINY)0x16 /* Create file (FCB) */ 37 | #define _FREN (TINY)0x17 /* Rename file (FCB) */ 38 | #define _LOGIN (TINY)0x18 /* Get login vector */ 39 | #define _CURDRV (TINY)0x19 /* Get current drive */ 40 | #define _SETDTA (TINY)0x1a /* Set disk transfer address */ 41 | #define _ALLOC (TINY)0x1b /* Get allocation information */ 42 | /* < no function > (TINY)0x1c */ 43 | /* < no function > (TINY)0x1d */ 44 | /* < no function > (TINY)0x1e */ 45 | /* < no function > (TINY)0x1f */ 46 | /* < no function > (TINY)0x20 */ 47 | #define _RDRND (TINY)0x21 /* Read random (FCB) */ 48 | #define _WRRND (TINY)0x22 /* Write random (FCB) */ 49 | #define _FSIZE (TINY)0x23 /* Get file size (FCB) */ 50 | #define _SETRND (TINY)0x24 /* Set random record (FCB) */ 51 | /* < no function > (TINY)0x25 */ 52 | #define _WRBLK (TINY)0x26 /* Write random block (FCB) */ 53 | #define _RDBLK (TINY)0x27 /* Read random block (FCB) */ 54 | #define _WRZER (TINY)0x28 /* Write random with zero fill (FCB)*/ 55 | /* < no function > (TINY)0x29 */ 56 | #define _GDATE (TINY)0x2a /* Get date */ 57 | #define _SDATE (TINY)0x2b /* Set date */ 58 | #define _GTIME (TINY)0x2c /* Get time */ 59 | #define _STIME (TINY)0x2d /* Set time */ 60 | #define _VERIFY (TINY)0x2e /* Set/reset verify flag */ 61 | #define _RDABS (TINY)0x2f /* Absolute sector read */ 62 | #define _WRABS (TINY)0x30 /* Absolute sector write */ 63 | #define _DPARM (TINY)0x31 /* Get disk parameters */ 64 | #define _FFIRST (TINY)0x40 /* Find first entry */ 65 | #define _FNEXT (TINY)0x41 /* Find next entry */ 66 | #define _FNEW (TINY)0x42 /* Find new entry */ 67 | #define _OPEN (TINY)0x43 /* Open file handle */ 68 | #define _CREATE (TINY)0x44 /* Create file and open handle */ 69 | #define _CLOSE (TINY)0x45 /* Close file handle */ 70 | #define _ENSURE (TINY)0x46 /* Ensure file handle */ 71 | #define _DUP (TINY)0x47 /* Duplicate file andle */ 72 | #define _READ (TINY)0x48 /* Read from file handle */ 73 | #define _WRITE (TINY)0x49 /* Write to file handle */ 74 | #define _SEEK (TINY)0x4a /* Seek (position file pointer) */ 75 | #define _IOCTL (TINY)0x4b /* I/O control for devices */ 76 | #define _HTEST (TINY)0x4c /* Test file handle */ 77 | #define _DELETE (TINY)0x4d /* Delete file or subdirectory */ 78 | #define _RENAME (TINY)0x4e /* Rename file or subdirectory */ 79 | #define _MOVE (TINY)0x4f /* Move file or subdirectory */ 80 | #define _ATTR (TINY)0x50 /* Change file or subdir attributes*/ 81 | #define _FTIME (TINY)0x51 /* Get/set file date and time */ 82 | #define _HDELET (TINY)0x52 /* Delete file handle */ 83 | #define _HRENAME (TINY)0x53 /* Rename file handle */ 84 | #define _HMOVE (TINY)0x54 /* Move file handle */ 85 | #define _HATTR (TINY)0x55 /* Change file handle attributes*/ 86 | #define _HFTIME (TINY)0x56 /* Get/set file handle date and time*/ 87 | #define _GETDTA (TINY)0x57 /* Get disk transfer address */ 88 | #define _GETVFY (TINY)0x58 /* Get verify flag setting */ 89 | #define _GETCD (TINY)0x59 /* Get current directory */ 90 | #define _CHDIR (TINY)0x5a /* Change directory */ 91 | #define _PARSE (TINY)0x5b /* Parse pathname */ 92 | #define _PFILE (TINY)0x5c /* Parse filename */ 93 | #define _CHKCHR (TINY)0x5d /* Check character */ 94 | #define _WPATH (TINY)0x5e /* Get whole path string */ 95 | #define _FLUSH (TINY)0x5f /* Flush disk buffers */ 96 | #define _FORK (TINY)0x60 /* Fork a child process */ 97 | #define _JOIN (TINY)0x61 /* Return to parent process */ 98 | #define _TERM (TINY)0x62 /* Terminate with error code */ 99 | #define _DEFAB (TINY)0x63 /* Define abort exit routine */ 100 | #define _DEFER (TINY)0x64 /* Def. critical err handle routine*/ 101 | #define _ERROR (TINY)0x65 /* Get previous error code */ 102 | #define _EXPLAIN (TINY)0x66 /* Explain error code */ 103 | #define _FORMAT (TINY)0x67 /* Format disk */ 104 | #define _RAMD (TINY)0x68 /* Create or destroy RAMdisk */ 105 | #define _BUFFER (TINY)0x69 /* Allocate sector buffers */ 106 | #define _ASSIGN (TINY)0x6a /* Logical drive assignment */ 107 | #define _GENV (TINY)0x6b /* Get environment item */ 108 | #define _SENV (TINY)0x6c /* Set environment item */ 109 | #define _FENV (TINY)0x6d /* Find environment item */ 110 | #define _DSKCHK (TINY)0x6e /* Get/set disk check status */ 111 | #define _DOSVER (TINY)0x6f /* Get MSX-DOS version number */ 112 | #define _REDIR (TINY)0x70 /* Get/set redirection flags */ 113 | 114 | #ifdef HEADERbdosfuncver11 115 | #define RESET _TERM0 116 | #define CONIN _CONIN 117 | #define CONOUT _CONOUT 118 | #define AUXIN _AUXIN 119 | #define RDRIN _AUXIN 120 | #define AUXOUT _AUXOUT 121 | #define PUNOUT _AUXOUT 122 | #define LSTOUT _LSTOUT 123 | #define DIRCON _DIRIO 124 | #define RAWIN _DIRIN 125 | #define DIRIN _INNOE 126 | #define STROUT _STROUT 127 | #define GETLIN _BUFIN 128 | #define CONST _CONST 129 | #define VERNO _CPMVER 130 | #define RESDSK _DSKRST 131 | #define SETDRIVE _SELDSK 132 | #define OPEN _FOPEN 133 | #define CLOSE _FCLOSE 134 | #define SEARF _SFIRST 135 | #define SEARN _SNEXT 136 | #define DELETE _FDEL 137 | #define CPMREAD _RDSEQ 138 | #define CPMWRITE _WRSEQ 139 | #define CREATE _FMAKE 140 | #define RENAME _FREN 141 | #define LOGVEC _LOGIN 142 | #define GETDRIVE _CURDRV 143 | #define SETDMA _SETDTA 144 | #define GETALOC _ALLOC 145 | #define READRNDM _RDRND 146 | #define WRTRNDM _WRRND 147 | #define FILESIZE _FSIZE 148 | #define SETREC _SETRND 149 | #define BLKWRITE _WRBLK 150 | #define BLKREAD _RDBLK 151 | #define WRTRNDMZ _WRZER 152 | #define GETDATE _GDATE 153 | #define SETDATE _SDATE 154 | #define GETTIME _GTIME 155 | #define SETTIME _STIME 156 | #define SETVERI _VERIFY 157 | #define ABSREAD _RDABS 158 | #define ABSWRIT _WRABS 159 | 160 | #define INITDMA 0x0080 /* default DMA area */ 161 | #define MAXDRIVE 8 /* maxmum disk drive */ 162 | #define BDOSERR 255 /* BDOS error value */ 163 | 164 | #endif /* HEADERbdosfuncver11 */ 165 | /*---------------------------------------------------------------------------*/ 166 | 167 | #define BIOS_WBOOT '\000' /* WARM START */ 168 | #define BIOS_CONST '\001' /* console status */ 169 | #define BIOS_CONIN '\002' /* console input */ 170 | #define BIOS_CONOUT '\003' /* console output */ 171 | 172 | typedef unsigned LONG[2]; 173 | 174 | typedef struct { 175 | char dc; /* drive code */ 176 | char name[8]; /* file name */ 177 | char type[3]; /* file name extention */ 178 | 179 | char _filler1_[2]; 180 | unsigned recsize; /* record size used by block i/o */ 181 | LONG filesize; /* file size in bytes */ 182 | unsigned fcbdate; 183 | unsigned fcbtime; 184 | char _filler2_[9]; 185 | LONG recpos; /* current record number */ 186 | 187 | char mode; /* file mode R, W, R/W */ 188 | } FCB; 189 | 190 | typedef struct { 191 | TINY fib_id; /* always 0xff (ID for FIB) */ 192 | char name[13]; /* file name as an ASCIZ string */ 193 | TINY attr; /* file attribute */ 194 | unsigned fibtime; /* time of last modification */ 195 | unsigned fibdate; /* date of last modification */ 196 | unsigned firstclu; /* first cluster in chain */ 197 | LONG filesize; /* file size in bytes */ 198 | TINY dc; /* logical drive */ 199 | TINY dummy[38]; /* internal information */ 200 | } FIB; 201 | 202 | typedef struct { 203 | unsigned af; 204 | unsigned ix; 205 | unsigned iy; 206 | unsigned bc; 207 | unsigned de; 208 | unsigned hl; 209 | } XREG; 210 | 211 | #define BDOS 0x0005 /* BDOS call address */ 212 | extern int bdosh(), call(); 213 | extern char bdos(), calla(), bios(); 214 | extern VOID callxx(); 215 | 216 | #endif /* HEADERbdosfunc */ 217 | 218 | -------------------------------------------------------------------------------- /bootdisk/bin/mlib.tco: -------------------------------------------------------------------------------- 1 | X_mknew R F 2 | P28 I 3 | P29 I 4 | P30 I 5 | P31 I 6 | { 7 | } 8 | Xnewwin R F 9 | P42 I 10 | P43 I 11 | P44 I 12 | P45 I 13 | { 14 | } 15 | Xtouchwin C F 16 | P61 R 17 | { 18 | } 19 | Xmvwin C F 20 | P68 R 21 | P69 I 22 | P70 I 23 | { 24 | } 25 | Xdelwin C F 26 | P72 R 27 | { 28 | } 29 | Xendwin C F 30 | { 31 | } 32 | Xinitscr R F 33 | { 34 | } 35 | Xsubwin R F 36 | P75 R 37 | P76 I 38 | P77 I 39 | P78 I 40 | P79 I 41 | { 42 | } 43 | Xwmove C F 44 | P93 R 45 | P94 I 46 | P95 I 47 | { 48 | } 49 | Xmove C F 50 | P97 I 51 | P98 I 52 | { 53 | } 54 | X_clrlin C F 55 | P99 R 56 | P100 C 57 | P101 C 58 | { 59 | } 60 | Xwerase C F 61 | P104 R 62 | { 63 | } 64 | Xerase C F 65 | { 66 | } 67 | Xmemmove C F 68 | P110 R 69 | P111 R 70 | P112 N 71 | { 72 | } 73 | X_rotate C F 74 | P119 R 75 | P120 C 76 | { 77 | } 78 | Xscroll C F 79 | P138 R 80 | { 81 | } 82 | Xwclreol C F 83 | P142 R 84 | { 85 | } 86 | Xclrtoeol C F 87 | { 88 | } 89 | Xwclrbot C F 90 | P148 R 91 | { 92 | } 93 | Xclrtobot C F 94 | { 95 | } 96 | X_waddch C F 97 | P156 R 98 | P157 C 99 | { 100 | } 101 | Xwaddch C F 102 | P182 R 103 | P183 C 104 | { 105 | } 106 | Xaddch C F 107 | P205 C 108 | { 109 | } 110 | Xwaddstr C F 111 | P206 R 112 | P207 R 113 | { 114 | } 115 | Xaddstr C F 116 | P211 R 117 | { 118 | } 119 | Xwdelch C F 120 | P212 R 121 | { 122 | } 123 | Xdelch C F 124 | { 125 | } 126 | Xwinsch C F 127 | P224 R 128 | P225 C 129 | { 130 | } 131 | Xinsch C F 132 | P241 C 133 | { 134 | } 135 | Xbox C F 136 | P242 R 137 | P243 C 138 | P244 C 139 | { 140 | } 141 | Xwdeleteln C F 142 | P258 R 143 | { 144 | } 145 | Xdeleteln C F 146 | { 147 | } 148 | Xwinsertln C F 149 | P259 R 150 | { 151 | } 152 | Xinsertln C F 153 | { 154 | } 155 | Xoverwrite C F 156 | P260 R 157 | P261 R 158 | { 159 | } 160 | X_deleteln C F 161 | P278 I 162 | { 163 | } 164 | X_insertln C F 165 | P281 I 166 | { 167 | } 168 | X_move C F 169 | P284 C 170 | P285 C 171 | { 172 | } 173 | X_clrtobot C F 174 | { 175 | } 176 | X_harddel C F 177 | P286 R 178 | { 179 | } 180 | X_touchl C F 181 | P302 R 182 | P303 C 183 | P304 C 184 | P305 C 185 | { 186 | } 187 | X_hardins C F 188 | P308 R 189 | { 190 | } 191 | X_putcc C F 192 | P328 R 193 | P329 C 194 | P330 C 195 | P331 C 196 | P332 C 197 | P333 R 198 | { 199 | } 200 | X_refine C F 201 | P338 R 202 | P339 R 203 | P340 C 204 | P341 C 205 | P342 C 206 | { 207 | } 208 | X_cputs C F 209 | P354 R 210 | P355 I 211 | { 212 | } 213 | X_wrefresh C F 214 | P366 R 215 | { 216 | } 217 | Xoffcur C F 218 | { 219 | } 220 | Xoncur C F 221 | { 222 | } 223 | X_tclin C F 224 | P379 R 225 | { 226 | } 227 | Xwrefresh C F 228 | P386 R 229 | { 230 | } 231 | Xrefresh C F 232 | { 233 | } 234 | X_addw C F 235 | P45 C 236 | P46 R 237 | { 238 | } 239 | Xwprintw C U 240 | P47 I 241 | P48 R 242 | P49 R 243 | { 244 | } 245 | Xprintw C U 246 | P50 I 247 | P51 R 248 | { 249 | } 250 | Xwinch C F 251 | P52 R 252 | { 253 | } 254 | Xinch C F 255 | { 256 | } 257 | X_cgetchar C F 258 | { 259 | } 260 | Xwgetch C F 261 | P57 R 262 | { 263 | } 264 | Xcgetch C F 265 | { 266 | } 267 | Xwgetstr C F 268 | P63 R 269 | P64 R 270 | { 271 | } 272 | Xgetstr C F 273 | P68 R 274 | { 275 | } 276 | Xmvwadch C F 277 | P69 R 278 | P70 I 279 | P71 I 280 | P72 C 281 | { 282 | } 283 | Xmvwgtch C F 284 | P73 R 285 | P74 I 286 | P75 I 287 | { 288 | } 289 | Xmvwadstr C F 290 | P76 R 291 | P77 I 292 | P78 I 293 | P79 R 294 | { 295 | } 296 | Xmvwgtstr C F 297 | P80 R 298 | P81 I 299 | P82 I 300 | P83 R 301 | { 302 | } 303 | Xmvwinch C F 304 | P84 R 305 | P85 I 306 | P86 I 307 | { 308 | } 309 | Xmvwdelch C F 310 | P87 R 311 | P88 I 312 | P89 I 313 | { 314 | } 315 | Xmvwinsch C F 316 | P90 R 317 | P91 I 318 | P92 I 319 | P93 C 320 | { 321 | } 322 | Xmvaddch C F 323 | P94 I 324 | P95 I 325 | P96 C 326 | { 327 | } 328 | Xmvgetch C F 329 | P97 I 330 | P98 I 331 | { 332 | } 333 | Xmvaddstr C F 334 | P99 I 335 | P100 I 336 | P101 R 337 | { 338 | } 339 | Xmvgetstr C F 340 | P102 I 341 | P103 I 342 | P104 R 343 | { 344 | } 345 | Xmvinch C F 346 | P105 I 347 | P106 I 348 | { 349 | } 350 | Xmvdelch C F 351 | P107 I 352 | P108 I 353 | { 354 | } 355 | Xmvinsch C F 356 | P109 I 357 | P110 I 358 | P111 C 359 | { 360 | } 361 | Xmvwprintw C U 362 | P112 I 363 | P113 R 364 | P114 I 365 | P115 I 366 | P116 R 367 | { 368 | } 369 | Xmvprintw C U 370 | P117 I 371 | P118 I 372 | P119 I 373 | P120 R 374 | { 375 | } 376 | X_wclear C F 377 | P121 R 378 | { 379 | } 380 | Xwclear C F 381 | P122 R 382 | { 383 | } 384 | Xclear C F 385 | { 386 | } 387 | Xginit C F E 388 | { 389 | } 390 | Xinterlace C F E 391 | P17 C 392 | { 393 | } 394 | Xgtxmax N F E 395 | { 396 | } 397 | Xgtymax N F E 398 | { 399 | } 400 | Xsetrd C F E 401 | P18 N 402 | { 403 | } 404 | Xinvdp C F E 405 | { 406 | } 407 | Xsetwrt C F E 408 | P19 N 409 | { 410 | } 411 | Xoutvdp C F E 412 | P20 C 413 | { 414 | } 415 | Xvpeek C F E 416 | P21 N 417 | { 418 | } 419 | Xvpoke C F E 420 | P22 N 421 | P23 C 422 | { 423 | } 424 | Xfilvrm C F E 425 | P24 N 426 | P25 N 427 | P26 C 428 | { 429 | } 430 | Xldirmv C F E 431 | P27 R 432 | P28 N 433 | P29 N 434 | { 435 | } 436 | Xldirvm C F E 437 | P30 N 438 | P31 R 439 | P32 N 440 | { 441 | } 442 | Xwrtvdp C F E 443 | P33 C 444 | P34 C 445 | { 446 | } 447 | Xrdvdp C F E 448 | P35 C 449 | { 450 | } 451 | Xrdvsts C F E 452 | P36 C 453 | { 454 | } 455 | Xcolor C F E 456 | P37 C 457 | P38 C 458 | P39 C 459 | { 460 | } 461 | Xiniplt C F E 462 | { 463 | } 464 | Xrstplt C F E 465 | { 466 | } 467 | Xgetplt N F E 468 | P40 C 469 | { 470 | } 471 | Xsetplt C F E 472 | P41 C 473 | P42 N 474 | { 475 | } 476 | Xpset C F E 477 | P43 N 478 | P44 N 479 | P45 C 480 | P46 C 481 | { 482 | } 483 | Xline C F E 484 | P47 N 485 | P48 N 486 | P49 N 487 | P50 N 488 | P51 C 489 | P52 C 490 | { 491 | } 492 | Xboxline C F E 493 | P53 N 494 | P54 N 495 | P55 N 496 | P56 N 497 | P57 C 498 | P58 C 499 | { 500 | } 501 | Xboxfill C F E 502 | P59 N 503 | P60 N 504 | P61 N 505 | P62 N 506 | P63 C 507 | P64 C 508 | { 509 | } 510 | Xcircle C F E 511 | P65 N 512 | P66 N 513 | P67 N 514 | P68 C 515 | P69 I 516 | P70 I 517 | P71 N 518 | { 519 | } 520 | Xpaint C F E 521 | P72 N 522 | P73 N 523 | P74 C 524 | P75 C 525 | { 526 | } 527 | Xpoint C F E 528 | P76 N 529 | P77 N 530 | { 531 | } 532 | Xinispr C F E 533 | P78 C 534 | { 535 | } 536 | Xcalpat N F E 537 | P79 C 538 | { 539 | } 540 | Xcalatr N F E 541 | P80 C 542 | { 543 | } 544 | Xsprite C F E 545 | P81 C 546 | P82 R 547 | { 548 | } 549 | Xcolspr C F E 550 | P83 C 551 | P84 R 552 | { 553 | } 554 | Xputspr C F E 555 | P85 C 556 | P86 I 557 | P87 I 558 | P88 C 559 | P89 C 560 | { 561 | } 562 | Xcpyv2v C F E 563 | P90 N 564 | P91 N 565 | P92 N 566 | P93 N 567 | P94 C 568 | P95 N 569 | P96 N 570 | P97 C 571 | P98 C 572 | { 573 | } 574 | Xcpyv2m C F E 575 | P99 N 576 | P100 N 577 | P101 N 578 | P102 N 579 | P103 C 580 | P104 R 581 | { 582 | } 583 | Xcpym2v C F E 584 | P105 R 585 | P106 C 586 | P107 N 587 | P108 N 588 | P109 C 589 | P110 C 590 | { 591 | } 592 | Xtotext C F E 593 | { 594 | } 595 | Xgrpprt C F E 596 | P111 C 597 | P112 C 598 | { 599 | } 600 | Xknjprt C F E 601 | P113 N 602 | P114 C 603 | P115 C 604 | { 605 | } 606 | Xglocate C F E 607 | P116 N 608 | P117 N 609 | { 610 | } 611 | Xsetpg C F E 612 | P118 C 613 | P119 C 614 | { 615 | } 616 | Xvramsize N F E 617 | { 618 | } 619 | Xcalbio C F E 620 | P17 N 621 | P18 R 622 | { 623 | } 624 | Xcalbas C F E 625 | P19 N 626 | P20 R 627 | { 628 | } 629 | Xcalsub C F E 630 | P21 N 631 | P22 R 632 | { 633 | } 634 | Xcalslt C F E 635 | P23 C 636 | P24 N 637 | P25 R 638 | { 639 | } 640 | Xrdslt C F E 641 | P26 C 642 | P27 N 643 | { 644 | } 645 | Xwrslt C F E 646 | P28 C 647 | P29 N 648 | P30 C 649 | { 650 | } 651 | Xcallx C F E 652 | P31 N 653 | P32 R 654 | { 655 | } 656 | Xinifnk C F E 657 | { 658 | } 659 | Xdisscr C F E 660 | { 661 | } 662 | Xenascr C F E 663 | { 664 | } 665 | Xscreen C F E 666 | P33 C 667 | { 668 | } 669 | Xgicini C F E 670 | { 671 | } 672 | Xsound C F E 673 | P34 C 674 | P35 C 675 | { 676 | } 677 | Xrdpsg C F E 678 | P36 C 679 | { 680 | } 681 | Xchsns C F E 682 | { 683 | } 684 | Xchget C F E 685 | { 686 | } 687 | Xchput C F E 688 | P37 C 689 | { 690 | } 691 | Xlptout C F E 692 | P38 C 693 | { 694 | } 695 | Xlptstt C F E 696 | { 697 | } 698 | Xpinlin R F E 699 | { 700 | } 701 | Xinlin R F E 702 | { 703 | } 704 | Xbreakx C F E 705 | { 706 | } 707 | Xbeep C F E 708 | { 709 | } 710 | Xcls C F E 711 | { 712 | } 713 | Xlocate C F E 714 | P39 C 715 | P40 C 716 | { 717 | } 718 | Xerafnk C F E 719 | { 720 | } 721 | Xdspfnk C F E 722 | { 723 | } 724 | Xgtstck C F E 725 | P41 C 726 | { 727 | } 728 | Xgttrig C F E 729 | P42 C 730 | { 731 | } 732 | Xgtpad C F E 733 | P43 C 734 | { 735 | } 736 | Xgtpdl C F E 737 | P44 C 738 | { 739 | } 740 | Xchgsnd C F E 741 | P45 C 742 | { 743 | } 744 | Xsnsmat C F E 745 | P46 C 746 | { 747 | } 748 | Xkilbuf C F E 749 | { 750 | } 751 | Xrnd N F E 752 | P47 N 753 | { 754 | } 755 | Xdi C F E 756 | { 757 | } 758 | Xei C F E 759 | { 760 | } 761 | X_mspr C F 762 | P17 R 763 | P18 R 764 | P19 R 765 | { 766 | } 767 | Xmprf C U 768 | P74 I 769 | P75 R 770 | { 771 | } 772 | Xmfprf C U 773 | P76 I 774 | P77 R 775 | P78 R 776 | { 777 | } 778 | Xmsprf C U 779 | P79 I 780 | P80 R 781 | P81 R 782 | { 783 | } 784 | X_msll C F 785 | P82 R 786 | P84 C 787 | P83 C 788 | { 789 | } 790 | Xissp C F 791 | P86 C 792 | { 793 | } 794 | X_msfl I F 795 | P87 R 796 | P88 C 797 | P89 R 798 | P90 R 799 | { 800 | } 801 | X_mscn I F 802 | P97 R 803 | P98 R 804 | P99 R 805 | P100 R 806 | { 807 | } 808 | Xmscf I U 809 | P153 I 810 | P154 R 811 | { 812 | } 813 | Xmfscf I U 814 | P155 I 815 | P156 R 816 | P157 R 817 | { 818 | } 819 | Xmsscf I U 820 | P158 I 821 | P159 R 822 | P160 R 823 | { 824 | } 825 | Xslcpy R F E 826 | P17 R 827 | P18 R 828 | { 829 | } 830 | Xsladd R F E 831 | P19 R 832 | P20 R 833 | P21 R 834 | { 835 | } 836 | Xslsub R F E 837 | P22 R 838 | P23 R 839 | P24 R 840 | { 841 | } 842 | Xslneg R F E 843 | P25 R 844 | P26 R 845 | { 846 | } 847 | Xslabs R F E 848 | P27 R 849 | P28 R 850 | { 851 | } 852 | Xslmul R F E 853 | P29 R 854 | P30 R 855 | P31 R 856 | { 857 | } 858 | Xsldiv R F E 859 | P32 R 860 | P33 R 861 | P34 R 862 | { 863 | } 864 | Xslmod R F E 865 | P35 R 866 | P36 R 867 | P37 R 868 | { 869 | } 870 | Xuldiv R F E 871 | P38 R 872 | P39 R 873 | P40 R 874 | { 875 | } 876 | Xulmod R F E 877 | P41 R 878 | P42 R 879 | P43 R 880 | { 881 | } 882 | Xslsgn I F E 883 | P44 R 884 | { 885 | } 886 | Xslcmp I F E 887 | P45 R 888 | P46 R 889 | { 890 | } 891 | Xslnot R F E 892 | P47 R 893 | P48 R 894 | { 895 | } 896 | Xsland R F E 897 | P49 R 898 | P50 R 899 | P51 R 900 | { 901 | } 902 | Xslor R F E 903 | P52 R 904 | P53 R 905 | P54 R 906 | { 907 | } 908 | Xslxor R F E 909 | P55 R 910 | P56 R 911 | P57 R 912 | { 913 | } 914 | Xslsla R F E 915 | P58 R 916 | P59 R 917 | P60 C 918 | { 919 | } 920 | Xslsll R F E 921 | P61 R 922 | P62 R 923 | P63 C 924 | { 925 | } 926 | Xslsra R F E 927 | P64 R 928 | P65 R 929 | P66 C 930 | { 931 | } 932 | Xslsrl R F E 933 | P67 R 934 | P68 R 935 | P69 C 936 | { 937 | } 938 | Xslrlc R F E 939 | P70 R 940 | P71 R 941 | P72 C 942 | { 943 | } 944 | Xslrl R F E 945 | P73 R 946 | P74 R 947 | P75 C 948 | { 949 | } 950 | Xslrrc R F E 951 | P76 R 952 | P77 R 953 | P78 C 954 | { 955 | } 956 | Xslrr R F E 957 | P79 R 958 | P80 R 959 | P81 C 960 | { 961 | } 962 | Xatosl R F E 963 | P82 R 964 | P83 R 965 | { 966 | } 967 | Xsltoa R F E 968 | P84 R 969 | P85 R 970 | P86 C 971 | { 972 | } 973 | Xitosl R F E 974 | P87 R 975 | P88 I 976 | { 977 | } 978 | Xuitosl R F E 979 | P89 R 980 | P90 N 981 | { 982 | } 983 | Xxdcpy R F E 984 | P91 R 985 | P92 R 986 | { 987 | } 988 | Xmathu C F E 989 | P93 N 990 | P94 N 991 | P95 N 992 | P96 R 993 | { 994 | } 995 | Xxdadd C F E 996 | P97 R 997 | P98 R 998 | P99 R 999 | { 1000 | } 1001 | Xxdsub C F E 1002 | P100 R 1003 | P101 R 1004 | P102 R 1005 | { 1006 | } 1007 | Xxdmul C F E 1008 | P103 R 1009 | P104 R 1010 | P105 R 1011 | { 1012 | } 1013 | Xxddiv C F E 1014 | P106 R 1015 | P107 R 1016 | P108 R 1017 | { 1018 | } 1019 | Xxdpow C F E 1020 | P109 R 1021 | P110 R 1022 | P111 R 1023 | { 1024 | } 1025 | Xxdsqrt C F E 1026 | P112 R 1027 | P113 R 1028 | { 1029 | } 1030 | Xxdneg C F E 1031 | P114 R 1032 | P115 R 1033 | { 1034 | } 1035 | Xxdfabs C F E 1036 | P116 R 1037 | P117 R 1038 | { 1039 | } 1040 | Xxdsgn I F E 1041 | P118 R 1042 | { 1043 | } 1044 | Xxdcmp I F E 1045 | P119 R 1046 | P120 R 1047 | { 1048 | } 1049 | Xxdfix C F E 1050 | P121 R 1051 | P122 R 1052 | { 1053 | } 1054 | Xxdfloor C F E 1055 | P123 R 1056 | P124 R 1057 | { 1058 | } 1059 | Xxdceil C F E 1060 | P125 R 1061 | P126 R 1062 | { 1063 | } 1064 | Xxdsin C F E 1065 | P127 R 1066 | P128 R 1067 | { 1068 | } 1069 | Xxdcos C F E 1070 | P129 R 1071 | P130 R 1072 | { 1073 | } 1074 | Xxdtan C F E 1075 | P131 R 1076 | P132 R 1077 | { 1078 | } 1079 | Xxdatn C F E 1080 | P133 R 1081 | P134 R 1082 | { 1083 | } 1084 | Xxdlog C F E 1085 | P135 R 1086 | P136 R 1087 | { 1088 | } 1089 | Xxdexp C F E 1090 | P137 R 1091 | P138 R 1092 | { 1093 | } 1094 | Xxdrnd C F E 1095 | P139 R 1096 | P140 R 1097 | { 1098 | } 1099 | Xxdnrm C F E 1100 | P141 R 1101 | P142 R 1102 | { 1103 | } 1104 | Xatoxd C F E 1105 | P143 R 1106 | P144 R 1107 | { 1108 | } 1109 | Xxdtoa R F E 1110 | P145 R 1111 | P146 R 1112 | P147 C 1113 | { 1114 | } 1115 | Xitoxd C F E 1116 | P148 R 1117 | P149 I 1118 | { 1119 | } 1120 | Xxdtoi C F E 1121 | P150 R 1122 | P151 R 1123 | { 1124 | } 1125 | Xsltoxd C F E 1126 | P152 R 1127 | P153 R 1128 | { 1129 | } 1130 | Xultoxd C F E 1131 | P154 R 1132 | P155 R 1133 | { 1134 | } 1135 | Xxdtosl C F E 1136 | P156 R 1137 | P157 R 1138 | { 1139 | } 1140 |  --------------------------------------------------------------------------------