-

Difference between revisions of "Main Page"

From HI-TECH C for CP/M Fan WIKI(EN)
Jump to: navigation, search
(PC-6001)
(Public Patches)
 
(12 intermediate revisions by the same user not shown)
Line 57: Line 57:
  
 
-->
 
-->
 +
<br clear=all>
 +
 +
 
[[FILE:HITECH_TITLE.PNG|100%|frameless|HI-TECH C for CP/M fan Wiki]]
 
[[FILE:HITECH_TITLE.PNG|100%|frameless|HI-TECH C for CP/M fan Wiki]]
 +
 +
<br clear=all>
 +
 +
*** Now reconstructing layouts! Thx! ***
  
  
Line 69: Line 76:
 
This WIKI deals only "HI-TECH C for CP/M 3.09", which is not supported by developer but not limited usage and freely distributed.
 
This WIKI deals only "HI-TECH C for CP/M 3.09", which is not supported by developer but not limited usage and freely distributed.
 
"HI-TECH C compiler for PIC10/12/16 MCUs" from MICROCHIP Technology Inc. is not covered here.
 
"HI-TECH C compiler for PIC10/12/16 MCUs" from MICROCHIP Technology Inc. is not covered here.
 +
 +
==Abstracts==
 +
 +
=== About this WIKI ===
 +
 +
[[ABOUT_HITECH-C_FAN_WIKI|About this WIKI ]]
 +
 +
=== About HI-TECH C ===
 +
[[ABOUT_HITECH-C|About HI-TECH C]]
 +
 +
=== About CP/M ===
 +
[[ABOUT_CPM|About CP/M]]
 +
 +
=== Q&A ===
 +
 +
[[Q and A | Q and A]]
 +
[[Category:Q and A | Q & A]]
 +
 +
 +
 +
== How to setup Development environment ==
 +
 +
===HI-TECH C for CP/M on CP/M Emulator(cross development)===
 +
 +
[[File:CPMLOGOx2.png|200px|thumb|left|CP/M LOGO]]
 +
 +
[[DEV_CPM_ON_EMU|Setup of HI-TECH C for CP/M on CP/M emulators(preparing now)]]
 +
 +
 +
<br clear=all>
 +
 +
===HI-TECH C for MSX(native/self development)===
 +
 +
[[File:MSXLOGO.PNG|200px|thumb|left|MSX LOGO]]
 +
 +
[[DEV_MSX_ON_MSX|Setup of HI-TECH C for MSX(preparing now)]]
 +
 +
<br clear=all>
  
 
== [[Packages | Official Packages]] ==
 
== [[Packages | Official Packages]] ==
Line 77: Line 122:
 
These are packages released by HI-TECH Software.
 
These are packages released by HI-TECH Software.
  
 +
<br clear=all>
  
 
=== [[Packages#Execution | Execution Package]]===
 
=== [[Packages#Execution | Execution Package]]===
  
 
This package contains execution files, libraries and header files.
 
This package contains execution files, libraries and header files.
 +
 +
{| class="wikitable"
 +
|-
 +
|C.COM||Compiler driver||Refer to [[Operating_Details| Manual:Operation Details]]
 +
|-
 +
|CPP.COM||Pre-processor||
 +
|-
 +
|P1.COM||Parser||
 +
|-
 +
|CGEN.COM||Code Generator||
 +
|-
 +
|OPTIM.COM||Optimizer||
 +
|-
 +
|ZAS.COM||Z80 assembler||Refer to [[Z80_Assembler_Reference_Manual|Manual:ZAS.COM]]
 +
|-
 +
|LINK.COM||Linker||Refer to [[Linker_Reference_Manual|Manual:LINK.COM]]
 +
|-
 +
|OBJTOHEX.COM||IntelHex converter||Refer to [[Objtohex|Manual:OBJTOHEX.COM]]
 +
|-
 +
|LIBR.COM||Librarian||Refer to [[Librarian|Manual:LIBR.COM]]
 +
|-
 +
|CREF.COM||Cross reference tool||Refer to [[Cref|Manual:CREF.COM]]
 +
|-
 +
|DEHUFF.COM||Archiver||
 +
|-
 +
|DEBUG.COM||Debugger||Refer to [[Manual_Debugger | Debugger Manual]]
 +
|-
 +
|}
 +
 +
 +
<br clear=all>
  
 
=== [[Packages#Source| Source Package]]===
 
=== [[Packages#Source| Source Package]]===
  
 
This package contains source of C.COM execution file and libraries.
 
This package contains source of C.COM execution file and libraries.
 +
 +
{| class="wikitable"
 +
|-
 +
|CPM||CP/M Library
 +
|-
 +
|FLOAT||Floating point library
 +
|-
 +
|GEN||General library
 +
|-
 +
|STDIO||STDIO library
 +
|}
 +
 +
:Refer to each explanation for details.
 +
:[[Standard_Library_Files|File list of General library]]
 +
 +
:Refer to each explanation for details of standard library(LIBC) and foating point library(LIBF).
 +
:[[Standard_Library_Functions|Manual:Standard library]]
 +
 +
 +
 +
<br clear=all>
  
 
=== [[Packages#Manual | Manual Package]]===
 
=== [[Packages#Manual | Manual Package]]===
Line 90: Line 188:
 
This package contains HI-TECH C manual. Many of explanations on this WIKI is cited, translated and edited sentences from this manual.
 
This package contains HI-TECH C manual. Many of explanations on this WIKI is cited, translated and edited sentences from this manual.
  
::[[Manual|Index of the Manual]]
+
# [[Introduction]]
 +
# [[Getting Started]]
 +
# [[Compiler Structure]]
 +
# [[Operating Details]]
 +
# [[Specific Features]]
 +
# [[Machine Dependencies]]
 +
# [[Error Checking and Reporting]]
 +
# [[Standard Libraries]]
 +
# [[Stylistic Considerations]]
 +
# [[Memory Models]]
 +
# [[What Went Wrong]]
 +
# [[Z80 Assembler Reference Manual]]
 +
# [[Linker Reference Manual]]
 +
# [[Librarian]]
 +
# [[Objtohex]]
 +
# [[Cref]]
 +
* [[Error Messages]]
 +
*[[Standard Library Functions]]
 +
::#[[Standard_Library_Functions#STANDARD_I.2FO|STANDARD I/O]]
 +
::#[[Standard_Library_Functions#STRING_HANDLING|STRING HANDLING]]
 +
::#[[Standard_Library_Functions#LOW_LEVEL_I.2FO|LOW LEVEL I/O]]
 +
::#[[Standard_Library_Functions#CHARACTER_TESTING|CHARACTER TESTING]]
 +
::#[[Standard_Library_Functions#FLOATING_POINT|FLOATING POINT]]
 +
::#[[Standard_Library_Functions#CONSOLE_I.2FO|CONSOLE I/O]]
 +
::#[[Standard_Library_Functions#DATE_AND_TIME_FUNCTIONS|DATE AND TIME FUNCTIONS]]
 +
::#[[Standard_Library_Functions#MISCELLANEOUS|MISCELLANEOUS]]
  
 
::[[Manual_Debugger | Debugger Manual]]
 
::[[Manual_Debugger | Debugger Manual]]
 +
 +
<br clear=all>
  
 
=== [[Standard_Library_Functions|Functoins of Standard Library]] ===
 
=== [[Standard_Library_Functions|Functoins of Standard Library]] ===
 +
 +
<br clear=all>
  
 
===  [[Standard_Library_Functions|Standard Library of Basic Package]] ===
 
===  [[Standard_Library_Functions|Standard Library of Basic Package]] ===
 +
 +
<br clear=all>
 
===  User Made Complements for Basic Package  ===
 
===  User Made Complements for Basic Package  ===
  
Line 102: Line 231:
  
 
[[COMPLEMENTS_PUBLIC_HEADER_FILES | Lacked Header Files]]
 
[[COMPLEMENTS_PUBLIC_HEADER_FILES | Lacked Header Files]]
 +
 +
<br clear=all>
  
 
== [[PublicPackages | User Made Public Libraries]] ==
 
== [[PublicPackages | User Made Public Libraries]] ==
Line 118: Line 249:
  
 
===    [[PublicPackages_Patches_MSX | Public Patches]] ===
 
===    [[PublicPackages_Patches_MSX | Public Patches]] ===
 +
 +
;[[Packages_Execution_PORT_MSX|Hitech-C for MSX Execution Package/HITECH-1.PMA]]
 +
:MSX port of HI-TECH C for CP/M
 +
 +
;[[LIBRARIES_PUBLIC_HITECH-C_FOR_MSX|Hitech-C for MSX Libraries&Utilities/HITECH-4.PMA]]
 +
:MSX Libraries and Utilities
 +
 +
;[[PATCHES_PUBLIC_HITECH-C_FOR_MSX|Hitech-C for MSX Patches/HPATCHES.PMA]]
 +
:Patches for MSX port of HI-TECH C for CP/M
 +
 +
;[[PATCHES_PUBLIC_EZPATCH]]
 +
:HI-TECH C Resource Kit #1
 +
 
===    [[PublicPackages_Libraries_MSX | Public Library]] ===
 
===    [[PublicPackages_Libraries_MSX | Public Library]] ===
 
===    [[PublicPackages_Utilities_MSX | Public Utilities]] ===
 
===    [[PublicPackages_Utilities_MSX | Public Utilities]] ===
Line 303: Line 447:
 
[[Editorial Policy]]
 
[[Editorial Policy]]
 
[[Category:Editorial Policy]]
 
[[Category:Editorial Policy]]
 +
 +
 +
===CP/M 3===
 +
[[FILE:CPM3LOGO.PNG|200px|thumb|left|CPM Plus LOGO]]
 +
 +
:ZXCC Wrapper for HI-TECH C on unix
 +
:http://koaks.amstrad.free.fr/amstrad/download/c_compiler/zxcc.html
 +
 +
<br clear=all>
 +
===UZI280===
 +
 +
[[FILE:UZI280LOGO.PNG|200px|thumb|left|UZI280 LOGO]]
 +
 +
:UZI280 for Z280
 +
:http://oldcomputers.dyndns.org/public/pub/rechner/zilog/z280/uzi280/download.html
 +
 +
<br clear=all>
 +
 +
=== Foot Notes ===

Latest revision as of 15:38, 21 May 2018

HI-TECH C Compiler for CP/M fan WIKI


HI-TECH C for CP/M fan Wiki


      • Now reconstructing layouts! Thx! ***


This WIKI is...

A fun site of "HI-TECH C Compiler for CP/M" C compiler which has beed destributed for 8 bit OS "CP/M".

This WIKI researches and describes about HI-TECH C related information all over the world and aimed mainly for MSX use but HI-TECH C compiler is executable on many CP/M ports on many platforms generally other than MSX. Thus, CP/M related information are treated as the core information and platform depended information is written separately including MSX

This WIKI deals only "HI-TECH C for CP/M 3.09", which is not supported by developer but not limited usage and freely distributed. "HI-TECH C compiler for PIC10/12/16 MCUs" from MICROCHIP Technology Inc. is not covered here.

Abstracts

About this WIKI

About this WIKI

About HI-TECH C

About HI-TECH C

About CP/M

About CP/M

Q&A

Q and A


How to setup Development environment

HI-TECH C for CP/M on CP/M Emulator(cross development)

CP/M LOGO

Setup of HI-TECH C for CP/M on CP/M emulators(preparing now)



HI-TECH C for MSX(native/self development)

MSX LOGO

Setup of HI-TECH C for MSX(preparing now)


Official Packages

HI-TECH SOFTWARE LOGO


These are packages released by HI-TECH Software.


Execution Package

This package contains execution files, libraries and header files.

C.COM Compiler driver Refer to Manual:Operation Details
CPP.COM Pre-processor
P1.COM Parser
CGEN.COM Code Generator
OPTIM.COM Optimizer
ZAS.COM Z80 assembler Refer to Manual:ZAS.COM
LINK.COM Linker Refer to Manual:LINK.COM
OBJTOHEX.COM IntelHex converter Refer to Manual:OBJTOHEX.COM
LIBR.COM Librarian Refer to Manual:LIBR.COM
CREF.COM Cross reference tool Refer to Manual:CREF.COM
DEHUFF.COM Archiver
DEBUG.COM Debugger Refer to Debugger Manual



Source Package

This package contains source of C.COM execution file and libraries.

CPM CP/M Library
FLOAT Floating point library
GEN General library
STDIO STDIO library
Refer to each explanation for details.
File list of General library
Refer to each explanation for details of standard library(LIBC) and foating point library(LIBF).
Manual:Standard library



Manual Package

This package contains HI-TECH C manual. Many of explanations on this WIKI is cited, translated and edited sentences from this manual.

  1. Introduction
  2. Getting Started
  3. Compiler Structure
  4. Operating Details
  5. Specific Features
  6. Machine Dependencies
  7. Error Checking and Reporting
  8. Standard Libraries
  9. Stylistic Considerations
  10. Memory Models
  11. What Went Wrong
  12. Z80 Assembler Reference Manual
  13. Linker Reference Manual
  14. Librarian
  15. Objtohex
  16. Cref
  1. STANDARD I/O
  2. STRING HANDLING
  3. LOW LEVEL I/O
  4. CHARACTER TESTING
  5. FLOATING POINT
  6. CONSOLE I/O
  7. DATE AND TIME FUNCTIONS
  8. MISCELLANEOUS
Debugger Manual


Functoins of Standard Library


Standard Library of Basic Package


User Made Complements for Basic Package

Recompiled LIBF.LIB

Lacked Header Files


User Made Public Libraries

For CP/M

CPM LOGO

Public Patches

Public Library

Public Utilities

For MSX

MSX LOGO

Public Patches

Hitech-C for MSX Execution Package/HITECH-1.PMA
MSX port of HI-TECH C for CP/M
Hitech-C for MSX Libraries&Utilities/HITECH-4.PMA
MSX Libraries and Utilities
Hitech-C for MSX Patches/HPATCHES.PMA
Patches for MSX port of HI-TECH C for CP/M
PATCHES_PUBLIC_EZPATCH
HI-TECH C Resource Kit #1

Public Library

Public Utilities

For UZIX on MSX

UZIX LOGO
Kernel
Library
Application







Commodore C128 CP/M mode

Commodore C128 LOGO
SG C tools(github repository)
https://github.com/sgjava/garage/tree/master/commodore/cpm/sgctools
SG C tools
http://ftp.martnet.com/cpm/programming/HiTech_C/SteveGoldsmith/index.html
SG C Tools for CP/M on C128
http://www.lemon64.com/forum/viewtopic.php?t=63042&sid=05d83b1774192f4293cdaea28838a3b3
HI-TECH C for C 128 + Atob.c ??
http://ftp.martnet.com/cpm/programming/HiTech_C/index.html


PC-6001

PC-6001 LOGO
Development with HI-TECH C for PC-6001(JP)
http://www.geocities.jp/submarine600/html/p6/demo9.html


ZX Spectrum

ZX LOGO
Basics of HI-TECH C for CP/M (on ZX spectrom)
http://zx-pk.ru/threads/27300-osvaivaem-hi-tech-c-v3-09-dlya-cp-m.html

Z80 embeded boards

SOLDERING
HI-TECH C port for embedded usage(JP)
http://www.spice-elec.com/Z80/C_compiler/C_compiler.html

Popular Devices and Specifications

For TMS9918

For AY-3-8910(PSG)

For MS-DOS Compatible File System(MSX-DOS1 etc.)

For ATARI D-Sub 9 Connector Controller & Compatibles

  • These are not specified in CP/M

Restriction

RESTRICTIONS


HI-TECH C Compilable resources

ANSI-C

Asteroid belt like game: https://github.com/MBilderbeek/bigblast

MSX Sudoku: http://andrear.altervista.org/contents/msx/sudoku/

MSX computer magazine Sokoban for Hitech-C?: http://www.msxcomputermagazine.nl/archief/mccm-72/

HI-TECH C related blogs & TIPS

HI-TECH C port for embedded usage(JP) http://www.spice-elec.com/Z80/C_compiler/C_compiler.html

ANSI C compatibility test with AES256 with HI-TECH C compilable source(EN) http://www.z80.eu/c-compiler.html

Development with HI-TECH C for PC-6001(JP) http://www.geocities.jp/submarine600/html/p6/demo9.html

HI-TECH C review blogs(JP) http://www.nabeta.tk/nblog/?paged=3&author=1

Lets start HI-TECH C(JP) http://tatsu.life.coocan.jp/TMR/MSX-StartHC.html

CPM Executor with HI-TECH C(JP) http://hp.vector.co.jp/authors/VA000084/HI-TECH_C.html

C language cource with HI-TECH C(PO) http://marmsx.msxall.com/cursos/index.php#c

HI-TECH C manual pdf http://koyado.com/Heathkit/My_Backups_files/Z80DOC.pdf

Basics of HI-TECH C for CP/M (on ZX spectrom) http://zx-pk.ru/threads/27300-osvaivaem-hi-tech-c-v3-09-dlya-cp-m.html

HI-TECH C review http://www.commodore.ca/manuals/funet/cpm/programming/HiTech_C/hitechc.txt

Make HI-TECH C 256 times more useful http://tatsu.life.coocan.jp/TMR/MSX-HCTECH.html

SOME HI-TECH C Update http://webspaceme.com.au/tesseract/pds/091/htcmods.txt

PIPEMGR http://www.seasip.demon.co.uk/Cpm/software/Pipemgr/index.html

Linux CPM emulator & HI-TECH C ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux/cpm-hitech.tar.txt

HI-TECH C archive in some other format http://www.classiccmp.org/cpmarchives/cpm/Miscellany/Prgrming/C/Hi-Tech%20C/

ZXCC Wrapper for HI-TECH C on unix

http://koaks.amstrad.free.fr/amstrad/download/c_compiler/zxcc.html

UZI280 for Z280

http://oldcomputers.dyndns.org/public/pub/rechner/zilog/z280/uzi280/download.html

Z80pack http://www.autometer.de/unix4fun/z80pack/

CP/M emulator suits YAZE & execute as CP/M 2.2(jp) http://www.yamamo10.jp/yamamoto/comp/Tiny_BASIC/Lesson_2/index.php

SG C Tools for C64 http://www.lemon64.com/forum/viewtopic.php?t=63042&sid=05d83b1774192f4293cdaea28838a3b3

ZXCC http://brewformulas.org/zxcc

LIBF bug report (confirm source is attached) http://comp.os.cpm.narkive.com/aJNgx34C/hitech-c-3-09-defective-libf-lib

CP/M emulator suites Z80pack http://tk-s.net/pc/blog/diary.cgi?Date=20130123

SG C tools http://ftp.martnet.com/cpm/programming/HiTech_C/SteveGoldsmith/index.html

HI-TECH C for C 128 + Atob.c ?? http://ftp.martnet.com/cpm/programming/HiTech_C/index.html

Q&A

Q and A

Editorial Policy

Editorial Policy


CP/M 3

CPM Plus LOGO
ZXCC Wrapper for HI-TECH C on unix
http://koaks.amstrad.free.fr/amstrad/download/c_compiler/zxcc.html


UZI280

UZI280 LOGO
UZI280 for Z280
http://oldcomputers.dyndns.org/public/pub/rechner/zilog/z280/uzi280/download.html


Foot Notes