差分

メインページ

672 バイト追加, 2021年10月25日 (月) 20:49
Votex Tracker2 Player for MSX
<strong>[[ファイル:HITECH_TITLE.PNG|100%|frameless|HI-TECH C Compiler for CP/M fan WIKI</strong>Wiki]]
このWikiは...このWikiは8ビットOSであるCP/M用で動作するANSI-Cコンパイラとして、かつてHITECH Softwareから配布されていた"HI-TECH C Compiler"<ref>Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。</ref>のファンサイトです。ここでは主に使い方やライブラリなどの情報を公開しています。
8ビットOSであるCP/M用で動作するANSI-Cコンパイラとして、かつて配布されていた"HI-TECH C Compiler"<ref>Microchip社から"HI-TECH C compiler for PIC10/12/16 MCUs" としてPIC用に配布されているバージョンは本WIKIの対象外です。</ref>のファンサイトです。使い方やライブラリなどの情報を公開しています。HI-TECH C for CP/MコンパイラはZ80を搭載した機器向けにカスタマイズされて、多くの機種で使われてきました。==概説==
このWIKIではHI-TECH C for CP/Mの世界中のリソースを調査、記述しました。=== このWikiについて===
今後は主にMSXを中心として、そのほかのZ80搭載機器用のコードを生成する方法を具体的に追記していきます。CP/MやMSX[[ABOUT_HITECH-DOSと互換OS上で動作するコードが中心ですが、実行バイナリイメージなどを生成する方法もあります。C_FAN_WIKI|このWikiについて]]
開発環境は大きく分けて、"CP/M版 on CP/Mエミュレータコース(クロス開発)"と"MSX版コース(ネイティブ/セルフ開発)"の二つの方法を推奨しています。=== HI-TECH Cについて ===[[ABOUT_HITECH-C|HI-TECH Cについて]]
ライブラリの紹介では生成できるコードのターゲット機種ごとに分類しています。現在は"=== CP/M汎用"、"MSX(DOS)用"、"その他の機種用"の三つです。Mについて ===[[ABOUT_CPM|CP/Mについて]]
ライブラリやツール、公開されたTIPSなどは多言語に渡ります。そのため、原語の文章はWikiタグで整形して転載しているものですが、その他はほとんどの部分がこのWiki独自の翻訳文章となっています。詳細は[[Editorial Policy|編集方針]]を参照してください。=== Q&A ===
===CP/M版 on CP/Mエミュレータコース(クロス開発)===[[Q and A | Q and A一覧]]現在もっとも使われていると思われる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エミュレータが実行できるので同じ開発環境を移植できる可能がぐっと高まります。[[Category:Q and A | Q & A]]
==開発環境のセットアップ=MSX版コース(ネイティブ/セルフ開発)===現在も世界中で愛用されているMSXを前提とした開発方法です。オフィシャルのサポートはずいぶん前に打ち切られていますが、その後もハードウェアの拡張を続けており、Z80搭載機では間違いなくもっとも拡張されたハードウェアで、ホビーとしてはいまだに現役です。そしてエミュレータがつくられた最初期のターゲットでもあり、多くの環境で動くエミュレータがあります。そのため、同じ開発環境をそのまま別のプラットフォームに移行することも容易です。最近ではブラウザだけで動くエミュレータ"WebMSX"もあり、カジュアルにプログラミングを楽しむこともできます。
Z80搭載機としては最も拡張されたハイスペックMSX上で実機開発をすることができます。MSXturboRやFPGA版の1ChipMSXなどZ80の高速な実行環境、数メガにも及ぶ広大なRAM、ギガ単位でも対応可能な大容量ストレージ、シリアル、イーサネット、WiFiといった通信環境も駆使して、当時はできなかった開発体験もすることができるでしょう。===CP/M版 on CP/Mエミュレータコース(クロス開発)===
このWikiではMSX-DOS用にパッチを当てたHI-TECH C for [[ファイル:CPMLOGOx2.png|200px|thumb|left|CP/Mを便宜上"HI-TECH C for MSX"と呼びますが、これは公式の名称ではありませんのでご注意ください。実際の動作は一部を除き同じです。HI-TECH C for CP/Mのフリー化後、いちはやくMSX用のパッチが公開され広く広まりました。M LOGO]]
== [[Packages DEV_CPM_ON_EMU| CP/M用HI-TECH C公式パッケージM版 on CP/Mエミュレータ開発環境セットアップ(準備中)]] ==
HI-TECH Softwareから公開された公式パッケージです。
=== 実行アーカイブ ===現在もっとも使われていると思われる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エミュレータが実行できるので同じ開発環境を移植できる可能がぐっと高まります。
実行ファイル本体、ライブラリファイル、ヘッダファイルを格納したパッケージです。詳細はそれぞれマニュアルの該当部分を参照してください。<br clear=all>
;C.COM===MSX版コース(ネイティブ/セルフ開発)===
:コンパイラドライバ:[[Operating_Detailsファイル:MSXLOGO.PNG| マニュアル:操作の詳細200px|thumb|left|MSX LOGO]]参照
;CPP.COM[[DEV_MSX_ON_MSX|MSX版開発環境セットアップ(準備中)]]
:プリプロセッサ
;P1.COM現在も世界中で愛用されているMSXを前提とした開発方法です。オフィシャルのサポートはずいぶん前に打ち切られていますが、その後もハードウェアの拡張を続けており、Z80搭載機では間違いなくもっとも拡張されたハードウェアで、ホビーとしてはいまだに現役です。そしてエミュレータがつくられた最初期のターゲットでもあり、多くの環境で動くエミュレータがあります。そのため、同じ開発環境をそのまま別のプラットフォームに移行することも容易です。最近ではブラウザだけで動くエミュレータ"WebMSX"もあり、カジュアルにプログラミングを楽しむこともできます。
:パーサZ80搭載機としては最も拡張されたハイスペックMSX上で実機開発をすることができます。MSXturboRやFPGA版の1ChipMSXなどZ80の高速な実行環境、数メガにも及ぶ広大なRAM、ギガ単位でも対応可能な大容量ストレージ、そしてシリアルインターフェース、イーサネット、WiFiといった通信環境が整えられMSXではまだまだ発展途中ですが、こんごはこれらを駆使して、当時はできなかった開発体験もすることができるようになることでしょう。
;CGEN.COMこのWikiではMSX-DOS用にパッチを当てたHI-TECH C for CP/Mを便宜上"HI-TECH C for MSX"と呼びますが、これは公式の名称ではありませんのでご注意ください。実際の動作は一部を除き同じです。HI-TECH C for CP/Mのフリー化宣言後後、いちはやくMSX用のパッチが公開され広く使われてきたものです。
:コードジェネレータ== [[Packages | CP/M用HI-TECH C公式パッケージ]] ==
;OPTIM[[ファイル:HI-TECH_SOFTWARE.COM;PNG|200px|thumb|left|HI-TECH SOFTWARE LOGO]]
:オプティマイザHI-TECH Softwareから公開されていた公式パッケージです。現在サイトはありませんが、かつては公式サイトからは[[HITECH-C_OFFICIAL_WEB|このような形式で]]配布されていました。
;ZAS.COM
:Z80アセンブラ<br clear=all>:[[Z80_Assembler_Reference_Manual|マニュアル:ZAS.COM]]参照=== 実行アーカイブ ===
;LINK.COM実行ファイル本体、ライブラリファイル、ヘッダファイルを格納したパッケージです。 :リンカ:[[Linker_Reference_Manual|マニュアル:LINK.COM]]参照 ;OBJTOHEX.COM :IntelHexコンバーター:[[Objtohex|マニュアル:OBJTOHEX.COM]]参照 ;LIBR.COM :ライブラリアン:[[Librarian|マニュアル:LIBR.COM]]参照 ;CREF.COM :クロスリファレンスツール:[[Cref|マニュアル:CREF.COM]]参照 ;DEHUFF.COM:アーカイバ ;DEBUG.COM:デバッガ:[[Manual_Debugger | デバッガマニュアル]]参照詳細はそれぞれマニュアルの該当部分を参照してください。
{| class="wikitable"
|-
|C.COM||コンパイラドライバ||[[Operating_Details| マニュアル:操作の詳細]]参照
|-
|CPP.COM||プリプロセッサ||
|-
|P1.COM||パーサ||
|-
|CGEN.COM||コードジェネレータ||
|-
|OPTIM.COM||オプティマイザ||
|-
|ZAS.COM||Z80アセンブラ||[[Z80_Assembler_Reference_Manual|マニュアル:ZAS.COM]]参照
|-
|LINK.COM||リンカ||[[Linker_Reference_Manual|マニュアル:LINK.COM]]参照
|-
|OBJTOHEX.COM||IntelHexコンバーター||[[Objtohex|マニュアル:OBJTOHEX.COM]]参照
|-
|LIBR.COM||ライブラリアン||[[Librarian|マニュアル:LIBR.COM]]参照
|-
|CREF.COM||クロスリファレンスツール||[[Cref|マニュアル:CREF.COM]]参照
|-
|DEHUFF.COM||アーカイバ||
|-
|DEBUG.COM||デバッガ||[[Manual_Debugger | デバッガマニュアル]]参照
|-
|}
=== ソースアーカイブ ===
実行ファイルC.COMとライブラリのソースを格納したパッケージです。
;CPM
 
;FLOAT
;{| class="wikitable" |-|CPM||CP/M固有ライブラリ|-|FLOAT||浮動小数点ライブラリ|-|GEN||標準ライブラリ|-|STDIO||標準入出力ライブラリ|}
;STDIO:それぞれのファイルについては個別の解説ページを参照してください。:[[Standard_Library_Files|標準ライブラリ ファイル一覧]]
:標準ライブラリ(LIBC)と浮動小数点ライブラリ(LIBF)の詳細はマニュアルの該当ページを参照してください。
:[[Standard_Library_Functions|マニュアル:標準ライブラリ]]
 
 
=== マニュアル ===
# [[Cref|Crefクロスリファレンスツール]]
* [[Error Messages|エラーメッセージ]]
* [[Standard Library Functions|標準ライブラリ]]※関数一覧のみが翻訳済みです。個別解説を翻訳中。::#[[Standard_Library_Functions#.E6.A8.99.E6.BA.96_I.2FO|標準 I/O]]※翻訳中::#[[Standard_Library_Functions#.E6.96.87.E5.AD.97.E5.88.97.E5.87.A6.E7.90.86|文字列処理]]※翻訳済日本語版::#[[Standard_Library_Functions#.E4.BD.8E.E3.83.AC.E3.83.99.E3.83.AB_I.2FO|低レベル I/O]]※翻訳済日本語版
::#[[Standard_Library_Functions#.E6.96.87.E5.AD.97.E5.88.97.E8.A9.95.E4.BE.A1|文字列評価]]
::#[[Standard_Library_Functions#.E6.B5.AE.E5.8B.95.E5.B0.8F.E6.95.B0.E7.82.B9|浮動小数点]]※翻訳済日本語版::#[[Standard_Library_Functions#.E3.82.B3.E3.83.B3.E3.82.BD.E3.83.BC.E3.83.AB_I.2FO|コンソール I/O]]※翻訳済日本語版::#[[Standard_Library_Functions#.E6.97.A5.E4.BB.98.E9.96.A2.E6.95.B0|日付関数]]※翻訳済日本語版::#[[Standard_Library_Functions#.E3.81.9D.E3.81.AE.E4.BB.96|その他]]※一部を除き翻訳済み日本語版
=== デバッガマニュアル ===
:[[Manual_Debugger | デバッガマニュアル]]
== ユーザーによる公開パッケージ 各機種向けライブラリとTIPS ==
:以下はユーザーによって公開されているものです。
<br clear=all>
=== [[PublicPackages_CPM |CP/M用]] ===
 
[[ファイル:CPMLOGOx2.png|thumb|200px|left|CPM LOGO]]
: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
 
 
 
<br clear=all>
=== [[PublicPackages_MSX | MSX用]] ===
 
[[ファイル:MSXLOGO.PNG|thumb|200px|left|MSX LOGO]]
:MSX-DOS1/2用のプログラムを集めたページです。
 
<br clear=all>
=== [[Votex_Tracker2_Player_for_MSX| Votex Tracker2 Player for MSX]] ===
http://vik.cc/dvik-joyrex/tools.html
 
https://vik.cc/dvik-joyrex/download/pt3play.zip
 
<br clear=all>
 
 
 
===Hitech-C用DOS2対応ファイル操作ライブラリ_HCDOS2 version 1.00===
https://web.archive.org/web/20040412220158/http://www.geocities.co.jp/Playtown/4370/msxsoft0.html
=== [[PublicPackages_UZIX | UZIX on MSX用]]===
 
[[ファイル:UZIX.PNG|thumb|200px|left|UZIX LOGO]]
:MSX用UNIXのソースコードの解説です(準備中)。
:http://uzix.sourceforge.net/
<br clear=all>
===Commodore C128 CP/M mode===
 
[[ファイル:C128LOGO.PNG|thumb|200px|left|Commodore C128 LOGO]]
:SG C tools(github repository)
:http://ftp.martnet.com/cpm/programming/HiTech_C/index.html
<br clear=all>===PC-6001= その他のプラットフォームでの適用例(リンク) == ;[[ファイル:P6LOGO.PNG|200px|thumb|left|PC-6001LOGO]]
:Development with HI-TECH C for PC-6001(JP)
:http://www.geocities.jp/submarine600/html/p6/demo9.html
;<br clear=all>===ZX Spectrum===[[ファイル:ZXLOGO.PNG|200px|thumb|left|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組み込みボード<br clear=all>===Z80組み込みボード===[[ファイル:SOLDERING.PNG|200px|thumb|left|SOLDERING]]
:HI-TECH C port for embedded usage(JP)
:http://www.spice-elec.com/Z80/C_compiler/C_compiler.html
== その他 ==
<br clear=all>
=== HI-TECH C でコンパイル可能なANSI-Cリソース ===
 
[[ファイル:ANSI-C.PNG|200px|thumb|left|ANSI-C]]
=== HI-TECH C でコンパイル可能なリソース ===
:Asteroid belt like game:
:http://www.z80.eu/c-compiler.html
=== HI-TECH C関連ブログ、TIPS ===
;About HI-TECH C itself===CP/M 3===[[ファイル:CPM3LOGO.PNG|200px|thumb|left|CPM Plus LOGO]]
:ZXCC Wrapper for HI-TECH C manual of pdf formaton unix:http://koyadokoaks.com/Heathkit/My_Backups_files/Z80DOC.pdf :HI-TECH C review blogs(JP):http://wwwamstrad.nabetafree.tk/nblog/?paged=3&author=1 :LIBF bug report (confirm source is attached):http:/fr/comp.os.cpm.narkive.comamstrad/aJNgx34Cdownload/hitech-c-3-09-defective-libf-lib :HI-TECH C review:http:c_compiler//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_Czxcc.html
:Linux CPM emulator & HI-TECH C<br clear=all>:ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux/cpm-hitech.tar.txt===UZI280===
[[ファイル:CP/M emulator suits YAZE & execute as CP/M 2UZI280LOGO.2(jp):http://www.yamamo10.jp/yamamoto/comp/Tiny_BASIC/Lesson_2/index.phpPNG|200px|thumb|left|UZI280 LOGO]]
: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
: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
<br clear=== 制限事項 ===[[RESTRICTIONS| 制限事項一覧]] === Q&A === [[Q and A | Q and A一覧]][[Category:Q and A | Q & A]] === 編集方針 === [[Editorial Policy|編集方針]][[Category:Editorial Policy|編集方針]]all>
=== 脚注 ===