2018年5月14日 (月) 17:21時点におけるKumokosi (トーク | 投稿記録)による版 (マニュアル)

HI-TECH C Compiler for CP/M fan WIKI


HI-TECH C for CP/M fan Wiki


このWikiは8ビットOSであるCP/M用で動作するANSI-Cコンパイラとして、かつてHITECH Softwareから配布されていた"HI-TECH C Compiler"[1]のファンサイトです。ここでは主に使い方やライブラリなどの情報を公開しています。


このWikiについて

HI-TECH C for CP/MコンパイラはZ80を搭載した機器向けにカスタマイズされて、多くの機種で使われてきました。

このWIKIではHI-TECH C for CP/Mの世界中のリソースを調査、記述しました。今後は主にMSXを中心として、そのほかのZ80搭載機器用のコードを生成する方法を具体的に追記していきます。CP/MやMSX-DOSと互換OS上で動作するコードが中心ですが、実行バイナリイメージなどを生成する方法もあります。

開発環境は大きく分けて、"CP/M版 on CP/Mエミュレータコース(クロス開発)"と"MSX版コース(ネイティブ/セルフ開発)"の二つの方法を推奨しています。

ライブラリの紹介では生成できるコードのターゲット機種ごとに分類しています。現在は"CP/M汎用"、"MSX(DOS)用"、"その他の機種用"の三つです。

ライブラリやツール、公開されたTIPSなどは多言語に渡ります。そのため、原語の文章はWikiタグで整形して転載しているものですが、その他はほとんどの部分がこのWiki独自の翻訳文章となっています。詳細は編集方針を参照してください。

HI-TECH Cについて

ABOUT_HITECH-C

CP/Mについて

ABOUT_CPM

CP/M版 on CP/Mエミュレータコース(クロス開発)

CP/M LOGO

現在もっとも使われていると思われる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 LOGO

現在も世界中で愛用されている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 LOGO

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
FLOAT
GEN
STDIO
それぞれのファイルについては個別の解説ページを参照してください。
標準ライブラリ ファイル一覧
標準ライブラリ(LIBC)と浮動小数点ライブラリ(LIBF)の詳細はマニュアルの該当ページを参照してください。
マニュアル:標準ライブラリ

マニュアル

HI-TECH Cのマニュアルを格納したパッケージです。


マニュアル目次
  1. 導入
  2. 始め方
  3. コンパイラの構造
  4. 操作の詳細
  5. 仕様
  6. 機種依存
  7. エラーチェックとレポート
  8. 標準ライブラリ
  9. スタイルの考慮
  10. メモリモデル
  11. 何が悪かったか
  12. ZASマニュアル
  13. リンカマニュアル
  14. ライブラリアン
  15. Objtohex
  16. Crefクロスリファレンスツール
  1. 標準 I/O※翻訳中
  2. 文字列処理※翻訳済日本語版
  3. 低レベル I/O※翻訳済日本語版
  4. 文字列評価※翻訳済日本語版
  5. 浮動小数点※翻訳済日本語版
  6. コンソール I/O※翻訳済日本語版
  7. 日付関数※翻訳済日本語版
  8. その他※一部を除き翻訳済み日本語版

デバッガマニュアル

デバッガのマニュアルは、HI-TECH C本体のマニュアルとは別になっています。

デバッガマニュアル

ユーザーによる公開パッケージ

以下はユーザーによって公開されているものです。


CP/M用

CPM LOGO
CP/M汎用のプログラムを集めたページです。


MSX用

MSX LOGO
MSX-DOS1/2用のプログラムを集めたページです。


UZIX on MSX用

UZIX LOGO
MSX用UNIXのソースコードの解説です(準備中)。
UZIX公式サイト
http://uzix.sourceforge.net/


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組み込みボード
SOLDERING
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 Sudoku:
http://andrear.altervista.org/contents/msx/sudoku/
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



HI-TECH C関連ブログ、TIPS

About HI-TECH C itself
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 review
http://www.commodore.ca/manuals/funet/cpm/programming/HiTech_C/hitechc.txt
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
Z80pack
http://www.autometer.de/unix4fun/z80pack/
PIPEMGR
http://www.seasip.demon.co.uk/Cpm/software/Pipemgr/index.html


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


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


制限事項

制限事項一覧


Q&A

Q and A一覧


編集方針

編集方針


脚注

  1. Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。