ホーム
おまかせ表示
ログイン
設定
MonoBookについて
免責事項
MonoBook
検索
「
MSXのワークエリア
」を編集中
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
[[MSX]]は1980年代に主に日本で普及した[[8ビットコンピュータ]]の規格で、その[[メモリ空間]]には特定の目的のために予約された「ワークエリア」と呼ばれる領域が多数存在します。これらのワークエリアはシステム変数の保存、ハードウェア制御、ユーザープログラムの実行などに使用されます。 == システム変数領域 == システム変数領域はMSX BASICやBIOSが使用する重要なメモリ領域で、主にRAMの特定アドレスに配置されています。 {| class="wikitable" |+ MSXシステム変数領域 |- ! アドレス !! 名称 !! サイズ(バイト) !! 説明 |- | F380H-F384H || INTFLG || 5 || 割り込みフラグ領域 |- | F385H || JIFFY || 2 || タイマー変数([[VBLANK]]ごとに更新。通常は1/60秒ごとに更新) |- | F3AEH-F3AFH || GRPHED || 2 || GRAPHICコマンドのパラメータを保存 |- | F3B0H || KEYBUF || 40 || キーボード入力バッファ |- | F3DEH || LINLEN || 1 || 画面の1行あたりの文字数 |- | F3DFH || CRTCNT || 1 || 画面の行数 |- | F3E0H-F3E1H || CNSDFG || 2 || ファンクションキー表示フラグ |- | F3E2H-F3E3H || LPTPOS || 2 || プリンタのヘッド位置 |- | F3E9H || SCREEN || 1 || 現在の画面モード |- | F3EAH || OLDSCR || 1 || 以前の画面モード |- | F3EBH-F3ECH || CASPRV || 2 || カセットの読み込み/書き込みフック |- | F3F5H || FORCLR || 1 || 前景色 |- | F3F6H || BAKCLR || 1 || 背景色 |- | F3F7H || BDRCLR || 1 || 境界色 |} == BIOS作業エリア == MSX BIOSが使用する重要なメモリ領域です。 {| class="wikitable" |+ MSX BIOS作業領域 |- ! アドレス !! 名称 !! サイズ(バイト) !! 説明 |- | F661H || INTVAL || 2 || USRコマンドの整数パラメータ |- | F663H-F664H || INTFLG || 2 || ON ERROR GOTO行番号 |- | F665H-F666H || SAVSTK || 2 || BASIC実行時のスタックポインタ保存領域 |- | F674H || PTRFIL || 2 || ファイルポインタのアドレス |- | F676H || FILNAM || 11 || 現在操作中のファイル名 |- | F6A1H || DRIVEL || 1 || 現在のドライブ |- | F6C5H || NLONLY || 1 || 0以外ならLOADコマンドで自動実行しない |- | F6C6H || SAVEND || 2 || BASIC保存領域の終了アドレス |- | F6E8H-F6E9H || MAXFIL || 2 || ファイル番号の最大値 |- | F7C5H-F7F4H || FNKSTR || 160 || ファンクションキー文字列(10個×16文字) |} == VDP関連領域 == VDP(Video Display Processor)の制御に関するワークエリアです。 {| class="wikitable" |+ VDP関連ワークエリア |- ! アドレス !! 名称 !! サイズ(バイト) !! 説明 |- | F3B6H || SCRMOD || 1 || 現在の画面モード |- | F3B7H || OLDSCR || 1 || キー入力待ち時の画面モード |- | F3B8H || CASPRV || 2 || カセットの以前の値 |- | F3DCH || TXTNAM || 2 || パターンネームテーブルベースアドレス |- | F3DEH || TXTCGP || 2 || パターンジェネレータテーブルベースアドレス |- | F3E0H || TXTCOL || 2 || カラーテーブルベースアドレス |- | F3E2H || TXTATT || 2 || スプライトアトリビュートテーブルベースアドレス |- | F3E4H || TXTPAT || 2 || スプライトパターンジェネレータベースアドレス |- | F3E6H || T32NAM || 2 || スクリーン1のパターンネームテーブルベースアドレス |- | F3E8H || T32COL || 2 || スクリーン1のカラーテーブルベースアドレス |- | F3EAH || T32CGP || 2 || スクリーン1のパターンジェネレータテーブルベースアドレス |- | F3ECH || T32ATT || 2 || スクリーン1のスプライトアトリビュートテーブルベースアドレス |- | F3EEH || T32PAT || 2 || スクリーン1のスプライトパターンジェネレータベースアドレス |} == I/Oポート領域 == MSXのハードウェア制御に使用するI/Oポートアドレスです。 {| class="wikitable" |+ MSX I/Oポート |- ! ポートアドレス !! 名称 !! 説明 |- | 98H || VDP データポート || VDPへのデータ書き込み/読み取り |- | 99H || VDP コマンドポート || VDPへのコマンド/アドレス送信 |- | A0H || PSG レジスタ選択 || PSGレジスタ番号の指定 |- | A1H || PSG データ書き込み || PSGレジスタへのデータ書き込み |- | A2H || PSG データ読み取り || PSGレジスタからのデータ読み取り |- | A8H || PPI ポートA || プライマリスロット選択レジスタ |- | A9H || PPI ポートB || キーボードマトリクス行選択 |- | AAH || PPI ポートC || キーボード読み取り、カセットモーター制御 |- | ABH || PPI モード制御 || PPIモード設定 |- | FCH-FFH || メモリマッパー || メモリマッパー制御(MSX2以降) |} == PSG関連領域 == 音声生成に使用するPSG(プログラマブルサウンドジェネレーター)関連のレジスタです。 {| class="wikitable" |+ PSGレジスタ |- ! レジスタ番号 !! 名称 !! 説明 |- | 0 || チャンネルA周波数(低) || チャンネルAの周波数下位8ビット |- | 1 || チャンネルA周波数(高) || チャンネルAの周波数上位4ビット |- | 2 || チャンネルB周波数(低) || チャンネルBの周波数下位8ビット |- | 3 || チャンネルB周波数(高) || チャンネルBの周波数上位4ビット |- | 4 || チャンネルC周波数(低) || チャンネルCの周波数下位8ビット |- | 5 || チャンネルC周波数(高) || チャンネルCの周波数上位4ビット |- | 6 || ノイズ周期 || ノイズジェネレータの周期 |- | 7 || ミキサー/IOイネーブル || チャンネルの有効/無効設定 |- | 8 || チャンネルA音量 || チャンネルAの音量(0-15) |- | 9 || チャンネルB音量 || チャンネルBの音量(0-15) |- | 10 || チャンネルC音量 || チャンネルCの音量(0-15) |- | 11-12 || エンベロープ周期 || エンベロープジェネレータの周期 |- | 13 || エンベロープシェイプ || エンベロープの形状 |- | 14-15 || I/Oポート || 汎用I/Oポート(MSXでは使用されない) |} == メモリマップ == MSXのメモリマップ全体の概要です。 {| class="wikitable" |+ MSXメモリマップ |- ! アドレス範囲 !! 用途 !! 説明 |- | 0000H-3FFFH || メインROM || BIOS、BASIC |- | 4000H-7FFFH || 拡張ROM/RAM || カートリッジROMまたはRAM |- | 8000H-BFFFH || カートリッジ領域 || ROM/RAMカートリッジ |- | C000H-F37FH || RAM || ユーザーエリア |- | F380H-F3FFH || システム変数 || システム管理用 |- | F400H-FFFFH || システム領域 || その他のシステム変数/ワークエリア |} == フック領域 == MSXのシステム拡張に使用されるフック(ジャンプテーブル)領域です。 {| class="wikitable" |+ MSXフック領域 |- ! アドレス !! 名称 !! 説明 |- | FD9AH || H.KEYI || 割り込みフック |- | FD9FH || H.TIMI || タイマー割り込みフック |- | FDA4H || H.CHPU || 文字表示フック |- | FDA9H || H.DSPC || 画面表示フック |- | FDAEH || H.ERAC || 画面消去フック |- | FDB3H || H.DSPF || 関数表示フック |- | FDB8H || H.ERAF || 関数消去フック |- | FDBDH || H.TOTE || グラフィック座標計算フック |- | FDC2H || H.CHGE || 文字属性変更フック |- | FDC7H || H.INIP || 入力デバイス初期化フック |- | FDCCH || H.KEYC || キー入力フック |- | FFE7H || H.LOPD || ディスクシステム読み込みフック |- | FFECH || H.SAVE || SAVEコマンドフック |- | FFF1H || H.LOAD || LOADコマンドフック |} == 備考 == MSXは構造化されたメモリシステムを持ち、多くのワークエリアが様々な機能のために予約されています。これらのワークエリアを理解し活用することで、MSXのハードウェア機能を最大限に利用したプログラミングが可能になります。特にゲーム開発やデモプログラムでは、VDPやPSG関連のワークエリアを直接操作することで、高度なグラフィックやサウンド効果を実現することができます。 このリストは主要なワークエリアのみを示しており、MSXの全仕様を網羅しているわけではありません。詳細な技術情報についてはMSXの技術マニュアルや開発者ドキュメントを参照することをお勧めします。 [[category: MSX]]
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)