http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&feed=atom&action=history
Packages Execution PORT MSX - Revision history
2024-03-29T07:02:05Z
Revision history for this page on the wiki
MediaWiki 1.28.2
http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&diff=390&oldid=prev
Kumokosi at 23:49, 1 November 2017
2017-11-01T23:49:08Z
<p></p>
<a href="http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&diff=390&oldid=389">Show changes</a>
Kumokosi
http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&diff=389&oldid=prev
Kumokosi: /* The READ.ME that was included with the adapted C.COM */
2017-11-01T23:35:06Z
<p><span dir="auto"><span class="autocomment">The READ.ME that was included with the adapted C.COM</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 23:35, 1 November 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l84" >Line 84:</td>
<td colspan="2" class="diff-lineno">Line 84:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>What else do you need:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>What else do you need:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;HITECH-2.PMA  :sources of the standaard and floating point</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;HITECH-2.PMA  :sources of the standaard and floating point libraries</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">                          </del>libraries</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;HITECH-3.PMA  :english documentation</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;HITECH-3.PMA  :english documentation</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>(Note:  HITECH-4.PMA  contains some routines that have been  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>(Note:  HITECH-4.PMA  contains some routines that have been adjusted for MSX in the meantime, and some other useful programmes.)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">                      </del>adjusted for MSX in the meantime, and some  </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">                      </del>other useful programmes.)</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Pierre Gielen, sept. 1993</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Pierre Gielen, sept. 1993</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==C.C==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==C.C==</div></td></tr>
</table>
Kumokosi
http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&diff=388&oldid=prev
Kumokosi: /* The original readme */
2017-11-01T23:34:13Z
<p><span dir="auto"><span class="autocomment">The original readme</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 23:34, 1 November 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l49" >Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   use, private or commercial, strictly as-is. No warranty or product</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   use, private or commercial, strictly as-is. No warranty or product</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   support is offered or implied.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   support is offered or implied.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   You may use this software for whatever you like, providing you acknowledge</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   You may use this software for whatever you like, providing you acknowledge</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   that the copyright to this software remains with HI-TECH Software.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   that the copyright to this software remains with HI-TECH Software.</div></td></tr>
</table>
Kumokosi
http://hi-tech.msx.click/en/index.php?title=Packages_Execution_PORT_MSX&diff=387&oldid=prev
Kumokosi: Created page with "HITECH-1.PMA Hitech-C for MSX ==Comments from Wiki editor== This document is a overview of difference between original HI-TECH C for CP/M and "HI-TECH C for MSX" ported by..."
2017-11-01T23:33:42Z
<p>Created page with "HITECH-1.PMA Hitech-C for MSX ==Comments from Wiki editor== This document is a overview of difference between original HI-TECH C for CP/M and "HI-TECH C for MSX" ported by..."</p>
<p><b>New page</b></p><div>HITECH-1.PMA<br />
<br />
Hitech-C for MSX<br />
<br />
==Comments from Wiki editor==<br />
<br />
This document is a overview of difference between original HI-TECH C for CP/M and "HI-TECH C for MSX" ported by Pierre Gielen.<br />
<br />
MSX adjusted files are located in HITECH-1.PMA and HITECH-4.PMA.<br />
<br />
HITECH-1.PMA Basic files which are adjusted for MSX<br />
HITECH-4.PMA Routines which are adjusted for MSX in the meantime, and some other useful programmes.<br />
<br />
This document descrives about HITECH-1.PMA.<br />
<br />
*READ.ME<br />
*C.C<br />
*EXEC.H<br />
*STDIO.H.<br />
<br />
Comments, explanation of these files below are contained and edited in this document adding chapter names.<br />
<br />
Refer Manual of HI-TECH C for CP/M about details as well.<br />
<br />
<br />
==READ.ME==<br />
<br />
===About===<br />
<br />
This HITECH-1.PMA contains:<br />
<br />
The HITECH-C compiler for CP/M.<br />
<br />
Programmes adapted to MSX by Pierre Gielen:<br />
<br />
*C.COM<br />
*C.C<br />
*EXEC.H<br />
*STDIO.H.<br />
<br />
(So all the other files are just the same as in the CP/M version, as far as I <br />
know. I'm not 100% sure, though.)<br />
<br />
RMt.<br />
<br />
===The original readme===<br />
<br />
The HI-TECH Z80 CP/M C compiler V3.09 is provided free of charge for any<br />
use, private or commercial, strictly as-is. No warranty or product<br />
support is offered or implied.<br />
<br />
You may use this software for whatever you like, providing you acknowledge<br />
that the copyright to this software remains with HI-TECH Software.<br />
<br />
===The READ.ME that was included with the adapted C.COM===<br />
<br />
Hitech-C for MSX<br />
<br />
This archive contains the C-command for Hitech-C, an almost fully <br />
ANSI-compatible C for CP/M and MSX-DOS. Because the routines <br />
EXECUTE and GETENV in the standard (CP/M) library don't work on an <br />
MSX, the original C.COM crashed. I have adjusted the programme so <br />
that it makes a batchfile that is started via the commandline <br />
(thus: the batchprocessor of MSX-DOS). The effect of this is that <br />
cammandlines cannot be longer than 128 bytes. That is why the <br />
filenames are shortened: The object files now end with .O instead <br />
of .OBJ. The object headerfile that has to be in every programme <br />
was named CRTCPM.OBJ and has now been renamed to CRT.O. These <br />
things can be found in the source of C.COM.<br />
<br />
Also, EXEC.H has been adjusted already. It now contains some <br />
variables for starting via the commandline. To STDIO.H, the <br />
variable DOSVER has been added. This gives 0 running with <br />
MSX-DOS 1 and the DOS version in BCD code running under MSX-DOS 2 <br />
(for example: DOS 2.2 gives 0x22 in DOSVER.)<br />
<br />
With this, Hitech-C isn't finished yet. The standard library <br />
contains more routines that can be adjusted for MSX. But before <br />
we get that far, Hitech-C is , at any rate, a good and not to <br />
mention free (!) alternative for ASCII-C. Hitech-C can handle <br />
LONGs without any problem and is ahead of ASCII in compatibility <br />
with the 'bigger' professional C compilers!<br />
<br />
What else do you need:<br />
<br />
;HITECH-2.PMA :sources of the standaard and floating point<br />
libraries<br />
;HITECH-3.PMA :english documentation<br />
<br />
(Note: HITECH-4.PMA contains some routines that have been <br />
adjusted for MSX in the meantime, and some <br />
other useful programmes.)<br />
<br />
Pierre Gielen, sept. 1993<br />
<br />
<br />
==C.C==<br />
<br />
===About===<br />
<br />
Copyright (C) 1984-1987 HI-TECH SOFTWARE<br />
<br />
MSXDOS modifications by Pierre Gielen 1993:<br />
<br />
*Replaced EXECL routines (C produces a batch file now)<br />
*Added -Q switch to write batch file without executing<br />
*Changed object file types to .O and temporary file<br />
types to .T to allow more commands per line (note:<br />
crt.o = crtcpm.obj). Changed library types back to .LIB.<br />
*Commented out calls to GETENV (for now) because it locks up<br />
the computer (still to be changed in the standard library)<br />
<br />
HITECH C is almost ANSI C compatible, but it does not recognize<br />
the '#pragma nonrec' directive.<br />
<br />
<br />
HITECH SOFTWARE has given kind permission to copy this<br />
software for personal use.<br />
<br />
===C command===<br />
<br />
C command MSXDOS version<br />
<br />
C [-C] [-O] [-I] [-F] [-U] [-D] [-S] [-X] [-P] [-Q] [-W] [-M] files {-Llib}<br />
<br />
<br />
[Comment from WIKI editor]<br />
Refer manual of HI-TECH C for CP/M as well<br />
<br />
<br />
==EXEC.H==<br />
<br />
Definitions of the EXEC format<br />
<br />
#define EXITIT 0x80<br />
#define EXEC 0x81<br />
#define IGN_ERR 0x82<br />
#define DEF_ERR 0x83<br />
#define SKP_ERR 0x84<br />
#define TRAP 0x85<br />
#define IF_ERR 0x86<br />
#define IF_NERR 0x87<br />
#define ECHO 0x88<br />
#define PRINT 0x89<br />
#define RM_FILE 0x8A<br />
#define RM_EXIT 0x8B<br />
#define keybuf 0xfbf0 /* MSX */<br />
#define putpnt (*(unsigned int *)0xf3f8) /* MSX */<br />
#define getpnt (*(unsigned int *)0xf3fa) /* MSX */<br />
<br />
==STDIO.H==<br />
<br />
#define DOSVER (*(char *)0xf313) /* MSX: 0=DOS1 */<br />
<br />
#if z80<br />
#define BUFSIZ 512<br />
#define _NFILE 8<br />
#else z80<br />
#define BUFSIZ 1024<br />
#define _NFILE 20<br />
#endif z80<br />
<br />
#ifndef FILE<br />
#define uchar unsigned char<br />
<br />
extern struct _iobuf {<br />
char * _ptr;<br />
int _cnt;<br />
char * _base;<br />
uchar _flag;<br />
char _file;<br />
} _iob[_NFILE];<br />
<br />
#endif FILE<br />
<br />
#define _IOREAD 01<br />
#define _IOWRT 02<br />
#define _IORW 03<br />
#define _IONBF 04<br />
#define _IOMYBUF 010<br />
#define _IOEOF 020<br />
#define _IOERR 040<br />
#define _IOSTRG 0100<br />
#define _IOBINARY 0200<br />
<br />
#ifndef NULL<br />
#define NULL ((void *)0)<br />
#endif NULL<br />
<br />
#define FILE struct _iobuf<br />
#define EOF (-1)<br />
<br />
#define stdin (&_iob[0])<br />
#define stdout (&_iob[1])<br />
#define stderr (&_iob[2])<br />
#define getchar() getc(stdin)<br />
#define putchar(x) putc(x,stdout)<br />
<br />
/* getc() and putc() must be functions for CP/M to allow the special<br />
* handling of '\r', '\n' and '\032'. The same for MSDOS except that<br />
* it at least knows the length of a file.<br />
*/ <br />
<br />
#if UNIX<br />
#define getc(p) (--(p)->_cnt>=0?(unsigned)*(p)->_ptr++:_filbuf(p))<br />
#define putc(x,p) (--(p)->_cnt>=0?((unsigned)(*(p)->_ptr++=x)):_flsbuf((unsigned)(x),p))<br />
#else UNIX<br />
#define getc(p) fgetc(p)<br />
#define putc(x,p) fputc(x,p)<br />
#endif UNIX<br />
<br />
#define feof(p) (((p)->_flag&_IOEOF)!=0)<br />
#define ferror(p) (((p)->_flag&_IOERR)!=0)<br />
#define fileno(p) ((uchar)p->_file)<br />
#define clrerr(p) p->_flag &= ~_IOERR<br />
#define clreof(p) p->_flag &= ~_IOEOF<br />
<br />
#define L_tmpnam 34 /* max length of temporary names */<br />
<br />
extern int fclose(FILE *);<br />
extern int fflush(FILE *);<br />
extern int fgetc(FILE *);<br />
extern int ungetc(int, FILE *);<br />
extern int fputc(int, FILE *);<br />
extern int getw(FILE *);<br />
extern int putw(int, FILE *);<br />
extern char * gets(char *);<br />
extern int puts(char *);<br />
extern int fputs(char *, FILE *);<br />
extern int fread(void *, unsigned, unsigned, FILE *);<br />
extern int fwrite(void *, unsigned, unsigned, FILE *);<br />
extern int fseek(FILE *, long, int);<br />
extern int rewind(FILE *);<br />
extern int setbuf(FILE *, char *);<br />
extern int printf(char *, ...);<br />
extern int fprintf(FILE *, char *, ...);<br />
extern int sprintf(char *, char *, ...);<br />
extern int scanf(char *, ...);<br />
extern int fscanf(FILE *, char *, ...);<br />
extern int sscanf(char *, char *, ...);<br />
extern int remove(char *);<br />
extern FILE * fopen(char *, char *);<br />
extern FILE * freopen(char *, char *, FILE *);<br />
extern FILE * fdopen(int, char *);<br />
extern long ftell(FILE *);<br />
extern char * fgets(char *, int, FILE *);<br />
extern char * _bufallo(void);</div>
Kumokosi