HI-TECH C for CP/M Fan WIKI(JP) (original) (raw)
この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用のパッチが公開され広く使われてきたものです。
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 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公式サイト
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
脚注
- ↑ Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。