-
メインページ
このWikiは8ビットOSであるCP/M用で動作するANSI-Cコンパイラとして、かつてHITECH Softwareから配布されていた"HI-TECH C Compiler"[1]のファンサイトです。ここでは主に使い方やライブラリなどの情報を公開しています。
概説
このWikiについて
HI-TECH Cについて
CP/Mについて
Q&A
開発環境のセットアップ
CP/M版 on CP/Mエミュレータコース(クロス開発)
CP/M版 on CP/Mエミュレータ開発環境セットアップ(準備中)
現在もっとも使われていると思われるWindowsをホスト開発環境とした開発方法です。CP/Mエミュレーターを介してWindows上でCP/M版のHI-TECH C for CP/Mを実行します。
このコースは"CP/M on MS-DOS"や"CP/M on Unix/Linux"への展開も可能です。特に"CP/M on MS-DOS"は、多くの機種に移植されているMS-DOSエミュレータ"DOSBOX"でもCP/Mエミュレータが実行できるので同じ開発環境を移植できる可能がぐっと高まります。
MSX版コース(ネイティブ/セルフ開発)
現在も世界中で愛用されているMSXを前提とした開発方法です。オフィシャルのサポートはずいぶん前に打ち切られていますが、その後もハードウェアの拡張を続けており、Z80搭載機では間違いなくもっとも拡張されたハードウェアで、ホビーとしてはいまだに現役です。そしてエミュレータがつくられた最初期のターゲットでもあり、多くの環境で動くエミュレータがあります。そのため、同じ開発環境をそのまま別のプラットフォームに移行することも容易です。最近ではブラウザだけで動くエミュレータ"WebMSX"もあり、カジュアルにプログラミングを楽しむこともできます。
Z80搭載機としては最も拡張されたハイスペックMSX上で実機開発をすることができます。MSXturboRやFPGA版の1ChipMSXなどZ80の高速な実行環境、数メガにも及ぶ広大なRAM、ギガ単位でも対応可能な大容量ストレージ、そしてシリアルインターフェース、イーサネット、WiFiといった通信環境が整えられMSXではまだまだ発展途中ですが、こんごはこれらを駆使して、当時はできなかった開発体験もすることができるようになることでしょう。
このWikiではMSX-DOS用にパッチを当てたHI-TECH C for CP/Mを便宜上"HI-TECH C for MSX"と呼びますが、これは公式の名称ではありませんのでご注意ください。実際の動作は一部を除き同じです。HI-TECH C for CP/Mのフリー化宣言後後、いちはやくMSX用のパッチが公開され広く使われてきたものです。
CP/M用HI-TECH C公式パッケージ
HI-TECH Softwareから公開されていた公式パッケージです。 現在サイトはありませんが、かつては公式サイトからはこのような形式で配布されていました。
実行アーカイブ
実行ファイル本体、ライブラリファイル、ヘッダファイルを格納したパッケージです。 詳細はそれぞれマニュアルの該当部分を参照してください。
C.COM | コンパイラドライバ | マニュアル:操作の詳細参照 |
CPP.COM | プリプロセッサ | |
P1.COM | パーサ | |
CGEN.COM | コードジェネレータ | |
OPTIM.COM | オプティマイザ | |
ZAS.COM | Z80アセンブラ | マニュアル:ZAS.COM参照 |
LINK.COM | リンカ | マニュアル:LINK.COM参照 |
OBJTOHEX.COM | IntelHexコンバーター | マニュアル:OBJTOHEX.COM参照 |
LIBR.COM | ライブラリアン | マニュアル:LIBR.COM参照 |
CREF.COM | クロスリファレンスツール | マニュアル:CREF.COM参照 |
DEHUFF.COM | アーカイバ | |
DEBUG.COM | デバッガ | デバッガマニュアル参照 |
ソースアーカイブ
実行ファイルC.COMとライブラリのソースを格納したパッケージです。
CPM | CP/M固有ライブラリ |
FLOAT | 浮動小数点ライブラリ |
GEN | 標準ライブラリ |
STDIO | 標準入出力ライブラリ |
- それぞれのファイルについては個別の解説ページを参照してください。
- 標準ライブラリ ファイル一覧
- 標準ライブラリ(LIBC)と浮動小数点ライブラリ(LIBF)の詳細はマニュアルの該当ページを参照してください。
- マニュアル:標準ライブラリ
マニュアル
HI-TECH Cのマニュアルを格納したパッケージです。
- マニュアル目次
- 導入
- 始め方
- コンパイラの構造
- 操作の詳細
- 仕様
- 機種依存
- エラーチェックとレポート
- 標準ライブラリ
- スタイルの考慮
- メモリモデル
- 何が悪かったか
- ZASマニュアル
- リンカマニュアル
- ライブラリアン
- Objtohex
- Crefクロスリファレンスツール
デバッガマニュアル
デバッガのマニュアルは、HI-TECH C本体のマニュアルとは別になっています。
各機種向けライブラリとTIPS
- 以下はユーザーによって公開されているものです。
CP/M用
- CP/M汎用のプログラムを集めたページです。
- HI-TECH C manual of pdf format
- http://koyado.com/Heathkit/My_Backups_files/Z80DOC.pdf
- HI-TECH C review blogs(JP)
- http://www.nabeta.tk/nblog/?paged=3&author=1
- LIBF bug report (confirm source is attached)
- http://comp.os.cpm.narkive.com/aJNgx34C/hitech-c-3-09-defective-libf-lib
- HI-TECH C archive in some other format
- http://www.classiccmp.org/cpmarchives/cpm/Miscellany/Prgrming/C/Hi-Tech%20C/
- SOME HI-TECH C Update
- http://webspaceme.com.au/tesseract/pds/091/htcmods.txt
- How-to blogs
- Lets start HI-TECH C(JP)
- http://tatsu.life.coocan.jp/TMR/MSX-StartHC.html
- Make HI-TECH C 256 times more useful
- http://tatsu.life.coocan.jp/TMR/MSX-HCTECH.html
- C language course with HI-TECH C(PO)
- http://marmsx.msxall.com/cursos/index.php#c
- CP/M emulators
- CPM Executor with HI-TECH C(JP)
- http://hp.vector.co.jp/authors/VA000084/HI-TECH_C.html
- Linux CPM emulator & HI-TECH C
- ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux/cpm-hitech.tar.txt
- CP/M emulator suits YAZE & execute as CP/M 2.2(jp)
- http://www.yamamo10.jp/yamamoto/comp/Tiny_BASIC/Lesson_2/index.php
- CP/M emulator suites Z80pack
- http://tk-s.net/pc/blog/diary.cgi?Date=20130123
MSX用
- MSX-DOS1/2用のプログラムを集めたページです。
Votex Tracker2 Player for MSX
http://vik.cc/dvik-joyrex/tools.html
https://vik.cc/dvik-joyrex/download/pt3play.zip
Hitech-C用DOS2対応ファイル操作ライブラリ_HCDOS2 version 1.00
https://web.archive.org/web/20040412220158/http://www.geocities.co.jp/Playtown/4370/msxsoft0.html
UZIX on MSX用
- MSX用UNIXのソースコードの解説です(準備中)。
- UZIX公式サイト
- http://uzix.sourceforge.net/
Commodore C128 CP/M mode
- SG C tools(github repository)
- https://github.com/sgjava/garage/tree/master/commodore/cpm/sgctools
- 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
- Development with HI-TECH C for PC-6001(JP)
- http://www.geocities.jp/submarine600/html/p6/demo9.html
ZX Spectrum
- 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組み込みボード
- HI-TECH C port for embedded usage(JP)
- http://www.spice-elec.com/Z80/C_compiler/C_compiler.html
HI-TECH C でコンパイル可能なANSI-Cリソース
- Asteroid belt like game:
- https://github.com/MBilderbeek/bigblast
- MSX computer magazine Sokoban for Hitech-C?:
- http://www.msxcomputermagazine.nl/archief/mccm-72/
- ANSI C compatibility test with AES256 with HI-TECH C compilable source(EN)
- http://www.z80.eu/c-compiler.html
CP/M 3
- ZXCC Wrapper for HI-TECH C on unix
- http://koaks.amstrad.free.fr/amstrad/download/c_compiler/zxcc.html
UZI280
脚注
- ↑ Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。