-
「メインページ」の版間の差分
提供: HI-TECH C for CP/M Fan WIKI(JP)
(→マニュアル) |
|||
3行目: | 3行目: | ||
このWikiは... | このWikiは... | ||
− | 8ビットOSであるCP/M用として、かつて配布されていた"HI-TECH C Compiler"のファンサイトです。 | + | 8ビットOSであるCP/M用として、かつて配布されていた"HI-TECH C Compiler"<ref>Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。</ref>のファンサイトです。 |
− | CP/ | + | このコンパイラはZ80を搭載した機器向けにカスタマイズされて、多くの機種で使われてきました。 |
+ | |||
+ | このWIKIではHI-TECH C for CP/Mの世界中のリソースを調査、記述しました。 | ||
+ | |||
+ | 今後は主にMSXを中心として、そのほかのZ80搭載機器用のコードを生成する方法を具体的に追記していきます。 | ||
+ | CP/MやMSX-DOSと互換OS上で動作するコードが中心ですが、実行バイナリイメージなどを生成する方法もあります。 | ||
+ | |||
+ | 大きく分けて、下記の二つの方法を推奨しています。 | ||
+ | |||
+ | #-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といった通信環境も駆使して、当時はできなかった開発体験もすることができるでしょう。 | ||
− | |||
− | |||
− | |||
== [[Packages | CP/M用HI-TECH C公式パッケージ]] == | == [[Packages | CP/M用HI-TECH C公式パッケージ]] == |
2018年5月7日 (月) 12:19時点における版
HI-TECH C Compiler for CP/M fan WIKI
このWikiは...
8ビットOSであるCP/M用として、かつて配布されていた"HI-TECH C Compiler"[1]のファンサイトです。 このコンパイラはZ80を搭載した機器向けにカスタマイズされて、多くの機種で使われてきました。
このWIKIではHI-TECH C for CP/Mの世界中のリソースを調査、記述しました。
今後は主にMSXを中心として、そのほかのZ80搭載機器用のコードを生成する方法を具体的に追記していきます。 CP/MやMSX-DOSと互換OS上で動作するコードが中心ですが、実行バイナリイメージなどを生成する方法もあります。
大きく分けて、下記の二つの方法を推奨しています。
- -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といった通信環境も駆使して、当時はできなかった開発体験もすることができるでしょう。
目次
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
- FLOAT
- GEN
- STDIO
- 標準ライブラリ(LIBC)と浮動小数点ライブラリ(LIBF)の詳細はマニュアルの該当ページを参照してください。
- マニュアル:標準ライブラリ
マニュアル
HI-TECH Cのマニュアルを格納したパッケージです。
- マニュアル目次
- 導入
- 始め方
- コンパイラの構造
- 操作の詳細
- 仕様
- 機種依存
- エラーチェックとレポート
- 標準ライブラリ
- スタイルの考慮
- メモリモデル
- 何が悪かったか
- ZASマニュアル
- リンカマニュアル
- ライブラリアン
- Objtohex
- Crefクロスリファレンスツール
デバッガマニュアル
デバッガのマニュアルは、HI-TECH C本体のマニュアルとは別になっています。
ユーザーによる公開パッケージ
- 以下はユーザーによって公開されているものです。
CP/M用
- CP/M汎用のプログラムを集めたページです。
MSX用
- MSX-DOS1/2用のプログラムを集めたページです。
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 でコンパイル可能なリソース
- 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
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 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
- CP/M 3
- ZXCC Wrapper for HI-TECH C on unix
- http://koaks.amstrad.free.fr/amstrad/download/c_compiler/zxcc.html
- UNI280
- UZI280 for Z280
- http://oldcomputers.dyndns.org/public/pub/rechner/zilog/z280/uzi280/download.html
制限事項
Q&A
編集方針
編集方針- ↑ Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。