51
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MSX-C に関する情報

Last updated at Posted at 2024-04-26

はじめに

『MSX-C』関連の情報を集めてみました。

image.png

MSX-C

『MSX-C』は ASCII が発売した MSX 用の C コンパイラです。元々は エル・エス・アイ・ジャパン株式会社 の『LSI C-80』の OEM だったようです。

image.png

『MSX-C』はアセンブラソースを吐くタイプのコンパイラですので、実行形式ファイルを生成するにはアセンブラとリンカが必要です。

See also:

準拠している C 言語の規格

ANSI C (1989) よりも前に発売された製品なので、後に制定された規格には準拠しておらず、K&R のサブセット的な実装となっています。例えば、MSX-C で利用可能なデータ型は次の 4 (3) 種類のみです。

長さ 範囲
char 8 0..255
short 16 -32768..32767
int 16 -32768..32767
unsigned 16 0..65535

マニュアルには『Version 7 UNIX (PDP-11)』の C との相違点が掲載されています。

  • #if プリプロセッサをサポートしない
  • 暗黙の関数宣言は行われない (関数プロトタイプ宣言が必要)
  • float, long, double のデータ型をサポートしない
  • int 型とポインタの混用は認められない
  • ビットフィールドをサポートしない
  • 他モジュールに対して有効な識別子の長さは 6 文字

C とアセンブラのリンクを行う場合には C の外部シンボル名の後に @ が必要です。また、アンダースコア (_) も @ に置き換えられますので、たとえば mainmain@ として、_exit@exit@ として参照しなければなりません。

『MSX-C Library』には MSX BASIC 互換の倍精度実数型 (XDOUBLE) と、符号付き long (SLONG) を扱うための数値演算関数パッケージが含まれています。

See also:

MSX-C と関連製品

『MSX-C』や『MSX PDT (Professional Development Tools)』シリーズに関する情報です。

PDT シリーズ

『MSX-C (ver1.1 以降)』を含む『MSX PDT (Professional Development Tools)』シリーズはパーソナルユース向けの製品で、開発したプログラムの販売、頒布はできない事になっていました。

販売・頒布向けには 『MSX-ISV キット』 を使って開発する必要がありました。

MSX-C のバージョン

『MSX-C』のバージョン毎による差異です。

MSX-C ver1.0 MSX-C ver1.1 MSX-C ver1.2
対象 OS MSX-DOS MSX-DOS MSX-DOS2
アセンブラ / リンカ M80.COM / L80.COM M80.COM / L80.COM
(別売: DOS TOOLS に付属)
M80.COM / L80.COM
(別売: DOS2 TOOLS に付属)
エディタ SCED.COM MED.COM
(別売: DOS TOOLS に付属)
AKID.COM / KID.COM
(別売: DOS2 TOOLS に付属)
デバッガ - SBUG.COM
(別売: S BUG に付属)
SBUG2.COM / SBUG2M.COM
(別売: S BUG2 に付属)
ライブラリ - 別売: MSX-C Library 別売: MSX-C Library
ニーモニック インテル ザイログ ザイログ
配布権 あり なし なし
発売日 1985/6下旬? 1987/8末? 1989/8?

See also:

MSX-C ver 1.1 での変更点

  • インテル・ニーモニックからザイログ・ニーモニックへ変更されました。
  • 標準ライブラリ関数に「longjmp, setjmp」の 2 種類の (サブルーチンの行き先から上位のルーチンに直接制御を戻すための) 関数が追加されました。
  • マニュアルが大幅に改良され、たいへん使いやすくなりました。
  • 標準ライブラリ関数の仕様を以下のように変更、標準 UNIX-C ライブラリである『V7 UNIX-C ライブラリ』に一層近付き使いやすくなりました。
  1. GETS, FGETS
    コンソール入力の場合、独自にシステムコールの文字列入力 (ファンクション 0AH) を使用していたのを、GETCを内部コールするように変更。

  2. GETC, FGETC
    コンソール入力の場合、独自にシステムコールの 1 文字列入力 (ファンクション 01H ) を使用していたのを、文字列入力 (ファンクション 0AH) を使用するように変更。これにより 1 文字入力でも編集作業が可能になりました。

  3. SCANF, FSCANF, SSCANF
    入力文字の区切り記号 (例 "%S ,%S") がスペースのみだったのが任意に指定が可能。
    入力文字が指定文字数を超えた場合、余った文字列が捨てられて、次の SCAN, GET で使用できなかったのが可能になりました。
    SCAN 中に "EOF" を検出した際に 1 つ以上フォーマット処理を行っていた場合、処理した "n" をフォーマット処理を完了していなかった場合には "EOF" をそれぞれ返すように変更。

  4. EXECL, EXECV
    EXEC を実行した際に、それまで入力されていた I/O リダイレクション、パイプライン、シーケンスなどのアーギュメントが "EXEC" で呼ばれたプログラムに渡らすに捨てられていたのを、"EXEC" で呼ばれたプログラムにも渡すように変更、これによりパイプライン、シーケンスなどのアーギュメント中のプログラムで "EXEC" を使用しても、"EXEC" で呼ばれたプログラムがシーケンス、パイプラインなどのアーギュメントを続行できるようになりました。
    "EXEC" で呼ばれたプログラム処理中でも ^C で中断して MSX-DOS に戻れるように変更。

『MSX Magazine』 1987 年 10 月号の「MSX MAGAZINE HOT LINE」より

製品と価格

『MSX-C』と関連製品の価格です。

製品 内容 価格
MSX-C ver1.0 C コンパイラ (アセンブラ、リンカ、エディタを含む) 1 ¥98,000
MSX-C ver1.1 C コンパイラ ¥19,800
(¥7,000)
MSX-DOS TOOLS アセンブラ、リンカ、エディタ等のツール 1 ¥14,800
(¥7,000)
MSX-S BUG シンボリックデバッガ ¥19,800
(¥6,000)
MSX-C ver1.2 C コンパイラ ¥19,800
(¥7,000)
MSX-DOS2 TOOLS アセンブラ、リンカ、エディタ等のツール 1 ¥14,800
(¥7,000)
MSX-S BUG2 シンボリックデバッガ (マッパー RAM 対応版含む) ¥19,800
(¥6,000)
MSX-C Library MSX 固有機能のための C ライブラリ ¥14,800
(¥7,000)
MSX-Datapack MSX / MSX2 / MSX2+ のスペックシート (Volume 1,2)
(サンプルディスク付属)
¥12,000
MSX-Datapack
turboR 版
MSX turboR のスペックシート (Volume 3)
(サンプルディスク付属)
¥12,000

※ 括弧 () 内は ソフトベンダー TAKERU での販売価格 (税込) です。

『MSX-C ver1.2』や対応する PDT シリーズは『MSX MAGAZINE 永久保存版 3』の CD-ROM または『MSX0 Stack』の SD カードに収録されています。

組み合わせ

『MSX-C』と関連製品の組み合わせです。

MSX MSX-DOS アセンブラ/
リンカ/エディタ
C コンパイラ C ライブラリ デバッガ
MSX1 MSX-DOS MSX-C ver1.0 MSX-C ver1.0
MSX1 MSX-DOS DOS TOOLS MSX-C ver1.1 MSX-C Library S BUG
MSX2 / 2+ MSX-DOS2 DOS2 TOOLS MSX-C ver1.2 MSX-C Library S BUG2

MSX-C ver1.2 ディスク内の実行ファイルは MSX-DOS2 上でしか動作しません。また、MSX-C ver1.2 標準ライブラリをリンクした実行ファイルは MSX-DOS2 上でしか動作しません。MSX-DOS2 は MSX2 以降でしか動作しないため、MSX-C ver1.2 では MSX1 で動作する実行ファイルを作れない事になります。

ドキュメント

『MSX-C』関連のドキュメントは「アカシックライブラリ」で読めます。会員登録していれば『MSX0 Stack』を未所持であっても製品マニュアルを無償で読む事ができます。

『MSX0 Stack』付属の SD カードにも各種ドキュメントが収録されています。

製品マニュアル

『MSX-C』や『MSX PDT』シリーズ関連の製品マニュアルです 2

製品 ドキュメント
MSX-DOS TOOLS ・ユーザーズマニュアル 1 (MSX-DOS TOOLS Manual)
・ユーザーズマニュアル 2 (MSX-DOS Manual)
・ユーザーズマニュアル 3 (M.E.D. Operation Manual)
・ユーザーズマニュアル 4 (Utility Software Manual)
MSX-C ver1.1 ・ユーザーズマニュアル
MSX-S BUG ・ユーザーズマニュアル
MSX-C Library ・ユーザーズマニュアル
MSX-DOS2 TOOLS ・ユーザーズマニュアル
MSX-DOS2 ・ユーザーズガイド
・リファレンスマニュアル
MSX-C ver1.2 ・ユーザーズマニュアル
MSX-S BUG2 ・ユーザーズマニュアル
MSX-Datapack ・Volume 1
・Volume 2
MSX-Datapack turboR 版 ・Volume 3

MSX マガジン

月刊誌『MSX マガジン』(アスキー) にも『MSX-C』に関連する連載があります 2

コンパイラに挑戦!?

大貫広幸氏による連載です。

掲載号 ページ 内容
1985/10 pp.196-199 MSX-C コンパイラ
1985/11 pp.196-199 コンパイラの基礎知識
1985/12 pp.212-214 いろいろなコンパイラ言語
1986/01 pp.204-206 ASM/FORTH
1986/02 pp.226-228 ASM/FORTH の構成と定義済みワードの解説
1986/03 pp.189-191 ASM/FORTH のコンパイルの実際
1986/04 pp.187-189 ASM/FORTH 今までの総まとめとカーネルの説明
1986/06 pp.193-197 ASM/FORTH でゲームを作る
1986/07 pp.193-196 ASM/FORTH でゲームを作る Part II
1986/08 pp.188-191 ASM/FORTH でゲームを作る Part III
1986/09 pp.188-190 ASM/FORTH の新しいグラフィックカーネル
1986/10 pp.195-198 各種コンパイラの紹介
1986/11 pp.187-190 BASIC コンパイラ (MSX べーしっ君)
1986/12 pp.215-217 BASIC コンパイラ (MSX べーしっ君) Part II

実践研究ディスクシステム - フロッピーディスク入門 -

小澤眞樹氏による連載です。

掲載号 ページ 内容
1987/01 pp.168-173 ぼくがディスクを使うわけ
1987/02 pp.168-173 MSX-DOS とディスク BASIC
1987/03 pp.170-175 MSX-DOS とその他の DOS
1987/04 pp.168-173 システムコールの互換性
1987/05 pp.152-157 MSX-DOS ツールズ・アセンブラ
1987/06 pp.150-155 MSX-DOS ツールズ
1987/07 pp.152-157 マクロアセンブラ MACRO80
1987/08 pp.152-157 M80 の疑似命令
1987/09 pp.152-157 M80 のマクロ機能
1987/10 pp.152-157 L80 とユーティリティ

実践研究ディスクシステム - DOS 上で動く言語入門 -

同じく小澤眞樹氏による連載です 3

掲載号 ページ 内容
1987/11 pp.168-173 MSX-C を使ってみよう (1)
1987/12 pp.160-165 MSX-C を使ってみよう (2)
1988/01 pp.184-189 MSX-S BUG 登場!!
1988/02 pp.152-157 MSX-C を使ってみよう (3)
1988/03 pp.172-177 MSX-C を使ってみよう (4)

実践研究ディスクシステム - C 言語入門 (番外編) -

永井健一氏による番外編です。

掲載号 ページ 内容
1988/05 pp.208-213 MSX で C をはじめよう!

MSX-DOS ツールズ詳解

短期連載です。

掲載号 ページ 内容
1987/11 pp.184-187 MSX-DOS の基本機能
1987/12 pp.172-175 ツールズのコマンド
1988/01 pp.196-199 リダイレクションとパイプ

日本語 MSX-DOS2

短期連載です。

掲載号 ページ 内容
1988/06 pp.130-131 ちょっと専門的な記事もあったりしてね
1988/07 pp.126-127 ファイルって何だか知ってるかな?
1988/08 pp.122-123 機種別の DOS2 傾向と対策を大公開
1988/09 pp.128-129 もうすぐあなたのお手元に

わくわく C 体験

MSX-C による C 言語講座です。

掲載号 ページ 内容
1990/06 pp.128-131 C してみたい人の新連載だ!
1990/07 pp.120-121 簡単なプログラムを組んでみよう
1990/08 pp.112-115 制御構造について考えてみよう
1990/09 pp.114-117 標準入出力って何だろう!?
1990/10 pp.112-115 ファイルと文字列操作について
1990/11 pp.122-123 ポインターの考え方にせまる
1990/12 pp.122-125 ポインターを使いこなそう
1991/01 pp.120-121 パラメーターをつかいこなそう!
1991/02 pp.120-121 ちょっと長めの応用プログラム
1991/03 pp.126-129 C 言語でゲームを作ってみよう
1991/06 pp.124-125 そろそろ C 体験もヤマ場かな!?

C の神様 (PROGRAM HOUSE)

MSX-C による C 言語講座です。

掲載号 ページ 内容
1991/07 pp.126-127 C 言語ってどんなもの?
1991/08 pp.129-131 C でツールを作る その 1
1991/09 pp.115-117 C でツールを作る その 2

MSX MAGAZINE HOT LINE

「MSX MAGAZINE HOT LINE」は巻末にある『MSX Magazine』のお知らせなのですが、たまに重要な事がさらっと書いてあったりします。ここでは開発ツールや MSX の情報に関連するものだけを抜粋します。

掲載号 内容
1986/04 ・(シフト・リセットの方法)
1986/12 ・(『月刊 Login』1986 年 11 月号には『べーしっ君』の特集が 6P 載っている)
1987/02 ・MSX 日本語ワードプロセッサ『日本語 MSX-Write』(対応プリンタ情報も)
1987/03 ・(ウィザードリィと Pascal)
1987/10 ・MSX-C コンパイラ・バージョンアップのお知らせ
・『MSX-C ver1.1』のご紹介
1987/12 ・MSX-C コンパイラについて

MSX TECHNICAL NOTE

MSX 全般の情報です。

掲載号 ページ 内容
1984/10 pp.187-196 ・コンピュータのしくみ
・MSX の構成
・スロットって何?
1984/11 pp.163-172 ・MSX のインターフェイス仕様
・命令一つでキーボードの配列を変える
・ジョイスティックコネクタは汎用ポート
1984/12 pp.182-191 ・カートリッジ・スロットの信号
・サウンド出力の方法
1985/01 pp.180-187 ・VDP を使ってみよう
・VDP のレジスタ
・MSX で通信
1985/02 pp.164-171 ・VDP Part II
・VDP の VRAM
・モードによるデータテーブルの配置
1985/03 pp.180-189 ・プリンタの使い方
1985/04 pp.175-182 ・読者からの Q&A
1985/05 pp.182-189 ・読者からの Q&A Part II
1985/06 pp.182-188
pp.189-191
・MSX を 2 台使ったデバッグシステム
・MCPC: 通信モードの設定と実際
1985/07 pp.180-185
pp.186-187
・BIOS の使い方 (スロット/入出力)
・MCPC: RS-232C のインストラクション
1985/08 pp.180-185
pp.186-187
・BIOS の使い方 (VDP)
・MCPC: 通信割り込みの実際 
1985/09 pp.182-187
pp.188-189
・BIOS の使い方 (キーボード)
・MCPC: MSX で電話をかけよう
1985/10 pp.182-187
pp.188-189
・BIOS の使い方 (ワークエリア)
・MCPC: 情報の正確さ
1985/11 pp.194-199
pp.200-201
・MSX-BASIC のフックアドレス
・MCPC: アマチュア無線とパソコン通信
1985/12 pp.204-211 ・MSX を使った受信システム
1986/01 pp.196-201
pp.202-203
・ボクだけのとっておき活用法
・MCPC: 書籍の紹介
1986/02 pp.202-207
pp.208-209
・ここがわからない MSX Q&A
・MCPC: RS-232C インターフェイスの実際
1986/03 pp.170-177
pp.178-179
・ここがわからない MSX Q&A
・MCPC: USART の中身
1986/04 pp.176-181
pp.182-183
・BASIC をマスターしよう
・MCPC: タイマー IC
1986/05 pp.193-197
pp.198-199
・ディスクシステム入門 (第 1 回)
・MCPC: パソコン通信に必要な機器
1986/06 pp.176-181 ・ディスクシステム入門 (第 2 回)
1986/07 pp.176-181 ・ディスクシステム入門 (第 3 回)
1986/08 pp.174-181 ・ディスクシステム入門 (第 4 回)
1986/09 pp.174-179 ・ディスクシステム入門 (第 5 回)
1986/10 pp.176-183 ・ディスクシステム入門 (第 6 回)
1986/11 pp.176-183 ・ディスクシステム入門 (第 7 回)
1986/12 pp.192-197 ・ディスクシステム入門 (最終回)
1987/01 pp.180-181
pp.182-183
・MSX2 の BIOS (第 1 回)
・Q&A: DOS からのサブ ROM コール
1987/02 pp.182-183
pp.184-185
・MSX2 の BIOS (第 2 回)
・Q&A: MSX2 アダプタの周辺
1987/03 pp.182-183
pp.184-185
・MSX2 の BIOS (第 3 回)
・Q&A: MSX2 アダプタの周辺・訂正補足
1987/04 pp.180-181
pp.182-183
・MSX2 の BIOS (第 4 回)
・Q&A: ディスクエラー
1987/05 pp.166-167
pp.168-169
・MSX2 の BIOS (第 5 回)
・Q&A: ハードウェア関係の疑問点
1987/06 pp.162-163
pp.164-165
・MSX2 の BIOS (第 6 回)
・Q&A: 漢字 ROM アクセス
1987/07 pp.164-165
pp.166-167
・MSX2 の BIOS (第 7 回)
・Q&A: BASIC 関係の疑問点
1987/08 pp.164-165
pp.166-167
・MSX2 の BIOS (第 8 回)
・Q&A:マウスとトラックボール
1987/09 pp.164-165
pp.166-167
・MSX2 の BIOS (最終回)
・Q&A: 裏 RAM の利用法
1987/10 pp.164-165
pp.166-167
・プリンタ入門 (第 1 回)
・Q&A: DOS 関係の疑問点
1987/11 pp.180-181
pp.182-183
・プリンタ入門 (第 2 回)
・Q&A: MSX-DOS 関係の疑問点
1988/01 pp.212-213
pp.214-215
・プリンタ入門 (最終回)
・Q&A: ON ERROR 命令
1988/02 pp.176-177
pp.178-179
・拡張 BIOS (第 1 回)
・Q&A: 物理ドライブを調べる方法
1988/03 pp.190-191
pp.192-193
・拡張 BIOS (第 2 回)
・Q&A: インタースロットコールの問題点など
1988/04 pp.206-209 ・拡張 BIOS (第 3 回)
1988/05 pp.214-217 ・拡張 BIOS (最終回)

MSX2+ テクニカル探検隊

MSX 全般の情報です。

掲載号 ページ 内容
1989/1 pp.148-151 ・スクリーンモードの巻
1989/2 pp.182-185 ・スロットって何だ?の巻
1989/3 pp.196-199 ・スロットの巻パート2
1989/4 pp.176-179 ・漢字 BASIC を解析
1989/5 pp.182-185 ・MSX-DOS2 の巻
1989/6 pp.178-181 ・DOS2 の紹介パート2
1989/7 pp.178-181 ・漢字プリンタを徹底解析
1989/8 pp.182-185 ・プリンタの奥は深いのだ
・Q&A: CP/M 関連他
1989/9 pp.164-167 ・プリンタを制御するには
・Q&A: MSX で連文節変換をするには
1989/10 pp.154-157 ・プログラミング環境の巻
1989/11 pp.172-175 ・走査線割り込みって何?
・Q&A: 拡張子について
1989/12 pp.172-177 ・走査線割り込みの実践だ
1990/01 pp.146-149 ・横スクロールと自然画だ
・Q&A: ディスクからの自動起動他
1990/02 pp.146-149 ・ビデオデジタイザー登場
・Q&A: MSX-C や MSX-DOS の権利問題は?他
1990/03 pp.142-145 ・光線銃を解剖してしまえ
1990/04 pp.126-129 ・コンピューター通信大研究
1990/05 pp.128-131 ・拡張 BIOS に迫るの巻
1990/06 pp.134-137 ・MSX を通信端末にする
1990/07 pp.124-127 ・FM 音源ってどんなもの
1990/08 pp.124-127 ・FM 音源をコントロール
1990/09 pp.120-123 ・FM 音源のデータ構造だ
1990/10 pp.118-121 ・これが最後の FM 音源だ
・Q&A: MSX-C と LSI C の違いについて他

MSX turboR テクニカル・アナリシス

短期連載のハズでしたが...?

掲載号 ページ 内容
1991/01 pp.114-117 複雑怪奇なメモリーマッパーと、拡張 BIOS に迫る
1991/02 pp.112-115 メモリーマッパーが管理する、RAM の状態をチェックする
1991/03 pp.116-119 マッパーサポートルーチンの詳細を大公開する
1991/04 pp.122-125 専用プリンター以外で MSX のリストを印字するツールを作成
1991/05 pp.114-117 MSX-DOS がたどってきた道を振り返る
1991/06 pp.118-121 日本語 MSX-DOS2 の内部に深く (?) 潜行する
1991/07 pp.116-119 DOS2 によって拡張された BASIC 命令を覚えちゃえ
1991/08 pp.120-123 バッチ、リダイレクション、そしてパイプ処理を研究する
1991/09 pp.102-105 MSX-C ver1.1 と ver1.2 の違いを中心に C コンバイラーを解説
1991/10 pp.96-99 対応機種による C 言語の微妙な違いを、徹底的に分析する
1991/11 pp.98-101 好評発売中の「テクニカル・ハンドブック」の
ゴメンナサイなのです
1991/12 pp.96-101 今月は 6 ページに拡張して、
A1GT のシステム情報をお届けする
1992/1 pp.90-95 MIDI 機能をマシン語レベルでコントロールする
1992/2 pp.98-101 高機能ディスクコピー命令 "DCOPY.COM" を紹介
1992/3 pp.96-99 メモリーマッパー、VRAM に対応した『DCOPY.COM』を紹介
1992/4 pp.66-71 (特別編) A1GT テクニカル・アナリシス
1992/5 pp.96-99 MSX-DOS2 のファンクションコールを紹介

単発記事

連載でない単発記事です。

掲載号 ページ 内容
1985/10 pp.94-95 これだけは知っておきたい MSX2 のこと
1985/11 pp.104-105 これだけは知っておきたい MSX2 のこと Part2
1988/10 pp.116-121 速報!! MSX2+
1988/12 pp.134-155 特集 MSX2+ なんでも情報
1989/06 pp.182-183 MSX-DOS2 TOOLS / MSX-S BUG2 / MSX-C ver1.2
1989/07 pp.182-185
pp.192-193
DOS2 ツールズ徹底解析
1990/10 pp.52-57 緊急速報 MSX turboR
1990/11 pp.44-71
pp.102-117
総力速報 MSX turboR
1990/12 pp.52-71
pp.104-117
オール ザット MSX turboR
1991/06 pp.50-65 DOS のすべてがわかる特集
1991/10 pp.42-55 DOS2 のすべてがわかる特集
永久保存版 3 pp.118-119 スタート!MSX-C

MSX・FAN

月刊 / 隔月刊誌『MSX・FAN』(徳間書店) にも『MSX-C』に関連する連載があります 4

世界で一番わかりやすい C 言語体験講座 C [siː]

飯田崇之氏による連載です。

掲載号 ページ 内容
1994/02 pp.52-53 ・第 1 回
1994/04 pp.38-39 ・第 2 回 ライブラリについて
1994/06 pp.56-57 ・第 3 回 関数の作り方、変数の使い方
1994/08 pp.48-49 ・第 4 回 自動変数について
1994/10 pp.52-54 ・第 5 回 ポインタについて
1994/12 pp.50-52 ・第 6 回 配列とポインタ
1995/02 pp.46-49 ・第 7 回 ヒープの活用 / 複数のソース
1995/04 pp.44-47 ・第 8 回 マシン語関数の作り方と使い方
1995/06 pp.44-47 ・第 9 回 標準ライブラリ関数の使い方
1995/08 pp.49-53 ・最終回 標準ライブラリ関数・完結編

書籍

『MSX-C』や『MSX PDT』シリーズに関連する書籍です。

タイトル 著者 ISBN-10
(Amazon)
出版年
MSX テクニカルデータブック 1
(ハードウェア・ソフトウェア仕様書)
ASCII・Microsoft FE 4871487202 1983/10/1
MSX テクニカルデータブック 2
(BIOS ソースリスト)
ASCII・Microsoft FE 4871487229 1983/10/1
MSX テクニカルデータブック 1 増補改訂版
(ハードウェア・ソフトウェア仕様書)
ASCII・Microsoft FE 4871487776 1985/3/1
V9938 MSX-VIDEO テクニカルデータブック ASCII・Microsoft FE・日本楽器製造 4871484157 1985/9/1
MSX2 テクニカル・ハンドブック ASCII・Microsoft FE 4871481948 1986/3/1
アスキー・ラーニングシステム
入門 C 言語
三田 典元 4871481956 1986/4/25
アスキー・ラーニングシステム
実習 C 言語
三田 典元 4871482278 1986/11/11
アスキー・ラーニングシステム
応用 C 言語
三田 典元 487148288X 1988/2/21
MSX Magazine Special パワーアップマシン語入門 瀬木 信彦(著), MSX マガジン編集部(編) 4871480429 1987/7/1
MSX-DOS スーパーハンドブック BITS 4871480453 1987/11/1
MSX-DOS 入門 中村 哲 4871482952 1988/3/1
MSX-DOS アセンブラプログラミング 蔭山 哲也 4871483037 1988/6/1
MSX2+ パワフル活用法 杉谷 成一 4871483452 1989/1/1
MSX-C 入門 上巻 桜田 幸嗣 4756100066 1989/7/1
MSX-C 入門 下巻 桜田 幸嗣, 染谷 哲人 4756100570 1990/12/1
MSX turboR テクニカル・ハンドブック 石川 直太 4756106218 1991/7/1
MSX MAGAZINE 永久保存版 アスキー書籍編集部 4756142109 2002/12/5
MSX MAGAZINE 永久保存版 2 アスキー書籍編集部 4756143741 2003/12/1
MSX MAGAZINE 永久保存版 3 アスキー書籍編集部 475614618X 2005/4/28
  • アスキー・ラーニングシステムの C 言語シリーズは『入門』以外、MSX-C には対応していません。『実習』は 8bit 環境だと LSI C-80 のみの対応 (MSX-C とほぼ同等なので役に立つとは思いますが) となっており、『応用』はほぼ MS-DOS / UNIX 環境用となっているため、あまり得られるものはないかもしれません。
  • アスキー・ラーニングシステムの C 言語シリーズには ANSI C 準拠の改訂新版がありますが、こちらは基本的に MSX-C を含む 8bit 環境 には対応していません。MSX-C 用の参考資料ならば、改訂前の『入門』と『実習』がいいと思います。
  • 『MSX-DOS スーパーハンドブック』にはアセンブラ (ASM.COM) ・デバッガ (BUG.COM) ・高機能モニタ (MON.COM) ・エディタ (PED.COM) が掲載されています。
  • 『MSX マガジン』1986 年 8 月号 には『MSX2 テクニカルハンドブック』の正誤表が載っています (pp.192-193)。
  • 『MSX MAGAZINE 永久保存版』には MSX-DOS や MSX-BASIC に関する記事があります。CD-ROM には『MSX-DOS スーパーハンドブック』の一部抜粋版 PDF が含まれています。
  • 『MSX-C 入門 下巻』掲載のソースコードは https://github.com/sndpl/msx-c-intro/ にあるようです。
  • 『MSX MAGAZINE 永久保存版 2』には MSX-DOS2 や MSX-BASIC に関する記事があります。
  • 『MSX MAGAZINE 永久保存版 3』には BIOS や ワークエリアに関する記事があります。CD-ROM には誌面の都合で載っていない FM BIOS / OPLL レジスタ / VDP の機能 / VRAM マップ の記事や『MSX-C 入門』上下巻 (下巻は一部抜粋) の PDF が含まれています。
  • 『MSX MAGAZINE 永久保存版』には特設サイトが用意されていました。MSX PLAYer 等のパッチがダウンロード可能です。

『MSX-DataPack (Volume 1, 2)』及び『MSX-DataPack turboR 版 (Volume 3)』は書籍ではありません。

国立国会図書館デジタルコレクション

MSX の書籍の一部は国立国会図書館デジタルコレクションで読む事が可能です。

image.png

アスキーの書籍だけでも現時点 (2024/04) で 20 冊あり、その中に『MSX テクニカルデータブック 1, 2』や『MSX2 テクニカル・ハンドブック』が含まれています。

その他にも Z80 や VDP (TMS9918A) に関する資料等が閲覧できます。イロイロ検索してみてください。

書籍の閲覧には国立国会図書館の利用者登録 (本登録) が必要です。

広告

『MSX マガジン』に掲載されていた MSX-C や PDT シリーズの広告です (一部記事)。

MSX-DOS

『MSX マガジン』1984 年 10 月号

image.png

MSX-C ver1.0

『MSX マガジン』1985 年 7 月号

image.png

MSX-DOS TOOLS

『MSX マガジン』1987 年 4 月号

image.png

MSX-S BUG / MSX-C ver1.1

『MSX マガジン』1987 年 9 月号 「SOFT INFORMATION」p.144

image.png

MSX-S BUG / MSX-C ver1.1 / MSX-DOS TOOLS

『MSX マガジン』1987 年 10 月号

image.png

MSX-DOS TOOLS / MSX-S BUG / MSX-C ver1.1 / MSX-C Library

『MSX マガジン』1988 年 3 月号

image.png

MSX-DOS2

『MSX マガジン』1988 年 9 月号

image.png

MSX-DOS2 TOOLS / MSX-S BUG2 / MSX-C ver1.2

『MSX マガジン』1989 年 6 月号 pp.182-183

image.png

MSX-DOS2 / MSX-DOS2 TOOLS / MSX-S BUG2 / MSX-C ver1.2

『MSX マガジン』1989 年 8 月号

image.png

MSX-Datapack / MSX-Datapack turboR 版

『MSX マガジン』1992 年 5 月号

image.png

MSX PDT シリーズ Q&A

MSX PDT (Professional Development Tools) シリーズの広告には Q&A が掲載されていました。

No. 掲載号
Q1, Q2 『MSX マガジン』1988 年 3 月号
Q3, Q4 『MSX マガジン』1988 年 4 月号
Q5, Q6 『MSX マガジン』1988 年 5 月号

Q1 TOOLS を買うと何ができるんですか?

A1 「MSX-DOS TOOLS」はアセンブリ言語を使ってプログラム開発をおこなう方のためのツールソフトウェアパッケージです。ですから、ゲームやワープロのようなアプリケーションプログラムのように、フロッピーディスクを差し込むだけでソフトの方で勝手に何かやってくれるというものではありません。

(TOOLS のできること)

  • プログラム開発
    アセンブリ言語を使える人はアセンブリ言語を使って、C コンパイラを持っている人は C 言語を使って本格的にプログラム開発を行うことができます。
  • プログラミング学習
    工デイタでプログラムを書いて、アセンブラやリンカを使って実行可能プログラムを作成、というような本格的なプログラミングを安価に学習することができます。
  • DOS の学習
    MSX-DOS のコマンド名やその機能は 16 ビット用の MS-DOS と共通なものがたくさんあります (DIR でファイルのサイズや日付を表示したり、バッチファイルを作ったり等々)。そのため MSX-DOS を知ることで、MS-DOS の操作に慣れることができます。

このほかにも様々なことができますが、詳細は MSX マガジン ('87.11~'88.1 月号) の短期重点連載「MSX-DOS ツールズ詳解」をご参照下さい。

Q2 16 ビットマシン用の C と MSX-C はどこが違うのですか?

A2 C 言語の文法等、基本的なことはまったく同じです。ですから、マシンの価格の安い MSX は C 言語の学習のためには最適ですし、実際に C 言語の学習のために MSX-C を購入なさる方も増えています。機能的には次のような点が異なります。

  • MSX-C は浮動小数点演算、LONG 型演算、ビットフィールドを持っていません。(浮動小数点演算、LONG 型演算は「MSX-C Library」 で行うことができます)
  • 通常の C コンパイラは直接オブジェクトコードを生成しますが、MSX-C はアセンブラで書かれたソースプログラムを生成します。このため、アセンブラ以外でのプログラム開発が困難であったシステムプログラムや ROM プログラム等の C 言語による開発が可能となりました。ただし実行可能なプログラムを作成するには「MSX-DOS TOOLS」に含まれているマクロアセンブラ等のユーティリティソフトウェアが必要となります。

このほか様々な特徴がありますが、詳細は MSX マガジン ('87.11~'87.12 月号、'88.2 月号) の実践研究「ディスクシステム」をご参照下さい。

Q3 ライブラリがあると何かいいことがあるんですか?

A3 MSX-C Ver 1.1 はサブセットの C コンパイラですから、Long 型演算や倍精度実数演算はサポートされていません。また、MSX-C 付属の標準ライブラリにはグラフィック関数や BIOS コールの関数などはありません。つまり、精度の高い数値演算やグラフィックスを多用したソフトウェアをつくるためには、その部分をマシン語でつくる必要があります。

MSX-C Library ではこれらのライブラリを合計 199 種類もサポートしていますから、例えばグラフィックならば線画や塗りつぶしはもちろんのことスプライトを動かしたり、マウスやプリンタを制御するのも C 言語だけでプログラミングできます。

Q4 テバッガって何に使うんですか?

A4 プログラムを開発したことがある方なら誰でも、完成したはずのプログラムがうまく走らないという経験を持っていることでしよう。どんなに優秀なプログラマだって、バグなし一発でプログラムを完成させるのは非常に難しいことです。

そんな時はソースプログラムに戻って最初からプログラムの細部を再検討するという作業が必要です。でもデバッガがあれば、実行可能プログラムを直接メモリに読み込んで、その内容を目に見える形に表示したり、あるいは実際にプログラムの一部を実行させながらバグの原因を効率的に発見していくことができます。

MSX-S BUG は PDT シリーズのデバッガです。詳細は MSX マガジン '88.1 月号の実践研究「ディスクシステム」をご覧下さい。

Q5 ライブラリにはいくつの関数があるんですか?

A5 MSX-C Library は以下の関数 (合計 199 種類) をサポーしています。

  • グラフィック関数パッケージ (41 種類)
    線画や塗りつふし、スプライト、VDP のアクセスなど MSX パソコンの優れたグラフィック機能を幅広くサポートしています。
  • 数値演算関数パッケージ (56 種類)
    MSX-C ではサポートされていない LONG 型の四則演算を行なうための関数と、MSX-BASIC と同様の倍精度実数型の演算を行なう関数です。
  • その他の関数 (39 種類)
    スロット間コールの関数、マウスやプリンタなどを扱う関数。
  • カーソル制御 (MSX-CURSES) 関数パッケージ (63 種類)
    CURSES (カーサス) とはミニコンピュータ用の OS である UNIX がサポートしているコンソール画面への文字表示やキャラクタウインドウをサポートする関数です。MSX-CURSES はサブセット (一部分) ながら CURSES の仕様を MSX-DOS 上で実現するものです。

Q6 ライブラリって MSX2 専用なんですか?

A6 そんなことはありません。MSX-C Library は RAM を 64K バイト以上搭載した MSX パソコンならば MSX, MSX2 にかかわらず使用することができます。ただし、スクリーンモードや色の数、インターレースなど MSX2 にしかない機能を使う関数の中には、MSX では使用できないものや機能が制限されるものがあります。ライブラリに用意されている 199 種類の関数のうち MSX2 専用の関数が 9 種類、機能が制限される関数が 9 種類あります。

MSX2+ テクニカル探検隊 Q&A

Q1 MSX-C や MSX-DOS の権利問題は?

MSX マガジン 1990 年 2 月号の「MSX2+ テクニカル探検隊 Q&A」p.149 より。

MSX-C には、開発したプログラムを商品や PDS にする権利が付いていないというけど、"ソフトウェアコンテスト" に応募はできるのかな。

また、MSX-DOS や DOS TOOLS についてはどうでしよう?システムソフトの『上海Ⅱ』は MSX-DOS で動いているようですけど、これはなぜですか?

A1 ソフトウェアコンテストへ応募すること自体には問題ないはずだけど、採用されたソフトウェアが商品化または雑誌や書籍で公開されることになると、商品にする場合と同じ制限が課せられる。

解決策としては、まずソースリストを掲載すること。MSX-C でコンパイルしたオブジェクトプログラムには商品化の制限があるけど、ソースリストの公開には問題がないんだ。また、"MSX-ISV キット" を持つ出版社などにコンパイルし直してもらうことでも、商品化の権利が発生するぞ。

PDS に関しては、オブジェクトプログラムを公開する権利が、最近になって認められた。営利目的でないものなら、自由にネットワークにアップすることができる。

また MSX-DOS や DOS2 などを使って開発されたプログラムの販売には、制限がない。ただし、商品にMSX-DOS を組み込むためには、特別の使用料を払って契約する必要がある。『上海Ⅱ』などの場合も、発売元がアスキーから MSX-DOS を組み込む権利を買っているというわけなんだね。

MSX-ISV キットと MSX-DOS の商品への組み込みの契約などに関しては、下記の連絡先までお問い合わせください。

株式会社アスキー MSX 推進部
☏ 03-xxxx-xxxx

Q2 '89 年 10 月号の MSX マガジンで紹介された LSI Cと、一般に販売されている MSX-C との違いについて、くわしく教えてください。機能面での違いは、どういったものなのでしよう。

MSX マガジン 1990 年 10 月号の「MSX2+ テクニカル探検隊 Q&A」pp.120-121 より。

A2 表にまとめてみたのが、LSI C と MSXーC との違いの概略。なかでも LSI C 最大の売りといえるのは long、float、double の演算と、ANSI 規格案に対応しているということだ。

MSX-C LSI C
(CP/M セルフ)
LSI C
(CP/M クロス)
MS-DOS 用
long
float
double
void
enum
なし あり あり あり
char の符号 unsigned unsigned unsigned 選択可能
char と char の演算 char char 選択可能 int
プロトタイプ宣言 なし あり あり あり
ビットフィールド なし なし なし あり
構造体代入 なし あり あり あり
構造体渡し なし あり あり あり
MSX 用ライブラリー あり なし なし なし
オブジェクトの販売 禁止 許可 許可
価格(税別) 19,800円 98,000円 98,000円
メディア
(フォーマット形式)
3.5 inch 1DD

MSX-DOS
5 inch 2D/2DD
8 inch 1S/2D
CP/M
3.5 inch 2HD
5 inch 2HD
MS-DOS
コンパイル環境 MSX CP/M (MSX) MS-DOS MS-DOS

表の右の MS-DOS 用とは、 MS-C、Turbo C、Lattice C などの、MS-DOS 用の一般的な C コンパイラーを指したもの。価格やメディアなどは製品によって違ってくるので、表には記載していない。また、オブジェクトの販売とは、C コンパイラーで開発したプログラムを、販売する権利の有無を指している。

おわりに

MSX-C ver1.1 / 1.2 の配布権については『MSX Magazine』の広告や記事に後出し的に載っており、毎号買っていたとしてもよくわからなかったんじゃないかと思います。

  • MSX-C ver1.0 にはライブラリを含んだ成果物 (バイナリ) の配布権がある
  • MSX-C ver1.1 / 1.2 にはライブラリを含んだバイナリの配布権がない
  • MSX-C ver1.1 / 1.2 で作られたライブラリを含むソフトウェアを販売/頒布するには MSX-ISV キットでコンパイルする必要がある
  • ソースコードでの公開に制限はない (そりゃそうだ)
  • PDS (著作権を放棄したソフトウェア) に関しては 1990 年以降、ライブラリを含んだバイナリの頒布に制限はない

『MSX マガジン永久保存版 3』または『MSX0 Stack』を所持していれば配布権に関する制約はないようです。

See also:

  1. ディスクにはシステムが転送されているため、ディスクから MSX-DOS (MSX-DOS2 TOOLS は MSX-DOS2) が起動可能です。 2 3

  2. 「アカシックライブラリ」で会員登録を済ませていれば無料で読む事ができます。 2

  3. 目次と記事内の小見出しで表記ゆれ (C 言語を始めよう or MSX-C を使ってみよう or MSX-C の使い方) があります。

  4. 『MSX・FAN』は 1993 年 3 月より隔月刊です。

51
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?