MSX2 テクニカルハンドブック
テクハンwiki化計画
このページ(とこのページからのリンク)に掲載しているものは、gigamixさんのサイトで実行されている「MSX書籍打ち込み計画?」で作成された、MSX2テクニカルハンドブックのテキストデータをwikiに載せてみる実験です。条件等は「MSX書籍打ち込み計画?」と同じで、ここに記載してあるすべての権利は、現在MSXアソシエーションにあります(たぶん)。MSXアソシエーションの要請によってはサクッと削除される可能性があります。
基本的にできる限り原本を再現することを優先していますが、wikiというかHTMLとしての見やすさを考慮して一部修正を加えています。図にSVGを使用しているため、IEではプラグインをインストールしないと表示されません。以下のリンクからダウンロードしてください。
何故SVGなのかといえば、簡単な図形であればテキストエディタのみで他にツールも必要ないし、修正が手軽にできると思ったからです。本当はwikiでSVGを記述することを考えていたのですが、自分にはその修正は無理だと判断したので、とりあえずイメージと同じように添付して表示するという方法を取っています。まぁ、気が変わってgifとかpngとかに変えるかもしれませんが、、、、
図は書き始めたばかりなのでほとんどありません。
まえがき
第1部 MSX2システム概要
- 1章 MSX1からMSX2へ
- 1.1 MSX とは
- 1.2 MSXの環境と拡張性
- 1.3 MSX2での拡張内容
- 2章 MSX2システム概要
- 2.1 ハードウェア概要
- 2.1.1 アドレスマップ
- 2.1.2 周辺機器とのインターフェイス
- 2.2 ソフトウェア概要
- 2.1 ハードウェア概要
第2部 BASIC
- 2章 MSX BASIC ver2.0 の変更点
- 2.1 スクリーンモードに関する追加、変更
- 2.2 カラーの指定に関する追加、変更
- 2.3 文字の表示に関する追加、変更
- 2.4 グラフィックスの表示に関する追加、変更
- 2.5 VDPのアクセスに関する追加、変更
- 2.6 画像データの保存に関する追加、変更
- 2.7 スプライトに関する追加、変更
- 2.8 オプション機能に関する追加
- 2.9 時計機能に関する追加
- 2.10 メモリスイッチ機能に関する追加
- 2.11 RAMディスク機能に関する追加
- 2.12 その他の追加機能
- 3章 BASICの内部構造
- 3.1 ユーザーエリア
- 3.2 ユーザーエリアの詳細
- 3.3 BASICプログラムの格納形式
- 4章 マシン語とのリンク
- 4.1 USR関数
- 4.2 USR関数の引数と戻り値によるデータの受け渡し
- 4.3 命令の増設
- 4.4 CMD命令の拡張
- 4.5 割り込み使用法
第3部 MSX-DOS
- 1章 概要
- 1.1 MSX-DOS の特徴
- 1.2 MSX-DOS の使用環境
- 1.3 MSX-DOS のシステム資源
- 2章 操作
- 2.1 基本的な操作
- 2.2 内部コマンド
- 2.3 バッチコマンドの使用法
- 2.4 外部コマンド
- 3章 ディスクファイルの構造
- 3.1 ディスク上のデータ単位
- 3.2 ファイルのアクセス
- 4章 システムコールの使用法
- 4.1 周辺装置との I/O
- 4.2 環境の設定と読み出し
- 4.3 アブソリュート READ/WRITE (セクタの直接アクセス)
- 4.4 FCB を用いたファイルアクセス
第4部 VDPと画面表示
- 1章 MSX-VIDEOの構成
- 1.1レジスタ
- 1.2 VRAM
- 1.3 I/Oポート
- 2章 MSX-VIDEOのアクセス
- 2.1 レジスタのアクセス
- 2.1.1 コントロール・レジスタへのデータ書き込み
- 2.1.2 パレットの設定
- 2.1.3 ステータス・レジスタの読み出し
- 2.2CPUからのVRAMアクセス
- 2.1 レジスタのアクセス
- 3章 MSX2の画面モード
- 3.1 TEXT1モード
- 3.1.1 TEXT1モードの設定
- 3.1.2 TEXT1モードの画面構造
- 3.1.3 画面の色の指定
- 3.2 TEXT2モード
- 3.2.1 TEXT2モードの設定
- 3.2.2 TEXT2の画面構造
- 3.2.3 画面の色と文字のブリンク指定
- 3.3 MULTI COLORモード
- 3.3.1 MULTI COLORモードの設定
- 3.3.2 MULTI COLORモードの画面構造
- 3.3.3 MULTI COLORモードの画面の色の指定
- 3.4 GRAPHIC1モード
- 3.4.1 GRAPHIC1モードの設定
- 3.4.2 GRAPHIC1モードの画面構造
- 3.4.3 画面の色の指定
- 3.5 GRAPHIC2、3モード
- 3.5.1 GRAPHIC2、3モードの設定
- 3.5.2 GRAPHIC2、3モードの画面構造
- 3.5.3 画面の色の指定
- 3.6 GRAPHIC4モード
- 3.6.1 GRAPHIC4モードの設定
- 3.6.2 GRAPHIC4モードの画面構造
- 3.6.3 画面の色の指定
- 3.7 GRAPHIC5モード
- 3.7.1 GRAPHIC5モードの設定
- 3.7.2 パターンネーム・テーブル
- 3.7.3 画面の色の設定
- 3.8 GRAPHIC6モード
- 3.8.1 GRAPHIC6モードの設定
- 3.8.2 パターンネーム・テーブル
- 3.8.3 画面の色の指定
- 3.9 GRAPHIC7モード
- 3.9.1 GRAPHIC7モードの設定
- 3.9.2 パターンネーム・テーブル
- 3.9.3 画面の色の指定
- 3.1 TEXT1モード
- 4章 画面表示に関する諸機能
- 画面のON/OFF
- 画面表示位置の補正
- Y方向ドット数の切り換え
- 表示ページの切り換え
- 画面の自動交互表示
- インターレースモードの設定
- 画面の縦方向スクロール
- 色コード0の機能設定
- 走査線位置による割り込みの発生
- 5章 スプライト
- 5.1 スプライトの機能
- 5.2 スプライトモード1
- 5.2.1 最大表示数
- 5.2.2 スプライト表示のための諸設定
- 5.2.3 スプライトの衝突判定
- 5.3 スプライトモード2
- 5.3.1 最大表示数
- 5.3.2 スプライト表示のための諸設定
- 5.3.3 スプライトの衝突判定
- 6章 VDPコマンドの使用法
- 6.1 VDPコマンドの座標系
- 6.2 VDPコマンドの種類
- 6.3 ロジカルオペレーション
- 6.4 領域指定
- 6.5 各コマンドの使用法
- 6.5.1 HMMC(CPU→VRAM高速転送)
- 6.5.2 YMMM(Y軸方向のVRAM問高速転送)
- 6.5.3 HMMM(VRAM問高速転送)
- 6.5.4 HMMV(長方形の高速塗りつぶし)
- 6.5.5 LMMC(CPU→VRAM論理転送)
- 6.5,6 LMCM(VRAM→CPU論理転送)
- 6.5.7 LMMM(VRAM→VRAM論理転送)
- 6.5.8 LMMV(VRAM論理塗りつぶし)
- 6.6 コマンドの高速化
- 6.7 コマンド終了時のレジスタの状態
第5部
- 1章 PSGと音声出力
- 1.1 PSGの機能
- 1.2 PSGのアクセス
- 1.3 1ビットサウンドポートによる音声発生機能
- 1.4 1ビットサウンドポートのアクセス
- 2章 カセット・インターフェイス
- 2.1 ボーレート
- 2.2 1ビットの構成
- 2.3 1バイトの構成
- 2.4 ヘッダの構成
- 2.5 ファイルのフォーマット
- 2.6 カセットファイルのアクセス
- 3章 キーボード・インターフェイス
- 3.1 キー配列
- 3.2 キースキャン
- 3.3 文字の入力
- 3.4 ファンクションキー
- 3.5 割り込み中のSTOPキー
- 4章 プリンタ・インターフェイス
- 4.1 プリンタ・インターフェイスの概要
- 4.2 MSX仕様のプリンタへの出力
- 4.3 MSX仕様以外のプリンタへの出力
- 4.4 プリンタのアクセス
- 5章 汎用入出力インターフェイス
- 5.1 ポートの機能
- 5.2 ジョイスティックの使用法
- 5.3 パドルの使用法
- 5.4 タッチパネル、ライトペン、マウス、トラックポールの使用法
- 6章 CLOCKとバッテリバックアップ・メモリ
- 6.1 CLOCK-ICの機能
- 6.2 CLOCK-ICの構造
- 6.3 MODEレジスタの機能
- 6.4 TESTレジスタの機能
- 6.5 RESETレジスタの機能
- 6.6 クロックおよびアラームの設定
- 6.7 バッテリバックアップ・メモリの内容
- 6.8 CLOCK-ICのアクセス
- 7章 スロットとカートリッジ
- 7.1 スロット
- 7.1.1 基本スロットと拡張スロット
- 7.1.2 スロットの選択
- 7.2 インタースロットコール(スロット間コール)
- 7.2.1 インタースロットコールの動作
- 7.2.2 インタースロットコールの使用法
- 7.3 カートリッジソフトの作成法
- 7.3.1 カートリッジ・ヘッダ
- 7.3.2 カートリッジ用ソフトの作成に関する諸注意
- 7.1 スロット