HI-TECH C for CP/M Fan WIKI(JP) (original) (raw)

HI-TECH C for CP/M fan Wiki

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

目次

概説

このWikiについて

このWikiについて

HI-TECH Cについて

HI-TECH Cについて

CP/Mについて

CP/Mについて

Q&A

Q and 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版開発環境セットアップ(準備中)

現在も世界中で愛用されている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用のパッチが公開され広く使われてきたものです。

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のマニュアルを格納したパッケージです。

マニュアル目次

  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本体のマニュアルとは別になっています。

デバッガマニュアル

各機種向けライブラリと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 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

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

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

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 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

CP/M 3

ZXCC Wrapper for HI-TECH C on unix

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

UZI280

UZI280 for Z280

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

脚注

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