テク = 才 マ ニュ Technical Manual 監修 ・ シ ステ ム ソ フ ト BNN 第 ら 企 画 部 編 EUnet ay が 0 に | INEC パ ー ソ ナル コン ピュ ー タ PC-8800 コ リー ズ 詞 写 PC-88 『 ャ NS PC-88VA Technical Manual 監修 ・ シ ステ ム ソ フ ト BNN 第 企画 部 編 Bug News Network gS ET NI Or i ET SN に i sw Gx 人 ご SA うお uc て TLE うる リー AV88- つ SUG 棚 iBTOST の と うい 本 で で 1 1 21E osetia o- ” は じ め に 長い あい だ 8 ビッ トペ パーソ ナル コン ピュ ー タ の 代表 格 と し て 多く の ユー ザ に 親しま れ て きた PC -88 シ リー ズ の 最上 位 機種 と し て 16 ビッ ト の CPU を 持つ マシ ン が 昭和 62 年 春 に リリ ー ス され まし た だ. 「PC-88VA」 で す . この マシ ン は , PD9002 と 呼ば れる 日 本 電気 が 独自 に 開発 し た 16 ビッ ト CPU を 搭載 し て お り , PC-88 シリ ー ズ の ライ ン ア ッ プ と し て は 初め て の 16 ビ ッ ト パ ソコ ン と し て 大 き な 注 目 を 集め て いま す . その 秘め られ た 能力 は 。 た と えば , Z80 エミ ュ レ ーション に よる PC-88 シリ ー ズ 対応 ソフ トウ ェ ア 資 産 の 継承 , 新開 発 の DOS( 通 称 , PC-Engine) に よる 多彩 な グラ フィ ックス & サ ウ ンド 表現 , 高速 日 本 語 処理 機能 な どど れ を と っ て も パー ソナ ル ユ ー ス の パソ コン 環境 と し て 十分 な 威力 を 発揮 し て いま す . また , 近年 より 高度 な 利用 が 可能 に な りつ つ あ る パソ コン 通信 へ の 対応 , 各 家 庭 に 普及 し て い る ビデ オ と の 連動 な ど , 周辺 の 環境 も 整備 され て お り , PC-88 シリ ー ズ の イメ ー ジ リー ダー と し て 確固 た る 地位 を 築い て いる と 言え まし ょ う . ポ 本 書 の 基本 編集 方 針 は , PC-88VA 上 で アプ リケーション や ペリ フェ ラル を プロ グラ ミン グ あ る い は 開発 する 際 に 重 室 す る マシ ン サ イド ・ デ ィ ク ショ ナリ と し て 機能 させ る と ころ に あり ます . 従っ て , PC-88VA の ハー ドウ ェ ア ・ ソ フト ウェ ア の テク ニカ ル 情 報 を 詳らか に する こと を 中 心 に 記述 ・ 編 集 さ れ て お り , 付随 する 解説 は 必要 最小 限 に と ど め て あり ます の で , 本 書 を 活用 する に あたっ て は 相応 の 知識 を 要 し ます . あら か じ め , 御 了 承 く だ さい . 本 書 の 制作 に つい て は , 万 全 の 態勢 で の ぞ ざん で お り ま す が , 万 一 誤記 , 記述 も れ 等 が 見 受け ら れ た と き は 御 容 赦 願 いま す . また , 記述 の 内 容 に つき まし て は , ある 特別 の 条件 下 で は 正常 に 動 作 し な い 場 合 が ある か も し れ ま せん . その 場合 に つき まし て は 責任 を 負う こと は で きま せん の で , あら か じ め 慎 重 に 対応 する よう 重ね て お 願い 申し 上 げ ま す . 2 2:2 上 自 次 PC-88VA テ クニ カル マニ ュ ア ル ノ fB ハー ドウ ェ ア プ ロッ ク 図 機能 スペ ッ ク ソフ トウ ェ ア 動 作 環境 シス テム 起動 プロ セス CPU 割込み ベク タ 1 プ O ポ ー ト マップ 5 9 諸 / 3.1 メモ リモ ー ド 47 3.2 メモ リ レ イ アウ ト 47 3.3 メモ リコ ント ロー ル 50 3.4 バッ クア ッ プ メモ リ 52 3.5 ウエ イト 93 3.6 拡張 スロ ッ ト で 拡張 で きる メモ リ 54 3.7 DMA に よる メモ リア クセ ス (V3 モ ー ド ) 54 ョ /| 半 素 4.1 表示 シス テム 概要 55 4.2 テキ スト 表示 機能 58 4.3 スプ ライ ト 表 示 機能 66 4.4 TSP( テ キス ト プ ス プラ イト プロ セッ サ ) /7 4.5 グラ フィ ッ ク 機 能 76 4.6 カラ ー と パレ ッ ト 103 4.7 その他 の 機能 108 4.8 文字 セッ ト グ 文 字 コ ー ド グ 文 字 フ ォ ン ト 7 4.9 CRT 走 査 モ ー ド と 表示 解像度 77Z 4.10 ビデ オデ ィ ジ タイ ズ 727 = の 人 他 ( 5.1 スイ ッ チ と シス テム 動作 モー ド リク 5 5.2 割込み 72Z 5.3 DMA 機 能 732 5.4 タイ マ 機 能 733 5.5 カレ ンダ 時 計 135 5.6 キー ボー ドイ ンタ ー フ ェ イ ス 139 5.7 ディ スク イン ター フェ イス 142 5.8 プリ ンタ イン ター フェ イス 148 5.9 RS-232C イン ター フェ イス 148 5.10 サウ ンド 機能 150 5.11 マウス イン ター フェ イス 154 5.12 スキ ャ ナイ ンタ ー フ ェ イ ス 156 B ピ つつ し 6.1 フロ ッ ピ ー デ ィ ス ク BIOS 759 6.2 ハー ド デ ィ スク BIOS 173 6.3 キー ボー ド BIOS 783 6.4 テキ スト BIOS 200 6.5 スプ ライ ト BIOS 278 6.6 グラ フィ ッ ク 画 面 制 御 BIOS 228 6.7 拡張 グラ フィ ッ ク BIOS 235 6.8 アニ メー ショ ン BIOS 252 6.9 プリ ンタ BIOS 259 6.10 コミ ュ ニ ケー ショ ン BIOS 263 6.11 サウ ンド BIOS 273 6.12 マウ ス BIOS 285 6.13 カレ ンダ 時 計 BIOS 293 6.14 ファ ン シ ー フ ォ ン ト BIOS 296 6.15 スク リー ン エ ディ タ BIOS 298 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS 303 6.17 数 値 演算 BIOS 374 6.18 出力 専用 ポー ト 保存 領域 327 第 フ 章 ファ イル シス テム 7.1 シス テム イン ター ラプ トコ ー ル 323 7.2 プロ セス コン トロ ー ラ 329 フ 7.3 シス テム コー ル 329 B = に サン _8.1 メモ リ 349 8.2 テキ スト 表示 350 8.3 グラ フィ ックス 機能 352 8.4 画面 合成 機能 352 索 引 354 第 1 章 シス テム 概説 1.1 ハー ドウ ェ ア ブ ロッ ク 図 DMA コ ント ロー ラ FDD/SLOT INT a us slave INTC タイ マ (1) 8251/ BEEP アナ ログ RGB - デ ィ ジ タル RGB ー ビ デ オ 出 力 カレ ンダ 時 計 プ タイ マ (2) キー ボー ド 1/F キー ボー ド i SS る LAR プリ ンタ ポー ト シリ アル 転送 コン トロ ー ラ RS-232C ボ ポー ト スキ ャ ナ IF ス ま まっ は ォ ー デ ィ オ 出力 マウ ス 1I/F マウ 拡張 スロ ッ ト (PC-9801 互 換 ) ハー ド デ ィ スク I/F ハー ド デ ィ スク ドラ イブ そそ 第 1 章 シス テム 概要 1.2 機能 スペ ッ ク 1) CPU PD9002 V30/gPD780 命令 コン パチ ブル 8MHz 2) ROM メイ ン ROM : 512KB(128KB 4 バン ク ) E0000-FFFFFH 漢字 ROM : 288KB A0000-DFFFFH ANK, 非 漢字 , 第 1 水準 漢字 , 第 2 水準 漢字 辞書 ROM ・ 256KB A0000-DFFFFH 拡張 ROM 可能 : 128KB 8 バン ク E0000-FFFFFH 3) RAM 標準 RAM : 512KB 00000- 7FFFFH 拡張 RAM ボー ド ( オ プシ ョ ン ) : 80000- 9FFFFH メイ ン メ モリ に 割り 当て られ る の は 最大 128KB これ を 超え た 部 分 は バン ク メ モ リ (80000-9FFFFH) と な る TVRAM ・ 64KB A0000-AFFFFH テキ スト , スプ ライ ト 表 示 用 GVRAM ・ 256KB A0000-DFFFFH グラ フィ ッ ク 表 示 用 CGRAM ・ 8KB 外字 キャ ラク タ ジ ェ ネ レ ー タ 用 JFP 学習 機能 メモ リス イッ チ 用 (64 バイ ト ) ラ イト プロ テク ト 機 能 あ り バッ テリー バッ クア ッ ジ デ グ 4) シス テム 動作 モー ド V1/V2 モー ド 88F プ M シリ ー ズ と 同等 の モー ド V3 モー ド VA オリ ジ ナ ル の モー ド 5) キー ボー ド イン ター フェ イス イン テリ ジェ ント タイ プ ・ マ トリ クス スキ ャ ン イ ンタ ター フェイス 88M/F シリ ー ズ 互換 ・ キ ー コ ー ド イン ター フェ イス 割込み 使用 KB ユニ ッ ト イン テリ ジェ ント シリ アル キー ボー ド (88MH ノ FH 互換 ) オー トリ ピー ト あ り ( キ ー コ ー ド イン ター フェ イス 時 ) 6) プリ ンタ イン ター フェ イス セン トロ ニク ス 社 仕様 準拠 8 ビッ ト パ ラ レル イン ター フェ イス 1 チャ ネル 7 RS=232C イン ター フェ イス PD8251 相当 RS-232C 規格 準拠 1.2 機能 スペ ッ ク 1 チャ ネル 調歩 同期 (非同期 ) 式 300-9600 bps 外部 同期 可能 8) 割込み 機能 V1/V2 モー ド 時 8 レベ ル 優 先 順 位 付 き PD8241 相当 V3 モー ド 時 13 レベ ル 優 先 順 位 付き zPD8259 相当 各 チ ャ ネル 独立 マス ク 可 能 9) FDD 5 イン チ 2HD ン 2D 兼用 2 ドラ イブ 外部 増設 不可 FDC : PD765 イジ ガリ ツェ シト イシ ンク ターン ほ イ ス ディ スク サブ シス テム 使用 CPU PD780A 相 当 クロ ッ ク 4MHz ROM 8KB RAM 16KB ・DMA イン ター フェ イス DMA チャ ネル 2 使用 10) DMA 機能 4 チャ ネル 優先 順位 付き チャ ネル 0 バス スロ ッ ト に だ 解放 チャ ネル 1 未 使 用 . チャ ネル 2 FDD イン ター フェ イス 用 チャ ネル 3 バス スロ ッ ト に 解放 11) 表示 機能 スプ ライ ト , テキ スト , グラ フィ ッ ク 1, グラ フィ ッ ク 2 を 優先 順位 付き で 合成 表示 透明 色 あ り 画面 マス ク 機 能 外部 ビデ オ 画 面 表示 (オプ ショ ン ) スジ デラ イト 8x4^-256X256 ピク セル 1, 16 色 プ 4096 色 最大 32 個 優先 順位 付き テキ スト 40 X20~80 X25 1, 16 色 /4096 色 りー ス 。 ジ グリ シク 。 ター クレ ッ ト 。 アシ ダー タイ ン 文字 種 ANK 8xX8, 8X16 ド ッ ト を 256 字 漢 字 半角 8X16 漢字 全角 16X16 非 漢字 , 第 1 水準 , 第 2 水準 外 字 半角 8X16 全角 16X16 全角 で 188 字 画面 水平 4 分 割 可能 ( 各 分 割 画面 に フレ ー ム バッ ファ 設定 ) 水平 垂直 スム ー ズ スク ロー ル 第 1 章 シス テム 概要 12) 13) 14 マン 15 ニン 16) 17) 18) 10 グラ フィ ックス 320X200 て 640 X408 1, 16, 32 色 4096 色 256, 65536 色 独立 2 画面 合成 画面 水平 3 分 割 可能 ( 各 分 割 画面 に フレ ー ム バッ ファ 設定 ) 水平 垂直 え スムーズ スク ロー ル ( ラ ッ プ ラウ ンド 付き ) カラ ー パ レッ ト 4096 色 中 16 プ 32 色 指 定 . 各 画 面 共通 ブリ ンク 機能 あり 描画 機能 BitBlt 論理 演算 機能 , 繰り 返し Blt LINE ディ スプ レイ 15.98 KHz グン イン ター レー ス < 200 プ 204 ライ ン 5373 民 昌 Z イジ ター レー ス 400 プ 408 ライ ン 24.8 KHz ング ジイ ジグ ダー ピー ヌス 400 プ 408 ライ ン ディ ジタル RGB, アナ ログ RGB, ビデ オォ 信号 (NTSC) 汎用 タイ マ 3 チャ ネル モー ド に より 1・3 また は 2・3 を 使用 可能 汎用 タイ マ 1 CPU 内 蔵 の TCU#0 ・ 周波 数 可変 汎用 タイ マ 2 88M/ ズ F シリ ー ズ 互換 : 600 Hz 汎用 タイ マ 3 マウ スタ イマ : 15, 30, 60, 120 Hz カレ ンダ 時 計 kgPD4990(88ML/F シリ ー ズ 上 位 互 換 ) 年 / 月 曜日 日 時 分 プ 秒 大 小 の 月 , 半年 自動 判別 が の の テリ ーッ wy クア ッ プ スキ ャ ナイ ンタ ー フ ェ イ ス LPD8255 8 ビッ ト ポ ー ト 3 組 双方 向 パ ラ レ ル イン ター フェ イス 1 チャ ネル ジウ ンド BEEP 1 声 PORT 1 声 SSG 音源 3 声 FM 音源 3 声 スピ ピー カー ボリューム /AUDIO OUT あり スイ ウッチ シス テム モー ドス イッ チ V1 ン V2 切換 え 8 ビッ トディ ッ プ スイ ッ チ CRT モー ド 等 設定 スピ ー ド モー ドス イッ チ 88M・F スピ ー ド ン VA スピ ー ド 切換 え 19) マウ スポ ー ト 88M ノ F シリ ー ズ コン パチ ブル マウ スプ ジョ イス ティ ッ ク ブ タブ レッ ト 等 接続 用 入力 4 ビッ ト 出力 1 ビッ ト 入出 力 2 ビッ ト 20) 拡張 スロ ッ ト PC-9801 互換 2 スロ ッ ト プ ビデ オ ボ ー ド 専用 1 スロット 電源 容量 1 スロ ッ ト 当 り 0.5A(5 V) 固定 ディ スク ユミ ニット イン ター ララ ェ イス オプ ショ ン (98 シリ ー ズ 互換 ) ビデ オ ボ ー ド (オプション ) 外部 ビデ オォ 信号 の ディ ジ タ イ ズ 機 能 21 ュ ン 22 ュ ン 1.3 ソフ トウ ェ ア 動 作 環 境 1.3 ソフ トウ ェ ア 動 作 環境 V3 モー ド で は NEC PC-Engine が 稼動 する . NEC PC-Engine は VA の ハー ドウ ェ ア 機 能 を 有効 に 活用 で きる 各種 BIOS( グ ラフ フィックス, テキスト, スプライト, サウ ンド , 通信 , 周辺 エグ O 等 ) や , 日 本 語 入力 フロ ント プロ セッ サ , ファ イハ ル 人 管理 , プロ セス 管理 , メモ リ 常 駐 型 ソ フト ス ー パ ー バ イザ , 日 本 語 エ ディ タ な ど を サポ ー ト する ソフ トウ ェ ア モ ジュ ー ル の 集合 体 で ある . こ の 中 で も メモ リ 常 駐 型 ソフ トス ー パ ー バ イザ は , メモ リ 常 駐 型 アア リケーション ソフ ト の 作成 が 容易 に 実現 で きる よう な 構造 と な っ て いる . ファ イル フォ ー マ ッ ト は N88BASIC 形式 と MS-DOS 形式 を サポ ー ト する . テキ スト デー タ の 漢字 コード は シフ ト JIS を 使用 する . VA に お ける アプ リケーション ソフ ト の 動作 環境 は 下図 の よう に な る . USER USER USER ! ! \ が グリ クー ジョ マジ ツ アント N88V1/V2 BASIC NEC PC-Engine ジー ニー ドレ 11 第 1 章 シス テム 概要 1.4 シス テム 起動 プロ セス シス テム の 起動 時 の フロ ー は 次 の よう に な っ て いる . ク *ー ド ウェ ア INIT for V1/V2 V3 INIT | BIOS Set UP Yes IDP V1/V2 I/O trap ON Load IPL | ユエ クタ 読み 込む V3 INIT 1 BIOS INIT N88-BASIC (ROM Disk CS:IP =3000H:0 Jmp FL | SS:sP=3000H:FFFEH 付 近 DOS Boot 1.5 CPU CPU(zPD9002) は V30 モー ド と PD780 モー ド を 持つ オリ ジ ナ ル CPU で あぁ る. 両 モ ー ド の 関係 は V30 の ネイ ティ ブ モ ー ド と 8080 エミ ュ レ ーション モー ド と の 関係 と 同じ で あり , 相互 の モー ド 移 行方 法 も 同様 と な っ て いる . この CPU は , V30 と ほぼ 同じ 命令 セッ ト を 持っ て いる が , INS・EXT・OUTM・INM の 4 命令 (V30 ニー モニ ッ ク ) は サポ ー ト し て いな い . また , V50 と 同様 な を DMA コン トロ ー ラ ・ 割 込み コン トロ ー ラ ・ タ イマ を CPU に だ 内蔵 し て いる . PD780 モー ド で は PD780 の 全 命 令 セッ ト お よび 未定 義 命令 の 多く , それ に PD780 モー ド か ら V30 モー ド へ 移行 する た め の RETEM・CALLN 命令 を サポ ー ト し て いる . したがって, 以前 の 88 シリ ー ズ 用 ソフ ト の 大 部 分 の 動作 が 可能 と な っ て いる . < ネイ ティ ブサ ービス ルー チン > VA で は PD780 モー ド (V 1/V 2 モー ド ) か ら V30 モー ド の メモ リ ・1/O0 を アク セス し た り , V30 (V 3 モー ド ) モ ー ド の プロ グラ ム に 制御 を 移し た りす る た め の サ ービス ルー チン が 用 意 され て いる . 12 5 の BU ① CALLN 91H(EDH, EDH, 91H) V 1/V 2 モー ド か ら V 3 モー ド の メモ リ ・1 プ O アク セス を 行う . レジ スタ 設定 : A 三 機能 bit 2 : 0 ニ メ モ リア クセ ス 指 定 1=1/O アク セス 指定 bit 1 : 0 ニ リ ー ド 動作 指定 1 ニラ イト 動作 指定 bit 0 : 0 ニ バ イト 動作 指定 1= ワ ー ド 動作 指定 HL= セ グ メ ント (メモ リア クセ ス 時 の み ) DE= オ フ セ ッ ト (1/0O アド レス ) BC= 値 (ライ ト ・ ア ウト 時 ) これ ら の レジ スタ を 設定 し た 後 , CALLN 91H を 行う と, A レジ スタ で 指定 し た 動作 を 行う . リー ド ・ イ ン 時 に は BC レジ スタ に 値 が 入る . @② CALLN 95H(EDH, EDH, 95H) アド レス 1000H : E000H に 用 意 き れ た ユー ザ ネ イ テ ィ ブル ー チ ン を CALL する . ここ は V1/V2 モー ド で の アド レス E000H に 相当 する た め , V1/V2 モー ド で ネイ ティ ブ プ ログ ラ ム を 用 意 し て か ら こ の ファ ンク ショ ン を 利用 で きる . ネイ ティ ブ プ ログ ラム は IRET 命令 で PD780 モー ド に 戻る こと が で きる . ③ RETEM (EDH, FDH) V30 モー ド に 戻る 。 V 1/V 2 モー ド か ら V 3 モー ド に 戻る と , V3 モー ド と し て の 初期 化 後 , 1000H : C003H に ジャ ンプ する . 13 Ei SN mr 時 - 3 i 中 ョ th も GMR NY Ph > Xs ー - wv oan os Dp a の ot rs 生ま 還っ - ぬ 、sWvf ば 尽 計 に RE RAI KN A a ェ 0 a ss ttt \ | 中 = HARBOE 3 9 ii/ # で キー※ ャ a bE ERS Fr か ei いす 1 で は 7 Pa まま 」 、、 Ds FTE EE < 1 a 1 了 SE Ni eit KM ー * 5 (Ht ig es, nm Nat ett Ta ts SW 。 er - すく Re At 21 割込み ベク タ 割込み 番号 シン ボル 第 己 章 マッ プ : 0 除算 割込み ・ シ ング ルス テッ プ : NMI ・ INT3. デバ ッ ガ 用 予約 ・ INT 0. オー バー フロ ー 割 込み ・ 境界 エラ ー 割 込み : シス テム 予約 : シス テム 予約 Oo oo nanao nr wow oo ・ 汎 用 タイ マ 1 ・ キ ー ボ ー ド : VRTC 割込み : UINT 0 (Bus IR3) : RS-232C : UINT1(Bus IR5) : UINT2(Bus IR6) ・SGP( 描 画 プ ロ セ ッ サ ) ・ ハ ー ド ディ スク (Bus IR9) ・ UINT4(Bus IR10) : EFDC(PD765) : サウ ンド 割込み So の スグ イマ : NDP 用 予約 : 予 約 $ARead $AWrite $TSR プロ セス 終了 シス テム コー ル サ ー ビ ス プロ セス 終了 アド レス "C ブ レーク 処理 ディ スク エラ ー ハ ンド ラ アゲ アツ リョ ュー トド デ ィ ジ 人 V ド アブ ソリ ュー トディ スク ライ ト プロ セス の 常駐 終了 予 約 ダイ レク トコ ン ソ ー ル 出力 用 予約 15 第 2 章 マッ プ 16 割込み 番号 シン ボル 2A~32 33 34~3F $MBios 予 約 マウ ス BIOS 予 約 40~47 8214 : V3 モー ド で の 8214 割込み ベク タ 40~7B 未 使用 7C 7D TE TF CPU : L/0 Trap(IN) CPU : 1 ユン O Trap(OUT) CPU : LD A, R Trap 予 約 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F $FDBios $HDBios $KYBios $TXBios $SRBios $AGBios $ANBios $PRBios $CMBios $SDBios $TDBios $JFBios $LEBios $SCBios ジロ ッ ピ ビー ディス クリ BI6S ハー ド デ ィ スク BIOS キー ボー ド BIOS テキ スト BIOS スプ ライ ト BIOS 予 約 拡張 グラ フィ ックス BIOS アニ メー ショ ン BIOS プリ ンタ BIOS コミ ュ ニ ケー ショ ン BIOS サウ ンド BIOS カレ ンダ 時 計 BIOS 日 本 語 フ ロン ト エ ンド プロ セッ サ BIOS ジラ イシ エディ グラ フィ ックス 画面 制御 BIOS 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F $Font $PopUp $ScnInl $Auxbas $Editor $MonIf $Shell V1/ グ V2 スー パー バイ ザ ネイ ティ ブ モ ー ド メモ リ ・I/O アク セス ファ ン シ ー フ ォ ン ト サ ー ビ ス ポッ プア ッ プ サー ビス ペグ リー ジェ デオ イグ (CALLN イン ター フェ イス (V1/ グ V2 スー パー バイ ザ 用 ) ) ポッ プア ッ プ キー ボー ド BIOS イン ター フェ イス V3 BASIC 内 部 使用 テキ スト エエ ディタ シェ ル 内 部 使用 V3 BASIC 内 部 使用 デバ ッ ガ 内 部 使用 日 本 語 フ ロン ト エ ンド プロ セッ サ 内 部 使用 BASIC- デ バッ ガイ ンタ ー フ ェ イ ス FCB ファ イル ネー ム の 設定 内 部 コマ ンド の 実行 A0 A1 A2 A3 A4 A5 A6 $Dadd $Dsub $Dmul $Ddiv $Dcmp $Dtol $ItoD 浮動 小数 点 加算 (BCD) 浮動 小数 点 減算 (BCD) 浮動 小数 点 乗算 (BCD) 浮動 小数 点 除 算 (BCD) 浮動 小数 点 比 較 (BCD) 浮動 小数 点 つ 整数 整数 っ 浮動 小数 点 2.2 1 プ 0 ポ ー ト マッ プ シン ボル $Din 浮動 小数 点 入力 $Dout 浮動 小数 点 出 力 予 約 $BasCo 内 部 使用 $IMath マス パッ ク 初 期 化 $Dsin 浮動 小数 点 SIN (BCD) $Dcos 浮動 小数 点 COS(BCD) $Dtan 浮動 小数 点 TAN (BCD) $Datn 浮動 小数 点 ATN (BCD) $Dexp 浮動 小数 点 EXP(BCD) $Dlog 浮動 小数 点 LOG(BCD) $Dpwr 浮動 小数 点 POWER (BCD) $Dsqrt 浮動 小数 点 ROOT(BCD) 予 約 Free 2.2 | プ O ポー トマ ッ プ @| ン 0 ポー トブ ロッ ク 1/0 アド レス ブロ ッ ク 名 0000H ( シス テム エリ ア 0 (88MH/FH 互換 ) 00FFH 0100H ( ジス デム りり アユ 01FFH 0200H 0 フレ ー ム バッ ファ 制御 エリ ア 02FFH 0300H ) カラ ー パ レッ ト 制 御 エ リア 04FFH 0500H ) GVRAM 制御 エリ ア 05FFH 0600H ( ジ タ ペ パム な リプ 22( リ ザー ブ ) OFFFH 1000H ) FEFFH FE00H ( シス テム エリ ア 3 (CPU 内 部 使用 ) FFFFH 17 第 2 章 マッ プ 2 2 シン カム EZ 0 _ KeyMap0 | _ KeyMapE SPACES CAPS 2 | DEL | INS | SPACE | 圭 偶数 番地 か ら の ワー ドア クセ ス も 可能 で す . mom | mww |oomlsl | プリ ンタ カレ ンダ 時 計 イ ンタ ー フ ェ イ ス る @ プ リン タイ ンタ ー フ ェ ィ ス 7 6 5 4 3 2 1 0 0010H プリ ンタ に 出力 する デー タ 但 カ レン ダ 時 計 7 6 5 4 3 2 1 0 CD0 カレ ンダ 時 計 デ ー タ 出力 C2~CO0 カレ ンダ 時 計 モ ー ド コマ ンド 0 : レジ スタ ホー ルド 指定 禁止 1 レジ スタ シフ ト 指定 禁止 テス ト TP=2048Hz シリ アル コマ ンド モー ド 参照 : 0040H, 01CBH CDI: デー タ 入 力 to ・ タイ ん ム ん ム セット & カ ウン タホ ホー ルド 3 5 用 外 修学 所 つの ma は 18 2.2 1 プ 0 ポ ー ト マッ プ 0020H _ ArtData 0021H _ ArtSts RS-232C USART(/PD8251) 0020H デー タ 0021H モー ド プ コマ ンド プス テー タス 代 モ ー ド 設定 (非同期 モー ド ) 7 6 5 4 3 2 1 0 OUT S2 S1 スト ッ プ ビッ ト 数 L2 L1 キャ ラク タ 長 0 0 無効 0 0 5 ビッ ト (| ESIN 0 1 6 ビット 0 EY 1 0 が 選 3 ツ トト 忠 。 公 2 ゼッド 1 1 8 ビット EP パリ ティ の 奇 肝 B2 Bl ボー レー ト 0 奇数 0 0 同期 モー ド 1 偶数 0 qL 2 出 PEN パリ ティ イネ ー ブ ル 1 0 X16 0 パリ ティ な し 部 x64 1 パリ ティ あり コマ ンド 設定 (非同期 モー ド ) 7 6 5 4 3 2 1 0 Mn | o | 団 ws | mm | semk| we om |) IR 内 部 リセ ッ ト 0 ノー オペ レー ショ ン 1 内 部 リセ ッ ト RTS 送信 要求 0 RS-232 C コネ クタ の RTS 端子 を ロー レベ ル に する 1 RS-232 C コネ クタ の RTS 端子 を ハイ レベ ル に する ER エラ ー リ セッ ト 0 ノー オペ レー ショ ン 1 王 ジ 呈 衝 ツ 邊 SBRK ブレ ー ク キャ ラク タ 送 信 0 通常 動作 1 RS-232 C コネ クタ の TxD 端子 =1 RXE 受信 許可 0 受信 禁止 1 受信 許可 DTR デー メカ ク ター ミナ ルル 刀 み 0 RS-232 C コネ クタ の DTR 端子 を ロー レベ ル に する 1 RS-232 C コネ クタ の DTR 端子 を ハイ レン ベル に する TXEN 送信 許可 0 送信 禁止 1 送信 許可 19 第 2 章 マッ プ る @ ス テー タス IN 7 6 5 4 3 2 ll 0 DSR デー タ セ ッ ト レ ディ 0 RS-232 C コネ クタ の DSR 端子 は ロー レベ ル 1 RS-232 C コネ クタ の DSR 端子 は ハイ レベ ル SYNDET SYNC キャ ラク タ 検 出 0 SYNC キャ ラク タ 検 出 な し Il SYNC キャ ラク タ 検 出し た FE フレ ー ミ ング エラ ー 0 デ プ デー な じ し 1 フレ ー ミ ング エラ ー 発 生 OE オー ページ ラジ エ ジ ー 0 = ラー な が し 1 オー バー ラン エラ ー 発 生 PE 20 り イエ ジッ ュー 0 エラ ウー な し 1 パリ ティ エラ ー 発 生 TXE 送信 バッ ファ エン プティ 0 フル 1 ケイ RXRDY 受信 レデ ィ 0 ビジ ィ ll レデ ィ TXRDY 送信 レデ ィ 0 世 ジ オイ 1 レデ ィ wm | sw |m lm メモ リス イッ チ ポ ー ト 1 メモ リス イッ チ の BI1FC2H 番地 を リー ド す る 特殊 ポー ト の 6 5 4 3 グ i 0 MS17 未 使用 MS13 テキ スト 表示 行 数 常に 1 0 25 行 MS16 未 使用 1 20 行 常に 1 MS12 テキ スト 表示 文字 数 MS15 DEL コー ド 処 理 0 80 次 0 処理 する 1 40 文字 1 無視 する MS11 動作 モー ド MS14 S パ ラメ ー タ 0 SE 0 有効 1 BASIC 1 無効 MS10 未 使 用 常に 1 20 2.2 1 ユ プ 0 ポー トマ ッ プ wm | mw | or a テキ スト 制御 ポー ト 0 7 6 5 4 3 2 1 0 MCM モジ クロ ロモ ピード 0 カラー 1 モジ クロ 80CM 表示 文字 数 0 40 文字 モー ド 1 80 文字 モー ド a CN |Bl ズ メモ リズ イボ 2 メモ リス イッ チ の BI1FC6H 番地 を リー ド す る 特殊 ポー ト 7 6 5 4 3 2 1 0 MS27 シス テム モー ド MS23 スト ッ プ ビッ ト 数 0 V2 モー ド 0 2 ビッ ト 1 V1 モー ド 1 1 ビッ ト MS26 未 使用 MS22 デー タビ ッ ト 長 常に 1 0 8 ビッ ト MS25 通信 モー ド 1 7 ビット 0 六 三 重 MS21 パリ ティ 指定 1 全 二 重 0 偶数 パリ ティ MS24 ペラ フス ーー 1 奇数 パリ ティ 0 有効 MS20 パリ ティ 有無 1 無効 0 パリ ティ 有り 1 パリ ティ 無し mm | [owlmlmowscrmm シス テム ポー ト 1 7 6 5 4 3 2 1 0 PM00 グラ フィ ッ ク ピ クセ ル サ イ ズ MMODE メモ リモ ー ド 0 1 ビッ ト プ ピ クセ ル 0 ROM プ RAM モー ド 1 9 ビッ ドッ ピク セル 1 RAM モー ド GDENO グラ フィ ッ ク 表 示 禁 止 VW1 グラ フィ ックス 垂直 解像度 0 禁止 0 400 プ 408 ドット 1 許可 1 200 プ 204 ド ッ ト RMODED ROM モー ド 0 V1/V2 ROM 1 モー ニタ ROM 21 第 2 章 マッ プ | wm | -wews [lm シス ラム ボー ト 2 A 6 5 4 3 2 1 0 SINTM サウ ンド コン トロ ー ラ 割込み マス ク 0 許可 禁止 GVAM GVRAM アク セス モー ド 0 独立 アク セス モー ド 1 拡張 アク セス モー ド シス テム メモ リモ ー ド が V3 モー ド の と き に は 自動 的 に 0 と な る . V3 モー ド の GVRAM アク セス モー ド の 変更 に は ポー ト 0510H を 用 いる . PMODE カラ ー モ ー ド 0 ディ ジタル モー ド 1 ゲ ナ ログ モー ド ポー ト 010CH の PLTM 2 ビッ ト が 0 の と きだ け に 意味 を も つ . TMODE TVRAM 禁止 0 TVRAM 選択 1 TVRAM 禁止 AVC ビデ オ 出 力 制御 AVC2 AVC1 レビ ビデ オモ ー ド ナ ロ グ RGB モー ド テ 0 1 禁 災 と ンコ スト AVC は ポー ト 0190H か ら も 設定 可能 . ROMSL V1〆V2 BASIC 拡張 ROM 選択 ROMSL1 ROMSL0 0 0 2 ヾ 0 1 I 0 の 1 1 wm | [swrlmlwwscrmm aaa GVRAM 制御 ポー ト 1 7 6 5 4 3 2 1 0 0034H = ALU21 | ALU11 | ALUO1 ニョ ALU20 | ALU10 | ALU00 ALU グラ フィ ックス ALU モー ド ALU01 ALU00 ALU11 ALU10 ALU21 ALU20 0 0 ビッ トリ セッ ト 0 1 ビッ ト セ ッ ト 1 0 ビッ ト 反 転 1 1 NOP 22 2.2 1 ユ プ 0 ポー トマ ッ プ GVRAM 制御 ポー ト 2 wm | [wlmlwws-mmm KEONMERNOSSER err・ 7 6 5 4 3 の BN 0 GAM GDM PLN2 PLN1 PLN0 GVRAM 選択 メイ ン RAM 選択 GVRAM 選択 シス テム メモ リモ ー ド が V3 モー ド の と き に は 自動 的 に 0 と な る グラ フィ ックス デー タ 制 御 GDM1 GDM0 0 0 ALU 出力 0 中 リー ド デ ー タ | 0 プレ ー ン 1 っ プレ ー ン 0 1 デレ ラージ 0- ユ デジ ルー ツ パ プレ ー ン 2 リー ド 比 較 デ ー タ プレ ー ン 1 リー ド 比 較 デ ー タ プレ ー ン 0 リー ド 比 較 デ ー タ Lemn | mes elsl シス テム ポー ト 3 (スト ロー ブ ポ ー ト ) 7 6 5 4 3 2 1 0 FBEEP JOP1 BEEP 0 1 CCLK 0 T CSTB 0 1 XPSTB 0 1 ポー ト サ ウ ンド 出力 汎用 出力 ポー ト ( 正 論理 ) ブザー 制御 カレ ンダ 時 計 ク ロッ クス トロ ー ブ LOW HIGH カレ ンダ 時 計 ス トロ ー ブ OFF ON プリ ンタ スト ロー プ ON OFF V3 モー ド で は BEEP ビッ ト は 常に 0 に 設定 し て お き , 01CDH の XBEEP で 制御 する . 23 第 2 章 マッ プ wan | mss | シス テム ポー ト 4 7 6 5 4 3 2 1 0 VRTC CRT 垂直 帰 線 区 間 0 表示 期間 1 垂直 帰 線 期間 CDI カレ ンダ 時 計 か ら の 入力 デー タ SW7 イン テリ ジェ ント FDD ブー ト 制 御 (IFDSL) 0 イン テリ ジェ ント FDD か ら ブ ー ト する 1 イン テリ ジェ ント FDD か ら ブ ー ト しない DCD RS-232C DCD 0 ON 1 OFF SW1 CRT モー ド (CRTMD) 0 24.8 kHz | 15kHz PBSY ジリ ジン ビジ 0 レデ ィ 1 ビジ ィ SW1, DCD, CDI ビッ ト は ポー ト 01CBH か ら も 読め る . _ YMSts1 _ YMData1 _ YMSts2 _ YMData2 サウ ンド コン トロ ー ラ (YM2203) 0044H ステ ー タ スプ レジ スタ アド レス 0045H リー ド デ ー タ プラ イト デー タ 0046H ステ ー タ スプ レジ スタ アド レス (リザ ー ブ ) 0047H リー ド デ ー タ プラ イト デー タ ( リ ザー ブ プ ) る ⑥ YM2203 ステ ー タ ス (ん 6 5 4 3 2 1 0 IN OPNBSY 0 レデ ィ 1 ビジ ィ TFLGB タイ マ B カ ウン ト 終 了 フ ラグ 1 終了 TFLGA タイ マ A カ ウン ト 終 了 フ ラグ 1 終了 24 2.2 1 プ 0 ポ ー ト マッ プ wm | 人 [mlmowscswm GVRAM ステ ー タ ス 7 6 5 4 3 2 1 0 GVRAM プレ ー ン 2 選択 ステ ー タ ス 禁止 中 選択 中 GVRAM プレ ー ン 1 選択 ステ ー タ ス 禁止 中 選択 中 GVRAM プレ ー ン 0 選択 ステ ー タ ス 禁止 中 選択 中 "らら の こら @ こ ら @ V1/V2 モー ド 専 用 GVRAM 選択 OUT 5CH GVRAM プレ ー ン 0 選択 OUT 5DH GVRAM プレ ー ン 1 選択 OUT 5EH GVRAM プレ ー ン 2 選択 OUT 5FH GVRAM アク セス 禁止 * OUT され る デー タ は 無関係 Lewwm | [lmlwowscrmm | メモ リオ フ セ ッ ト メモ リウ ィ ン ド ウオ フ セ ッ ト ア ドレ ス の 設定 読出 し OU TO RR IN 70H wm | [cmlmosscrwm | 拡張 ROM 選択 7 6 5 4 9 2 1 0 XEROM BASIC 拡張 ROM 選択 1 選択 0 禁止 25 第 2 章 マッ プ 0078 了 H OUT |BI| V1/V2 モー ド 専 用 ドイ ジンク リン ズン シト メモ リッツ イン ドウ の オフ セッ トド アド レス の イジ クリ メシ ト OUT 78H (出力 され る デー タ は 無関係 ) 0080H _ HDData 1 SB 0082H _ HDStS 1 IE ハー ド デ ィ スク 制御 0080H ハー ド デ ィ スク デー タ 0082H ハー ド デ ィ スク コマ ンド プス テー タス 1/0_ | BE | V1/V2 モー ド 専 用 1ZO |B V1/V2 モー ド 拡 張 RAM 選択 7 6 5 4 3 2 1 0 7 6 5 4 3 2 Tl 0 1 PO ペー ジ 選 択 で 0 ペー ジ 0 1 ペー ジ 1 0 の i = ) BO バンク 選択 0 2 フ パ ジグ 0 1 パンク 1 0 フ パンク 2 1 VN スジ 8 ーーooHrroo 26 2.2 1 プ 0 ポ ー ト マッ プ WE 拡張 RAM バン クラ イト 制御 OUT 時 IN 時 0 ライ ト 禁 止 設 定 ライ ト 許可 中 1 ライ ト 許 可 設定 ライ ト 禁 止 中 RE 拡張 RAM バン クリ ー ド 制御 OUT 時 IN 時 0 リー ド 禁 止 設 定 リー ド 許 可 中 1 リー ド 許 可 設定 リー ド 禁 止 中 V1/V2 モー ド 専 用 8214 モー ド 人 割込み 制御 7 6 5 4 3 2 1 0 XCST2~0 INTC カレ ント ステ ー タ ス XSGS カレ ント ステ ー タ スレ ジス タタ 制御 0 有効 1 無効 mmm | | om lmlwows-rwm 8214 モー ド 制 込み マス ク 7 6 5 4 3 2 1 0 XRXRMEF RS-232C RXRDY 割込み マス ク XVRIMF VRTC 割込み マス ク XRTMF 汎用 タイ マ 2 割込み マス ク 0 禁止 1 許可 27 第 2 章 マッ プ 00E8H 1I プ O B | (V1/V2 モー ド 専 用 ) 00E9H 1 ン O B 第 一 水準 漢字 フォ ント 読出 し 只 信 ア ドレ ス 出 力 ( ワ ー ド アク セス 可 ) 00E8H: CGROM 下位 アド レス 00EB9H: CGROM 上 位 ア ドレ ス @ パ ター ン リ ー ド (ワー ドア クセ ス 不 可 ) 00E8H : パタ ー ン 右側 00E9H: パタ ー ン 左側 V3 モー ド で は ポー ト 14C14FH を 使用 する か , CG を メモ リ 空 間 上 に マッ ピン グ し て 使用 する . 00ECH 1/O B | V1/V2 モー ド 専 用 00EDH 1 プ O B 第 二 水 準 党 字 フォ ント 読出 し 人 @ デ アド レス 出力 (ワー ドア クセ ス 可 ) 00ECH : CGROM 下位 アド レス 00EDH : CGROM 上 位 ア ドレ ス @ パ バ パターン リー ド ( ワ ー ド アク セス 不可 ) 00ECH : パタ ー ン 右側 00EDH: パタ ー ン 左側 V3 モー ド で は ポー ト 14C~14FH を 使用 する か , も し く は CG を メモ リ 空 間 上 に マッ ピン グ し て 使用 する . _ IntElpA _ JIntFlpB _ JntFlpC _ IntFlpD イジ テリ ジェ ント FDD イン ター フェ イス (PD8255 サブ プ セ ッ ト ) 00FCH デー タ 入 力 ポ ー ト 00FDH デー タ 出 力 ポ ー ト 00FEH コン トロ ー ル ポー ト 00FFH モー ドレ ジス タプ コン トロ ー ル ポー ト 操 作 る ⑧@ デ ー タ 入力 ポー ト FD サブ プシ ステ ム か ら の デー タ を 受け 取る る デー タ 出 力 ポ ー ト FD サブ シス テム へ デー タ を 送出 する 人 @ コ ント ロー ルポ ー ト (IN ノ /OUT) 28 2.2 1 ユ プ 0 ポー トマ ッ プ この ポー ト の 出力 ビッ ト の セッ トブ プリセット は ポー ト FFH で 行う . 7 6 5 4 3 2 1 0 ATNO ATN 出力 0 コマ ンド の 出力 で は な い 1 コマ ンド を 出力 中 DACO DAC 出力 0 ビジ ィ 1 デー タ 引 取り 完了 REFDO RFD 出力 0 ビジ ィ 1 ハン ド シ ェ イク レデ ィ DAVO DAV 出力 0 デー タ を 出力 し て いな い 1 デー タ を 出力 中 DACI サブ シス テム か ら の DAC 入力 0 ビジ ィ 1 サブ シス テム が デー タ 引 取り 完了 REFDI サブ シス テム か ら の RFD 入力 0 ビジ i サブ シス テム ハン ド シ ェ イク レデ ィ DAVI サブ シス テム は デー タ を 出力 し て いな い 1 サブ シス テム が デー タ を 出力 中 @ コ ント ロー ルポ ー ト 操作 ポー ト (OUT) OUT EFL ① モー ドコ マン ド (初期 設定 ) : OUT OFFH, 91H ⑨② ビッ ト 操 作 コ マン ド コン トロ ー ル ポー ト (FEFH) の 各 出 力 ビ ッ ト を ビッ ト 単 位 に 操作 する . ビッ ト 7 常に 0 ビッ ト 3 一 1 ビッ ト 位 置 設定 100 DAVO 101 REDO 110 DACO 111 ATNO ビッ ト 0 セット プリセット 設定 0 リセ ッ ト 1 Ei 29 第 2 章 マッ プ 28252 ンク スベ ペデ テム EE 0100H に 表示 画面 制御 レジ スタ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GDEN0 グラ フィ ッ ク 表 示 禁 止 レ ジス タ 0 グラ フィ ッ ク 表 示 禁 止 (リセ ッ ト 時 ) 1 グラ フィ ッ ク 表 示 イ ネー ブル GVM グラ フィ ックス モー ドレ ジス タ 0 グラ フィ ッ ク 表 示 モ ー ド (リセ ッ ト 時 ) 1 ビデ オデ ィ ジ タイ ズ モ ー ド XVSP ビデ オ 信 号 出 力 禁 止 レ ジス タ El) ビデ オ 信 号 出力 禁止 モー ド ( リ セッ ト 時 ) 1 ビデ オ 信 号 出力 モー ド (表示 モー ド ) SYNCEN 水平 同期 信号 出力 禁止 レジ スタ 0 水平 同期 信号 出力 禁止 モー ド ( リ セッ ト 時 ) { 水平 同期 信号 出力 モー ド (表示 モー ド ) DM グラ フィ ッ ク 表 示 モ ー ド レジ スタ (153H GMSP 参照 ) 0 マル チ プ レー ン モ ー ド (リセ ッ ト 時 ) 1 シン グル プレ ー ン モー ド VMMD GVRAM モー ド ( シ ング ルプ レー ン 時 ) 0 1 画面 モー ド ( グ ラフ ィ ッ ク 画 面 0 の み ) (リセ ッ ト 時 ) Ll 2 画面 モー ド (グラフィック 画面 0 プ 1) RSM CRT の ラス タス キャ ン モ ー ド RSM1 RAMO 0 0 ノン イン ター レー スモ ー ド 0 (リセ ッ ト 時 ) 0 1 ノン イン ター レー スモ ー ド 1 1 0 イン ター レー スモ ー ド 0 1 1 イン ター レー スモ ー ド 1 GDEN1 グラ フィ ッ ク 表 示 回 路 リ セッ ト 0 グラ フィ ッ ク 表 示 回 路 リ セッ ト ( リ セッ ト 時 ) (表示 関係 の ポー ト の 設定 は 保証 され な い ) 1 グラ フィ ッ ク 表 示 モ ー ド SYNCM 同期 信号 モー ド 0 内 部 同期 モー ド ( リ セッ ト 時 ) 1 外部 同期 モー ド VM 垂直 解像度 VW1 VW1 0 0 400 ドッ ト ( リ セッ ト 時 ) 0 1 408 ドッ ト 0 200 ドッ ト 1 1 204 ドッ ト 30 2.2 1 プ 0O ポ ー ト マッ プ 2 時 EN 過 2 グラ フィ ッ ク 画 面 制御 レジ スタ HW1 グラ フィ ッ ク 画 面 1 水平 解像度 0 640 ドッ ト ( リ セッ ト 時 ) 1 320 ドッ ト PM1 グラ フィ ッ ク 画 面 1 ピク セル サイ ズ PM11 PM10 0 0 1 ビット プ ピ クセ ル ( リ セッ ト 時 ) 0 1 4 ビット プ ピ クセ ル 1 0 8 ビッ ト プ ピ クセ ル 1 1 指定 禁止 HW0 グラ フィ ッ ク 画 面 0 水平 解像度 0 640 ドッ ト ( リ セッ ト 時 ) 1 320 ドッ ト PM0 グラ フィ ッ ク 画 面 0 ピク セル サイ ズ PM01 PM00 0 0 1 ビッ トゲ グ ピ クセ ル ( リ セッ ト 時 ) 0 1 4 ビッ トピ クセ ル i 0 8 ビッ ト グ ピ クセ ル 1 1 16 ビッ ト プ ピ クセ ル em] emw el 下 ーー ニ ーー パレ ッ ト 指 定 画面 制御 レジ スタ 優先 表示 画面 3 優先 表示 画面 2 優先 表示 画面 1 優先 表示 画面 0 <〈 各 ニブ ル の 値 > < 指定 画像 ソー ス > 指定 な し (表示 OFF) テキ スト 画面 スプ ライ ト 画 面 グラ フィ ッ ク 画 面 0 グラ フィ ッ ク 画 面 1 切ら の ら emm | mmews [eyl 直接 色 指定 画面 制御 レジ スタ 5 1 19 2 本 Uag 0 9 8 7 6 5 4 3 2 1 0 Oi 計 ま 0 SO 0 000 NO 0 優先 表示 画面 5 優先 表示 画面 4 < 各 ニ ブル の 値 > < 指定 画像 ソー ス > 0 指定 な し (表示 OFE) 8 グラ フィ ッ ク 画 面 0 9 グラ フィ ッ ク 画 面 1 31 第 2 章 マッ プ 画面 マス クモ ー ド レジ スタ 15 14 13 12 1 10 9 8 OWENal 0 「 0 10 U 1 を ES Ma 6 5 4 3 0 7 2 1 (リセ ッ ト 時 不定 ) GMP マス ク 挿 入 位 軒 GMP1 GMP0O 0 0 表示 画面 0 と 表示 画面 1 と の 間 0 1 表示 画面 1 と 表示 画面 2 と の 間 1 0 表示 画面 2 と 表示 画面 3 と の 間 1 1 表示 画面 3 と 表示 画面 4 と の 間 MKM1 マス クモ ー ド (外側 ) MKM11 MKM10 0 0 ノー オペ レー ショ ン 0 1 直後 の 低 優 先 画面 を 透明 に する 1 0 高 優先 画面 を すべ て 透明 に する 1 1 低 優 先 画面 を すべ て 透明 に する MKM0 マス クモ ー ド (内 側 ) MKM01 MKM00 0 0 ノー オペ レー ショ ン 0 1 直後 の 低 優 先 画面 を 透明 に する 1 0 高 優先 画面 を すべ て 透明 に する 1 1 低 優 先 画面 を すべ て 透明 に する Fwem | mw [swfml 、 ご ジー バン ツー トモ ー ド レジ スタ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (リセ ッ ト 時 不定 ) BDM バ パック ドロ ッ プ モー ド BDM1 BDMO 0 0 バッ ク ド ロ ッ プ モー ド 0 (内 バッ ク ド ロ ッ プ カラ ー 外 透 明 ) 0 1 バッ ク ド ロ ッ プ モー ド 1 (内 透明 外 バ ッ ク ド ロッ プ カ ラ ー) 1 0 バッ ク ド ロ ッ プ モー ド 2 (内 外 バッ ク ド ロ ッ プ カラ ー) 1 1 バッ ク ド ロ ッ プ モー ド 3 (内 外 透明 ) ※ 24.8KHz CRT 使用 時 は モー ド 0 の み 可 能 PLTM カラ ー パ レッ トモ ー ド PLTM2 PMODE PMOO (PMODE は 32H, PM00 は 31H) 0 0 0 カラ ー パ レッ トモ ー ド 1 0 0 1 カラ ー パ レッ トモ ー ド 2 0 1 0 カラ ー パ レッ トモ ー ド 0 0 1 1 カジ ー バ レツ ドモ ー ド 2 32 2.2 1 プ 0 ポ ー ト マッ プ PLTM2 PLTM1 PLTM0 1 0 0 カラ ー パ レッ トモ ー ド 0 (パレ ッ ト セ ッ ト 0 使用 ) 1 0 1 カラ ー パ レッ トモ ー ド 1 (パレ ッ ト セ ッ ト 1 使用 ) 1 中 0 カラ ー パ レッ トモ ー ド 2 (混在 モー ド ) 1 1 は カラ ー パ レッ トモ ー ド 3 (同時 32 色 モ ー ド ) PLTP 混在 モー ド で パレ ッ ト セ ッ ト 1 を 使う 表示 画面 の 指定 PLTP1 PLTPO 0 0 テキ スト 画面 0 1 スプ ライ ト 画 面 1 0 グラ フィ ッ ク 画 面 0 1 1 グラ フィ ッ ク 画 面 1 BLKM ンー ジリ ンク と は BLKM1 BLKM0 0 0 ブリ ンク OFF 0 1 ブリ ンク 周期 32 フレ ー ム 1 0 プリ ンク 周期 64 フレ ー ム 1 1 ブリ ンク 周期 128 フレ ー ム BRDs ジ リシン シク ュー デイ BLKD1 BLKD0 0 0 12.5% 0 1 25% 1 0 50% 1 1 75% TA A OM で C の ー3 3 。 2 1 0 O10EH |G3 G2 G1 GOi* *|R3 R2 RI ROi*|B3|B2 Bl BOI* G 領 城 ユー R 領 城 ー B 領 域 一 ーーー [*] は RGB 各 領 域 の 上 位 ビ ッ ト が すべ て 0 の と き 0 に , それ 以外 の と き は 1 に 設定 する . カラ ー コ ー ド グ ど グ プ レ ー ン マス クレ ジス タ (リセ ッ ト 時 ) TSCR テキ スト プス プラ イト 判別 境界 カラ ー カラ ー コ ー ド が 1^ 設 定 値 ミス デ ライ ト カラ ー コ ー ド が 1^ 設 定 値 二 1--15 : テキ スト GCF グラ フォ ックス フォ アグ ラウ ンド カラ ー レ ジス ズ スタ シン グル プレ ー ン 。 1 ビッ トピ クセ ル 時 の カラ ー G3MSK マル チ プ レー ン 4 ビッ ト プ ピ クセ ル プレ ー ン 3 画面 スイ ッ チ 0 OFF 1 ON 33 第 2 章 マッ プ グラ フィ ッ ク 表 示 回 路 モ ー ド の 指定 V3 モー ド V1 プ V2 モー ド マル チ プ レー ン 1 ビッ トピ クセ ル プレ ー ン nr 画面 スイ ッ チ np | xpao グラ フィ ッ ク 画 面 0 透明 色 レ ジス タ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GOTCn 0 1 グラ フィ ッ ク 画 面 0 カラ ー パ レッ ト n の 透明 色 指 定 不透明 色 指 定 透明 色 指定 グラ フィ ッ ク 画 面 1 透明 色 レ ジス タ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 G1TCn 0 グラ フィ ッ ク 画 面 1 カラ ー パ レッ ト n の 透明 色 指 定 不透明 色 指定 透明 色 指定 テキ スト プス プラ イト 秀明 色 レ ジス タ 34 15 14 13 12 11 10 9 8 M 6 5 4 3 2 Nl 0 TSTCn 0 Bl テキ スト プス プラ イト カラ ー パ レッ ト n の 退 明 色 指 定 不透明 色 指 定 透明 色 指 定 2.2 1 プ 0 ポ ー ト マッ プ _ MskLeft _ MskRit _ MskTop _ MskBot 画面 マス ク パ ラメ ー タ (リセ ッ ト 時 不定 ) 人 画面 マス ク 左 右 : 640 ド ッ ト 解 像 度 の 画面 に 対す る 値 15 。 MKO509'WI2ma OI RT 6MASMT4- 3WM2Y 1 0 0130H 0 0 0 Du マス ク 左端 0132H DO OR OOREEO マス ク 右端 人 @ 画 面 マ スク 上 下 : 200 プ 204 ドッ ト 解像度 の 画面 に 対す る 値 4 13 12 amd0 9 8 7 6 5 4 3 2 1 0 0134H 0 0 0 IEOSRO OO 0 マス ク 上 上 端 で コマ ンド ポー ト (OUT) 7 6 5 4 3 2 1 0 0142H マジ ドド @ ス テー タス ポー ト (IN) 7 6 5 4 3 2 i 0 LP ライ トペ ン 信 号 検出 (VA で は 使用 不可 ) VB 垂直 消去 期間 SC スプ ライ トコ ント ロー ル ( ス プラ イト オー バー グズ 衝突 ) ER エラ ー 発 生 EMEN エミ ュ レ ーション 展開 実行 中 BUSY コマ ンド 実行 中 OBF 出力 デー タバ パッ ファ フル IBF 入力 デー タバ ッ フ ァ フ ル ( コ マン ド プ パラ メー タ 共 通 ) 35 第 2 章 マッ プ mam | ws [owlml = 、 、 "| 6 6 5 4 3 2 + 0 TD テキ スト 表示 禁止 機能 0 表示 ON 1 表示 OFF VALT TVRAM アク セス 制限 パラ メー タ ( リ セッ ト 時 000) 設定 値 =0 制限 な し 0 以外 設定 値 X 4 回 まで ATM テキ スト アト リピ ビ ュー トモ ー ド 0 V3 モー ド ( リ セッ ト 時 ) 1 V1/V2 モー ド ANKM ANK 文字 フォ ント モー ド 0 16 ドッ トモ ー ド (リセ ッ ト 時 ) Nl 8 ドッ トモ ー ド TVWM TSP メモ リモ ー ド 0 バイ トモ ー ド 1 ワー ドモ ー ド (リセ ッ ト 時 ) _ CGAddr _ CGData _ CGRow 漢字 CG ポー ト 文字 指定 OUT 14CH (ワー ド ) : ハー ドウ ェ ア 文 字 コ ー ド ・2 バイ ト 文 字 ( 日 本 語文 字 ) 呈 。 多 8 全 相 0 9 9 7 @ 5 51ZNnw* | 0 | JIS 第 ニ バ イト | 0 | JIS 第 - バ パイ トー20H 1 7 トチ (ANK メモリ ホー0 ブロ ッ ク モ ー ド ッ リーー0 メモ リ っ ルレ O 1 1 指定 禁止 (カス ケー ドモ ー ド ) 1 1 指定 禁止 ADIR アド レス 更新 方 向 W ン XB ワー ドバイ トモ ー ド 0 イン クリ メン ト 0 バイ トモ ー ド 1 ディ クリ メン ト 1 指定 禁止 (フー ドモ ー ド ) AUTTI オー トイ ニシ ャ ライ ズ 0 オー トイ ニシ ャ ライ ズ 禁 止 1 オー トイ ニシ ャ ライ ズ 許 可 @ ス テー タス レジ スタ (DMAC) 7 6 5 4 8 2 MM 0 pm RQ3~0 DMA リク エス トス テー タス (チャ ネル 3~0) 0 リク エス ト 無 し 1 リク エス ト 有 り TC3~0 ー ミ ナル カウ ント ステ ー タ ス ( チ ャ ネル 3~0) 0 未 終 端 1 END また は ター ミナ ルカ ウン ト 40 2.2 1 ユ プ 0 ポー トマ ッ プ @ マ スク レジ スタ (DMAC) 1/0 7 6 5 4 3 の 1 0 M3~0 DMA リク エス トマ スク (チャ ネル 3~0) 0 DMA 要求 許可 1 DMA 要求 禁止 _ SlaICU0 _ SlaICU1 _ MasICU0 _ MasICU1 割込み コン トロ ー ラ 186H, 18AH マス タ ICU 184H, 186H スレ ー ブ ICU 参照 : 158H, 1CDH, 1CFH る ⑧ 割 込み マス ク 18AH マス タ ICU 割込み マス ク 186H スレ ー ブ ICU 割込み マス ク 7 6 5 4 3 2 0 Mn: 割込み マス ク 各 レ ベル の 割込み を 禁止 許可 する . 0 割込み 許可 1 割込み 禁止 Feen | ww [om シズ テム ボ ポート '5 7 6 5 4 3 2 1 0 RSTMD リセ ッ ト ス テー タス 0 パワ ー オ ン リ セッ ト 時 1 マニ ュ ア ルリ セッ ト 時 (パワ ー オ ン リ セッ ト 後 , ソフ トウ ェ ア に より セッ ト す る こと ) AVC2 AVC1 ビデ オ 出 力 制御 0 0 テン 選 グ ビデ オル モニ = ド (オタ マタ イシ ) 0 1 指定 禁止 1 0 アナ ログ RGB モー ド (リセ ッ ト 時 ) 1 1 指定 禁止 FBEN FBEEP イネ ー プ ブル 0 FBEEP 禁止 1 FBEEP 許可 (リセ ッ ト 時 ) 41 第 2 章 マッ プ Lawm | ww [mlml 一 年 ボ 同 N の 2 CBO ラ コマ シド ボ ポート 15 14 13 12 11 10 9 8 0197H 1 1 0 |kTARY| KCIFE FCLR FIFO クリ ア KCIFE キー コー ドイ ンタ フェ ー ス 動作 モー ド 0 ノー オペ レー ショ ン 0 使用 し な い (リセ ッ ト 時 ) 1 FIFO クリ ア 1 使用 する RTRY 再送 要求 AREP オー トリ ピー ト 動 作 0 ノー オペ レー ショ ン 0 指定 し な い (リセ ッ ト 時 ) 1 再送 要求 1 指定 する RESET サブ CPU リセ ッ ト PRIK 優先 キー 先行 送信 0 ノー オペ レー ショ ン 0 指定 し な い (リセ ッ ト 時 ) 1 リセ ッ ト 1 指定 する KTARY キー 配列 指定 FCTRL FIFO 制御 0 JIS 配列 (リセ ッ ト 時 ) 0 FIFO 使用 せ ず (リセ ッ ト 時 ) 1 50 音 配列 1 FIFO 使用 0198H _ MemPro OUT |B 019AH _ MemWrt OUT |B メモ リス イッ チ 書 込み 禁止 許可 る ⑧@ ス トロ ー ブ ポ ー ト OUT 0198H メモ リス イッ チ 書 込み 禁止 (リセ ッ ト 時 ) OUT 019AH メモ リス イッ チ 書 込み 許可 _ Timer0 _ Timer1 _ Timer2 _ TimMode TCU (タイ マカ ウン タユ ニッ ト ) る ⑧@ TCU カウ ンタ ポー ト 7 6 5 4 3 2 1 0 01A0H 1/O カウ ンタ #0 カウ ント 値 プ ステ ー タ ス 01A2H I/O カウ ンタ #1 カウ ント 値 プ ステ ー タ ス 01A4H I/O カウ ンタ #2 カウ ント 値 プ ステ ー タ ス カウ ンタ 0 汎用 タイ マ 1 カウ ンタ 1 BEEP 周波 数 設定 カウ ンタ 2 RS-232C ボー レー ト 設 定 42 2.2 1 プ 0 ポ ー ト マッ プ で アー グズ > 7 6 5 4 3 2 1 0 IN RWM1 | RWM0 |CMODE2 CMODEI|CMODE0| BDM | OL カウ ンタ の 出力 信号 レベ ル NC カウ ント デー タ 無 効 フ ラグ 0 ロー レベ ル 0 カウ ント デー タ 有 効 ( カ ウン ト 中 ) 1 ハイ レベ ル 1 カウ ント デー タ 無 効 0 設定 され て いる モー ド が リー ド で きる @ TCU 制御 ポー ト (01A6H) この ポー ト で 指定 後 , カウ ンタ の 設定 ・ カ ウン タ 値 プス テー タス の 読出 し を 行う . ① カウ ンタ の 設定 7 6 5 4 3 2 1 0 SC1 SCO 設定 対象 カウ ンタ 設定 0 0 カウ ンタ #0 0 中 カウ ンタ #1 1 0 カウ ンタ #2 1 1 (マル チ プ ル ラ ッ チ コマ ンド ②③ 参 照 ) CMODE カウ ンタ モー ド RWM1 RWMO リー ドラ イト モー ド ml 20 の ウン ヤン Be コン h 員 )。 = ENR 0 RTA DB カウ ント 動作 指定 ーーー WEftpzft 0 パイ ナリ カッ ント 1 1 下位 。 上 位 の 順 の 2 パイ ト 1 BCD カッ ウント ② カウ ント ラッ チ (1 つの カウ ンタ の リー ド ) 7 6 5 4 3 2 1 0 ON に 05 に に 0 トコ ーー の SC1 SCO リード 対象 カウ ンタ の 選択 0 0 カウ ンタ #0 0 1 カウ ンタ #1 1 0 カウ ンタ #2 と の コマ ンド で 指定 し て ポー ト 1AOH-1A4H で リー ド す る 。. ③ マル チ プ ル ラ ッ チ コマ ンド (複数 カウ ンタ の リー ド ) 7 6 5 4 3 2 1 0 XCL カウ ンク シッ プチ プ モ 大 ドド 0 ラッチ す る 1 ラッ チ し な い XSL ステ ー タ ダス ラッチ モ ー ド 0 ラッ チ す る 1 ラッ チ し な い ET2 カウ ンタ #2 の 選択 GN カウ ンタ #1 の 選択 RO カウ ンタ #0 の 選択 0 選択 し な い 1 選択 する 43 第 2 章 マッ プ mm | mmmea | or Ts 汎用 タイ マ 3 制御 ポー ト 7 6 5 4 3 2 1 0 MINTEN 汎用 タイ マ 3 割込み イネ ー ブ ル 0 禁止 (リセ ッ ト 時 ) 1 許可 タイ ミン グ に よっ て は この ビッ ト で 割込み 禁止 に し た 後 で , 1 回 だ け 割 込み が 発生 す る 場合 が ある . MTP1 MTPO 汎用 タイ マ 3 イン ター バル 0 0 120Hz (リセ ッ ト 時 ) 0 60Hz 1 0 30Hz 1 1 15Hz 01BOH FDC モー ドレ ジス タ が 6 5 4 3 2 1 0 MODE FDD イン ター フェ イス 動作 モー ド 0 イン テリ ジェ ント モー ド (リセ ッ ト 時 ) 1 DMA モー ド mm | mwen | or a FDC 制御 ポー ト 0 (DMA モー ド 時 の み ア クセ ス 可 ) 7 6 5 4 3 2 1 0 CLK FDC クロ ッ ク 選 択 0 4.8MHz (リセ ッ ト 時 ) 1 8MHz DSI FDC の ドラ イブ セレ クト の 禁止 0 許可 (リセ ッ ト 時 ) il 禁止 TD1/TD0 ドラ イブ 1/0 トラ ッ ク 密 度 0 48 TPI (リセ ッ ト 時 ) 1 96 TPI RV1/RV0 ドラ イブ 1 ンプ 0 モー ド セ レ クト 0 2D, 2DD モー ド (リセ ッ ト 時 ) 1 2HD モー ド ( 注 ) ドラ イブ の トラ ッ ク 密 度 を 48tpi か ら 96tpi に 変更 する 場合 に は , まず DSI=1 に し た 後 切換 え を 行う 必要 が ある . 44 2.2 1 ユ プ 0 ポー トマ ッ プ omm | wen | or Ta FDC 制御 ポー ト 1 (DMA モー ド 時 の み ア クセ ス 可 ) 介 モ ー タ コン トロ ー ル 7 6 3 4 3 2 1 0 PCM プリ シフ ト 指 定 0 プリ シフ ト を 行わ な い ( リ セッ ト 時 ) 1 プリ シフ ト を 行う M1/M0 ドラ イブ 1 ノ /0 モー タ 制 御 0 モー タ OFF( リ セッ ト 時 ) 1 モー タ ON ( 注 ) モー タ ON の 際 は , 動作 可能 と な る まで に 600ms の 待ち 時 間 を 必要 と する . mmm | saws [om FDC 制御 ポー ト 2 (DMA モー ド 時 の み ア クセ ス 可 ) @ FD コン トロ ー ル 7 6 5 4 3 2 1 0 UT, [CSrlrcreylpeycsn] DAE | 6 mwasd 6 | rns | FDCRST FDC リセ ッ ト 0 ノー オペ レー シ ジ ション 1 リセ ッ ト FDCFRY FRYCEN FDC 強制 レデ ィ 制 御 Xx 0 以前 の 状態 を 保持 0 1 強制 レデ ィ 状 態 解除 1 | 強制 レデ ィ 状 態 設 定 DMAE DMA 制御 0 DMA 禁止 1 DMA 許可 XTMASK FDC タイ マ 割 込み マス ク 0 割込み 禁止 1 割込み 許可 TTRG FDC タイ マト リガ 0 RDG グイ マク リ デ 1 FEDC マイ マス タート @ ス テー タス IN 7 6 5 4 3 2 1 0 OB 二村 人 ドー 59 ミニ RDY FDD レデ ィ 0 ジジ 1 レデ ィ 45 第 2 章 マッ プ 01B8H _ FDCSts IN 01BAH __FDCData 1/O FDC(PD765) 0UB8HM RDC ステ ー タ スポ ボート 01BAH FDC デー タ ポ ー ト | ポー ポニ ドド デニ ニク 羽 一 下 (キー コー ド 征 一下) 01C1H キー コー ドー ゲー ク _ Switch _ MisclInp _ InmtMask _ SysPort シス テム ポー ト 6, 7, 8 (PD8255) る @ シ ステ ム ボ ポー ト 6 (IN) 6 5 4 9 2 1 0 SPREED ビー ドモ ー ド 0 S モー ド 1 モー ド SW5--2 ディ ッ プ スイ ッ チ 5~2 の 値 0 オジ 1 オジ る ⑧@ シ ステ ム ポ ボート 7 (IN) 7 6 5 4 3 2 1 0 01CBH CI CTS DCD UINT3 | XSW1 0 0 CDI CI RS-232C 被 呼 信号 0 ON 1 OFF ETS RS-232C 送信 可能 信号 0 ON 46 第 ヨ 草 メモ リ 3.1 メモ リモ ー ド 本 機 に は CPU が 直接 アク セス で きる 1 M バイ ト の メモ リ 空 間 が ある が , その メモ リ 割 付け に は V3 モー ド と V1 ン V2 モード の 2 種類 が ある . ( 1 ) V3 モー ド :VA オ リ ジ ナ ルモード ( 2 ) V1/V2 モード :88 コン パチ ブル モー ド 本 章 で は 主 に V3 モー ド に つい て 記述 する . 382 メモ リリ > イア ウド V3 モー ド で は 1M バイ ト の メモ リ 空間 す べ て を 使用 し , その 大 ま か な レ イア ウト は 下図 の よ うに な っ て いる 。 この うち 。ROM エリ ア ・ シ ステ ム メ モリ エリ ア ・RAM エリ ア の 一 部 は バン ク 構 成 に な っ て いる 。. で ROM エリ ア FFFFFH F0000H E0000H る @ シス テム メモ リエ リア DFFFFH B0000 了 HI GVRAM | 漢字 ROM #1| バッ クア ッ プ TVRAM SOM A0000H @ RAM エリ ア 9FFFFH 80000H 40000H 00000H 47 第 3 章 メモ リ 3.2.1 RAM エリ ア RAM エリ ア は 次 の よう に 分 か れる . 00000-3FFFFH 標準 メイ ン RAM (本 体内 蔵 ) 40000-7FFFFH 拡張 メイ ン RAM (拡張 スロ ッ ト ) 80000-9FFFFH バン ク RAM (バン ク #1 以降 。 拡張 スロ ッ ト ) この うち 00000-7FFFFH は 標準 実装 され て いる . 信 メイ ン RAM 標準 メイ ン RAM と 拡張 メイ ン RAM を 合わ せ て メイ ン RAM と いい 。 下図 の よう に マッ ピ ング され て いる . 9FFEFFH 80000H 標準 実装 40000H V3BASIC の 作業 領域 や アプ リ ケー ショ ン ソ フト が 稼動 する 領域 シス テム 共通 領域 VA シス テム 共通 の 作業 領域 00400H イン ター ラプ トペ クタ CPU の イン ター ラプ ト ベ クト ル イン ター ラプ ト ベ クタ CPU の 割込み ベク タ (256 個 分 ) シス テム 共通 領域 シス テム 共通 領域 は VA シス テム で 共通 に 使用 され る 情報 保持 領域 で あり , アド レス が 保証 され て いる た め 総 て の プロ グラ ム で 参照 する こと が で きる . また , アプ リケーション ソフ ト か ら 設 定 可 能 も し く は 設定 する 必要 の ある 領域 が 存在 する . な お , いか な る プロ グラ ム も この 領域 を 破壊 し て は な ら な い . この 領域 は セグ メン ト 40H か ら は じ ま る 。. 拡張 シス テム コー ド ROM に 置か れ な か っ た コー ド や ユー ザ 辞 書 ・ 各 種 バ ッ フ ァ ・ 非 標準 デバ イス ドラ イ バ な ど が 配置 さ れる . 00000H 価 バン ク RAM バン ク RAM は RAM バン ク 制 御 ポ ー ト に よっ て 80000-9FFEFH の メイ ン RAM の 代わ り に だ CPU か ら ア クセ ス で きる よう に な る . その 用 途 は 特に 決め られ て いな い が 。RAM ディ スク な ど に 利用 で きる . 48 3.2 メモ リ レ イ アウ ト 3.2.2 シス テム メモ リエ り ア DFFFFH 漢字 ROM #2 未 使用 GVRAM | 字 ROM #1 バックアップ B0000H A0000H ROM TVRAM テキ スト 画面 ,。 ス プラ イト 表示 用 RAM GVRAM グラ フィ ッ ク 表 示 用 RAM 漢字 ROM ANK 文字 , 漢字 , ユー ザ 定 義文 字 な どの フォ ント が 格納 され , テキ スト 画面 の 表示 に 使わ れる . 外 字 キ ャ ラク タタ ジェネレータ 用 RAM, メモ リス イッ チ も この エリ ア に 入っ て いる . 辞書 ROM JEFP に 使わ れる 辞書 が 入っ て いる . 3.2.3 RONM リア 休 メイ ン ROM 標準 実装 され て いる ROM で , 以下 の よう に 割り 当て られ て いる . FFFFFH F0000H E0000H 各 ROM は 主 に 次 の よう な 内 容 に な っ て いる が , 将来 に わた っ て 確定 し た も の で は な い . ROM10 初期 化 ヤ ルー チン , V1/V2 スー パー バイ ザ , ファ イル シス テム テキ スト ・ サ ウン ド ・ キ ー ボ ー ド ・ ス プラ イト BIOS ROM1 1 V1/V2 BASIC ROM00 V3 BASIC, 10 進 演算 パッ ケー ジ ROM01 シェ ル ,。 スク リー ン エ ディ タ ,。 ファン シー フォ ント BIOS テキ スト エディ タ 。 ポップ アッ プ BIOS, ライ ン エ ディ タ V1/V2 機械 語 モ ニタ ROM02 日 本 語 フ ロン ト プ ロ セッ サ ,。 辞書 アク セス ルー チン セッ ト ア ッ プ , アニ メー ショ ン BIOS, マウ ス BIOS フロ ッ ピ ー デ ィ ス ク BIOS ROM03 拡張 グラ フィ ッ ク BIOS の 一 部 , ハードディスク BIOS プリ ンタ BIOS, カレ ンダ 時 計 BIOS。 コミ ュ ニ ケー ショ ン BIOS ROM04 拡張 グラ フィ ッ ク BIOS ROM05 辞書 の 一 部 , デバ ッ ガ (V3), グラ フィ ッ ク 画 面 制御 BIOS 人 @ 拡張 ROM 拡張 スロ ッ ト で 拡張 可能 な ROM で , 使用 方 法 は 決っ て いな い . 49 第 3 章 メモ リ 3.3 メモ リコ ント ロー ル 各 メ モリ 領域 の バン ク を 選択 する た め に は メモ リマ ッ プ レジ スタ (PORT 152H, 153H) また は RAM バン ク 制 御 ポ ー ト (PORT 1D0H) を 使用 する . 介 メモ リモ ー ド の 切換 え ( メ モリ マッ プレ ジス タ ) ポー ト 153H ビッ ト 6 シス テム メモ リモ ー ド 0 V1/V2 モー ド 1 V3 モー ド ( リ セッ ト 時 ) る ROM エリ ア の バン ク 切 換え (メモ リマ ッ プ レジ スタ ) ROM エリ ア は E0000-EFFFFH の ROM エリ ア 0 と F0000-FFFFFH の ROM エリ ア 1 と に 分 けら れ , 各々 独立 に バン ク 制 御 が 可能 で ある . ボド 52 還 く ROM エリ ア 0> E0000-EFFFFH bit3 bit2 bit1 bit0 0 0 0 0 ROM00 選択 0 0 0 8 ROM01 選択 0 0 1 0 ROM02 選択 0 0 1 1 ROM03 選択 0 1 0 0 ROM04 選択 0 1 0 1 ROM05 選択 0 1 1 0 リザ ー プ 0 1 1 1 リザ ー ブ il x x x バス スロ ッ ト に 解放 く ROM エリ ア 1 > F0000-FFFFFH bit7 bit6 bit5 bit4 0 0 0 0 ROM10 選択 0 0 0 1 ROM11 選択 0 0 1 0 に lg 0 0 1 i 禁 准 0 1 0 0 禁止 0 1 0 1 禁止 0 1 1 0 リザ ー ブ 0 1 1 | リザ ー プ jl x x x バス スロ ッ ト に 解放 50 3.3 メモ リコ シト 則 三 ル @ シス テム メモ リエ リア の バン ク 切 換え (メモ リマ ッ プ レジ スタ ) ポー ト 153H bit3 bit2 bit1 bit0 0 0 0 0 バス スロ ッ ト 選択 1 TVRAM 選択 0 リザ ー プ 中 リア ザー プ 0 GVRAM 選択 i リザ ー ブ 0 リー プ il リザ が ププ 漢字 ROM #1 選択 漢字 ROM #2 選択 リザ ー ブ リザ ー ブ 辞書 ROM 選択 リザ ー プ リザ ー ブ リザ ー ブ (リザ ー ブ の 部 分 は バス スロ ッ ト 可 ) ⑯ RAM エリ ア の バン ク 切 換え (RAM バン ク 制 御 ポ ー ト ) RAM エリ ア で バス スロ ッ ト に 拡張 で きる の は 40000-9FFFFH の 部 分 の み で ある . この うち , 80000-9FFFFH を バン クエ リア と し て 設定 し て いる . バン ク を 選択 する た め に は , RAM バン ク 制御 ポー ト (1DOH) に 選択 する バン ク 番 号 を 出力 する . m mm ビニ ロビ ビビ ロロ ーー oC oD © © ーー ビー どど らら ど ビビ ビジ ご らら ro に ro に Ce トト 51 第 3 章 メモ リ 34 バッ クア ッ プ メモ リ 漢字 ROM #2 の 一 部 に は 8 K バ イト の バッ テリ ー バ ッ ク ア ッ プ され た RAM が あり , 外字 キ ャ ラク タタ ジェネレータ, JFP 学習 機能 用 領域 , メモ リス イッ チ と し て 使用 きれ て いる . また メモ リス イッ チ 領 域 に は ライ ト プ ロ テク ト を か ける こと が で きる . @ バッ クア ッ プ メモ リマ ッ プ メモ リス イッ チ 外字 領域 BlFFFH ライ ト デ プロ テク トト 可 BIFCOH JIS CODE 7770 B0800H JIS CODE 7620 学習 領域 B0000 了 HI ライ ト デ ピロ テクト 方 法 (出力 する デー タ は ダミ ー) OUT 198H プロ テク ト ON OUT 19AH プロ テク ト OFF メモ リス イッ チ の うち 2 バイ ト は 1 ぞ 0 ポー ト か ら も リー ド の み 可 能 で ある . IN 30H BIFC2H 番地 リー ド IN 31H BIFC6H 番地 リー ド な お , パ バックアップ メ モリ と し て の アク セス は V3 モー ド で の み 可 能 。 た だ し , バイ ト ア クセ ス し か で き な い . 52 3.5 ウエ イト 3.5 ウエ イト CPU が 各 メ モリ 領域 を アク セス する 場合 , 自動 的 に ウエ イト サイ クル が 挿入 され る 場合 が あ る 標準 メイ ン RAM 拡張 メイ ン RAM バン ク RAM TVRAM GVRAM 漢字 ROM 辞書 ROM メイ ン ROM 拡張 ROM ウデ イド な じ 1 ウエ イト EA 最低 2 ウェ イト 通常 7 一 13 最低 1 ウェ イト 最低 2 ウェ イト 通常 7~13 1 ウエ イト ツ エ オド : 誠 選 1 ウェ イト V1/V2 モー ド で は すべ て の 領域 で 最低 1 ウェ イト 挿入 され る . 人 TVRAM に 対す る アク セス 時 の ウエ イト CPU や SGP (描画 プロ セッ サ ) が TVRAM や キャ ラク タ ジ ェ ネ レ ー タ に 対し て アク セス を 行 う 場 合 に は ,。 CPU(SGP) に 対し て ウエ イト サイ クル が 挿入 され る . また 1 水平 サイ クル 中 の アク セス 回 数 は 使用 し て いる 表示 モー ド , スプ ライ ト の 数 等 に より 制 限 が あり , この 制限 を 越え る 回 数 の アク セス を 行っ た 場合 に は , テキ スト 画面 アス プラ イト 画面 の 表示 が 正常 に 行わ れ な く な る . これ を 防止 する た め に CPU(SGP) の TVRAM プ キャ ラク タ ジ ェ ネ レ ー タ に 対す る 1 水平 サ イク ル 中 の アク セス 回 数 を 制限 する 機能 が あり , あら か じ め 設 定 さ れ た 回 数 以上 の アク セス を 行 っ た 場合 に は CPU(SGP) は 次 の 水平 サイ クル に は いる まで ウエ イト させ られ る . 制限 回 数 の 設定 は ポー ト 148H の ビッ ト 7~ー4(VALT2-0) で 行う . 設定 値 | アク セス 可能 回 数 53 第 3 章 メモ リ 3.6 拡張 スロ ッ ト で 拡張 で きる メモ リ VA で 拡張 スロ ッ ト を 使っ て 拡張 可能 な メモ リ 空 間 (( バ ンク ) に は 以下 の も の が ある 。. ROM エリ ア 1 (F0000-FFFFFH) 128K バイ ト X 8 バン ク ROM エリ ア 0 (E0000-EFFFFH) 128K バイ ト xX 8 バン ク シス テム メモ リエ リア (AO0000-DFFFFH) 256K バイ トメ 11 バン ク 拡張 メイ ン RAM (40000-9FFFFH) 384K バイ ト X 1 バン ク バン ク RAM (80000-9FFFFH) 128K バイ ト x255 バン ク シス テム メモ リエ リア の うち 10 バン ク は シス テム 予約 で あり 使用 で き な い . 人 オー トス ター ト ROM ROM エリ ア 1 に マッ プ さ れ た 拡張 スロ ッ ト 上 の ROM プロ グラ ム を シス テム 起動 時 に オー ト スタ ー ト させ る こと が で きる . これ は , CPU か ら の 特定 の ポー ト ア クセ ス に 対し て , 拡張 ボー ド 側が オー トス ター ト 要 求 フ ラグ を 出す こと に よっ て 実現 する . 7 6 5 4 3 2 1 0 IN RBSn 0 ニテ バ ンク nk に ROM が 実装 され て いて , オー トス ター ト を 要求 し て いる . 1 =ROM は な い プ オー トス ター ト の 必要 が な い . [ROM ボー ド 側 の 動作 ] 156H ポー トリ ー ド 時 , 設定 し た い バ ンク に 相当 する RBSn ビッ ト が 0 に な る よう オー プン コレ クタ ゲー ト に より ドラ イブ する . その 後 , 設定 し た バン ク が ポー ト 152H ビッ ト 7~4 で 指定 され た な ら ば ROM アク セス 可能 と する . [CPU 側 の 動作 ] シス テム イニ シャ ライ ズ 終 了 後 , ポート 156H を リー ド し , 0 と な っ て いる ビッ ト に 相当 する バン ク を 選択 し て FO000H 番地 を コー ル す る . 複数 の ビッ ト が 0 と な っ て いる 場合 に は RBS0 か ら 順 に 優先 さ せる . 3.7 DMA に よる メモ リア クセ ス (V3 モー ド ) DMA に よる メモ リア クセ ス ア ドレ ス は CPU と ほぼ 同じ で ある が , メモ リア クセ ス 時 の ウエ イト は , メイ ン RAMROM へ の アク セス に ウエ イト が か か る 場合 が ある . バッ クア ッ プ メモ リ に 対し て の DMA アク セス は で き な い . 54 第 4 草 表示 シス テム 4.1 表示 シス テム 概要 CRT 画面 上 に は , テ キス ト プ ス プラ イト グラフィ ッ ク 画 面 0 プ グ ラフ ィ ッ ク 画 面 1 の 4 種類 の 画像 ソー ス と バッ ク ド ロ ッ プ ググ 外部 ビデ オ が 合成 され て 表示 さき れる. 4.1.1 画面 構成 CRT 画面 に 表示 され る 画面 は 以下 の よう に 構成 され る . 合成 優先 度 低 A 外部 ビデ オ 画 面 最終 ビデ オ 画 面 バッ ク ド ロ ッ プ 面 優先 表示 画面 4 優先 表示 画面 3 直接 色 指 定 画 パレ ッ ト 指 定 画面 合成 優先 度 高 表示 画面 は 上 図 の よう に 9 種 の 優先 表示 画面 が 合成 され て いる . 合成 時 の 優先 順位 は 優先 表示 画面 0 が 最も 高く , 優先 表示 画面 1 2 と 順次 低く な っ て いく . 優先 順位 の 高い 画面 ほど 手前 に 見 え , 優先 順位 が 低い 画面 は 高い 画面 に 隠さ れる よう に 表示 され る . 優先 表示 画面 0 て 5 に は テキ スト プス プラ イト ン 2 枚 の グラ フィ ックス の 4 つの 画像 ソー ス を 割り 当て る . ( 1 ) パレ ッ ト 指 定 画面 (優先 表示 画面 0 て 3) 優先 表示 画面 0 ~ 3 に 割り 付け られ た 画面 は 。 パレ ッ ト 指 定 画面 と し て 表示 され る . パレ ッ ト 指定 画面 と は , ピク セル デー タ が 直接 表示 色 を 指定 する の で は な く , ピク セル デー タ を カラ ー コ ー ド と し て 。 そ の カラ ー コ ー ド に 対応 する カラ ー パ レッ ト か ら 得 られ た 色 に より その ピク セル の 表示 色 が 指定 され る 画面 で ある . 55 第 4 章 表示 シス テム この 画面 に 割り 当て る こと が で きる 画像 ソー ス に は 以下 の も の が ある . @ テ キス ト 画 面 @ ス プラ イト 画面 @ グ ラフ ィ ッ ク 画 面 0(1 ビッ ト プ ピ クセ ル , 4 ビッ トブ ピク セル ,。 8 ビッ トピ クセ ル ) @ グ ラフ ィ ッ ク 画 面 1(1 ビッ トノ ピク セル 。 4 ビッ トピ クセ ル ,。 8 ビッ トピ クセ ル ) ( 2 ) 直接 色 指 定 画面 (優先 表示 画面 4, 5) 優先 表示 画面 4 プ 5 に 割り 付け られ た 画面 は , 直接 色 指定 画面 と し て 表示 され る . 直接 色 指定 画 面 と は , ピク セル デー タ に よっ て 直接 表示 色 が 決定 され る 画面 で あり , カラ ー パ レッ ト の 参照 は 行わ れ な い . この 画面 に 割り 当て る こと が で きる 画像 ソー ス に は 以下 の も の が ある 。. @ グラフィック 画面 0(8 ビッ ト プ ピ クセ ル ,。 16 ビッ ト プ ピ クセ ル ) @ グ ラフ ィ ッ ク 画 面 1(8 ビッ トブ ピク セル ) ( 3 ) バッ ク ド ロ ッ プ 面 バッ ク ド ロ ッ プ 面 は 優先 表示 画面 5 の 次 の 優先 順位 を も ち , ボー ダー 領域 を 含ん で バッ ク ド ロ ッ プ ボー ダー カラ ー を 表示 する . ( 4 ) 最終 ビデ オ 画 面 最終 ビデ オォ 画面 は 常に 黒色 と な っ て お り , 上 記 の すべ て の 画面 が 透明 色 の 場合 に 黒 レ ベル を 提 供する . (5) 外部 ビデ オ 画 面 外部 ビデ オォ 画面 は 外部 機器 か ら の ビデ オ 信 号 (TV 信号 , VTR 信号 等 ) と の スー パー イン ポー ズ を 行う 場合 に 外部 ビデ ォ 信 号 が 表示 され る 画面 で ある . @ 画面 合成 各 優 先 表示 画面 は 以下 の よう な プロ セス で 合成 され る . パレット 指定 画面 を 直接 色 指定 画面 を カラ ー コ ー ド で 合成 RGB カラ ー で 合成 パレ ッ ト ノ 透明 色 の 参照 に より RGB カラ ー へ 変換 = D/A 変換 し て RGB 信号 に RGB 出力 56 4.1 表示 シス テム 概要 4.1.2 優先 表示 画面 の 指定 各 優先 表示 画面 0 ~ 5 に 使用 の 有無 お よび どの 画像 ソー ス を 割り 当て る か を 指定 する . グラ フ ィ ッ ク 画 面 0 プ 1 は パレ ッ ト 指 定 画面 (優先 表示 画面 0 ~ 3 ) お よび 直接 色 指定 画面 (優先 表示 画 面 4/ 5) の いずれ に も 割り 当て る こと が で きる が , 同時 に パレ ッ ト 指 定 画面 と 直接 色 指定 画面 に 割り 当て る と 正常 に 表示 され な い . @ パ レッ ト 指 定 画面 の 割当 て 指定 ワー ド ポ ー ト 106H 15 4va3 洋 二 1 に 10 987ad6 5 4、 3e 2 て は 0 優先 表示 画面 3 | 優先 表示 画面 2 | 優先 表示 画面 1 | 優先 表示 画面 0 < 各 ニ ブル の 値 > < 指定 画像 ソー ス > 0 指定 な し (表示 OFF) 8 テキ スト 画面 9 スプ ライ ト 画 面 A グラ フィ ッ ク 画 面 0 B グラ フィ ッ ク 画 面 1 @ 直接 色 指定 画面 の 割当 て 指定 ワー ド ポ ー ト 108H 15* 2413 2 10 9 Tr6 nt 1 Yo 0 ( (mms | ee < 各 ニ ブル の 値 > < 指定 画像 ソー ス > 0 指定 な し (表示 OFF) 8 グラ フィ ッ ク 画 面 0 9 グラ フィ ッ ク 画 面 1 4.1.3 テキ スト 画面 と スプ ライ ト 画 面 と の 関係 ( 1 ) 優先 順位 設定 の 制限 テキ スト 画面 と スプ ライ ト 画 面 は 同一 の テキ スト コン トロ ー ラ (TSP) 内 で 処理 され て お り , ス プラ イト 画面 は チキ スト 画面 に 対し て 常に 高 優先 画面 と し て 出力 され る . したがって, 優先 表示 画面 の 設定 の 際 に は 必ず テキ スト 画面 より も スプ ライ ト 画 面 の 優先 順位 が 高く な る よう 設定 する 必要 が ある . ( 2 ) テキ スト 画面 と スプ ライ ト 画 面 の 分 離 上 述 の よう に テキ スト 画面 と スプ ライ ト 画 面 は 同一 の コン トロ ー ラ 内 で 処理 きれ て いる の で コ ント ロー ラ か ら は 1 つの 信号 と し て 出力 され る . し た が っ て , テキ スト 画面 と スプ ライ ト 画 面 と の 間 に グ ラフ ィ ッ ク 画 面 を 挟み 込む た め に は 2 つの 画面 を 分 離す る 必要 が ある . 分離 は テキ スト 画面 アノ スプ ライ ト 画 面 で 使用 する カラ ー コ ー ド に 制限 を つけ る こと に よっ て 実現 する . テキ スト 画面 ノ ス プ ライ ト 画 面 で 使用 で きる トー タル の 人 色 数 は , 透明 色 を 除い て 15 色 で ある . と の 15 色 を 1~N と N 二 1 へ 15 の 2 つ に 分 離し , 各々 を スプ ライ ト 画 面 と テキ スト 画面 で 使用 で きる 色 と す る . つま り カ ラー コー ド 1--N は スプ ライ ト 画 面 の デー タ と し て , カラ ー コ ー ド N 十 1~15 は テキ スト 画面 の デー タ と し て 処理 する . カラー コー ド 0 は 遂 明 色 で あり , テ キス トノ スプ ライ ト 共 通 に 使用 で きる . N が 0 の と き は スプ ライ ト 画 面 使用 不可 , 15 の と き は テキ スト 画面 使 用 不可 と な る . 57 第 4 章 表示 シス テム 分 離す る 境界 (N) は ポー ト 111H で 設定 する . ポー ト 111H ビッ ト 7 て ビッ ト 4 : テキ スト プス プラ イト 判別 境界 カラ ー 1 ~ 設 定 値 スライド 設定 値 寺 1 て 15 : テキ スト な お テキ スト 画面 と スプ ライ ト 画 面 が 隣 合っ て いる と き に は この ポー ト は 通常 意味 が な い . ま た この 機能 は テキ スト 画面 と スプ ライ ト 画 面 の 分 離 で あっ て , 優 先 順位 を 変更 する も の で は な く , 常に スプ ライ ト 画 面 の ほう が 高 優先 で ある . 4.1.4 表示 制御 回 路 の 構成 VA の 表示 制御 回 路 の 構成 の 概要 は 次 の よう に な っ て いる . TSP TVRAM CPU か ら SGP (描画 プロ セッ サ ) 合成 回 路 CRT > GVRAM グラ フィ ックス 表示 回 路 各 構 成 の 役割 TSP+TVRAM : テキ スト ゲス プラ イト 表示 グラ フィ ックス 表示 回 路 十 CVRAM : グラ フィ ックス 表示 SGP : VRAM へ の 描画 4.2 テキ スト 表示 機能 テキ スト 表示 回 路 は キャ ラク タ ジ ェ ネ レ ー タ に 登録 され て いる 文字 フォ ント を TVRAM に 格 納 さ れ て いる ハー ドウ ェ ア 文 字 コ ユー ド に より 指定 し , 同時 に TVRAM に 格納 され て いる アト リ ビュ ー ト コー ド に より 文字 単位 に 修飾 し て 表示 する . テキ スト 表示 機能 に は , V3 対応 モー ド と V1 プ V2 対応 モー ド と が あり , V1/V2 対応 モー ド に お いて は 88M プ F シリ ー ズ と 互換 性 の ある テキ スト 表示 機能 が 提供 され る . V3 対応 モー ド は 以下 の 条件 に より 設定 され る . ポー ト 148H ビッ ト 3(ATM)= ニ 0 : ア トリ ビュ ー ト モー ド が V3 モー ド ビッ ト 1(TVWM) =1 : TVRAM を ワー ド 構 成 に する SB ネイ ティ プ ブ モ ー ド (通常 モー ド ) 58 4.2 テキ スト 表示 機能 V3 対応 モー ド で は TVRAM は ワー ド 和 構成 と な っ て お り , 1 ワード の 文字 コー ド に より 半角 文 字 が 表示 され る . 表示 され る 文字 の レタ ー フ ェ ー ス は 8X16 ド ッ ト が 標準 と な り , これ を 左右 の ペア で 使用 する こと に よっ て 全角 の 漢字 の 表示 を 行う . 表示 文字 ボディ フェ ー ス は 横 方 向 が 8 ドッ ト 固 定 で 縦 方 向 が 16 ドッ トー32 ドッ ト を 指定 す る こと が で きる 。 全角 漢字 の 表示 文字 数 は 最大 で , 200 ライ ン 時 に は 40 文字 X12 行 , 400 ライ ン 時 に は 40 文字 メ 25 行 と な る . 4.2.1 テキ スト VRAM(TVRAM) ( 1) CPU アド レス TVRAM は CPU メモ リ 空 間 の A0000-AFFFFH に 割り 当て られ て お り , シス テム メモ リエ リ ア の バン ク #1 と な っ て いる . シス テム メモ リエ リア の バン ク 選 択 に は ワー ド ポ ー ト 152H の ビッ ト 11~8 を 用 いる . @ シス テム メモ リエ リア 漢字 ROM#2 GVRAM 漢字 ROM#1 | バッ クア ッ プ RAM ジウ パ 8 シグ < バン タク 4 バン ク 8 バ パンク 9 ジッ ンク 容量 と し て は 全部 で 64K バイ ト が ある が , 32K バイ ト ず つの 文字 コー ド 領 域 と アト リ ビ ュ ー ト 領域 の 2 つ に 分 けら れ て いる . 文字 コー ド や アト リ ビ ュ ー ト は 各 ブ ロッ ク の 先頭 か ら 必要 な だ け 使 用 され , 残り は テキ スト スプ ライ ト 制 御 テ ー ブ ル や スプ ライ ト デ ー タ が 置か れる . TVRAM AFFFFH アデ ア トリビュート 領 域 A8000H アト リ ビ ュ ー ト 領域 文字 コー ド 領 域 A0000H A8000H 文字 コー ド 領 域 A0000H 59 第 4 章 表示 シス テム (20ITSP ア アドレス テキ スト コン トロ ー ラ で ある TSP か ら 見 た VRAM は ワー ド ご と に アド レス され て お り , そ の アド レス は, 文字 コー ド 領 域 ………… 0000~3FFFH アト リ ビ ュ ー ト 領域 ……8000~BFFFH で ある . TSP に 与え る パラ メー タ で は この アド レス を 使用 する 場合 と CPU アド レス (オフ セッ ト ) を 使用 する 場合 が ある の で 注意 が 必要 で ある . CPU アド レス と TSP アド レス の 対応 は 次 の よう に な っ て いる 。. TSP アド レス (16 進 ) [CPU アド レス (16 進 ) 0001 ノ 0000 0003/ 0002 7FFF ノ 7FFE 8001/ 8000 8003/ 8002 FFFF ノ FFFE 4.2.2 テキ スト 表示 フレ ー ム バッ ファ の 設定 テキ スト 表示 は 上 記 の 文字 コー ド 領 域内 に 表示 用 フレ ー ム バッ ファ が 設定 され , その フレ ー ム バッ ファ 内 に 文字 コー ド が 格納 され る . アト リ ビ ュ ー ト コー ド は 文字 コー ド の アド レス 十 8000H に 格納 され て いる デー タ が 使用 され る . テキ スト 表示 フレ ー ム バッ ファ の 設定 は TVRAM 中 に ある テキ スト 画面 制御 テー ブル に よっ て 行う . 画面 制御 テー プル の 位置 は TSP へ 設定 する こと に より TVRAM 中 の 任意 の アド レス に 設定 で きる が , 通常 は CPU アド レス で A7F00H を 使用 する . テー ブル と し て 256 バイ ト の 領域 を 割り 当て て ある が , 実際 に は その うち 前 半 の 128 バイ ト を 使用 する . (A7FO0H) 分 割 画面 0 用 制御 テー ブル | 32 バイ ト (A7F20H) 分 割 画面 1 用 制御 テー プル | 32 バ イト (A7F40H) 分 割 画面 2 用 制御 テー ブル | 32 バイ ト (A7F60H) 分 割 画面 3 用 制御 テー プル | 32 バ イト 60 4.2 テキ スト 表示 機能 前 図 の よう に 制御 テー ブル は 4 つ あ り , CRT 画面 を 水平 に 4 分 割 し て 使用 する こと が で きる . 制御 テー ブル 0 制御 テ 制御 テ た だ し , 分 割 画面 の 間 に 隙間 を つく る こと は で き な い . 制御 テー ブル 1 仮想 レー 2 プア 分 割 画面 は 仮想 的 な フレ ー ム バッ ファ の 一 部 分 と し て 捉え られ , フレ ー ム バッ ファ の 中 を 自由 に スム ー ズ スク ロー ル で きる . た だ し 。 フ レー ム バ パッ ファ か ら は みだし た と き の ラ ッ プ アラ ウン ド は 行わ れ な い . TVRAM と 分 割 画面 と の 対応 は 次 の よう に な っ て いる . 分 割 画面 の 先頭 アドレス か ら の オフ セ ッ ト を 示す . 2 4 6 | Dw-s vw VW+2 vw+4 | VW+6 VW+DW-2 VW * 2 vw * 2 寺 2|VW * 2 二 4|VW * 2+6 VW * 3 |IVW *3+2IVW * 3+4 VW * 4 |vw*4+2 VW*5 に に RS a VW*(DH—1) DE VW は フレ ー ム バッ ファ の 横幅 (バイ ト ) DW は 分 割 画 面 の 横幅 (バイ トニ 文字 数 X2) DH は 分 割 画面 の 行 数 (バイ ト ) 各 画面 制御 テー ブル に は フレ ー ム バッ ファ と 分 割 画 面 を 定義 キ する. その 構成 は 次 の よう に な っ て いる . 61 第 4 章 表示 シス テム 62 員 :04asR8E 0 CT 6 5 AO +00 フレ ー ム バッ ファ スタ ー ト アド レス (VSA) +02 Reserved CN | VSAo の ME 科 +04 0 | フレ ー ム バッ ファ の 高き (VH) 十 06 Reserved 十 08 0 | フレ ー ム バッ ファ の 横幅 (VW) +0A パッ ク グ ラウ ンド カラ ー | フォ アグ ラウ ンド カラ ー Reserved 表示 モー ド 十 0C 0 | ラス タ ア ドレ ス オ フ セッ ト Reserved 填 0E Reserved +10 分 割 画面 スタ ー ト アド レス (RSA) 十 12 Reserved 0 0 0 +14 分 割 画面 の 高 さ (RH) 十 16 分 割 画面 の 横幅 (RW) +18 分 割 画面 の 垂直 開始 位置 (RYP) +1A 分 割 画面 の 水平 開始 位置 (RXP) EC Reserved 十 1E Reserved NSD 0 9 98W TT 00 SEA 3 22 0 ① フ レー ム バ ッ フ ァ ス ター ト ア ドレ ス フレ ー ム バッ ファ の 開始 アド レス を 指定 する . TVRAM の 先頭 (A0000H) を 0 と し た バイ ト ア ドレ ス で 設定 する . 偶数 アド レス し か 設定 で き な い . フレ ー ム バッ ファ の 高き フレ ー ム バッ ファ の 高き さ ( 縦 幅 ) を 行 数 で 設定 する . フレ ー ム バッ ファ の 横幅 フレ ー ム バッ ファ の 横幅 を バイ ト 数 で 設定 する (1 文字 2 バイ ト )、. (《④ バ ッ ク グ ラウ ンド プ フ ォ アグ ラウ ンド カラ ー 表示 文字 の バッ ク グ ラウ ンド と フォ アグ ラウ ンド の パレ ッ ト 番 号 を 指定 する . 表示 モー ド に よっ て は どちら か また は 両方 を 使用 にし な いこ と も ある . ⑤ 表 示 モ ー ド アト リ ビ ュ ー ト の 付け 方 の モー ド を 指定 する . 0 て 5 を 使用 する (4.2.4 参照 ). ⑥' ラ スタ アド レス オフ セッ ト 垂直 スム ー ズ スク ロー ル 用 . 設定 し た ラス タ 数 だ け ( 最 大 1 行 分 ) 表 示 画 面 が 上 に スク ロー ル す る . ② 分 割 画面 スタ ー ト アド レス 文字 コー ド 領 域 中 の 表示 する 部 分 (分 割 画面 ) の 先頭 アド レス を 指定 する . TVRAM の 先頭 (A0000H) を 0 と し た バイ ト ア ドレ ス で 設定 する . 偶数 アド レス し か 設定 で き な い . ⑧ 分 割 画 面 の 高き 分 割 画面 の 高き ( 縦 幅 ) を ラスタ 数 で 指定 する . 4 つの 分 割 画面 の 高 さ の 合計 は 前 画面 の 高 さ に 一 致 さ せる 必要 が ある . 16 以上 の 偶数 し か 設定 で き な い . ⑨ 分 割 画面 の 横幅 分 割 画面 の 横幅 を ドッ ト 数 で 指定 する . 32 の 倍数 し か 設定 で き な い . (設定 値 8 十 2 ) 文字 が 表示 され る . 4.2 テキ スト 表示 機能 ⑩ 分 割 画面 の 垂直 開始 位置 分 割 画面 の CRT 上 で の 垂直 開始 位置 を ラス タ 単 位 で 指定 する . 前 の 分 割 画面 に 連続 する よう に 設定 する 。 偶数 し か 設定 で き な い . ⑪ 分 割 画面 の 水平 開始 位置 水平 スム ー ズ スク ロー ル 用 分 割 画面 の CRT 上 で の 水平 開始 位置 を ドッ ト 単 位 で 指定 する . 負 の 数 も 使用 で きる . 4 2 3 文字 紀 三 ド 文字 コー ド と し て は 2 バイ ト の ハー ドウ ェ ア 文 字 コ ー ド が 使用 きれ て いる . 全角 文字 を 表示 す る 場合 に は 文字 の 左右 の ペア を 使用 する . @ 2 バイ ト 文 字 ( 日 本 語文 字 ) 5 H9SH2HNSIO 9 68 。 人 4 52. 1 0 a ]IS 第 ニ バ イト JIS 第 一 パイ トー20H 0 : 文 字 の 左側 1 : 文字 の 右側 @ 1 バイ ト 文 字 (ANK 文字 ) 15: 4L R12 UMK OR LE TEA 3 2. OL -0 4.2.4 7 アド 届 才 人 % 玉 二 ド 可 ド アト リ ビ ュ ー ト は 文字 コー ド の アド レス に TSP の DSPDEF コマ ンド (4.4.2 参照 ) で 設定 さ れ た 値 (通常 8000H) を 足し た アド レス に ある デー タ が 使用 され る . 各 文 字 に つき 1 ワー ド 割 当て て ある が , 上 位 バ イト は 現在 使用 し て お ら ず , 0 を 設定 する . アト リ ビ ュ ー ト で は フォ アグ ラウ ンド ノバ ッ ク グ ラウ ンド の 人 色 指 定 と ブリ ンク プリ バー ス な ど の 形状 指定 を 行う こと が で きる 。. 色 指 定 で は フォ アグ ラウ ンド ノバック グラ ウン ド に 使用 する パレ ッ ト 番 号 を 指定 する . フォ ア グラ ウン ドカ ラー は 16 色 か ら ,。 バッ ク グ ラウ ンド で は 16 色 ま た は 8 色 か ら 選 択 す る . 8 色 か ら 選択 する 場合 は パレ ッ ト 0 パレット 7 か ら 指 定 す る . 形状 指定 と し て は 全部 で 次 の 7 種類 が あり , モー ド に よっ て 使用 で きる も の と 使用 で き な い も の と が ある . ホリ ゾン タル ライ ン の 位置 は TSP の DSPDEF コマ ンド で 設定 する . SECRET シー クレ ッ ト (1 で ON) 文字 表示 を 行わ な い BLINK ブリ ンク (1 で ON) 文字 を ブリ ンク する REVRSE リバ ー ス (1 で ON) 文字 プ 地 を 反転 する HLINE ホリ ゾン タル ライ ン (1 で ON) 文字 に 水平 線 を 引く UEINE アジ ダー ライ ン (1 で ⑥N) 文字 に 下線 を 引く DWID ダブ ルウ ィ ド ス (1 で ON) 文字 の 半分 を 横 倍 する DWIDC _ DWID コン トロ ー ル (1 で 右側 ) DWID で 横 倍 す る 左右 を 指定 する アト リ ビ ュ ー ト に は 6 種 の モー ド が あり , 画面 制御 テー ブル の 表示 モー ド フ ィ ー ル ド で 指定 す る . この モー ド は 各 分 割 画面 ご と に 独立 し て 設定 で きる . 63 第 4 章 表示 シス テム (1) アト リピ ビ ュー トモ ー ド 0( 表 示 モ ー ド =0) 各 文字 単位 に 独立 に フォ アグ ラウ ンド カラ ー 及 び バ ッ ク グ ラウ ンド カラ ー を 1 色 プ 16 色 指 定 する . 画面 制御 テー ブル の フォ アグ ラウ ンド カラ ー・ バ ッ ク グ ラウ ンド カラ ー は 使用 さき されない. また 形状 指定 は で き な い . 7 6 5 4 3 2 1 0 2 ボッ クウ ク グ ラウ ンド カラ ー ジオ ガク グフ ウジ ドカ クー ( 2 ) アト リ ビ ュ ー ト モー ド 1 (表示 モー ドニ 1) 各 文字 単位 C フ ォ ア グラ ウン ドカ ラー を 1 色 ノ 16 色 形状 指定 と し て シー クレ ッ ト ノ ブリ ン クノ リバ パース ホリ ゾン タル ライ ン の 組合 せ を 指定 する . バッ ク グ ラウ ンド カラ ー は 画面 制御 テ ー ブ ル の バッ ク グ ラウ ンド カラ ー フ ィ ー ル ド で 設定 し た 色 が 使用 され る . 6 5 4 3 2 1 0 ( 3 ) アト リ ビ ュ ー ト モー ド 2( 表 示 モ ー ド ニー2) 各 文 字 単 位 シ ー ク レッ トブ リン クリ バース ホリ ゾン タル ライ ンプ アン ダー ライ ング ダブ ルウ ィ ド スプ ダブ ルウ ィ ド スコ ント ロー ル の 形状 指定 の 組合 せ を 設定 する . 色 指 定 と し て は 画面 制御 テー ブル で 設定 し た フォ アグ ラウ ンド カラ ー お よび バッ ク グ ラウ ンド カラ ー が 使用 され る 。 7 6 5 4 3 2 1 0 Libe | pWiD | vive | NE - |REVRs| BUNK |smcmpr (4) アト リピ ュー トモ ー ド 3( 表 示 モ ー ド ニニ 3) アト リピ ビ ュー ト 指 定 と し て カラ ー 指 定 と 形状 指定 が あり , アト リ ビ ュ ー ト コー ド の ビッ ト 3 で 区 別 す る 、 カ ラー 指定 で は フォ アグ ラウ ンド カラ ー を 1 色 /16 色 , バッ ク グ ラウ ンド カラ ー を 1 色 グ 8 色 指定 する . また 形状 指定 で は シー クレ ッ ト プ ブリ ンク プリ バー スプ ホ リゾ ンタ ル ラ イ ング アン ダー ライ ンプ ダブル ウィ ドス プ ダ ブル ウィ ドス コン トロ ー ル を 指定 する . 設定 され た ア トリ ビュ ー ト は 再度 同種 の アト リ ビ ュ ー ト が 設定 され る まで 使用 きれ る . また 1 文字 で カラ ー 指 定 と 形状 指定 と を 同時 に 変更 する こと は で き な い . 画面 制御 テー ブル の フォ アグ ラウ ンド カラ ー・ バ ッ ク グ ラウ ンド カラ ー は 使用 され な い . 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Pe | Dip | Urine HiNE| 9 |REVRsgl suivk secegrl (5) アトリ ビュ ー ト モー ド 4( 表 示 モ ー ド = 4 ) 各 文字 単位 カラ ー 指 定 と し て フォ アグ ラウ ンド カラ ー を 1 色 プ 16 色 、 バッ ク グ ラウ ンド カラ ー を 1 色 / 8 色 指定 で き , 形状 指定 と し て プリ ンク が 指定 で きる . 画面 制御 テー プル の フォ アグ ラ ウン ドカ ラー・ バ ッ ク グ ラウ ンド カラ ー は 使用 され な い . 7 6 5 4 3 2 1 0 BLINK パッ ク グ ラウ ンド スカ ラー シン ボブ アグ ラウ ジン ドカ シー 64 4.2 テキ スト 表示 機能 ( 6 ) ア トリ ビュ ー ト モー ド 5( 表 示 モ ー ド =5) 各 文字 単位 に カラ ー 指 定 と し て フォ アグ ラウ ンド カラ ー を 1 色 /16 色 , バッ ク グ ラウ ンド カラ ー を 1 色 / 8 色 指 定 で き , 形状 指定 と し て ブリ ンク と ホリ ゾン タル ライ ン が 指定 で きる . フォ ア グラ ウン ドカ ラー の 1 また は 9 を 使用 する と カラ ー#1( ま た は #9) 二 ホリ ゾン タル ライ ン で 表示 され る . 画面 制御 テー プル の フォ アグ ラウ ンド カラ ー・ バ ッ ク グ ラウ ンド カラ ー は 使用 され な い . 7 6 5 4 3 2 1 0 BLINK 2 パック グラ ウン ドカ ラー ン ォ アグ ラウ ンド カラ ー 下位 3 ビッ ト が 001 の と き ホ リゾ ンタ ル ラ イン 4.2.5 ANK 文字 の 表示 フォ ント ANK 文字 フォ ント に は 8X 8 ドッ ト と 8 X16 ド ッ ト の 2 種類 が あり , 使用 する CRT と 用 途 に より 選択 し て 使用 する . 8X8 ド ッ ト フ ォ ン ト 使 用 時 に は 日 本 語 表 示 は で き な い . この 選択 は 次 の ポー ト で 行う 。 ポー ト 148H ビッ ト 2(ANKM) 0 : 横 8 ドッ トメ ※ 縦 16 ド ッ ト (400 ライ ン 表 示 時 ) 1 : 横 8 ドッ トメ ※ 縦 8 ドッ ト (200 ライ ン 表 示 時 ) 4.2.6 40 文字 表示 40 文字 / 行 の 表示 は ,。 ダブ ルウ ィ ド ス ア トリ ビュ ー ト で は な く TSP の 外部 回 路 で 実現 し て い る . その 切換 え は 次 の ポー ト を 用 いる . ポー ト 30H ビッ ト 0(80CM) 0 : 40 文字 ノ 行 1 : 80 文字 行 40 文字 / 行 モー ド が 設定 され る と キャ ラク タ ジ ェ ネ レ ー タ か ら 読 み 出 され た フォ ント デー タ は 水平 方 向 に 2 倍 に 拡大 され て TSP に 入力 され る . フォ ント の 拡大 ルー ル は V3 対応 モー ド と V1/V2 対応 モー ド と で は 異な る . V3 対応 モー ド で は , ワー ドア ドレ ス で 偶数 アド レス の フォ ン ト は 左 半分 が 拡大 され , 奇数 アド レス の フォ ント は 右 半分 が 拡大 きれ て 表示 さき れる. し た が っ て , 偶数 / 奇 数 ワー ドア ドレ ス に は 同一 の 文字 コー ド を 格納 し て お く 必 要 が ある . 80 文 字 偶数 ワー ドア ドレ ス 奇数 ソー ドア ドレ ス 40 文 字 右 半分 拡大 左 半分 拡大 65 第 4 章 表示 シス テム 4.2.7 テキ スト 表示 禁止 機能 ( 1) 分 割 画面 の 1 つ を プラ ンク に する と き 表示 制御 テー ブル の 分 割 画面 の 横幅 = 0 に , 水平 開始 位置 =3FOH に する . ( 2 ) 全 テ キス ト 表 示 を 禁止 する ポー ト 148H の ビッ ト 7 = 1 に する . TSP の 表示 停止 コマ ンド で は スプ ライ ト 表 示 も 禁止 され ED 4.3 スプ ライ ト 表 示 機 能 TSP は 最高 32 枚 の スプ ライ ト を 用 いて 動き の ある パタ ー ン も 表示 する こと が で きる . 各 ス プ ライ ト に は 優先 順位 が 付け られ て お り , 2 つ 以 上 の スプ ライ ト が 重なっ た 場合 の 優先 順位 の 低い スプ ライ ト の 重なっ た 部 分 は 優先 順位 の 高い スプ ライ ト に よっ て 隠さ れ て 表示 され な い . スプ ラ イト の 優先 順位 は スプ ライ ト 制 御 テ ー ブ ル 内 の 順序 で 決定 され る . また スプ ライ ト は テキ スト よ りゃ 常に 優先 順位 が 高い . 色 数 と し て 16 色 モ ー ド と モノ クロ モー ド が あり , いずれ も パレ ッ ト に より 4096 色 中 か ら 選 択 で きる . 4.8.1 ス ア ライ トモ ー ド と VRAM スプ ライ ト 用 の VRAM に は 64K バイ ト の TVRAM の うち テキ スト 表示 に 使用 し て いな い 部 分 を すべ て 用 いる こと が で きる . た だ し 文字 コー ド 領 域 と アト リ ビ ュ ー ト 領域 の 境界 (A8000H 番 地 ) に また が っ て デー タ を 置く こと は で き な い . スプ ライ ト に は 色 数 に よっ て 2 つの 表示 モー ド が あり , 各 ス プラ イト ご と に 独立 に 指定 する こ が CS (1) スプ ライ トモ ー ド 0(16 色 モ ー ド ) ピク セル 単位 に 色 指 定 で きる モー ド で ある . TVRAM 中 の スプ ライ ト パ タ ー ン デー タ の 各 ニ ブ ル に 0~15 の カラ ー コ ー ド を 設定 する . カラ ー コ ー ド 0 は 常に 透明 色 と し て 扱わ れる . 第 0 バイ ト 第 1 バイ ト (パタ ー ン 格納 アド レス ーー T か ら の オフ ェ セット) DA 下位 上 位 下位 = TH | TVRAM - キ 66 4.3 スプ ライ ト 表 示 機 能 (2 ) スプ ライ トモ ー ド 1( モ ノ カ ラー モー ド ) スプ ライ ト 単 位 に 色 指 定 で きる モー ド で ある . スプ ライ ト 表 示 パ ター ン の うち , 1 と な っ て いる ピク セル の 色 が スプ ライ ト 制 御 テ ー ブ ル (後述 ) で 設定 し た フォ アグ ラウ ンド カラ ー で 表示 され , 0 と な っ て いる ピク セル は 透明 色 ま た は カラ ー コ ー ド 8 で 表示 され る . yu (パタ ー ン 格納 TVRAM MSB 第 0 バイ ト アド レス か ら 0 の オフ セッ ト ) (に 1 つの ピク セル HHHHHHHHHTH 4.3.2 スプ ライ ト 制 御 テ ー プ ブル スプ ライ ト の 大 き さ お よび 表示 位置 な どの 設定 は TVRAM 中 に ある スプ ライ ト 制 御 テ ー ブ プル に よっ て 行う . スプ ライ ト 制 御 テ ー ブ ル の 位置 は TSP へ 設定 する こと に より TVRAM 中 の 任意 の アド レス に 設定 で きる が , 通常 は CPU アド レス で A7E00--A7EFFH を 使用 する . 低い アド レ ス に だ 制御 テー ブル が ある スプ ライ ト ほ ど 優 先 順位 が 高い . (A7E00H) スプ ライ ト 0 用 制御 テー プル 8 バイ ト (#0 は マウ スカ ー ソ ル 用 ) (A7E08H) スプ ライ ト 1 用 制御 テー プル 8 バイ ト (A7E10H) スプ ライ ト 2 用 制御 テー プル NA th (A7E18H) スプ ライ ト 3 用 制御 テー プル 8 バイト (A7E20H) ~ ~ < に (ATEF8H) スプ ライ ト 31 用 制御 テー ブル 8 バイ ト 31 は テキ スト カー ソル 用 ) 各 ス プラ イト 制御 テー ブル の 構成 は 次 の よう に な っ て いる 。. 9 文 3 (12 TO 8 7 6 5 4 3 2 1 0 +00 垂直 サイ ズ (VSIZE) 垂直 表示 位置 (YP) +02 | 水平 サイ ズ (XSIZE) | MD| 水平 表示 位置 (XP) 填 04 スジ ジ シド デー タ ア ドレ ウズ (SPA) +06 67 第 4 章 表示 シス テム ① 垂 直 サ イズ スプライト の 垂直 方 向 の サイ ズ (ライ ン 数 /4 一 1) を 設定 する . 4 ライ ン ~256 ライ ン を 4 ライ ン ご と に 指定 で きる . @ 垂 直 表 示 位置 CRT 画面 上 の 表示 位置 の Y 座標 Y 座標 (ライ ン 位 置 ) を 設定 する . 負数 も 使用 可能 ③ ス プラ イト スイ ッ チ (SW) 当該 スプ ライ ト の 表示 指定 . 1 で 表示 ON. ④ 水 平 サ イズ スプ ライ ト の 水平 方 向 の サイ ズ 〇 16 色 モ ー ド の と き 水平 ドッ ト 数 8 一 1 を 設定 する . 8 て 256 ドッ ト を 8 ドッ ト お き に 指定 で きる . 〇 モノ クロ モー ド の と き 水平 ドッ ト 数 32 一 1 を 設定 する . 32 て 1024 ドッ ト を 32 ドッ ト お き に 指定 で きる . ⑤ 水 平 表 示 位 置 CRT 画面 上 の 表示 位置 の 座標 X 座標 (ドッ ト 位 置 ) を 設定 する . 負数 も 使用 可能 . スプ ライ ト の 水平 解像度 は 常に 640 ドッ ト で ある . ⑥ ス プラ イト モー ド (MD) 0 で 16 色 モ ー ド (スプ ライ トモ ー ド 0) 1 で モノ クロ モー ド ( ス プラ イト モー ド 1) (〈⑦ ス プラ イト デー タ ア ドレ ス スプ ライ ト の パタ ー ン デー タ が 格納 され て いる アド レス . TSP アド レス (ワー ドア ドレ ス ) を 指定 する . フォア グラ ウン ドカ ラー モノ クロ モー ド 時 の フォ アグ ラウ ンド カラ ー ⑨ バ ッ ク グ ラウ ンド カラ ー(BCO) モノ クロ モー ド 時 の バッ ク グ ラウ ンド カラ ー 0 で 透明 色 , 1 で カラ ー コ ー ド #8 4.3.3 スプ ライ ト の 表示 能力 スプ ライ ト の 大 き さ や 表示 に お ける 制限 な ど に つい て 述べ る . ( 1) スプ ライ ト の サイ ズ 表示 で きる スプ ライ ト の サイ ズ は スプ ライ トモ ー ド に よっ て 異な る 。 @ 16 色 モ ー ド (スプ ライ トモ ー ド 0) 水平 サイ ズ : 8 一 256 ド ッ ト 8 ドッ ト 単 位 で 指定 垂直 サイ ズ : 4~256 ドッ ト 4 ドッ ト 単 位 で 指定 @ モノクロ モー ド ( ス プラ イト モー ド 1) 水平 サイ ズ : 32~256 ドッ ト 32 ド ッ ト 単 位 で 指定 垂直 サイ ズ : 4^ へ 256 ド ッ ト 4 ドッ ト 単 位 で 指定 (2 ) スプ ライ ト の 数 と 優先 順位 スプ ライ ト は 最大 32 個 を 設定 表示 する こと が で きる . 複 数 の スプ ライ ト が 重なっ た 場合 の 優 先 順 位 は スプ ライ ト 制 御 テ ー ブ プル が 低い アド レス に ある スプ ライ ト ほ ど 優 先 順位 が 高い 、 また テ キス ト 画 面 に 対し て スプ ライ ト は 常に 優先 順位 が 高い . 1 ラス タ 上 に ( 重 な ら な く て も ) 同 時 に 表示 で きる スプ ライ ト 数 は , 数 自体 で は 制限 を 受け な い が , 1 ラス タ 上 の 合計 デー タ 数 に よっ て 制限 され る . 下 に あげ た メモ リア クセ ス の 合計 が 1 ラス タ 68 4.3 スプ ライ ト 表 示 機 能 の 表示 時 間 を 超え た 場合 に は 正常 な 表示 が 行わ れ な く な る . 通常 , 16 色 モ ー ド で 横 2 百 数 十 ド ッ ト ま で 可能 で ある . @ セ ッ ト ア ッ プ ノリ フレ ッシュ の た め の オ ー バ ー ヘ ッ ド タイ ム @ ス プラ イト 制御 テー ブル へ の アク セス @ ス プラ イト パタ ー ン デー タ へ の アク セス @ テ キス ト デ ー タ へ の アク セス @ CPU/SGP か ら の TVRAM アク セス @ TSP の コマ ンド 処理 の た め の メ モリ アク セス ( 3 ) スプ ライ ト の 表示 位置 水平 方 向 (X 座標 ) : 0 て 1023( 一 1 は 1023 と 同じ ) 垂直 方 向 (Y 座標 ) : 0 て 511( 一 1 は 511 と 同じ ) スプ ライ ト が 画面 の 左右 また は 下方 に は み 出す 場合 に は 表示 位置 を 設定 する だ け で 自動 的 に ク リッ ピン グ さ れる が , 上 方 に は み だ す 場合 に は 表示 位置 だ け で な く , スプ ライ ト デ ー タ アド レス も 変更 し な けれ ば な ら な い . スプ ライ ト パ タ ー ン の 先頭 アド レス で は な く , スプ ライ ト パ タ ー ン 中 で 画面 に 表示 され る 部 分 の 先頭 アド レス を 設定 する . 垂直 サイ ズ は 変更 し な く て よい . 本 来 の SPDA 修正 し た SPDA ( 4) スプ ライ ト の 解像度 スプ ライ ト 画 面 の 横 方 向 の 表示 解像度 は 常に 640 ド ッ ト 。 縦 方 向 の 表示 解像度 は 200(204) ブ 400(408) で ある . た だ し , イン ター レー スモ ー ド 1 の と き テ キス トノ グラ フィ ックス と 異な り 400 ライ ン 表 示 は で き な い 、 (5) 縦 ボ ー ム TSP の SPRON コマ ンド (4.4.2 参照 ) で スプ ライ ト の 縦 ペ ズーム 機能 を 指定 で きる . これ は 200 ライ ン 用 の スプ ライ ト デ ー タ を 400 ライ ン 表 示 で 使用 する と き に 使わ れる . 4.3.4 スプ ライ ト の 衝突 検出 機能 スプ ライ ト ど うし が 表示 画面 内 で 重なり 合っ た 場合 , これ を スプ ライ ト の 衝突 と し て 検出 する こと が で きる . また , スプ ライ ト を 2 つの グル ー プ に 分け て グル ー プ 間 衝 突 を 検出 する こと が で きる . 69 第 4 章 表示 シス テム ( 1 ) 衝突 検出 フラ グ スプ ライ ト の 衝突 が 検出 され た 場合 に は TSP ステ ー タ ス の スプ ライ トコ ント ロー ルフ ラグ が セッ ト さ れる . この フラ グ は TSP へ の コマ ンド に よっ て 1 ラス タ 中 の スプ ライ ト 数 を 制限 し た 場合 に 。 その 制限 を 超え る スプ ライ ト が 1 ラス タ 中 に 存在 し た 時 に も セッ ト さ れる . この フラ グ は VRTC ご と に 更新 され る . @ TSP ステ ー タ ス (IN 142H) 6 5 4 3 2 1 4 0 スプ ライ トコ ント ロー ルフ ラグ ( 2 ) 衝突 検出 条件 スプ ライ ト の 衝突 検出 は 以下 の 条件 に お いて 行わ れる . ① 衝 突 検出 は 有効 表示 画面 内 だ け で 行わ れる . ②⑨ 衝 突 は 両 ス プラ イト の 表示 パタ ー ン の 不透明 色 ど うし が 重なっ た こと に よっ て 検出 され る . ⑧ 衝 突 グ ルー ピン グモ ー ド に より グル ー ピ ング され て いる 場合 に は , 異種 の グル ー プ 間 で の み 衝突 が 検出 され る . ④ 1 回 の 画面 表示 に お いて 最初 に 検出 され た 衝突 に より 衝突 フラ グ が セッ ト さ れる た め 1 画面 中 で は 1 箇所 の 衝突 の み が 検 出さ れる . ( 3 ) 衝突 グル ー ピ ング モー ド スプ ライ ト を 2 つの グル ー プ に 分 け て 衝突 検出 する こと が で きる . ( 3 .1) 衝突 グル ー ピ ング モー ド 0 スプ ライ ト の グル ー ピ ング を 行わ な い モ ー ド で あり , 全 ス プラ イト に 対し て 一 律 に 衝突 検出 を 行う 。 (3.2) 衝突 グル ー ピ ング モー ド 1 カラ ー コ ー ド に よっ て スプ ライ ト を 2 つの グル ー プ に 分 け , グル ー プ 間 の 衝突 検出 を 行う . 同 じ グ ルー プ 内 で の 衝突 検出 は 行わ れ な い . グル ー ピ ング は 各 ピ クセ ル の 表示 色 ( カ ラー コー ド ) の 最上 位 ビ ッ ト に よっ て 行わ れる . し た が っ て 。 ス プラ イト モー ド 0(16 色 モ ー ド ) で は 各 ピ クセ ル 単 位 に 。 ス プラ イト モー ド 1( モ ノ ク ロ モ ー ド ) で は スプ ライ ト 上 単位 に グル ー ピ ング され る . グル ー プ 0 カラ ー コ ー ド 1--7 の ピク セル グル ー プ 1 フジ ニー コード 8 マ >15 の ビク セル カラ ー コ ー ド 0 は 透明 色 で あり , 衝突 検出 は 行わ れ な い . 70 4.4 TSP( テ キス トン プス プラ イト プロ セッ サ ) 4.4 TSP( テ キス ト プ ス プラ イト プロ セッ サ ) テキ スト 画面 と スプ ライ ト 画 面 の 制御 に 用 いら れ て いる TSP に つい て 解説 する . TSP 自身 の 機能 と し て は , テキ スト プス プラ イト プ セ ミグ ラフ ィ ッ クス グラフィ ックス 3301 エミュレーション の 5 種 が ある . し か し , VA で は この 内 テキ スト と スプ ライ ト , 3301 エミ ュ レ ーション 機能 だ け を 用 い 。3301 エミ ュ レ ーション 機能 は V1 エグ V2 モー ド で 使用 し て いる . TSP で 使用 する コマ ンド に は 次 の よう な も の が ある . コマ ンド 番号 名 前 意 味 10H | SYNC TSP の 初期 設定 を 行う . 表示 は 停止 する . 12H |DSPON 表示 を 開始 する . 13H DSPOFF 表示 を 停止 する . 14H DSPDEF 画面 構成 を 設定 する . 15H | CURDEF カー ソル を 定義 する . 16H | ACTSCR カー ソル を 置く 分 割 画面 を 指定 する . 1EH |CURS カー ソル の 位置 を 指定 する . 8CH |EMUL 3301 エ ミュ レー ショ ン を 開始 する . 88H |EXIT コマ ンド を 中 断 す る . エミ ュ レ ーション を 停止 する . 82H SPRON スプ ライ ト の 表示 を 開始 する . 83 了 H SPROFF スプ ライ ト の 表示 を 停止 する . 85H SPRSW 個別 に スプ ライ ト の 表示 を ON/OFF する . 81H SPROV スプ ライ ト オ ー バ ー ノ 衝突 の 情報 を 獲得 する . 4.4.1 コマ ンド の 与え 方 TSP へ は 1/0 ポー ト か ら コ マン ド を 与え て 制御 する . 1 つの コマ ンド を 設定 する に は , まず 1 バイ ト の コマ ンド を 与え , 続い て 必要 な バイ ト 数 だ け パ ラメ ー タ を 与え る . TSP の ポー ト ア ドレ ス は 次 の よう に な っ て いる 。. 142H コマ ンド バイ ト 書 込み ゲス テー タス 読出 し 146H パラ メー タ 入 出力 TSP へ コマ ンド を 与え る 時 に は ステ ー タ ス の ビッ ト 0(Input buffer full bit) と ビッ ト 2(Busy bit) を 見 る 必要 が ある 。. コマ ンド バイ ト プ パ ラメ ー タ を 設定 する ルー チン の 例 を 示す . く < コマ ンド バイ ト 設 定 ル ー チ ン > MOV AH, AL ; save COMMAND BYTE MOV DX, 142H ; STATUS port adrs NOT READY : IN AL, DX ; read STATUS TEST A 5 : bit0 =IBF, bit2=BUSY JNZ NOT READY ; Loop if not ready MOV AL, AH : restore COMMAND BYTE OUT DX, AL ・ write COMMAND BYTE RET 71 第 4 章 表示 シス テム < く パ ラメ ー タ 設定 ルー チン > MOV AH, AL ; save PARAMETER MOV DX, 142H ; STATUS port adrs NOT READY : IN AL,。 DX ; read STATUS TEST AAL, 5 ; bit0 =IBF, bit2=BUSY JNZ NOT READY ; Loop if not ready MOV AL, AH ; restore PARAMETER MOV DX, 146H ; PARAMETER port adrs OUT DX, AL ; write PARAMETER RET 4.4.2 各 コ マン ド の 解説 (1) SYNC コマ ンド TSP の 初期 設定 を お こ な う . 垂直 解像度 を 変え 0 る と き に は この コマ ンド を 再 設定 し な けれ ば な ら な い . ョ マジ シン シド 10H パラ メー タ (14 バイ ト ) @ 200 ライ ン 15.98KHz ノン イン ター レー ス : C1 57 1C 00 9F 00 10 OF 25 00 C8 00 0F 08 1573KHz インター レー ス : Cl 47 1C 00 9F 00 12 11 24 00 C8 00 17 04 24.8KHz ノン イン ター レー ス : 81 57 10 00 9F 00 10 OF 19 00 90 40 07 08 @ 204 ライ ン 15.98KHz ノン イン ター レー ス : C1 57 1C 00 9F 00 10 OF 23 00 CC 00 0D 08 15:73RHz イン ター レー ス : C1 47 1C 00 9F 00 12 11 22 00 CC 00 15 04 24.8KHz ノン イン ター レー ス : 81 57 10 00 9F 00 10 OF 19 00 98 40 07 08 @ 400 ライ ン 1578KHz イジ ダー レー シス : 41 47 1C 00 9F 00 12 11 24 00 C8 00 17 04 24.8KHz ノン イン ター レー ス : 01 57 10 00 9F 00 10 OF 19 00 90 40 07 08 (スプ ライ ト 200 ライ ン ) C1 57 10 00 9F 00 10 OF 19 00 90 40 07 08 (スプ ライ ト 400 ライ ン ) @ 408 ライ ン 15.73KHz イン ター レー ス : 41 47 1C 00 9F 00 12 11 22 00 CC 00 15 04 24.8KHz ノン イン ター レー ス : 01 57 10 00 9F 00 10 OF 19 00 98 40 07 08 (スプ ライ ト 200 ライ ン ) Cl 57 10 00 9F 00 10 OF 19 00 98 40 07 08 (スプ ライ ト 400 ライ ン ) (2 ) DSPON コマ ンド TSP の 表示 を 開始 する . 72 4.4 TSP( テ キス トン スプ ライ ト プ ロ セッ サ ) <: 12 上 時 ペラ メニ タイド) #1 テキ スト 画面 制御 テー ブル の アド レス #2 0 まき 。 0 [解説 ] #1: TVRAM 64K バイ ト 中 の バイ ト ア ドレ ス の 上 位 バ イト を 設定 する . (3) DSEBOFF ヨ Ii マ ンド TSP の 表示 を 停止 する . スプ ライ ト の 表示 も 停止 する . KSAR 13H 2W ラ メー クタ な し (4) DSPDEF コマ ンド 画面 の 構成 と 表示 形態 を 指定 する . er ド 14H パラ メー タ (6 バイ ト ) #1 アトリビュート オフ セッ ト ( 下 位 パ イト ) #2 アト リ ビ ュ ー ト オフ セッ ト ( 上 位 バ イト ) #3 文字 コー ド の 格納 ピッ チ メ 16 #4 文字 ボディ の ラス タ 数 #5 ホリ ゾン タル ライ ン の 表示 ラス タ 位 軒 #6 ブリ ンク 速度 [解説 ] #1 ノ #2 : 文字 コー ド 領 域 と アテ アトリビュート 領域 の 差 の バイ ト 数 を 設定 する . 通常 は 8000H で ある . #3: 文字 コー ド が 何 バ イト おき に 格納 され て いる か を 指定 する . 通常 は 20H(2 バイ ト お き ) で ある . #4 : 1 行 の ラス タ 数 を 指定 する . 最低 8 ラスタ. 実際 の ラス タ 数 (画面 の 全 ラ スタ 数 表示 行 数 ) 一 1 を 設定 する . #5 : 行 中 で ホリ ゾン タル ライ ン を 表示 する ラス タ を 設定 する . (設定 値 十 ) ラ スタ 目 に 表示 され る 。 #6: ブリ ンク 文字 お よび カー ソル の 点滅 速度 を 指定 する . ブリ ンク 文字 : 明 = 設 定 値 X24 フレ ー ム 暗 三 設定 値 X8 フレ ー ム カー ソル ・ 明 三 設定 値 X8 フレ ー ム 暗 三 設定 値 々 8 フレ ー ム (5) CURDEF コマ ンド テキ スト カー ソル の 形態 を 指定 する . カー ソル は スプ ライ ト を 利用 し て お り , スプ ライ ト 制 御 テー ブル も 設定 する 必要 が ある . コマ ンド 15H パラ メー タ (1 バイト) 73 第 4 章 表示 シス テム 半 1 CURN 9 BE 2 で 52 2 は な Wi 人 ーー1: プ ブリ ンク カー ソル ( 9 一 1 FH) RS ーー まう バージ ON (6 ) ACTSCR コマ ンド カー ソル を 置く 分 割 画面 を 指定 する . 0 マジ ンド 16H パラ メー タ (1 バイ ト ) #1 分 割 画面 番号 X32 (7) CURS コマ ンド カー ソル の 位置 を 指定 する . コマ ジン ド 1EH 2% ラ メー タ (4 バイト) #1 垂直 位置 (下位 バイ ト ) #2 垂直 位置 (上 位 バ イト ) #3 水平 位置 (下位 バイ ト ) #4 水平 位置 (上 位 バ イト ) ( 8 ) EMUL コマ ンド 3301 エミ ュ レ ーション を 開始 する . 3301 エ ミュ レー ショ ン は TSP が 3301 用 の アト リ ビ ュ ー ト か ら TSP アト リ ビ ュ ー ト へ の 展開 を 動 的 に 行う こと に よっ て 実現 する . この コマ ンド 実行 後 は , 他 の コマ ンド が 入力 され る まで 展開 を 行い つづ ける . コマ ンド 8CH パラ メー タ (4 バイト) #] "エミュレーション する 分 割 画面 番号 x32 #2 文字 数 #3 アト リ ビ ュ ー ト 数 | « 文字 数 > | < アトリビュート 数 > #4 行 数 5 a 3301 文 字 コ ー ド 3301 ア トリ ビュ ー ト | エミ ュ レ ーション の た め の 2 文字 74 4.4 TSP( テ キス ト プ ス プラ イト プロ セッ サ ) ( 9 ) EXIT コマ ンド パラ メー タ の 受付 途中 に ある コマ ンド 処理 を 中 止 し て コマ ンド 待ち 状態 に する . 単 に 3301 エミ ュ レ ーション 動作 を 中 止 す も る と き に も 用 いる . AR 88H パラ メー タ な し (10) SPRON コマ ンド スプ ライ ト の 表示 を 開始 する . カー ソル 設定 時 に も 必要 と な る . ココ eR ポ ド 82H パラ メー タ (3 バイ ト ) #1 スプ ライ ト 制 御 テ ー ブ ル の アド レス #2 0 ts 。 | msmw lslwelel [解説 ] #1 TVRAM 64K 中 の バイ ト ア ドレ ス の 上 位 バ イト を 設定 する . #3 HSPN 1 ラス タ 中 に 同時 に 表示 で きる スプ ライ ト の 最大 数 . (設定 値 十 1) よ り 多 い 数 の スプ ライ ト が 1 ラスタ 中 に 存在 す る と スプ ライ ト オ ー バ ー と な る 。 MG 1 の と きす べ て の スプ ライ ト を 縦 方 向 に 2 倍 に 拡大 する . GR グル ー ピ ング モー ド .。 1 で グル ー ピ ング 衝突 検出 する . (11) SPROFF コマ ンド スプ ライ ト の 表示 を 停止 する . カー ソル の 表示 も 行わ れ な い . コマ シン ポポ 83H ジス ニー タク な も レ (12) SPRSW コマ ンド 各 ス プラ イト を 個別 に ON ノ OFF する . この コマ ンド を 使用 せ ず , 直接 スプ ライ ト 制 御 テ ー ブ ル の 表示 スイ ッ チ を 操作 し て も よい . マジ シド 85 了 H パラ メー タ (1 バイト) #1 SPN 9 lsw| 9 0 る | 0: 表 示 OFF 本 し _ 1: 表 示 ON (13) SPROV コマ ンド スプ ライ ト オ ー バ ー ン ノ 衝 突 の 情報 を 獲得 する . コマ ンド 81H フー ダグ ダ な > 75 第 4 章 表示 シス テム 受取 り パ ラメ ー タ 1 バイト rlslwl es | SO スプ ライ ト オ ー バ ー(SPRON コマ ンド で 設定 し た 数 より 多く の スプ ライ ト が 同一 ラス タ に 存在 する こと ) の 発生 を 示す フラ グ CD 衝突 が 検出 され た こと を 示す フラ グ OVS スプ ライ ト オ ー バ ー し た 最初 の スプ ライ ト 番 号 [解説 ] この コマ ンド は , VRTC 期間 の 最初 の 160zS の 間 に 発 行 す る 必要 が ある . また ,。 TSP ステ ー タ ス の SC ビッ ト (4.3.4 参照 ) は この コマ ンド に より クリ ア さ れ る . 4.5 グラ フィ ッ ク 機 能 4.5.1 グラ フィ ッ ク 機 能 概 要 VA の グラ フィ ッ ク 機 能 に は 次 の 様 な 特徴 が ある . @ マル チ プ レー ン モ ー ド と 6 万 色 表 示 の シン グル プレ ー ン モー ド @ 2 枚 の グラ フィ ッ ク 画 面 と 独立 し た 水平 表示 解像度 設定 @ ブ フレーム バッ ファ に よる スム ー ズ スク ロー ル @ 画面 分 割 機能 @ 高度 な GVRAM 拡張 アク セス 機能 @ 専 用 プロ セッ サ に よる BLT 機能 プ LINE 機能 大 き な モ ー ド と し て マル チ プ レー ン モ ー ド と シン グル プレ ー ン モー ド と が ある 。 マ ル チ プ レー ン モ ー ド は カラ ー コ ー ド の 各 ビ ッ ト ご と に 表示 プレ ー ン を 持つ 方 式 で 。 各 プレ ー ン に お いて は ピ クセ ル と GVRAM ビッ ト と が 一 意 に 対応 し て で いる. この モー ド は 88MZF シリ ー ズ や PC9801 シリ ー ズ と 同じ 方 式 で ある . シン グル プレ ー ン モー ド は 1 つの プレ ー ン で 多 色 の 表示 を 行う も の で , GVRAM の 複数 の ビッ ト で 1 つの ピク セル を 表す . この モー ド で は 最大 65536 色 の 表示 や ビ デオ ディ ジ タ イ ズ (オプ ショ ン ) が 可能 と な っ て いる 。. シン グル プレ ー ン モー ド と マル チ プ レー ン モ ー ド を 切り 換え る た め に は 下記 の 2 つの ポー ト を 設定 する . どちら の ポー ト も 同じ モー ド に 設定 し て 使用 する . ポー ト 100H (ワー ド ) : 表示 の 制御 ビッ ト 10 : 0 ニ = ニ マルチ プレ ー ン モー ド 1 ニシ ング ルプ レー ン モ ー ド ポー ト 152H (ワー ド ) : 描画 の 制御 ビッ ト 12 : 0 ニ = マル チ プ レー ン モ ー ド 1 ニシ ング ルプ レー ン モ ー ド @ グラ フィ ッ ク 表 示 解 像 度 グラ フィ ッ ク 表 示 画 面 の 表示 解像度 は テキ スト 画面 や スプ ライ ト 画 面 と は 独立 に 設定 する こと が で きる . また シン グル プレ ー ン モー ド で は 2 枚 の グラ フィ ッ ク 画 面 が 使用 で きる が , 各々 に 対 し て も 水平 解像度 は 独立 に 設定 する こと が で きる . 76 4.5 グラ フィ ッ ク 機 能 表示 解像度 は 使用 する CRT の タイ プ 及 びそ の 表示 モー ド に より 以下 の も の が 設定 可能 で あ る . @ 水平 解像度 320 プ 640 ドッ ト @ 垂直 解像度 15.98KHz ノン イン ター レー ス ・ 200 プ 204 ライ ン 15gSKEZt ジグ ーー ピー ズバ ・ 400 プ 408 ライ ン 24.8KHz ノン イン ター レー ス : 400 プ 408 ライ ン 表示 解像度 及び CRT の 表示 モー ド の 設定 は 以下 の ポー ト に より 行う . ポー ト 102H (ワー ド ) ビッ ト 4 グラ フィ ッ ク 画 面 0 水平 解像度 0 ・ 640 ド ッ ト 320 ドッ ト ビッ ト 12 グラフィック 画面 1 水平 解像度 0 ・ 640 ド ッ ト 1 ・ 320 ド ッ ト ポー ト 100H (ワー ド ) ビッ ト 1 ビッ ト 0 グラフィック 画 面 垂直 解像度 (画面 0/1 共通 ) 0 0 ・400 ド ッ ト 0 1 ・408 ド ッ ト 1 0 200 ド ツ ド 1 1 ・204 ド ッ ト 4.5.2 マル チ ヂ チ プ レー ン モ ー ド マル チ プ レー ン モ ー ド に お いて は グラ フィ ッ ク VRAM (GVRAM) は 4 枚 の プレ ー ン 構造 と な っ て お り , これ に よっ て カラ ー 表 示 及 び モ ノ ク ロ 表示 が 行わ れる . この モー ド の グラ フィ ッ ク 表 示 画 面 は 常に 1 つ (グラ フィ ッ ク 画 面 0) し か サポ ー ト され て いな い 。 (1) GVRAM GVRAM は 最大 256K バイ ト の 容量 を 持っ て いる ,。 CPU の メモ リ 空 間 に マ ッ ピ ッ ン グ さ れる 際 に は V3 対 応 モ ー ド と V1 ン V2 対応 モー ド に よっ て 配置 が 異な る . V3 対応 モー ド で は GVRAM は 各 プ レー ン あ た り 64K バイ ト の 容量 を 持っ て お り , CPU の メモ リ 空 間 の A0000H へ DFFFFH 番地 に 256K バイ ト の バン ク と し て マッ プ さ れる . @ GVRAM マッ プ (独立 アク セス モー ド ) DFFFFH D0000H C0000H B0000 了 HH A0000 了 H 77 第 4 章 表示 シス テム @ GVRAM と 表示 画面 と の 対応 GVRAM の 各 プ レー ン 4 MSB 第 0 バイ ト LSB | MSB 第 1 バイト LSB 4 ピク セル 番号 (2) ピク セル サイ ズ マル チ プ レー ン モ ー ド の 表示 に は 3 種類 の ピク セル サイ ズ が あり , 各々 モノ クロ 表示 。16 色 カ ラー 表示 , 8 色 カ ラー 表示 に 対応 し て いる . ①1 ビッ ト プ ピ クセ ル (モノ クロ 表示 ) ②4 ビッ トピ クセ ル (16 色 カ ラー 表示 ) ③ 3 ビッ トピ クセ ル ( 8 色 カ ラー 表示 ) ビ ピク セル サイ ズ の 設定 は ポー ト 102H, 110H に より 行わ れる . ポー ト 102H ビッ ト 1 ピット 0 (グラ フィ ッ ク 画 面 0 ピク セル サイ ズ ) 0 0 al モウ トク ビジ 2 0 { 4 まま 9 Eiy kk ググ ヤ セル 少 ポー ト 110H ビッ ト 7: プレ ー ン 3 画面 スイ ッ チ 0 三 3 ビ ッ ト プ ピク セル (プレ ー ン 3 オフ ) 1 三 4 ビッ トピ クセ ル (プレ ー ン 3 オン ) (2 . 1) 1 ビッ トノ プ ピ クセ ル (モノ クロ 表示 ) 各 プ レー ン は 独立 な 表示 プレ ー ン と し て 扱わ れ , それ ぞ れ が モノ クロ の ピク セル デー タ を 格納 し て いる . 表示 を 行う 際 に は 4 プレ ー ン ある GVRAM 中 か ら 任 意 に 複数 の プレ ー ン を 選択 し て 合成 する こと が で きる . OR 合成 が 行わ ん た ピク セル デー タ は , テキ スト 画面 の キャ ラク タ ジ ェ ネ レー タ が 持つ デー タ に 合成 され て テキ スト 画面 と し て 扱わ れ , テキ スト 画面 の アト リ ビ ュ ー ト に よっ て 修飾 され て 表示 され る . 表示 ピク セル = (プレ ー ン 0) OR (プレ ー ン 1) OR (プレ ー ン 2 ) OR (プレ ー ン 3 ) OR (テキ スト ) 合成 表示 を 行う プレ ー ン の 選択 は ポー ト 110H に よっ て 指定 され る . ポー ト 110H ビッ ト 3: プレ ー ン 3 画面 スイ ッ チ (1 ニオ ング 0 ニオ フ ) SKI2 3 プ ウ ラー ジ 2 画 箇 ス イッ ツチ (1 克 ジイ 0 三 学 ジ ) 区 Rs ブレ ー ジ 1 両 面 ス イッチ (1 ニオ ンズ 0 テオ フ ) ビタ ト 0 1: プレ ー ジ 0 画面 スイ ッ チ (1 ユニ オン グ プ 0 三 オフ ) 78 4.5 グラフィック 機能 マル チ プ レー ン 1 ビット / グ ピク セル の グラ フィ ッ ク 画 面 に 水平 320 ドッ トモ ー ド が 設定 され た 合 , 各 バイ ト (8 ドッ ト ) の 左 4 ド ッ ト ま た は 右 4 ド ッ ト が 交互 に 2 倍 に 拡大 され て 表示 され る . 左右 どちら を 拡大 する か は 合成 され る テキ スト 画面 の 文字 コー ドア ドレ ス ( ワ ソー ドア ドレ ス ) が 偶数 か 奇数 か に よっ て 決定 され る . 偶数 アド レス の 場合 は 左 半分 が , 奇数 アド レス の 場合 は 右 半分 が 拡大 さき れる. (2.2) 4 ビッ トノ ピク セル (16 色 カ ラー 表示 ) この モー ド で は 4 つの プレ ー ン を 同時 に 使用 し て カラ ー 表 示 が 行わ れる . 各 プ レー ン は 4 ビッ ト で 構成 され る カラ ー コ ー ド の 各 ビ ッ ト に 対応 する . し た が っ て , 各 ピ クセ ル 単 位 に 1 色 16 色 の 指定 が 可能 で ある . 回 回 回 図 表示 ピク セル ( 4 ビッ トカ ラー コー ド ) プレ ー ン 0 ウー ンク デレ (の デル レー 3 ( 2 . 3 ) 3 ビッ トノ ピク セル ( 8 色 カ ラー 表示 ) この モー ド は 基本 的 に 4 ビッ トノ ピ クセ ル と 同じ で ある が , プレ ー ン 3 を 表示 し な いよ うに 設 定 す る こと で 8 色 表 示 と な る . 8 色 表示 の 他 機種 と の 互換 性 を と る た め に 存在 する . ( 3 ) アク セス モー ド マル チ プ レー ン モ ー ド の GVRAM アク セス に は 2 種類 の アク セス モー ド が ある 。. ① 独 立 ア クセ スモ ー ド 各 プ レー ン を 別々 に アク セス する ② 拡 張 ア クセ スモ ー ド 4 プレ ー ン を 同時 に アク セス する アク セス モー ド の 設定 は , 次 の ポー ト よ り 行 われ る . ポー ト 510H ビッ ト 0 0 : 独立 アク セス モー ド 1 : 拡張 アク セス モー ド (3.1) 独立 アク セス モー ド 各 プ レー ン は メモ リ 空 間 に リ ニア に 配置 され る . DFFFFH D0000H C0000H B0000H A0000H 79 第 4 章 表示 シス テム ( 3 .2) 拡張 アク セス モー ド 指定 され た 任意 の 複数 の アプ レー ン を 同時 に アク セス で きる . アク セス する アド レス は どの プレ ー ン で も よい . また , 各 プ レー ン は 2 つの ブロ ッ ク に 分 割 さ きれ, 各々 の ブロ ッ ク は 切り 換え な い と アク セス で き な い . た だ し この 分 割 は 表示 機能 と は 無関係 で ある . AFFFFH BFFFFH CFFFFH DFFFFH プレ ー ン 0~3 プ A8000H B8000H C8000H D8000H A7FFFH B7FFFH C7FFFH D7FFFH プレ ー ン 0~3 プ ブロック 0 AO0000H BOOOOH C0000H D0000H (3.2.1) アク セス ブロ ッ ク の 選択 アク セス ブロ ッ ク の 選択 は 次 の ポー ト で 行わ れる . ポー ト 512H ビッ ト 0 0 : ブロ ッ ク 0 選択 1 : ブ ロッ ク 1 選択 ( 3 .2 .2 ) プレ ー ン の 選択 同時 に アク セス する プレ ー ン の 選択 は 次 の ポー ト を 用 いる . ここ で 選択 きれ な か っ た プレ ー ン は アク セス 時 に 無視 され る . ポー ト 514H : 読出 し プレ ー ン 選択 ポー ト 516H : 書込み プレ ー ン 選択 (3 .2.3) 比較 読出 し 機能 拡張 アク セス モー ド で は 比較 読出 し 機能 を 使用 で きる . この 機能 の 使用 に は , ポー ト 518H を 用 いる . ポー ト 518H ビッ ト 5 0 : 比較 読出 し 機能 を 使用 し な い 1 : 比較 読出 し 機能 を 使用 する 比較 読出 し 機能 を 使用 し な い 場合 の デー タリ ー ド は , 選択 され た 各 プ レー ン か ら の デー タ の AND を と っ た も の が 返さ れる . 比較 読出 し 機能 使用 時 の デー タリ ー ド シー ケン ス は 次 の よう に な る . ① 選 択 さ きれ た 各 プ レー ン に 対し て GVRAM か ら デ ー タ を 読み 出す . プレ ー ン ご と の 比較 デー タレ ジス タ と XNOR を と る . ② 各 プレ ー ン の 結果 を すべ て AND する . その 結果 を CPU に 返す . 80 4.5 グラ フィ ッ ク 機 能 つま り , 全 プレ ー ン に つい て 比較 デー タレ ジス タ と 一 致し た ビッ ト が 1 と な っ た 値 が 読み 出 き れる . 比較 デー タレ ジス タ は 1 バイ ト で あり , ワー ドア クセ ス の 時 は 上 位 バ イト グ 下 位 バ イト に 同じ デー タ が 用 いら れる . 比較 デー タレ ジス タ へ の 値 の 設定 は 次 の よう に し て 行う . ① 4 つの 比較 デー タレ ジス タ に 00H また は FFH を 設定 する 場合 ポー ト 528H ビッ ト 3 : プレ ー ン 3 用 比較 デー タレ ジス タ 設 定 ビッ ト 2 : プレ ー ン 2 用 比較 デー タレ ジス タ 設 定 ビッ ト 1 : プレ ー ン 1 用 比較 デー タレ ジス タ 設 定 ビッ ト 0 : プレ ー ン (0 用 比較 デー タレ ジス タ 設 定 1 =FFH を 設定 0 =00H を 設定 各 ビ ッ ト に 設定 し た い 値 (1 プ 0) を 決め て OUT する . ② 任 意 の 値 を 設定 する 場合 ポー ト 520H : プレ ー ン (0 用 比較 デー タレ ジス タ ポー ト 522H : プレ ー ン 1 用 比較 デー タレ ジス タ ポー ト 523H : プレ ー ン 2 用 比較 デー タレ ジス タ ポー ト 524H : プレ ー ン 3 用 比較 デー タレ ジス タ 各 ポ ー ト に 設定 し た い 値 (バイ ト ) を OUT する . (3 .2.4) 拡張 ライ ト 機 能 拡張 アク セス モー ド に お ける GVRAM ライ トモ ー ド は 4 種 あ る . ① NOP 書込み 動作 を し な い ⑨④ CPU デー タラ イト CPU か ら の デー タ を その まま 書き 込む ⑬③ パ ター ン レ ジス タラ イト パタ ー ン レジ スタ の 値 を 書き 込む ④LU 出力 ライ ト 論理 演算 の 結果 を 書き 込む 各 モ ー ド の 切換 え に は ポー ト 156H を 使用 する . By A 8 0 0 LU 出力 ライ ト ( リ セッ ト 時 ) 0 1 パタ ー ン レジ スタ ライ ト 1 0 CPU デー タラ イト 1 1 NOP ① NOP CPU か ら の GVRAM ライ ト 動 作 を 無視 する (書込み 禁止 ). ②CPU デー タラ イト CPU か ら の デー タ を 選択 きま れ た 全 プ レー ン に 書き 込む . 81 第 4 章 表示 シス テム ③⑧ ペ が タレ ジス タラ オト CPU か ら の デー タ は 無視 し , 各 プ レー ン 毎 の パタ ー ン レジ スタ の 値 を ライ ト す る . パタ ー ン レジ スタ は 2 バイ ト か ら な り , 上 位 バ イト を 使用 する か どう か が 指定 で きる . ボー 小 518 邊 ) ビット 2 0=8 ビッ トモ ー ド (上 位 バ イト は 使用 し な い ) 1 三 16 ビッ トモ ー ド (上 位 バ イト を 使用 する ) 8 ビッ トモ ー ド で ワー ドア クセ ス を 行っ た 場合 は 下位 バイ ト と 同じ も の が 上 位 バ イト に も 使用 され る . 16 ビッ トモ ー ド で バイ ト ア クセ ス を 行っ た 場合 は 下位 バイ トン 上 位 バ イト が 交互 に 使用 され る . 次 に 使用 3 れる の が どちら の バイ ト で ある か の 読出 し ノ 設 定 は ポー ト 550H で 行う こと が で きる 。 ポー ト 550H (IN グ OUT) ビッ ト 3 : プレ ー ン 3 パタ ー ン レジ スタ 使用 開始 バイ ト ビッ ト 2 : プレ ー ン 2 パタ ー ン レジ スタ 使用 開始 バイ ト ビッ ト 1 : プレ ー ン 1 パタ ー ン レジ スタ 使用 開始 バイ ト ビッ ト 0 : プレ ー ン 0 パタ ー ン レジ スタ 使用 開始 バイ ト 0 = 下位 バイ ト か ら 使 用 開始 1 ニ 上 位 バ イト か ら 使 用 開始 上 位 バ イト か ら 使 用 開始 に 設定 する と ,。 ワー ドア クセ ス に お いて 上 位 バ イト 下位 バイ ト が 逆 転 す る の で 注意 . パタ ー ン レジ スタ へ 値 を 設定 する 際 の モー ド に は 4 種類 あり , ポー ト 518H で 指定 する . YN EY トト 0 固定 モー ド メモ リリ ー ド 時 に 更新 メモ リラ イト 時 に 更新 メモ リリ ー ド プラ イト 時 に 更新 mn er © どど ビビ ご O 固定 モー ド : ポー ト か ら 設 定 さ れ た 値 を 常に 使用 する . < く < パ ター ン レ ジス タ の 設定 ポー ト ア ドレ ス > 下位 バイ ト 上 位 バ イト プレ ー ン 0 530 是 540H プレ ー ン 1 532 昌 542H プレ ー ン 2 534H 544 有 H プレ ー ン 3 536 了 HI 536H メモ リリ ー ド 時 更新 CPU の メモ リリ ー ド 時 の デー タ で パタ ー ン レジ スタ を 更新 する . メモ リラ イト 時 更新 CPU の メモ リラ イト 時 の デー タ で パタ ー ン レジ スタ を 更新 する 。 モリ リー ドグラ イド 時 更新 リー ポ ボン ライ ト ど ちら の デー ニタ で も パパ タージ ジレ レジ 六 交 欠 更新 みる , 82 4.5 グラ フィ ッ ク 機 能 メモ リア クセ ス に よる パタ ー ン レジ スタ の 更新 も 。 バ イト アク セス 時 に 次 に 上 位 バ イト か ら 行 うか 下位 バイ ト か ら 行 うか を 指定 で きる . ポー ト 552H (IN ノ OUT) ビッ ト 3 : プレ ー ン 3 パタ ー ン レジ スタ 更新 開始 バイ ト ビッ ト 2 : プレ ー ン 2 パタ ー ン レジ スタ 更新 開始 バイ ト ビッ ト 1 : プレ ー ン 1 パタ ー ン レジ スタ 更新 開始 バイ ト ビッ ト 0 : プレ ー ン 0 パタ ー ン レジ スタ 更新 開始 バイ ト 0 = 下位 バイ ト か ら 更 新開 始 1 ニ 上 位 バ イト か ら 更 新開 始 ③④ LU 出力 ライ ト CPU か ら の デー タン 書込み 先 デ ー タ ン パ ター ン レ ジス タ の 3 種 の デー タ 間 の 論理 演算 の 結果 を 書き 込む . 論理 演算 の 方 法 は 。 ROP (ラス タオ ペレ ーション ) コー ド と 呼ば れる 1 バイ ト の 値 で 指定 する . ROP コー ド は 次 の よう に し て 求め る . P= ニ パタ ー ン レジ スタ の デー タ S=CRU RE クタ D= 書 込み 先 デ ー タ (CVRAM デー タ ) と し た 時 に この P S D の 組合 せ に は 8 通り あり , 各 組 合せ に 対す る 出力 は 計 8 ビッ ト で 表 さ れ る . この 出力 パタ ー ン を ROP コー ド と し て ROP レジ スタ に 設定 する . 出力 デー タ パ タ ー ン LSB MSB 0 っ 22 RBEHIRO 紀 シード ROP レジ スタ は プレ ー ン 毎 に 用 意 さ れ て お り , 下記 の ポー ト で 設定 で きる 。 ポー ト 560H : プレ ー ン 0 用 ROP レジ スタ ポー ト 562H : プレ ー ン 1 用 ROP レジ スタ ポー ト 564H : プレ ー ン 2 用 ROP レジ スタ ポー ト 566H : プレ ー ン 3 用 ROP レジ スタ 83 第 4 章 表示 シス テム 4.5.3 シン グル プレ ー ン モー ド シン グル プレ ー ン モー ド に お いて は グラ フィ ッ ク 表 示 画 面 は 2 枚 の 独立 し た グラ フィ ッ ク 画 面 (グラ フィ ッ ク 画 面 00 グラ フィ ッ ク 画 面 1) に よっ て 構成 され る . 2 枚 の グラ フィ ッ ク 画 面 に は そ れ ぞ れ 独 立 に 水平 解像度 と 表示 ピク セル サイ ズ を 設定 で きる . また この モー ド で は SGP(4.5.6 参照 ) が 使用 で きる . ( 1 ) GVRAM シン グル プレ ー ン モー ド で の グラ フィ ッ ク 画 面 に は グラ フィ ッ ク 画 面 0 プ 1 の 2 つの 表示 画面 を 定義 むす る こと が で きる . その 時 , 256K バイ ト の GVRAM は 以下 の 2 種 の モー ド に 従っ て 各 グ ラフ ィ ッ ク 画 面 に 割り 付け られ る . ポー ト 100H( ワ ー ド ) ビッ ト 11 0 : 1 画面 モー ド ( グ ラフ ィ ッ ク 画 面 0 し か 使用 で き な い ) 1 : 2 画面 モー ド ( グ ラフ ィ ッ ク 画 面 0 プ 1 と も に 使用 可 ) 1 画面 モー ド が 指定 され る と GVRAM は すべ て グラ フィ ッ ク 画 面 0 に マッ ピン グ さ れ て 表示 が 行わ れる . この モー ド で は グラ フィ ッ ク 画 面 1 は 使用 する こと が で き な い . 2 画面 モー ド が 指定 され る と GVRAM は , 2 つの 128K バイ トブ ロッ ク に 分 割 さ れ , 各々 が グラ フィ ッ ク 画 面 0 ブ グ ラフ ィ ッ ク 画 面 1 に 対応 する . な お , グラ フィ ッ ク 画 面 0 に 16 ビッ トノ ピク セル (後述 ) が 設定 され た 場合 は 。 グラ フィ ッ ク 画 面 1 は 使用 で き な い . @ GVRAM マッ プ 1 画面 モー ド 2 画面 モー ド DFFFFH グラ フィ ッ ク 画 | C99996H グラ フィ ッ ク 画 面 9 A09996H GVRAM と 表示 画面 と の 対応 は , 次 の ピク セル サイ ズ の 項 で 説明 する . (2) ピク セル サイ ズ シン グル プレ ー ン モー ド で の 表示 に お ける ピク セル サイ ズ に は 4 種類 あり 。 各 々 表示 可能 な 色 数 が 異な る . ①1 ビッ トノ ピク セル (4096 色 中 モノ クロ 表示 ) ②4 ビッ トノ ピ クセ ル (4096 色 中 16 色 表示 ) ⑧ 8 ビッ トノ ピ クセ ル (256 色 表 示 ) (④16 ビ ッ ト プ ピク セル (65536 色 表示 ) 84 4.5 グラ フィ ッ ク 機 能 ピク セル サイ ズ の 設定 は ポー ト 102H( ワ ー ド ) に より 行わ れる . ビッ ト 1 ビッ ト 0 (グラフィック 画面 0 ピク セル サイ ズ ) 0 0 UE ツ ト ドン セレ 0 4 ルビ ツル トン セツ ルレ 0 9E ビ ツ ド トノ ピク レレ 1 1 60E ツ トシ ピク ピル ビッ ト 9 ビッ ト 8 (グラ フィ ッ ク 画 面 1 ピク セル サイ ズ ) 0 1 ビッ トノ ピク セル 1 4 ビット プ ピ クセ ル 0 8 IE ツウ トン ジ ビグ セル | グラ フィ ッ ク 画 面 0 に 16 ビッ ト プ ピ クセ ル を 設定 し た と き (2 、1) 1 ピッ トド トノ ピク セル と の モー ド で は 16 個 の カラ ー パ レッ ト か ら フ ォ ア グラ ウン ドカ ラー を 1 色 指 定 で きる . バ ッ ク グラ ウン ドカ ラー は 常に カラ ー コ ー ド 0 で ある . フォ アグ ラウ ンド カラ ー は ポー ト 110H で 設定 する . ビビ O ど ご つど ポー ト 110H( ワ ー ド ) ビッ : ド dl マ 8 : フォ アグ ラウ ジン ドカ ラー コー ド (パレ ッ ト 番 号 ) の 設定 @ GVRAM と 表示 画面 と の 対応 lu MSB 第 0 バイ ト LSB| MSB 第 1 バイ ト (4 + ! + 0 還 ト PC 0 4 ピク セル 番号 (2.2).4 ピッ トド プク セル この モー ド で は ピク セル ご と に カラ ー パ レッ ト を 指定 する こと に より , 4096 色 中 16 色 を 同時 に 表示 で きる 。 @ GVRAM と 表示 画面 の 対応 各 ニ ブル に 0 て 15 の カラ ー コ ー ド を 設定 する . 第 0 バイト 第 1 バイト ーー 4 上 位 下位 4 MA 3 4 人 5 6 ss (4 ピク セル 番号 85 第 4 章 表示 シス テム (2.80.8 ウト ノ ピ クセ ル この モー ド に は , カラ ー パ レッ ト を 使用 する パレ ッ ト 指 定 画面 モー ド と カラ ー パ レッ ト を 使用 し な い 直 接 色 指 定 画面 モー ド と が ある . パレ ッ ト 指 定 モー ド で は 各 ピ クセ ル ご と に 32 個 の カラ ー パ レッ ト を 指定 する こと に より ,4096 色 中 32 色 の 同時 表示 が 可能 で ある . この 場合 , 8 ビッ ト あ る ピク セル デー タ の 下位 5 ビッ ト が カ ラー パレ ッ ト を 指定 する の に 使わ れる . その 場合 は カラ ー パ レッ トモ ー ド 3( 後 述 ) を 使用 する . 直接 色 指 定 モ ー ド で は 各 ピ クセ ル 単 位 に 1 色 プ 256 色 を 指定 する . カラ ー パ レッ ト が 使用 され な いた め , 表示 色 は 8 ビッ ト の デー タ に より ダイ レク ト に RGB 指定 され る . パレ ッ ト 指 定 モ ー ド と 直接 色 指定 モー ド と の 切換 え は , 8 ビッ ト プ ピ クセ ル の グラ フィ ッ ク 画 面 を 優先 表示 画面 0 て 3 に 割り 当て る (パレ ッ ト 指 定 モー ド ) か , 優先 表示 画面 4 プ 5 (直接 色 指 定 モ ー ド ) に 割り 当て る か に よっ て 決定 され る . @ GVRAM と 表示 画面 と の 対応 GE ピク セル 番号 表示 画面 ・ パ レッ ト 指 定 モー ド MSB LSB 回 回 回 EECICTKOS や PP "NE エ ー ド ] eh 22 ド 38 旨み ze4 イ 1 RGB コー 。 チル as:2 ほ ゥ ト (2 .4 ) 16 ビッ トピ クセ ル この モー ド で は 各 ピ クセ ル 単 位 に 1 色 プ 65536 色 を 指定 する . カラ ー パ レッ ト が 使用 され な い た め , 表示 色 は 16 ビッ ト の デー タ よ り ダ イレ クト に RGB 指定 され る . また この モー ド は グラ フ ィ ッ ク 画 面 0 に の み 設定 で き , その 場合 グラ フィ ッ ク 画 面 1 は 使用 で き な い . @ GVRAM と 表示 画面 と の 対応 第 0 バイ ト | 第 1 バイ ト | 第 2 バイ ト = ピク セル 番号 表示 画面 86 4.5 グラ フィ ッ ク 機 能 ・ ワ ー ド 内 ビッ ト ア サイ ン MSB 下位 パイ 人 ト LSB MSB 下位 バイ ト LSB EIC3KWEOEEGEEIEEIEEIEIE グリ ー ン :6 ビ ッ ト Py RE プル 三 = 25 ピッ トド (3) 拡張 アク セス 機能 シン グル プレ ー ン モー ド で は 拡張 アク セス と 独立 アク セス と の 区 別 は な く , 修飾 の な い GVRAM アク セス を し た い 場 合 に は 下記 の 拡張 ライ ト 機 能 の ② CPU デー タラ イト に 設定 する . (3.1) 拡張 リー ド 機 能 シン グル プレ ー ン モー ド に は 比較 読出 し 機能 は な い . (3 .2) 拡張 ライ ト 機 能 GVRAM へ の ライ トモ ー ド は マル チ プ レー ン モ ー ド と 同様 に 4 種類 ある . ① NOP 書込み 動作 を し な い ⑨② CPU デー タラ イト CPU か ら の デー タ を その まま 書き 込む パタ ー ン レジ スタ ライ ト パタ ー ン レジ スタ の 値 を 書き 込む ④ LU 出力 ライ ト 論理 演算 の 結果 を 書き 込む 各 モ ー ド の 切換 え は ポー ト 580H を 使用 する . これ は グラ フィ ッ ク 画 面 01 に 共通 で ある . ポー ト 580H ビッ he4 ww. ド 3 LU 出力 ライ ト ( リ セッ ト 時 ) パタ ー ン レジ スタ ライ ト CRUe 王 クン シト NOP ーー ビビ OO ご のど rH © ご ーー © ① NOP CPU か ら の GVRAM ライ ト 動 作 を 無視 する (書込み 禁止) . (2@BUS デ ー ク cf ト CPU か ら の デー タ を その まま 書き 込む ( 無 修飾 ライ ト ). ⑨③ パ ターン レジ スタ ライ ト CPU か ら の デー タ は 無視 し , パタ ー ン レジ スタ の 値 を 書き 込む . パタ ー ン レジ スタ は つね に 2 バイ ト で あり , メモ リア クセ ス 時 の 自動 更新 キー ド は な い 。 パタ ー ン レジ スタ の ポー ト は 次 の よう に な っ て お り , 書き 込む アド レス に よっ て 使用 され る パタ ー ン レジ スタ が 異な る . ポー ト 590H : A0000-BFFFFH 用 パタ ー ン レジ スタ (ワード ) ポー ト 592H : C0000-DFFFFH 用 パタ ー ン レジ スタ (ワー ド ) 87 第 4 章 表示 シス テム ③④ LU 出力 ライ ト CPU か ら の デー タン 書込み 先 デ ー タ ンプ パタ ー ン レジ スタ の 3 種 の デー タ 間 の 論理 演算 の 結 果 を 書き 込む . 論理 演算 の 方 法 は , ROP( ラ スタ オペ レー ショ ン ) コ ー ド と 呼ば れる 1 バイ ト 値 で 指定 する . ROP コー ド は マル チ プ レー ン モ ー ド と 同じ で ある . ROP レジ スタ の ポー ト は 次 の よう に な っ て お り , 書き 込む アド レス に よっ て 使用 され る ROP レジ スタ が 異な る . ポー ト 5A0OH : A0000-BFFFFH 用 ROP レジ スタ (バイ ト ) ポー ト 5A2H : C0000-DFFFFH 用 ROP レジ スタ (バイ ト ) 4.5.5 フレ ー ム バッ ファ と 画面 分 割 ・ ス クロ ー ル (1 ) 画面 分 割 機能 (サブ 画面 ) グラ フィ ッ ク 画 面 は 最大 4 個 の サブ 画面 を 定義 むす る こと が で き , これ に より 画面 を 最大 4 分割 する こと が 可能 で ある . サブ 画面 は 水平 方 向 に の み 分 割 さ れ た 画面 で 。 その 表示 位置 と 高き は ラ イン 単位 に 設定 する こと が で きる 。. @ 画面 分 割 の 例 CRT 画面 (グラ フィ ックス ) デラ シキ ジグ 4 つの サブ 画面 は それ ぞ れ グラ フィ ッ ク 画 面 0 プ グ ラフ ィ ッ ク 画 面 1 に 割り 当て られ て いる 。. サブ 画面 0 : グラ フィ ッ ク 画 面 0 用 サブ 画面 1 : グラ フィ ッ ク 画 面 1 用 サブ 画面 2: グラ フィ ッ ク 画 面 0 用 サブ 画面 3 : グラ フィ ッ ク 画 面 0 用 グラ フィ ッ ク 画 面 0 に は 3 つの サブ 画面 が 割り 当て られ て いる が ,CRT 画面 の 上 か ら 順 に サブ 画面 0, 2, 3 と 使用 する 必要 が ある . また サブ 画面 間 に 間 が 空い た 設定 を する こと は 可能 だ が , 同じ グラ フィ ッ ク 画 面 に 割り 当て られ た サブ 画面 (0, 2, 3) は 互い に オー パー ラッ プ し な いよ うに 設定 し な く て は な ら な い . マル チ プ レー ン モ ー ド で は グラ フィ ッ ク 画 面 0 し か 使用 で き な い た め , サブ 画面 1 は 使用 で き ず , 画面 は 最大 3 分 割 まで と な る . 88 4.5 グラ フィ ッ ク 機 能 画面 分 割 を 行わ な い 場 合 は , グ ラフ ィ ッ ク 画 面 0 で は 通常 サブ 画面 0 を , グ ラフ ィ ッ ク 画 面 1 で は サブ 画面 1 を 画面 全体 に 割り 当て て 使用 する こと に な る . ( 2) フレ ー ム バッ ファ 各 サ ブ 画 面 は それ ぞ れ 仮想 フレ ー ム バッ ファ を 持っ て いる . フレ ー ム バッ ファ は GVRAM 中 に あり , その スタ ー ト アド レス ・ 横 幅 ・ 縦 幅 に よっ て 設定 され る . フレ ー ム バッ ファ 中 の 指定 し た 一 部 ( 実 表 示 画 面 ) が サブ 画面 と し て 表示 され る . サブ 画面 と フレ ー ム バッ ファ と は 一 意 に 対応 し て いる . フレ ー ム バッ ファ 0 : サブ 画面 0 グラ フィ ッ ク 画 面 0 フレ ー ム バッ ファ 1 : サブ 画面 1 グラ フィ ッ ク 画 面 1 フレ ー ム バッ ファ 2 : サブ 画面 2 グラ フィ ッ ク 画 面 0 フレ ー ム バッ ファ 3 : サブ 画面 3 グラ フィ ッ ク 画 面 0 フレ ー ム バッ ファ は 互い に オー バー ラッ プ し た 設定 を 行っ て も よい . また フレ ー ム バッ ファ 1 は 機能 に 一 部 制限 が あり , ラッ プア ラウ ンド 機能 (後述 ) が 使用 で き な い . ( 3 ) フレ ー ム バッ ファ と サブ 画面 フレ ー ム バッ ファ 内 の 任意 の アド レス を 指定 し て 実 表示 画面 を 設定 する . 実 表示 画面 の 幅 は 常 に CRT 画面 の 幅 と 一 致し て いる . 高 さ は サブ 画面 の 高 さ に よっ て 指定 され る . ウー ぬ 2 ペ ッ プア CRT 画面 ーー D サブ 画面 S H ーー 「 FBW フレ ー ム バッ ファ お よび サブ プ 画 面 の 制御 パラ メー タ と し て は 次 の も の が ある . スタ ー ト アド レ ス お よび 横幅 は 4 バイ トバ ウン ダリ に 設定 し な けれ ば ば ならない. RSA_ : フ レーム パッ ファ スタ ー ト アド レス OFY : 実 表 示 画 面 Y オ フ セ ッ ト FBW : フレ ー ム バッ ファ 横幅 DSA : 実 表示 画面 スタ ー ト アド レス FBL : フ レー ム バ ッ フ ァ 縦 幅 DSP : サブ 画面 表示 位置 OFX : 実 表示 画面 メオ フ セ ッ ト DSH : サブ 画面 高き 89 第 4 章 表示 シス テム ( 4) スク ロー ル 表示 画面 の スク ロー ル は フレ ー ム バッ ファ 中 の 実 表 示 画 面 の 位置 を 変え 0 る こと に より , サブ 画 面 単 位 に 垂直 ノ 水 平方 向 で ドッ ト 単 位 に 行う こと が で きる . この と き 変 更 す る グラ フィ ッ ク 画 面 制御 パラ メー タ は 次 の 3 つ で ある . @ 実 表 示 画 面 の XX オフ セッ ト @ 実 表示 画面 の Y オフ セッ ト @ 実 表 示 画 面 の 表示 開始 アド レス また フレ ー ム バッ ファ の サイ ズ を 超え る スク ロー ル を 行う 場合 , グラ フィ ッ ク 画 面 0 に 属す る 実 表示 画面 は フレ ー ム バッ ファ の 大 き さ を 考慮 し て 水平 ノ 垂 直方 身 と も に ラッ プア ラウ ンド され る . た だ し モー ド に よっ て は 制限 が 加わ る こと が ある (後述 ). グラ フィ ッ ク 画 面 1( フ レー ム バ ッ フ ァ 1) で は 水平 垂直 と も に ラッ プア ラウ ンド は サポ ー ト され て お ら ず , 実 表 示 画面 が フレ ー ム バッ ファ を は み だ す 設定 を 行っ て は な ら な い 。 < 垂直 ラッ プア ラウ ンド スク ロー ル > 実 表示 画面 国 メ 実 表示 画面 < 水平 ! ッ プア ラウ ンド スク ロー ル > フレ ー ム バッ ファ 実 表示 画面 90 4.5 グラ フィ ッ ク 機 能 @ 水 平 ラ ッ プ アラ ウン ド 時 の 制限 ① マ ル チ プ レー ン モ ー ド の 1 ビッ トピ クセ ル 水平 テッ プア ラウ ンド は サポ ー ト され な い . ⑨② シ ング ルプ レー ン モ ー ド で グラ フィ ックス を 2 画面 表示 し た と き グラ フィ ッ ク 画 面 0 で 水平 ラッ プア ラウ ンド を 行う と , グラ フィ ッ ク 画 面 1 の 表示 画面 設定 に 対し て 制限 が 加わ る (グラ フィ ッ ク 画 面 0 の 設定 に は 制限 は な い ). 水平 解像度 1 ビッ トノ ピク セル | 4 ビッ トノ ピク セル | 8 ビッ トノ ピク セル 640 ド ッ ト 320 ドッ ト 〇 : 制限 な し X : 使用 不可 へ : 表示 スタ ー ト アド レス と フレ ー ム バッ ファ の 横幅 が 128 バイ ト 単 位 で し か 設定 で き な い (5) グラ フィ ッ ク 画 面 制御 パラ メー タ フレ ー ム バッ ファ ン サ ブ プ 画 面 の 各種 パラ メー タ は 1/O ポー ト に 割り 当て て ある グラ フィ ッ ク 画面 制御 パラ メー タ で 設定 する . グラ フィ ッ ク 画 面 制 御 パ ラメ ー タ の ポー ト 位 置 は 次 の よう に な つ : で ゆる 。 フレ ー ム バッ ファ 0 : ポー ト 200 て 217H フレ ー ム バッ ファ 1 : ポー ト 220-237H フレ ー ム バッ ファ 2: ポート 240~257H フレ ー ム バッ ファ 3 : ポー ト 260~277 了 H 以下 に 1 つの フレ ー ム バッ ファ の グラ フィ ッ ク 画 面 制御 パラ メー タ の 構造 を 示す . (5 .1) フレ ー ム バッ ファ の スタ ー ト アド レス (FSA) 15 A ND ETO G4 3 2 1.0 十 00H FSA 000 sk02He O00 05 る 05 20 R07 80 00030 Or MO OM ES フレ ー ム バッ ファ の スタ ー ト アド レス を 18 ビッ ト の バイ ト ア ドレ ス で 設定 する . た だ し 設定 単位 は 4 バイ トバ パウ ンダ リ と な っ て いる た め , 下位 2 ビッ ト が 常に [0] と な っ て いる 必要 が ある . スタ ー ト アド レス に は , CPU アド レス ーA0000H を 設定 する . ( 5 . 2 ) フレ ー ム バッ ファ の 横幅 (FBW) 十 04H 0 0 0 0 0 FBW 0 0 フレ ー ム バッ ファ の 横幅 を 11 ビッ ト の バイ ト 数 で 設定 する . た だ し 設定 単位 は 4 バイ トバ ウン ダリ と な っ て いる た め , 下位 2 ビッ ト は 常に [0] と な っ て いる 必要 が ある . FBW の 値 : フレ ー ム バッ ファ の 横幅 (バイ ト ) 0 : 0 4 4 2040 2040 2044 2044 91 第 4 章 表示 シス テム ( 5 . 3 ) フレ ー ム バッ ファ の 縦 幅 (FBL) 十 06H 0 (O00 0 0 FBL フレ ー ム バッ ファ の 縦 幅 を 10 ビッ ト の ライ ン 数 で 設定 する . フレ ー ム バッ ファ 1 に は 設定 で き な い . 縦 幅 に は 実際 の 値 一 1 を 設定 する . FBL の 値 : フレ ー ム バッ ファ の 縦 幅 ( ラ イン 数 ) 0 : 1 1 8 2 8 8 1022 : 1023 1023 5 1024 ( 5 . 4 ) 実 表 示 画面 の X オフ セッ ト (OFX) と ドッ ト ア ドレ ス 9 中 4 03 2 TL 0 9 8 廊 6 5 4 9 2 1 0 十 08H 0 0 0 0 0 0 0 0 0 0 0 ドッ ト ア ドレ ス 十 0AH 0 0 0 0 0 OFX 0 0 OFX は , フレ ー ム バッ ファ 内 の 実 表示 画面 の 位置 を 示す X オフ セッ ト を 11 ビッ ト の バイ ト 数 で 設 定 す る . た だ し 設定 単位 は 4 パイ トバ ウン ダリ と な っ て いる た め , 下位 2 ビッ ト は 常に [0] と な っ て いる 必要 が ある . OFX は フレ ー ム バッ ファ 1 に は 設定 で き な い 、。 OFX の 値 : 実 表 示 画面 の X オ フ セ ッ ト ( バ イト 数 ) 0 : 0 4 : 4 2040 : 2040 2044 : 2044 OFX で は 4 バイ トバ ウン ダリ で し か 指定 で き な い た め , 指定 し た 4 バイ ト の 中 の 何 ピ クセ ル 目 か ら 表示 する か を , 5 ビッ ト の ドッ ト オ フ セッ ト と し て 指定 する . ド ッ ト オ フ セ ッ ト は マル チ プ レー ン モ ー ド の 1 ビッ トピ クセ ル で は 使用 で き な い . この 場合 は チキ スト プス プラ イト プロ セッ サ に 水平 スム ー ズ スク ロー ルオ フ セ ッ ト と し て 設定 する . 各 ピ クセ ル サ イ ズ ご と の ドッ ト オ フ セッ ト の 設定 は 次 の と お り . 表示 モー ド 別 の 表示 開始 ピク セル シン グル プレ ー ン モー ド マル チ プ レー ン モ ー ド ドッ ト ア ドレ ス の 値 . [1] [4] [8] [16] [4] ノビ ピク セル 0 計 NO 0 0 0 0 ピク セル 目 か ら 表 示 1 ll) a = 1 2 2 2 一 一 2 3 3 3 デー 3 4 4 一 一 一 4 5 5 一 一 一 5 15 5 全 生生 = 16 6 2 ー 17 7 5 8 = = 18 18 6 ==) 且 = 92 4.5 グラ フィ ッ ク 機 能 19 10 本庄 寺 ー 20 Y 205 に っ s モ ェ — 31 ” 3 一 — — ー (5.5) 実 表示 画面 の Y オフ セッ ト (OFY) 5 泊 18) 20 00 9 8 7 6 5 4 3 2 1 0 十 0CH 0 0 0 0 0 0 OFY フレ ー ム バッ ファ 内 の 実 表示 画面 の 位置 を 示す Y オフ セッ ト を 10 ビッ ト の ライ ン 数 で 設定 する . OFY の 値 : 実 表示 画面 の Y オフ セッ ト ( ラ イン 数 ) 0 : 0 1 : 1 2 : 2 1022 : 1022 1023 : 1023 (5.6) 実 表示 画面 の 表示 開始 アド レス (DSA) 5 EZR ISUS DR9Nxy8 の 6535 は 、0 フレ ー ム バッ ファ 内 の 実 表示 画面 の 位置 を 18 ビッ ト の バイ ト ア ドレ ス で 設定 する . た だ し 設定 単位 は 4 バイ トバ ウン ダリ と な っ て いる た め , 下位 2 ビッ ト は 常に [ 0 ] と な っ て いる 必要 が ある .OFX・ OFY か ら 計算 きれ る アド レス と この DSA と は 同じ に な る よう に 設定 する . 表示 開始 アド レス に は , CPU アド レス ーA0O000H を 設定 する . (5 .7 ) サブ 画面 の 高 さ (DSH), 表示 位置 (DSP) RTS "02 IP ORORSN 6 「 MERM2 dS 9 ( 注 : 十 14H の ポー ト は な い ) DSH は , サブ 画面 ( 実 表示 画面 ) の 高き を 9 ビッ ト の ライ ン 数 で 設定 する . DSH の 値 : サブ 画面 の 高き (ライ ン 数 ) 0 : 0 1 : 1 2 : 2 510 : 510 511 511 DSP は , サブ 画面 の 表示 位置 を 9 ビッ ト の ライ ン 位 置 で 設定 する . DSP の 値 : サブ 画面 の 表示 位置 (ライ ン 位置 ) 0 0 中 il 2 2 510 510 511 511 93 第 4 章 表示 シス テム 4.5.6 SGP( ス ー パ ー グ ラフ ィ ッ ク プ ロ セ ッ サ ) SGP は グラ フィ ッ ク 描 画 を 高速 で 行う た め の 専用 プロ セッ サ で あり , RAM ン 漢字 ROM の 長 方 形 BLT( ブ ロッ クト ラン ス フ ァ ) 機 能 , LINE 描画 機能 , ペイ ント 補助 機能 な ど が ある . SGP は シン グル プレ ー ン モー ド で の み 使 用 する こと が で きる . ( 1 ) SGP の メモ リマ ッ プ SGP へ の 命令 で 与え る アド レス は CPU 空間 の アド レス で は な く , すべ て SGP 空間 の アド レ ス を 使用 する . SGP は 4M バイ ト の メモ リ 空 間 を 持ち , メイ ン ROM と 辞書 ROM 以外 の メモ リ を アク セス する こと が で きる . その メモ リ レ イ アウ ト は 次 の よう に な っ て いる .。 メイ ン RAM は SGP アド レス と CPU アド レス が 一 致し て いる . VDP アド レス メイ ン CPU アド レス 240000~3FFFFFH 000000~ 03FFFFH 標準 メイ ン RAM | 00000H~3FFFFH ( 2 ) SGP の 制御 ( 2 . 1 ) SGP へ の 命令 設定 法 SGP は メモ リ 上 に 展開 され た 命令 テー ブル を 順次 実行 し て いく . 命令 を 置く メモ リ は 通常 メイ ン RAM が 使用 きれ る . また SGP は ワー ク メ モ リ と し て 指定 し た 58 バイ ト の RAM を 使用 す る . 実行 開始 アド レス は ポー ト 500~503 了 H で 設定 する . この と き 使用 3 れる アド レス も SGP 空 間 ア ドレ ス で ある . 指定 する アド レス は 偶数 アド レス で な けれ ば な ら な い . ポー ト 500H : SGP 実行 開始 アド レス 下位 16 ビッ ト ポー ト 502H : SGP 実行 開始 アド レス 上 位 16 ビッ ト 実行 開始 アド レス を 設定 し た 後 , 実行 開始 指令 を 出す . OUT 506H, 1 これ に より , 描画 終了 コマ ンド を 実行 する まで SGP は 命令 を 実行 し 続け る . ( 2 . 2 ) SGP の 強制 停止 方 法 通常 は 命令 テー ブル の 最後 に 描画 終了 コマ ンド を 置い て 実行 停止 させ る が , 強制 的 に SGP を 停止 させ る こと と が で きる . OUT 504H, 2 94 4.5 グラ フィ ッ ク 機 能 ( 2 . 3 ) SGP ステ ー タ ス SGP が 命令 を 実行 中 か アイ ドル 状態 で ある か の ステ ー タ ス を 知る こと が で きる . IN 506H ビ ピット 0 0 =SGP 停止 1 =SGP 動作 中 ( 2 .4) SGP 割込み の 設 SGP は 描画 終了 コマ ンド を 実行 し た 段階 で メイ ン CPU に 割込み を 発生 する こと が で きる . 割 込み 機能 を 使用 する か どう か は 次 の ポー ト で 設定 する . OUT 504H ビ ッ ト 4 0 =SGP 割込み 禁止 割込み クリ ア 1 =SGP 割込み 許可 SGP 割込み は INT 10H( 割 込み レベ ル 8) に 接続 され て いる . また , 割込み 要求 は 本 ポー ト に よ り ク リア する 必要 が ある . ( 3 ) SGP 命令 SGP の コマ ンド プ パ ラメ ー タ は 各々 ワー ド 単 位 で 構成 され て いる . 命令 の 1 ワー ド 目 は コマ ン ド と し て 認識 され , その 後に 必要 な だ け パ ラメ ー タ ワー ド が 続く . ( 3 . 1) SGP コマ ンド コマ ンド と し て 以下 の 13 個 が 用 意 さ きれ て いる . コマ ンド 名 END NOP SET WORK SET SOURCE SET DESTINATION SET COLOR BITBLT PTNBLT LINE CLS SCAN RIGHT SCAN LEFT 描画 終了 ノー オペ レー ショ ン 作業 領域 設定 転送 元 ブ ロッ ク 指 定 転送 先 プ ロッ ク 指 定 色 指 定 ブロ ッ ク の 転送 繰り 返し パタ ー ン の 転送 直線 描画 画面 消去 ペイ ント 補助 機能 ペイ ント 補助 機能 ( 3 . 2 ) SGP パラ メー タ 命令 の 2 ワー ド 目 以降 は パラ メー タ で ある . 以下 に パラ メー タ 指 定時 の 概念 を 示す . @ ピク セル 位置 の 指定 SGP パラ メー タ に お いて ピク セル の 位置 を 指定 する に は , ピク セル が 含ま れる ワー ド の アド レ ス と , 当該 ワー ド 内 で の ドッ ト 位 置 に より 指定 する . アド レス は SGP 空間 内 の 物理 アド レス で あ り , 偶数 バイ ト ア ドレ ス を 指定 する . ドッ ト 位 置 は . ワー ド 内 で 左 (MSB) か ら 何 番目 の ピク セル で ある か を 指定 する . ピク セル サイ ズ に よっ て ドッ ト 位 置 が と れる 範囲 は 次 の 範囲 に 限ら れる . 95 第 4 章 表示 シス テム 1 ビット グ ピ クセ ル 0 ~15 8 ビッ ト プ ピ クセ ル 0 また は 1 4 ビッ トピ クセ ル 0 て 3 16 ビ ッ ト プ ピク セル 0 の み アド レス N—2 N N+2 N+4 に に ーー ヨコ ドッ ト 位 置 @ ブ ロッ ク BLT で は 転送 元 ・ 転 送 先 を 指定 する の に プ ブロック (メモ リ 中 の 仮想 的 長方形 ) を 使用 する . また LINE で は ブロ ッ ク の 対角線 に 直線 を 描画 する と 考え る . ブ ロッ ク の 指定 に は , ブ ロッ ク の 開始 ピ クセ ル 位 置 , ブロ ッ ク の 水平 垂直 サイ ズ , フレ ー ム バッ ファ の 水平 サイ ズ ,。 ピク セル サイ ズ が 使用 され る . ブロ ッ ク の 水平 ノ 垂 直 サ イズ に は ピク セル 数 が , フレ ー ム バッ ファ の 水平 サイ ズ に は バイ ト 数 (し た が っ て 下位 2 ビッ ト は 0) が 使用 され る . レー ム 2 ぷ ッ プア プロ ッ ク プ ブロッ ク の 垂直 サイ ズ プ ゼ ロッ ク の 水平 サイ ズ 開始 ピク セル 位置 が ブロ ッ ク の どの 部 分 を 指す か は BLT 時 の 転送 方 向 , LINE の 描画 方 向 を 考慮 し て 決め な けれ ば な ら な い . ① 上 っ 下 , 左 つ 右 に 転送 (描画 ) ブロック の 左上 隅 を 指定 ② 上 っ 下 , 右 っ 左 に 転送 (描画 ) ブロック の 右上 隅 を 指定 ③ 下 っ 上 , 左 つ っ 右 に 転送 (描画 ) ブロ ッ ク の 左下 隅 を 指定 (④ 下 ー 上 , 右 つ 左 に 転送 (描画 ) ブロッ ク の 右 下 隅 を 指定 ピク セル サイ ズ の 指定 に は 次 の 値 (2 ビッ ト ) が 使用 され る . 0 1 ビット グ ピ クセ ル 1 4 ビッ トピ クセ ル 2 8 ビット プ ピ クセ ル 3 16 ビ ッ ト プ ピク セル ( 4 ) 各 命 令 の 解説 (4 .1) END 命令 実行 (コマ ンド フェ ッ チ ) を 終了 し , 停止 状態 に は いる . パラ メー タ は な い . 96 4.5 グラ フィ ッ ク 機 能 (4 .2) NOP NOP 命令 。 パラ メー タ は な い . (4 .3) SET WORK SGP の 作業 領域 を 設定 する . 描画 命令 を 使用 する 前 に 必ず この コマ ンド で 作業 領域 を 設定 する 必要 が ある . 作業 領域 と し て 指定 し た アド レス か ら 58 バイ ト を 使用 する . 作業 領域 は 通常 メイ ン RAM (00000-9FFFFH) に 設定 する . に さ ⑦1 +ー トー て っ トー トゥ +ー +ー エー © に っ 】 Co - コ 〇 ゝ an た co Lo) トー © SGP ワー クア ドレ ス 下位 16 ビッ ト の ーー】 [一 ) つ で の © © つ つ つ で G の つ +ー つ 3 SGP ワー クア ドレ ス 上位 16 ビッ ト (4 .4) SET SOURCE ソー ス ブ ロ ッ ク を 設定 する . これ は BITBLT・PATBLT の 転送 元 ブ ロッ ク と な る . 0 開始 ドッ ト 位 軒 ソー ス ブ ロ ッ ク の 水平 サイ ズ ( ピ クセ ル 単 位 ) 0 0 0 0 ソー スプ ブロ ッ ク の 垂直 サイ ズ ( ピ クセ ル 単 位 ) ソー スフレ ー ム バッ ファ の 横幅 (バイ ト サ イ ズ ) 00 条 0 © © © © ソー スプ ブロ ッ ク 開 始 ア ドレ ス ( 下 位 16 ビッ ト ) 0 | ソー スプ ブ ロック 開始 アド レス (上 位 16 ビッ ト ) | SCRN M : ピク セル サイ ズ 0 1 ピッ トピ クセ ル 1 4 ビット プ ピ クセ ル 2 8 ビッ ト プ ピ クセ ル 3 16 ビッ トピ クセ ル 97 第 4 章 表示 シス テム (4 .5) SET DESTINATION デス ティ ネー ショ ンプ ブ ロッ ク を 設定 する . この コマ ンド は 次 の 場合 に 使用 され る . ① BITBLT, PATBLT の 転送 先 ブ ロッ ク の 設定 ⑨ SCAN コマ ンド の 開始 ピク セル ・ ピ クセ ル 数 の 設定 デス ティ ネー ショ ン フ レー ム バ ッ フ ァ の 横幅 (バイ ト サ イ ズ ) デス ティ ネー ショ ンプ ブロ ッ ク 開 始 ア ド レス (下位 16 ビッ ト ) デス ティ ネー ショ ンプ ブロック 開始 アド レス (上 位 16 ビッ ト ) SCRN M : ピク セル サイ ズ 0 1 ビット プ ピ クセ ル 1 4 ビット プ ピク セル 2 8 ビッ ト プ ピ クセ ル 3 16 ビッ トノ ピク セル (4 .6) SET COLOR 描画 色 を 指定 する . 指定 し た 色 は 次 の 場合 に 使用 され る . ① BITBLT, PATBLT で 転送 元 が 1 ビッ ト プ ピ クセ ル の と き ② LINE で の 直線 描画 時 ③ CLS で の 画面 消去 時 ④ SCAN で 捜す 色 の 指定 カラ ー コ ー ド グ RGB コード ①②④ の 場合 。 対 象 と な る ブロ ッ ク ノ 領域 の ピク セル サイ ズ に 合わ せ て 次 の ビッ ト が 使用 され る . 1 ビッ トノ ピク セル の と き 1 ビッ ト X16 ピ クセ ル 分 4 ビッ トン ビク セル の と き 4 ビッ ト ※X 4 ピク セル 分 8 トク セル の と き 8 ビッ トメ 2 ピク タク セル 分 16 ビ ッ ト プ ピク セル の と き 16 ビ ッ ト 全 部 98 4.5 グラ フィ ッ ク 機 能 (4 .7) BITBLT ツー スプ ブロ ッ ク か ら デ ステ ィ ネ ーション プロ ッ ク べ ブロ ッ ク 転 送 よ る , ソー ス デ ロック, デス ティ ネー ショ ン ブ ロ ッ ク は それ ぞ れ SET SOURCE コマ ンド , SET DESTINATION コマ ンド で 指定 する . いい illolmplrmwoplo 0 。 | noeiarop | SF 0 : ソ ー ス を デス ティ ネー ショ ン の ビッ ト 位 置 に 合わ せ て シフ ト し て 転送 する 1 : ソ ー ス を シフ ト せ ず に 転送 する VD 垂直 転送 方 向 0 : プロ ッ ク の 上 か ら 下 に アド レス を 進め な が ら 転 送 する 1 : ブロ ッ ク の 下 か ら 上 に アド レス を 進め な が ら 転 送 する HD 水平 転送 方 向 0 : プ ブロック の 左 か ら 右 に アド レス を 進め な が ら 転 送 する 1 : ブ ロック の 右 か ら 左 に アド レス を 進め な が ら 転 送 する TP-MOD トラ ンス ペア レン ト 転 送 モ ー ド 0 : ソー ス を その まま デス ティ ネー ショ ン に 転送 する 1 : ソー スプ ブ ロッ ク が 0 の 部 分 は 転送 し な い 2 : デ ステ ィ ネ ーション ブロ ッ ク が 0 の 部 分 だ け 転 送 する LOGICAL-OP 論理 演算 指定 0 :0 8 :NOT(S OR D) 1 :S AND D 9 : NOT(S XOR D) 2 : NOT(S) AND D A : NOT(S) 3 : NOP B : NOT(S) OR D 4 :S AND NOTO①) C : NOT(①D) 5 :S D:S OR NOTO①) 6 :S XOR D E:NOT(S AND D) 7 SSSODRI D 上 BS 沖 (4.8) PATBLT ソー スプ ブロ ッ ク か ら デ ステ ィ ネ ーション ブロ ッ ク ヘ へ パター ン 転 送 する . BITBLT と 同様 の 動作 を する が , デス ティ ネー ショ ン ブ ロ ッ ク が ソー ス ブ ロ ッ ク よ り 大 きい 場合 に ソー スプ ブロ ッ ク が 2 次 元 的 に 繰り 返さ れ て 転送 され る . no mm 0 0 | roscarog | ※ パ ラメ ー タ の 内 容 は BITBLT と 同じ . 99 第 4 章 表示 シス テム (4 .9) LINE SET COLOR コマ ンド で 設定 し た 直線 を 描画 する . 0 開始 ドッ ト 位 軒 LINE 垂直 サイ ズ ( ピ クセ ル 単 位 ) LINE 水平 サイ ズ ( ピ クセ ル 上 単位 ) 描画 する フレ ー ム バッ ファ の 横幅 (バイ ト サ イ ズ ) 0 0 描画 開始 アド レス (下位 16 ビッ ト ) 0 描画 開始 アド レス (上位 16 ピット) VD 垂直 描画 方 向 0 : 上 か ら 下 へ の 描画 1 : 下 か ら 上 へ の 描画 HD 水平 描画 方 向 0 : 左 か ら 右 へ の 描画 1 : 右 か ら 左 へ の 描画 * TP-MOD, LOGICAL-OP は BITBLT と 同様 . * 開 始 ド ッ ト 位 置 以下 は SET SOURCE と 同様 . ( 4 .10) CLS メモ リ を SET COLOR コマ ンド で 指定 し た 値 で クリ ア す る 。 CLS 開始 アド レス (下位 16 ビッ ト ) 0 CLS 開始 アド レス (上 位 16 ビッ ト ) CLS 領域 ワー ドサ イズ (下位 16 ビッ ト ) CLS 領域 ワー ドサ イズ (上 位 16 ビッ ト ) 100 4.5 グラ フィ ッ ク 機 能 ( 4 .11) SCAN RIGHT ペイ ント の 補助 機能 . 右 方 向 へ SET COLOR コマ ンド で 指定 され た 色 の 点 が 見 つか る まで ス キャ ン す る . スキ ャ ン 開 始 ピ クセ ル , スキ ャ ン の 結果 と も デス ティ ネー ショ ンプ ブロッ ク の パラ メ ー タ を 使用 する . @ 入力 スキ ャ ン 開 始 ピ クセ ル : デス ティ ネー ショ ン ブ ロ ッ ク 開 始 ピ クセ ル スキ ャ ン 画 面 モ ー ド : デス ティ ネー ショ ン の SCRN_M スキ ャ ン す る 最大 ピク セル 数 : デス ティ ネー ショ ン ブ ロ ッ ク の 水平 サイ ズ スキ ャ ン す る 色 : SET COLOR コマ ンド で 指定 し た 色 @ 出力 スキ ャ ン さ れ た ピク セル 数 : デス ティ ネー ショ ン ブ ロ ッ ク の 水平 サイ ズ 指定 し た 色 の ピク セル を 発見 し た 場合 ,、 ス キャ ン 開 始 ピ クセ ル か ら の ピク セル 数 を デス ティ ネ ーション ブロ ッ ク の 水平 サイ ズ に 設定 する . この 直後 に PATBLT コマ ンド を 実行 する こと に よ り , ペイ ント 機能 を 実現 する こと が で きる . スキ ャ ン 開 始 ピ クセ ル が 指定 色 の 場合 は 。 スキ ャ ン さ れ た ピク セル 数 は 0 に な る . 指定 色 が 発 見 きれ な か っ た 場合 は デス ティ ネー ショ ンプ ブ ロッ ク の 水平 サイ ズ は 更新 され な い . @ ス キャ ン 前 スキ ャ ン 開 始 ピ クセ ル { OOOOOOOOOOOOOOOOOOOOOOOOOOOO ト 。 だ メキ ャ ン す る 最大 ピク セル 数 一 ーーー @ ス キャ ン 後 スキ ャ ン 開 始 ピ クセ ル 指定 色 の ピク セル \ \ oO TE OOOOOOOOO 1___ ス キャ ン さ きれ た ピク セル 数 一 一 ( 4 .12) SCAN LEFT ペイ ント の 補助 機能 . 左 方 向 へ SET COLOR コマ ンド で 指定 され た 色 の 点 が 見 つか る まで ス キャ ン す る . スキ ャ ン 開 始 ピ クセ ル , スキ ャ ン の 結果 と も デス ティ ネー ショ ンプ ロック の パラ メ ー タ を 使用 する . @ 入力 スキ ャ ン 開 始 ピ クセ ル : デス ティ ネー ショ ンプ ブロ ッ ク 開 始 ピ クセ ル スキ ャ ン 画 面 モ ー ド : デス ティ ネー ショ ン の SCRN_M スキ ャ ン す る 最大 ピク セル 数 : デス ティ ネー ショ ンプ ブ ロック の 水平 サイ ズ スキ ャ ン す る 色 : SET COLOR コマ ンド で 指定 し た 色 101 第 4 章 表示 シス テム @ 出力 スキ ャ ン さ れ た 領域 の 左端 : デス ティ ネー ショ ン 開 始 ア ドレ ス , ドッ ト 位 置 スキ ャ ン さ れ た ピク セル 数 : デス ティ ネー ショ ン ブ ロ ッ ク の 水平 サイ ズ 指定 し た 色 の ピク セル を 発見 し た 場合 ,、 スキ ャ ン 開 始 ピ クセ ル か ら の ピク セル 数 を デス ティ ネ ーション ブロッ ク の 水平 サイ ズ に 設定 する . この 直後 に PATBLT コマ ンド を 実行 する こと に よ り , ペイ ント 機能 を 実現 する こと が で きる . スキ ャ ン 開 始 ピ クセ ル が 指定 色 の 場合 は 。 ス キャン され た ピク セル 数 は 0 に な る . 指定 色 が 発 見 され な か っ た 場合 は デス ティ ネー ショ ンプ ブロ ッ ク の 水平 サイ ズ は 更新 され な い . @ スキャン 前 スキ ャ ン 開 始 ピ クセ ル \ OOOOOOOOOOOOOOOOOOOOOOOOOOOO・ スキ ャ ン す る 最大 ピク セル 数 ーー @ スキ ャ ン 後 デス ティ ネー ショ ンプ ロッ ク 開 始 ピ クセ ル \ OOO0000 ed され た 次 セ ルー= コ 指定 色 の ピク セル (5) 使用 上 の 制限 SGP 使用 時 に は 以下 に 述べ る よう な 制限 が ある . ① SGP は フレ ー ム バッ ファ の 境界 判断 を 行わ な い 。 し た が っ て , ラッ プア ラウ ンド する BLT や LINE を 行う 場合 は , フレ ー ム バッ ファ の 境界 で 区 切っ て 設定 する こと . ② BLT に お いて 転送 元 ブ ロッ ク と 転送 先 プ ロッ ク の ピク セル サイ ズ が 異な る 場合 に 転送 可能 な の は 1 ビッ トブ プ ピ クセ ル か ら 多 ビッ ト プ ピ クセ ル だ け で ある . ③ 1 ビッ ト プ ピ クセ ル か ら 多 ビッ トノ ピ クセ ル へ BLT する 場合 。HD( 水 平 転送 方 向 ) は 必ず 0 (を っ 右 ) で な けれ ば な ら な い . ④ HD( 水 平 転送 方 向 ) が 1 ( 右 つ 左 ) の 場合 , TP-MODE( ト ラン スペ アレ ント モー ド ) は 必ず 0 (ソー ス を その まま 転送 ) で な けれ ば な ら な い . ⑤ プ ロッ ク の 水平 垂直 サイ ズ , フレ ー ム バッ ファ の 水平 サイ ズ を 0 に 設定 し た 場合 の 動作 は 保 証し な い . ⑥ 命 令 仕様 で 0' と 記さ れ て いる ビッ ト は 必ず 0 を 指定 する こと . ( 6 ) SGP 命令 テー ブル の 例 (6 . 1) SGP 作業 領域 の 設定 SET WORK コマ ンド を 用 いて SGP の 作業 領域 を 設定 する . 作業 領域 は 描画 する 前 に 必ず 設 定 を 必要 と する が , 一 度 設定 すれ ば 以後 設定 する 必要 は な い . 0003H :SET WORK コマ ンド 0000H : 作 業 領域 を 10000H か ら 設 定 . 0001H : 0001H :END コ マン ド 102 4.6m カラ ニー と フ パ レツ ( 6 . 2 ) グラ フィ ッ ク 画 面 消去 4 ビッ トノ ピク セル , 640X400 ピク セル の フレ ー ム バッ ファ ・ 表 示 画 面 を も つ グ ラフ ィ ッ ク 画 面 を 0 で 消去 する 。 フク レー ム バ ッ フ ァ は CPU アド レス の A0000H か ら 始 まる も の と する 。. 0006H :SET COLOR コマ ンド 0000H : 消去 デー タテ 0 000AH :CLS コ マン ド 0000H : フ レー ム バ ッ フ ァ ア ドレ ス は 0020H :SGP 空間 で 200000H か ら FAO0OH : フ レー ム バ ッ フ ァ の 大 き さ は 0000H :64000 ワ ー ド 0001H :END コ マン ド 4.6 カラ ー と パレ ッ ト 4.6.1 カラ ー 階 調 VA で は ハー ドウ ェ ア と し て RGB ご と に 6 ビッ ト の D/A コン バー タ に より 64 段階 の 階 調 を 持ち も 。 その 中 か ら 指 定 し た 階 調 の 色 が 出力 され る . 階 調 の 指定 の され か た を 各 ピ クセ ル サ イ ズ ご と に 示す 。 ( 1 ) 16 ビッ トノ ピク セル (RGB 画面 ) 15:。。 A 8 2 1 10 すり 9 ま 8 i 6 5 4 3 2 1 0 G5 GA G3 G2 Gl 60 | R4 。R3sR2 s R1- .R0 | .B4 |B3』iB2a、B1 BO @ グ リー ン : 6 ビッ ト G5 G4 G3 G2 GL GO @ レ ッ ド : 5 ビッ ト R4 R3 R2 Rl RO | ※: R4~R0 が すべ て 0 の と きのみ 0 ! それ 以外 の と き は 1 @ ブ ルー : 5 ビッ ト B4 。 B3。 3B2 B1 BO | ※: B4~B0 が すべ で 0 の と きのみ 0 ! それ 以外 の と き は 1 MSB BLUE D/A LSB ブル ー 出 力 レベ ル 103 第 4 章 表示 シス テム ( 2 ) 8 ビッ トノ ピ クセ ル (RGB 画面 ) 7 6 5 4 3 4 4 0 G5 G4 G3|R4 R3 R2|B4 B3 @ グ リー ン : 3 ビッ ト G5 G4 G3 ※ ※ ※:G5~G3 が すべ て 0 の と きのみ 3 ビッ ト と も 0 \ \ ! それ 以外 の と き は 3 ビッ ト と も 1 MSB GREEN D/A LSB グリ ー ン 出力 レベ ル @ レ ッ ド : 3 ビッ ト ※ 。 ※ ※・:R4ーR2 が すべ て 0 の と きのみ 3 ビッ ト と も 0 +} 。 1! ! それ 以外 の と き は 3 ビッ ト と も 1 MSB RED D/A LSB レッ ド 出 力 レベ ル @ ブ ルー : 2 ビット ※ ※ ※ ※・:B4, B3 が 両方 0 の と きのみ 4 ビッ ト と も 0 ! +} +} ! それ 以外 の と き は 4 ビッ ト と も 1 ( 3 ) パレ ッ ト に よる 4096 色 (12 ビッ ト ) 5 14 生 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Le et GR MMR Mm mm m-| @ 各 色 : 4 ビッ ト G5 G4 G3 G2 R4 R3 R2 R1 B4 B3 B2 Bl ※ ※: 上 位 4 ビ ッ ト が すべ て 0 の と きのみ 0 ! } それ 以外 の と き は 2 ビッ ト と も 1 LSB 各色 の 出力 レベ ル 4.6.2 パレ ッ ト パレ ッ ト 指 定 画面 の 画像 デー タ は 一 且 パ レッ ト 指 定 画面 だ け で 合成 され ん た あと , カラ ー パ レッ ト を 参照 する こと に よっ て その 実際 の 表示 色 が 決定 する .、 カラ ー パ レッ ト に は 各 カ ラー コー ド に 対応 し た 実際 の 表示 色 が 設定 され る . 104 4.6 カラ ー と パレ ッ ト カラ ー パ レッ ト は 16 個 の パレ ッ ト が 2 組 あ り , 各 パ レッ ト は 12 ビット で 構成 され て いる . こ の た め カ ラー パレ ッ ト を 使用 する こと に より 基本 モー ド で は 4096 色 中 16 色 を 選択 し て 表示 を 行 うと と が で きる 、 各 パ レッ ト は 以下 の よう に 12 ビッ ト が 16 ビッ ト ポ ー ト に 割り 当て られ て いる . 5s 14..193 ー 必 JH 10 た 二 9 8 7 6 5 4 3 2 1 0 G5 G4 G3 G2: * * |R4 R3 R2 R1i*|B4 B3 B2 Bl1i※* 16 ビッ ト が , ビッ ト 0 て 4 は ブル ー ビッ ト 5 て 9 は レッ ド ビッ ト 10~15 は グリ ー ン の 各 領 域 に 分 けら れ て いる . た だ し , 各 領 域 の 最 下 位 1 ビ ッ ト も し く は 2 ビッ ト (無効 ビッ ト , 上 記 で * の 場所 ) は 現在 意味 を 持た な い . この 無効 ビッ ト に 相当 する 部 分 に は 前 節 で 述べ た の と 同様 に , RGB 各 領 域 の 有効 ビッ ト が すべ て 0 の と き は 0 に , それ 以外 の と き は 1 に 設定 され た 表 示 色 が 出力 され る . ソフ トウ ェ ア 的 に も これ ら 無 効 ビ ッ ト の 設定 は 実際 の 出力 と 一 致 さ せ た 値 に する こと を 推薦 する . カラ ー パ レッ ト は 16 本 の パレ ッ ト セ ッ ト が 2 組 あ り , ポー ト ア サイ ン は 次 の よう に な っ て い る . パレ ッ ト セ ッ ト 0 ワー ド ポ ー ト 0300H--031EH パレ ッ ト セ ッ ト 1 ワー ド ポ ー ト 0320H--033EH ( 1) カラ ー パ レッ トモ ー ド カラ ー パ レッ ト の 使用 モー ド に は 以下 の 4 種 が ある 。, 1 ) パレ ッ ト セ ッ ト 0 使用 モー ド (カラ ー パ レッ トモ ー ド 0) 合成 画面 は パレ ッ ト セ ッ ト 0 を 使用 し て 表示 を 行う . パレ ッ ト セ ッ ト 1 使用 モー ド (カラ ー パ レッ トモ ー ド 1) 合成 画面 は パレ ッ ト セ ッ ト 1 を 使用 し て 表示 を 行う . 3 ) 混在 モー ド (カラ ー パ レッ トモ ー ド 2) 合成 画面 は 基本 的 に パレ ッ ト セ ッ ト 0 を 使用 する が , 指定 され た 特定 の 1 表示 画面 に つい て は パレ ッ ト セ ッ ト 1 を 使用 し て 表示 を 行う . 同時 32 色 モ ー ド (カラ ー パ レッ トモ ー ド 3) パレ ッ ト 指 定 画面 (表示 画面 0 て 3 ) に アサ イン され た 8 ビッ ト プ ピ クセ ル の グラ フィ ッ ク 画 面 に 対し て , パ レッ ト セ ッ ト 0 及び 1 を 同時 に 使用 し て 32 色 の 同時 表示 を 行う こと を 指定 する . その 他 の 画面 は パレ ッ ト セ ッ ト 0 を 使用 し て 表示 され る . パレ ッ ト 番 号 と し て 使用 し な い 上 位 3 ビッ ト は 使わ れ な い . カラ ー パ レッ トモ ー ド の 指定 は V1/V2 モー ド 対 応 の 指定 方 法 と V3 モー ド 対 応 の 指定 方 法 が ある . 2 ュ ン 4 ュ ン 105 第 4 章 表示 シス テム ① V1/V2 対応 モー ド PTLM2 (ワー ド ポ ー ト 10CH ビッ ト 8) 0 の と き ポー ト 32H ポー ト 31H PTM2. wh en kd に 次 テー ポト モード 0 0 0 カラ ー パ レッ トモ ー ド 1 0 0 1 カラ ー パ レッ トモ ー ド 2 0 1 0 カラ ー パ レッ トモ ー ド 0 0 1 1 カラ ー パ レッ トモ ー ド 2 ② V3 対応 モー ド PTLM2 (ワー ド ポ ー ト 10CH ビッ ト 8) =1 の と き ポー ト 10H ポー ト 10H PHM2 ピッ ト 7 ビッ ト 6 ・ カラ ー パ レッ トモ ー ド 1 0 0 カラ ー パ レッ トモ ー ド 0 lt 0 1 ー バ パレ ン レット モ ど 下 妨 1 1 0 ーッ バレ ピッ ドド モード :2 1 上 1 駐 妥 三 ボ レッ トモ ー ド 3 混在 モー ド (カラ ー パ レッ トモ ー ド 2 ) に お いて パレ ッ ト セ ッ ト 1 を 参照 する 表示 画面 の 指定 は 以下 の ポー ト に よっ て 指定 され る . ワー ド ポ ー ト 010CH ビッ ト 5 ビッ ト 4 : 表示 画面 の 指定 ・ テキ スト 画面 スプ ライ ト 画 面 グラ フィ ッ ク 画 面 0 グラ フィ ッ ク 画 面 1 ご ど Hr どら ど ビ ロビ OO ど ( 2 ) カラ ー パ レッ ト の ブリ ンク 機能 2 組 の パレ ッ ト セ ッ ト の うち 片方 だ け を 使用 する モー ド (カラ ー パ レッ トモ ー ド 0, 1) で は カ ラー パレ ッ ト の ブリ ンク 機能 が 使用 で きる . これ は 2 組 の パレ ッ ト セ ッ ト を 変 互 に 切り 換え て 表 示 を 行う こと で 実現 し て いる . ブリ ンク の 周期 は , 32 フレ ー ム , 64 フレ ー ム , 128 フレ ー ム か ら 選 択 で きる . また ブリ ンク の デュ ー テ ィ は , ON タイ ム を 12.5%, 25%, 50%, 75% か ら 指 定 で きる , ON タイ ム に は カラ ー パレ ッ ト モ ー ド で 指定 し て お いた パレ ッ ト セ ッ ト が 使用 され る . カラ ー パ レッ ト の ブリ ンク 指定 は 以下 の ポー ト に よっ て 設定 され る . シー ド ボ ー ト 0106 昌 BSWRS Ey ド F222 ふる ジリ ンタ クモ 一 R ド 0 0 : ジグ サジ ク ョ の BE 0 | ブリ ンク 周期 32 フレ ー ム 1 0 ブリ ンク 周期 64 フレ ー ム 1 1 ブリ ンク 周期 128 フレ ー ム 106 6) カラー と 2 パク waN ビッ トヨ ビット 0 。 - デ リ ジ ク デュ ー デ ティ (ON る jS9) 0 0 で 12859 0 1 25% 1 0 50% 1 1 75% 4.6.3 透明 色 VA で は 画像 ソー ス を 合成 する た め に , 各 表示 画面 に 透明 色 が 使用 で きる . 通常 低 優 先 画面 の 画 像 は それ より も 高 優先 画面 の 画像 に 隠さ れ て 表示 され な い が , 高 優先 画面 の 画像 の 透明 色 の 部 分 に は , 低 優 先 画面 が 表示 され る . 透明 色 と し て 扱う 色 に は 固定 の も の と 指定 で きる も の と が ある 。. ( 1 ) パレ ッ ト 指 定 画面 の 透明 色 指定 パレ ッ ト 指 定 画面 に お いて は 一 部 を 除き 任意 の カラ ー コ ー ド を 透明 色 と し て 指定 で きる . 透明 色 と し て 指定 され た カラ ー コ ー ド は パレ ッ ト の 値 に か か わら ず 有 透明 色 と し て 合成 され る . ( 1 .1) テキ スト プス プラ イト の 透明 色 指 定 ワー ド ポ ー ト 12EH で 各 カ ラー コー ド ご と に 透明 色 に 設定 する か どう か を 指定 する . た だ し カ ラー コー ド 0 は 設定 に か か わら ず 必 ず 透 明 色 と し て 扱わ れる . 15 314 。 3 25 MO0M 9 8 ん 6 5 . 4 。3、 2 Ji0 012EH カラ ー コ ー ド 1 の 震 明 色 指 定 カラ ー コ ー ド 15 の 透明 色 指 定 必ず 1 に 指定 各 ビ ッ ト が 1 の と き 透明 色 に 指定 する 0 の と き 透明 色 に 指定 し な い ( 1 . 2 ) グラ フィ ッ ク 画 面 の 透明 色 指 定 グラ フィ ッ ク 画 面 を カラ ー コ ー ド 画面 に 割り 当て た と き の 透 明 色 の 指定 も テキ スト プス プラ イ ト と 同様 で も ある. グラフィック 画面 0 は ポー ト 124H で , グラフィック 画面 1 は ポー ト 126H で 指 定 する . ワー ド ポ ー ト 124H (グラ フィ ッ ク 画 面 0 用 ) ワー ド ポ ー ト 126H (グラ フィ ッ ク 画 面 1 用 ) 5 A So 2 dd 10 9. 8-n7mm 6 5 中 ERD RO カラ ー コ ー ド 0 の 衣 明 色 指 定 カラ ー コ ー ド 15 の 送 明 色 指 定 各 ビ ッ ト が 1 の と き 授 明 色 に 指定 する 0 の と き 郁 明 色 に 指定 し な い た だ し , カラ ー パ レッ トモ ー ド 3 (32 色 モ ー ド ) で の カラ ー コ ー ド 16~31 は 透明 色 に 指定 する と と は で き な い 、。 107 第 4 章 表示 シス テム (2 ) 直接 色 指 定 画面 の 透明 色 指定 グラ フィ ッ ク 画 面 を 直接 色 指 定 画面 に 割り 当て た と き は カラ ー 0 (RGB と も 0 ) の 画面 は 固定 的 に 般 明 色 と し て 扱わ れる. その 他 の 色 を 透明 色 に 指定 する こと は で き な い . 4.7 その 他 の 機能 4.7.1 画面 マス ク 機 能 画面 マス ク は 1 枚 の 水平 垂直 方 向 の 長方形 の マス ク で 水平 垂直 方 向 と も に ドッ ト 単 位 ( 垂 直 解 像 度 が 400 プ 408 ドッ トモ ー ド で は 垂直 方 向 は 2 ドッ ト 単 位 ) に 設定 する こと が で きる . この 画面 マス ク を 指定 し た 優先 表示 画面 の 間 に 挿入 する こと に より , 挿入 きれ た ポジ ショ ン よ りゃ 高 優先 また は 低 優 先 の 画面 の 表示 を マス ク す る (透明 色 に する ) こと が で きる . スク の 内 内 外側 に 対し て 直後 の 低 優先 画面 を 透明 に する . | 2 ) 高 優先 3 ) 低 優先 画面 マス 有効 表示 画面 を すべ て 透明 に する . 画面 を すべ て 透明 に する . グ 画面 ワー ド ポ ー ト 010AH< < 画面 マス ク の 外側 の オペ レー ショ ン > ビッ ト 3 ビッ ト 2 : ノー オペ レー ショ ン デビ oO どど mo oo 画面 マス ク の 挿入 位置 は 次 の 4 カ所 と な っ て いる 。. 優先 表示 画面 0 優先 表示 画面 1 優先 表示 画面 2 優先 表示 画面 3 優先 表示 画面 優先 表示 画面 ペック ドロ ッ プ 画 画 団 國 呈 最終 ビデ オ 外部 ビデ オォ ワー ド ポ ーー ド 010A 圧 < く 下 面 マ スク の 内 側 の オペ レー ショ ン > ビッ トド ト セッ ッ ei0 : 直後 の 低 優 先 画面 を 透明 に する : 高 優先 画面 を すべ て 送 明 に する : 低 優先 画面 を すべ て 透明 に する 0 0 ェ ノア ー オ ペレ ーション 0 1 : 直後 の 低 優先 画面 を 秀明 に する 1 0 : 高 優先 画面 を すべ て 透明 に する 1 1 : 低 優先 画面 を すべ て 透明 に する < ーー ポジ ショ ン 0 く 一 一 ポジ ショ ン 1 く 一 一 ポジ ショ ン 2 < 一 ポジ ショ ン 3 ビッ ト 5 ビッ ト 4 rr に ro oo ーー 0 108 : 優先 表示 画 : 優先 表示 画面 3 12 : 優先 表示 画面 0 と 1 と の 間 (ポジ ショ ン 0 ) : 優先 表示 画面 1 と 2 と の 間 (ポジ ショ ン 1 ) ) ) と 3 と の 間 (ポジ ショ ン 2 と 4 と の 間 (ポジ ショ ン 3 4.7 その 他 の 機能 画面 マス ク の 座標 設定 は ワー ド ポ ー ト 130~136H で 行う . マス ク の 外側 ボー ト 134H ポー ト 136H ポー ト 130H ポー ト 132H @ 画面 マス ク 左 右 : 640 ドッ ト 解 像 度 の 画面 に 対す る 値 @ 画面 マス ク 上 下 : 200 プ 204 ド ッ ト 解 像 度 の 画面 に 対す る 値 4.7.2 バッ ク ド ロ ッ プ 面 バッ ク ド ロ ッ プ 面 は 優先 表示 画面 5 の 次 に 位置 する 表示 画面 で あり , バッ ク ド ロ ッ プ カラ ー や ボー ダー カラ ー を 指定 する . バッ ク ド ロ ッ プ 面 に は 1 色 /4096 色 が 指定 で きる . 色 指 定 は パレ ッ ト へ の 人 色 設 定 と 同様 に RGB で 行う . @ バ ッ ク ド ロッ ププ ボー ダー カラ ー 指 定 ワー ド ポ ー ト 10EH 5 4 9 2 EN 10 生 9 8 6 5 4 2 1 0 G3 G2 G1 GO!* ネ *|R3 R2 R1 ROi*|B3 B2 BmdBO! * [*] は パレ ッ ト と 同様 に RGB 各 領域 の 上 位 ビ ッ ト が すべ て 0 の と き に , それ 以外 の と き は 1 に 設定 する . バッ ク ド ロ ッ プ 面 の 表示 モー ド に は 4 種 の モー ド が ある . た だ し 24.8KHz の CRT 使用 時 で は バッ ク ド ロ ッ プ モー ド 0 の み 指 定 可 能 で ある . 109 第 4 章 表示 シス テム 1) バッ ク ド ロ ッ プ モー ド 0 有効 表示 領域 : バッ ク ド ロ ッ プ カラ ー ボー ダー 領域 : 透明 2) バッ ク ド ロ ッ プ モー ド 1 有効 表示 領域 : 透明 ボー ダー 領域 バッ ク ド ロ ッ プ カラ ー バッ ク ド ロ ッ プ モー ド 2 有効 表示 領域 : バッ ク ド ロ ッ プ カラ ー ボー ダー 領域 : バッ ク ド ロ ッ プ カラ ー 4) バッ ク ド ロ ッ プ モー ド 3 有効 表示 領域 : 透明 ボー ダー 領域 : 透明 @ バ ッ ク ド ロッ プ モ ー ド の 指定 = ドド ボート 10G 耳 RS By AZ 3 < 0 0 が バッ ツジ ド ツ グモ モー ド 0 0 1 : バ パック ドロ ッ プ モー ド 1 1 0 バッ ク ド ロ ッ プ モー ド 2 1 1 バッ ク ド ロ ッ プ モー ド 3 24.8KHz 使用 時 で は モー ド 0 の み 指 定 可能 . 4.7.3 表示 禁止 機能 ( 1) ビデ オ サ プ レス 機能 この 機能 を 用 いる と いか な る 表示 モー ド に お いて で も 表示 を 禁止 する こと が で きる . 以 三 愉 ボ 三 ト 100 四 ビ ピット.13 (区 VSP) 0 : 表 示 禁 止 モ ー ド 2 琴 生 二 呈 ド ( 2 ) グラ フィ ッ ク 表 示 禁 止 機能 この 機能 で は すべ て の グラ フィ ッ ク 画 面 表示 が 禁止 され る . また 表示 の た め の GVRAM へ の アク セス も すべ て 行わ れ な く な る . GVRAM へ の 描画 機能 と は 無関係 で ある . ウー ド ポ ボード 100HR ビッ ト 15 (GDEN0) 0 : グ ラフ ィ ッ ク 表 示 機能 禁止 1 : グ ラフ ィ ッ ク 表 示 機能 許可 以 講 也 ポ 財 ド 100 皿 ビッ ト 5 (GDEN1) 0 : グ ラフ ィ ッ ク 表 示 回 路 リ セッ ト 1 : グ ラフ ィ ッ ク 表 示 回 路 動作 110 4.8 文字 セッ トノ 廊 字 コ ー ド ノ 文 字 フ ォ ン ト ( 注 )GDEN1 に より グラ フィ ッ ク 表 示 回 路 に リセ ッ ト を か ける と , ポー ト の 一 部 が 初期 化 さ れ る . また 。 この ビッ ト の 操作 シー ケン ス は 4.9.5 を 参照 する こと . 4.7.4 同期 信号 マス ク この 機能 に より 水平 同期 信号 の 出力 を 禁止 する こと が で きる ., これ は 電源 投入 時 に TSP(IDP) の 初期 設定 が 行わ ん る まで の 間 , 水平 同期 信号 の 出力 を 禁止 し て CRT に 不 確 定 な 水平 同期 信号 が 入力 され る こと を 防ぐ た め に 使用 され る . ワー ド ポ ー ト 100H ビッ ト 12 (SYNCEN) 0 : 水 平 同期 信号 出力 禁止 1 : 通 常 表 示 状 態 シス テム 起動 時 の CRT 同期 の 取り 方 . ① リ セッ ト に より 表示 禁止 同期 出力 禁止 と な る ⑨ TSP (テキ スト プス プラ イト プロ セッ サ ) を 初期 設定 する ③ 水 平 同期 出力 ON ④1 秒 以 上 ウエ イト ⑤ 表 示 開 始 4.8 文字 セッ トノ 文字 コー ド ノ 文 字 フ ォ ン ト VA に は ANK・JIS 第 一 ノ 第 二 水 準 の 漢字 ・ 拡 張 漢字 ・ ユ ー ザ 定義 文字 の フォ ント を 格納 し た キャ ラク タタ ジェネレータ ROM/RAM (一括 し て CGROM と 呼ぶ ) が 搭載 され て いる . テキ スト 表示 時 に コン トロ ー ラ は ,。 TVRAM に 格納 され て いる 文字 コー ド に より CGROM か ら 文 字 フ ォ ント を 読み 出し て 表示 する . また CGROM は CPU か ら 読 み 出 すこ と も で き , グラ フィ ッ ク 画 面 に ビッ トマ ッ プ と し て 文字 を 表示 する こと が で きる . 4.8.1 文字 セッ ト (1) 1 バイ ト 文 字 PC シリ ー ズ で 使用 し て いる ANK 文字 セッ ト 256 文字 (2) 2 パイ トド 文字 PC-9800 シリ ー ズ と 同様 の 下記 の 文字 セッ ト JIS 非 漢字 (全角 ) 453 文字 NEC 非 漢字 (全角 半角 ) 443 文字 JIS 第 1 水準 漢字 2965 文字 JIS 第 2 水準 漢字 3384 文字 ユー ザ 定 義文 字 188 文字 111 第 4 章 表示 シス テム 4.8.2 文字 コー ド 体 系 VA で 文字 を 扱う 場合 の コー ド 体 系 は 次 の よう に な っ て いる 。. CGC ア ドレ スコ ー ド 通信 用 コー ド Sa ド AS ヨー ド VA シス テム 内 部 の 文字 ( 列 ) は ソフ トウ ェ ア 的 に は VA 文字 コー ド で 表 さ れ て いる . この VA 文字 コー ド か ら 変 換 さ れ た JIS コー ド を ピボット と し て ハー ドウ ェ ア 文 字 コ ー ド グ CG アド レス コー ド ノ 文 字 フ ォ ン ト ア ドレ ス ノ 通 信用 コー ド に 相互 変換 され る . ( 1 ) VA 文字 コー ド VA 文字 コー ド と し て 2 バイ トト 文字 コー ド ノ 混 在 文字 コー ドン 1 バイ ト 文 字 コ ー ド の 3 種 の コ ー ド が あり , 場合 に よっ て 使い わけ る . VA 文字 コー ド | wtt の 和 加 ーー バイ ト 区 コー ド 文字 列 と し て の 処理 | 一 本地 モード ーー 混和 モ ー ド グラ フィ ッ ク シ ン ボ ルモード 1 バイ ト 文 字 コ ー ド ( 1 .1) 2 バイ ト 文 字 コ ー ド 文字 を 文字 単位 に 処理 する 場合 に 使用 する コー ド で あり , すべ て の 文字 を 2 バイ ト で 表す . 2 バイ ト 文 字 ジジ US = ド 2 イド X 学 一 上位 パ イト ニテ 0 下位 パイ トニーASCTI コー ド ( 1 . 2) 混在 文字 コー ド 日 本 語文 字 列 を 処理 する 場合 に 使用 する コー ド で あり , 各 文 字 は 1 バイ ト ま た は 2 バイ ト で 表 9 の NN ジジ Sa ド 1 バイ ト 文 字 > フィ ッ ク シ ン ボ ル 以 外 の 文字 一 ASCII コー ド グラ フィ ッ ク シ ン ボ ル 文 字 特殊 2 バイ トコ ー ド 112 4.8 文字 セッ トノ 文字 コー ド グ 文 字 フ ォ ン ト グラ フィ ッ ク シ ン ボ ル 文 字 と は 1 バイ トコ ー ド (ASCII コー ド ) で , 81 > 9FH EO0 ~ FCH を 指す . これ ら の 文字 は シフ ト JIS コー ド の 第 1 バイ ト と 同じ コー ド で ある た め 1 バイ ト で は 表 せな い . し た が っ て 次 の よう な 2 バイ トコ ー ド で 表す (数 字 は 16 進 ). 1 バイ ト 文 字 コ ー ド > 混在 文字 コー ド 81 84C1 82 84C2 9F 84DF E0 84E0 FC 84FC (1.3) 1 バイ ト 文 字 コ ー ド 1 バイ ト 文 字 の み を 使用 する コー ド で あり , 日 本 語文 字 は 扱え な い . 1 バイ ト 文 字 - 一 一 ASCII コー ド (1.4) シフ ト JIS コー ド シフ ト JIS コー ド は PC-9800 シリ ー ズ MS-DOS で 使用 きれ て いる シフ ト JIS コー ド と 同様 で あり , 2 バイ ト 文 字 コ ー ド ノ 混 在 文字 コー ド で 2 バイ トト 文字 を 表す の に 使用 され る . JIS コー ド と の 対応 は 次 の よう に な っ て いる . JIS コー ド シド JIS デ ド 2121~5E7EH 8140~9FFCH 5F21~7E7EH E040~EFFCH く 拡張 文字 コー ド > < 一 F040~FCFCH @ シフ ト JIS コー ド と JIS コード の 対応 第 2 バイ ト 80 加 9D ES IE AO0N on RB BC 2160 ・・ 217D 217E 2221 2222 … 227D. 227E 2360 … 237D 237E 2421 2422 … 247D 247E 5D60 ‥ 5D7D 5D7E 5E21 5E22 ・‥ 5E7D 5E7E 5F60 ・ 5F7D 5F7E 6021 6022 ・ 607D 607E 7D60 ‥ 7D7D 7D7E 7E21 7E22 ‥ 7E7D 7E7E テニ ンー 羽 ~ 113 第 4 章 表示 シス テム ( 2 ) ハー ドウ ェ ア 文 字 コ ー ド ハー ドウ ェ ア 文 字 コ ー ド と は VA シス テム 内 の ハー ドウ ェ ア に 対し て 文字 を 指定 する た め に 使用 3 れる コー ド で あり , TVRAM に 格納 し て 文字 表示 を 行う 場合 と , CGROM アク セス ポー ト (ワー ド ポ ー ト 14CH) より 文字 フォ ント を アク セス する 場合 に 使用 きれ る . ハー ドウ ェ ア 文 字 コ ー ド は 16 ビッ ト で 構成 され る . @ 2 バイ ト 文 字 ( 日 本 語文 字 ) 0 Mt 4N 9 -8 <7 ee BE 3 JIS 第 ニ バ イト | 0 | JIS 第 一 パイ トー20H 5 TV へ の 文字 コー ド 設 定時 に 使用 1 : 文字 の 右側 @ 1 バイ ト 文 字 (ANK 文字 ) 5 3 UW 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 1 パイ トロ ー ド ( 3 ) CG アド レス コー ド CG アド レス コー ド と は V1/V2 モー ド 専 用 漢字 アク セス ポー ト よ り CGROM を アク セス す る 場合 に 使用 さき れる. 通常 V\ プ V2 モー ド 時 の み 使 用 きれ る . (4 ) 文字 フォ ント アド レス CGROM を CPU の メモ リ 空 間 に マ ッ ピ ング し て アク セス する 場合 の 文字 フォ ント が 存在 する アド レス で ある . 文字 フォ ント アド レス の 求め 方 は 次 節 を 参照 . 4.8.3 文字 フォ ント ( 1 ) メモ リ 空 間 か ら の アク セス VA の 文字 フォ ント は CPU か ら 見 た 場合 , シス テム メモ リエ リア (AO000 て DFFFEFH) の 2 つ の バン ク (バン ク #8 ノ #9) に 格納 され て いる . バン ク 8 に は JIS 漢字 ノ 非 漢字 が 。 バン ク 9 に は NEC 非 漢字 〆ANK 文字 ユー ザー 定義 文字 が 割り 当て られ て いる . 2 パン ジ 1 2 シク グル 2N パ < 38 バン グ 9 2 ング 12 114 4.8 文字 セッ トノ 文字 コー ド グ 文 字 フ ォ ン ト @ バ ンク 8 グン 9 の 詳細 DFFFFH D8000H D0000H C8000H C0000H B8000 了 HH B0000H| 第 1 水準 文字 A8000H A0000 了 HH パパ ンク 8 メ パ ペグ .9 JIS コー ド グ ASCII コー ド か ら 文 字 フ ォ ン ト ア ドレ ス へ の 変換 は 文字 種 に よっ て 8 種類 に 分 け られ る . ① JIS 非 漢字 2021~2771H S00 0 Ro | 2 パン ク グ 8 \ SE ラス タ 5 ② JIS 第 1 水準 漢字 3021~4F53H ms-w [em ilxrxxlelrylzzzzs パン ク 8 \ I EES ラス タ 5 ③ JIS 第 2 水準 漢字 (1 ) 5021~6F7EH mw nilglilkrxxlelrylzzzss バン ク 8 | ④ JIS 第 2 水準 漢字 (IL) 7021~733FH バン ク 8 «= = トー つ つ 115 第 4 章 表示 シス テム ⑤ NEC 非 漢 字 2820~2F7FH 医 衣 225: 革 バン ク 9 } Oa RE 敵 陸 2 2 ク ラス タ 5 ⑥ ANK 文字 (8X16 フォ ント ) 0000 て 00FEFH AS ドド R 0 0 0 0 0 O00 OR XX RR XR XN 梁 バン ク 9 \ 上 NU 0 NNO 0 0 RR LK A TM ⑦ ANK 文字 (8X8 フォ ント ) 0000~00FFH ASCGEas ド R OO 0 0 0 OT m0 0 Xx XI XX XX ノ パパ シグ "9 ! 還 語 0 ユーOWR AM まで MESS99 ツ ユー ザ 定 義文 字 7620~773DH 回 本 2 当 バン ク 9 | ON DOR Ra 2 ラス タ 5 @ ラス タ ラス タ 5 ノラ スタ 4 は 文字 フォ ント の 各 ラ スタ を 指定 する た め の フ ィ ー ル ド で あり , 5 ビッ ト また は 4 ビッ ト か ら な る . ① ラ スタ 5 ラ 全角 文字 (16 メ X16 ドッ ト ) の ラス タ 番 号 と フォ ント の 左右 を 指定 する も の . た だ し , NEC 非 漢 字 半 角 (JIS コー ド 2921H-2B7EH) は 文字 の 左 側 の み を 使用 し て 8 X16 ド ッ ト フ ォ ン ト を 取り 出す . O@ 〇 OOOOO@O 〇 OO@ 〇 OO OO OO es OOO@OOOO@OOO@O 〇 OO OOOOOOOOOOOOOOOO 〇 @ 〇 OO 〇 OO@ の らら の @@⑨@⑤⑧ ひ 〇 OO@O 〇 OO 〇 O@O 〇 OO@O 〇 OO 〇 @ 〇 OOO@ 〇 〇 @ 〇 OO 〇 @ 〇 〇 OO 〇 @ 〇 OOOOOOweeeee@e@@ 〇 OOOOOOOOOOWOOOCO OOOOWOeeee@@@@@ 〇 OOOOWOOOOOWOOOCO OOO@Oeeee@ee@@@@ OOO@OOOOOOWOOOCO OO@WOOOOOOWO@OOCO OO@OOOOW@OOO@@CO ※ 必 ず 左 右 別 々 に バイ ト ア クセ ス す る こと . CO ワー ドア クセ ス は で き な い . フォ ント 左側 フォ ント 右側 ロロ らら の の ココ の の の いら いい ロ OO ※ +ー to w 文字 の ラス タ 番 号 ( 上 か ら 0 ~15) ーーー Gi 116 4.9 CRT 走 査 モ ー ド と 表示 人 解像度 ⑨ ラ スタ 4 ANK 文字 (8 X16 また は 8X 8 ドット) の ラス タ 番 号 を 指定 する も の . ラス タ 番 号 | 文字 の ラス タ 番 号 ( 上 か ら 0 へ ~15 また は 0~8) ラス タ 5 の と き と 同 じ く バイ ト ア クセ ス し か で き な い . ( 2 ) | ン 0 空間 か ら の アク セス V3 モー ド で は ポー ト 14C~14FH を 用 いて 1/O 空間 か ら 文 字 フ ォ ン ト を 読み 出す こと が で き る 。 この 場合 文字 の 指定 に は ハー ドウ ェ ア 文 字 コ ー ド を 用 いる . @ 文字 と ラス タ ア ドレ ス の 指定 OUT 14CH: ハー ドウ ェ ア 文 字 コ ー ド 下位 バイ ト OUT 14DH: ハー ドウ ェ ア 文 字 コ ー ド 上 位 バ イト (ワー ドア クセ ス 可 能 ) OUT 14FH: ラス タ 番 号 プ フォ ント 左右 7 6 5 4 3 2 1 0 トー 文字 の 左 の と き 1 ー 文字 の 右 の と き 0 ANK 文字 半角 文字 は 左側 だ け 使 用 する . @ フォント デ ー タ の 読出 し IN 14EH( バ イト アク セス の み ): フォ ント デー タ 外字 キャ ラク タタ ジェネレータ に は 書込み も 可能 4.9 CRT 走査 モー ド と 表示 解像度 VA に お いて は 各種 の CRT ディ スプ レイ を サポ ー ト する た め に 以下 に 示す 走査 モー ド が あ る . 4.9.1 使用 で きる CRT ディ スプ レイ VA が サポ ー ト する CRT ディ スプ レイ を 以下 に 示す . 1) 水平 周波 数 15.98KHz ノン イン ター レー ス 表 示 2) 水平 周波 数 15.73KHz イン ター レー ス 表 示 3) 水平 周波 数 24.8KHz ノン イン ター レー ス 表 示 4.9.2 走査 モー ド の 設定 使用 する CRT ディ スプ レイ と その 走査 モー ド の 設定 方 法 を 以下 に 示す . 117 第 4 章 表示 シス テム ( 1) ディ ッ プ スイ ッ チ に よる 設定 使用 する CRT ディ スプ レイ の 種類 を ディ ッ プ スイ ッ チ に より 設定 する . SW1 2CRT モモ = ド ON : 水平 周波 数 24.8KHz CRT OFF : 水平 周波 数 15KHz CRT ( 2 ) 表示 制御 ポー ト に よる 設定 イン ター フェ イス の 走査 モー ド を 表示 制御 ポー ト に より 設定 する . ポー ト 100H の RSM1 プ RSMO E ッ ト 7 ビッ ト 6 : ノン イン ター レー スモ ー ド 0 3 ノシ イシ グー テス 2 モデ ド ュ : イン ター レー スモ ー ド 0 : イン ター レー スモ ー ド 1 テテ ビビ O ら の ら テ "らら ロビ ロン つら ビッ ト 7 (RSM1) = 1 が 設定 され た 場合 に は , ディ ッ プ スイ ッ チ SW1 が ON に 設定 され て い る 場合 で も , 水平 周波 数 15KHz の タイ ミン グ が 選択 され る . 現在 の 水平 周波 数 の 設定 は 次 の ポー ト で 確認 で きる . ポー ト 1CBH ほ Ni9 0 15KHz モー ド 山 24.8KHz モー ド 4.9.3 水平 解像度 の 設定 @ テ キス ト ポー ト 30H ビ ッ ト 0 0 : 40 文字 プ 行 1 : 80 文字 / 行 @ ス プラ イト 常に 640 ド ッ ト @ グ ラジ イィ ックス ポー ト 102H( ワ ー ド ) ビッ ト 4 グラフィック 画面 0 水平 解像度 0 ・ 640 ドッ ト 320 ドッ ト ビッ ト 12 グラ フィ ッ ク 画 面 1 水平 解像度 0 ・ 640 ドッ ト 320 ドッ ト 4.9.4 垂直 解像度 の 設 ( 1) ノン イン ター レー スモ ー ド ノン イン ター レー スモ ー ド に お いて は ,。 インター レー ス ( 飛 越し 走査 ) を 行わ ず に 表示 され る 。 118 4.9 CRT 走 査 モ ー ド と 表示 解像度 15KHz CRT 使用 時 に 400 プ 408 ライ ン 表 示 は で き な い . ① ノ ン イ ンタ ー レ ー ス モー ド 0 24.8KHz CRT を 使用 し 200 プ 204 ライ ン 表 示 を 行う 場合 に は , 奇数 ラス タ は ブラ ン キ ンダ と る . ノン イン ター レー スモ ー ド 1 24.8KHz CRT を 使用 し 200 プ 204 ライ ン 表 示 を 行う 場合 に は , ノン イン ター レー スモ ー ド 0 と 異な り ペ ア の 偶数 奇数 ラス タ に 同一 デー タ が 表示 され る . この モー ド で は 垂直 解像度 の 設定 は 次 の よう に な る . @ テ キス ト TSP の SYNC コマ ンド の パラ メー タ で 設定 (4.4.2 参照 ) @ ス プラ イト TSP の SPRON コマ ンド で の 縦 ペ メー ム パ ラメ ー タ で 設定 200 プ 204 ライ ン : 15KHz で テキ スト が 200 プ 204 ライ ン の と き : ノー マル モー ド それ 以外 : 垂直 拡大 モー ド 400 プ 408 ライ ン : テキ スト が 200/204 ライ ン の と き : 設定 不可 テキ スト が 400 プ 408 ライ ン の と き ・: ノー マル モー ド @ グ ラフ ィ ッ クス ポー ト 100H ビッ ト 1,0 で 設定 ビッ ド 店 ビビ み 0 0 0 ・400 ライ ン 0 ・408 ライ ン 1 0 : 200 ライ ン 1 1 ・204 ライ ン ( 2 ) イン ター レー スモ ー ド イン ター レー スモ ー ド 0 に お いて は , NTSC 同期 信号 を 用 いて イン ター レー ス 表 示 を 行う 15KHz CRT の み 使 用 可能 で ある . ① イ ンタ ー レ ー ス モー ド 0 (200/204 ライ ン 用 ) この モー ド で は 200 ノ 204 ライ ン の 画面 を 偶数 フィ ー ル ド ノ 奇 数 フィ ー ル ド と も 同一 デー タ と し て 表示 する . 400 プ 408 ライ ン 表 示 は で き な い . ⑨② イ ンタ ー レ ー ス モー ド 1 (400/408 ライ ン 用 ) この モー ド で は 400 プ 408 ライ ン の 画面 の 偶数 行 を 偶数 フィ ー ル ド に 。 奇 数 行 を 奇数 フィ ー ル ド に 分 け て 交互 に 表示 する . と の モー ド に お ける 垂直 解像度 の 設定 は 以下 の よう に な る . @ テ キス ト TSP の SYNC コマ ンド の パラ メー タ で 設定 する (4.4.2 参照 ). 119 第 4 章 表示 シス テム @ ス プラ イト TSP の SPRON コマ ンド で の 縦 メ ー ム パラ メー タ で 設定 200 プ 204 ライ ン : ノー マル モー ド 400 プ 408 ライ ン : 設定 不可 の パラン イッ ジス ポ ボート 100H ビッ ト 1.0 で 設定 SR | 世 必 . ド 0 0 0 ・400 ライ ン 0 1 ・408 ライ ン 1 0 ・200 ライ ン 1 1 ・204 ライ ン 4.9.5 同期 モー ド の 切換 え 手 順 VA で は 24.8KHz と 15KHz を ソフ トウ ェ ア に より 切り 換え る こと が で きる . た だ し その 際 に は 以下 に 示す 手順 で モー ド の 選 移 を 行う 必要 が ある . そう で な い 場 合 の GVRAM の 内 容 は 保証 され な い . また , この 手順 は ノン イン ター レー ス と イン ター レー ス の 切換 え , イン ター レー ス 時 の 内 部 同期 / グ 外部 同期 の 切換 え (4.10 ビデ オデ ィ ジ タイ ズ 参 照 ) 時 に も 使用 され る . ① ワ ー ド ポー ト 100H の ビッ ト 15(GDEN0O)= ニ 0, ビッ ト 14(XVSP) ニ 1, ビッ ト 12(SYNCEN) = 0 に 設定 し て グラ フィ ッ ク 表 示 機 能 を 禁止 する . ② ポ ー ト 40H の ビッ ト 5(VRTC) が 0 っ 1 一 0 一 1 と 変化 する タイ ミン グ ま で 持つ . また は VRTC 割込み を 少な く と も 2 回 待ち 合わ せる . ワー ド ポ ー ト 100H の ビッ ト 5(GDEN1) = 0 に 設定 し て グラ フィ ッ ク 表 示 回 路 を リセ ッ ト す る . これ に より 設定 され て いる 各 パ ラメ ー タ も リセ ッ ト さ れる 。. ④ ワ ー ド ポー ト 100H の ビッ ト 7 ンプ 6(RSM1/0), ビッ ト 4(SYNCM) を 設定 する . ワー ド ポ ー ト 100H の ビッ ト 5 (GDEN1) =1 に 設定 し て グラ フィ ッ ク 表 示 回 路 の リセ ッ ト を 解除 する . ⑥ 新 表示 モー ド に 従っ て 。 すべ て の 表示 パラ メー タ を 再 設定 する ( 注 2 ). (〈⑦ ワ ー ド ポー ト 100H の ビッ ト 15(GDEN0) = 1 に 設定 し て グラ フィ ッ ク 表 示 機 能 を 再開 する . ワー ド ボ ー ト 100H の ビッ ト 12(SYNCEN) = 1 に 設定 し て 水平 同期 信号 を 出す .。 ⑨ 少 な く と も 1 秒 待ち も 。 ワ ー ド ポー ト 100H の ビッ ト 14(XVSP) = 0 に 設定 し て 表示 を 再開 す る . ( 注 1) 上 記 各 項目 は 独立 し た 1 ン O 命令 と し て 発行 し な けれ ば な ら な い . 例え ば , と ⑤ と は 同一 ポー ト 内 に ある た め , 1 回 の OUT 命令 で 処理 する こと が で き る が , その よう に せ ず に , ④ 項 で 1 命令 , ⑤ 項 で 1 命令 と いう よう に 独立 に 設定 する 必 要 が ある . ( 注 2) リセ ッ ト さ れる た め 再 設定 が 必要 な ポー ト を 以下 に 示す . ワー ド ポ ー ト 100H ワー ド ポ ー ト 102H ワー ド ポ ー ト 106H ワー ド ポ ー ト 110H 120 4.10。 セア デア キテ デイ ジグ 4.10 ビデ オデ ィ ジ タイ ズ 外部 ビデ オォ 信号 を 入力 し , GVRAM に リア ル タ イ ム で 取り 込む せ ビ デオ ディ ジ タ イ ズ 機 能 が サポ ー ト され て いる . この と き 画 像 出力 に は 入力 され た 画像 が 表示 され る . この 機能 を 使用 する た め に は オプ ショ ン の ビデ オ ボ ー ド の 接続 が 必要 に な る 。. 4.10.1 ビデ オデ ィ ジ タイ ズ モ ー ド へ の 設定 ビデ オデ ィ ジ タイ ズ 機 能 は 以下 の 動作 モー ド 時 に の み 使 用 可能 と な る . ワー ド ポ ー ト 100H GDEN0=1 ・ グラ フィ ッ ク 機 能 イ ネー ブル GDEN1=1 ・ グラ フィ ッ ク 機 能 イ ネー ブル DM=1 ・ シン グル プレ ー ン モー ド RSM1 =1 ・ イン ター レー スモ ー ド SYNCM=1 ・ 外部 同期 モー ド GVM=1 デジ シタ イズモ セ モード ( 注 1) ビデ オデ ィ ジ タイ ズ モ ー ド で 使用 で きる グラ フィ ッ ク 画 面 は グラ フィ ッ ク 画 面 0 のみ で ある . ( 注 2 ) RSM1=1 を 設定 する 必要 が ある た め , 15KHz CRT で な いと 表示 され な い . @ NTSC 同期 信号 の 切換 え VA は NTSC 同期 信号 を 発生 する 回 路 を 内 蔵 し て お り , イ ンタ ー レ ー ス 動作 は この 内 部 同期 信 号 を 用 いて 行う 場合 と , 外部 か ら 入力 され る 同期 信号 を 用 いて 行う 場合 と が ある . 外部 ビデ オ 信 号 を フレ ー ム ディ ジ タ イ ズ す る 場合 や , 外部 ビデ オォ 信号 に , VA の 画面 を スー パー イン ポー ズ す る 場合 に は , 外部 か ら の 同期 信号 を 用 いる . ポー ト 100H ビッ ト 4(SYNCM) 0 : 内 部 同期 モー ド 1 ・ 外部 同期 モー ド 4.10.2 ビデ オデ ィ ジ タイ ズ 時 の 取込み フォ ー マ ッ ト 制 御 ビデ オデ ィ ジ タイ ズ 時 の 取込み フォ ー マ ッ ト 制 御 と し て 下記 の 機能 が ある . ( 1) イン ター レー スモ ー ド と 垂直 解像度 ・ イ ンタ ー レ ー ス モー ド 0 200 プ 204 ライ ン の み が 設 定 可能 で あり , 入力 信号 の 偶数 フィ ー ル ド ノ 奇 数 フィ ー ル ド と も に 同一 アド レス の GVRAM に 取り 込ま れる . この た め GVRAM に 格納 され る ビデ オデ ー タ は フリ ー ズ され た タイ ミン グ に よっ て 偶数 フィ ー ル ド ま た は 奇数 フィ ー ル ド の いずれ か 一 方 の フィ ー ル ド の デー タ と な る . ・ イ ンタ ー レ ー ス モー ド 1 400 プ 408 ライ ン の み が 設 定 可 能 で あり , 入力 信号 の 偶数 フィ ー ル ド ノ 奇 数 フィ ー ル ド 両 方 が GVRAM に 取り 込ま れる . 121 第 4 章 表示 シス テム (2 ) 水平 解像度 ビデ オデ ィ ジ タイ ズ モ ー ド に お いて も 640/320 ドッ ト が 選択 で きる . ( 3 ) ピク セル サイ ズ ビデ オデ ィ ジ タイ ズ モ ー ド に お ける ピク セル サイ ズ は ,。 1 ビッ トノ ピク セル を 除い ぃ た ピク セル サイ ズ が 設定 可能 で ある . この 場合 各 サ イズ に お いて 外部 ユニット に よっ て 作成 され た ディ ジ タ ルビ デオ デー タ の うち 次 の ビッ ト が 有効 と な る . 4 ビッ ト プ ピ クセ ル 下位 4 ビット 8 ビッ トピ クセ ル 下位 8 ビット 16 ビッ トピ クセ ル 16 ビッ ト (4) フレ ー ム バッ ファ ビデ オデ ィ ジ タイ ズ モ ー ド に お いて も GVRAM の アド レス は フレ ー ム バッ ファ を 用 いて 決定 され る が , その 設定 に は 以下 の 制限 が ある . ( 4 . 1 ) 実 表示 画面 と フレ ー ム バッ ファ と の 関係 実 表 示 画 面 が 水平 方 向 の ラッ プア ラウ ンド を し な いよ うに 設定 する 必要 が ある . 実 表示 画面 実 表示 画面 この 設定 は 可能 この 設定 は 不可 能 (4 .2 ) ドッ ト ア ドレ ス ドッ ト ア ドレ ス は 常に 0 で な けれ ば な ら な い . 4.10.3 ビデ オデ ィ ジ タイ ズ 動 作 ビデ オデ ィ ジ タイ ズ 動 作 は 上 記 各 モー ド の 設定 後 。 ワー ド ポ ー ト 100H ビッ ト 14(GVM) を 1 に する こと に より 開始 され る . GVM ビッ ト は 垂直 同期 信号 に より サン プリ ング され て いる 。. GVM= 1 が 設定 され る と ,GVRAM へ の ビデ オデ ー タ の 取込み が 開始 さき れる と 同時 に , ディジ タイ ズ さ れ て いる 画面 が 表示 され る . この 後 GVM= 0 に する こと に よっ て 。 そ の と き デ ィ ジ タイ ズ 中 の フィ ー ル ド が 終了 し た 時 点 で GVRAM の デー タ を フリ ー ズ し て 表示 モー ド に 戻る . 4.10.4 ビデ オデ ィ ジ タイ ズ モ ー ド に お ける 表示 ビデ オデ ィ ジ タイ ズ モ ー ド に お いて も 表示 機能 は アク ティ ブ に な っ て いる が , グラ フィ ッ ク 表 示 機 能 に つい て は GVRAM の 表示 の た め の 読出 し が 行わ れず ディ ジ タ イ ズ 中 の グラ フィ ッ ク 画 面 が 表示 され る . 122 4.10 ビデ オデ ィ ジ タイ ズ この モー ド に お いて は グラ フィ ッ ク 画 面 0 の み が 有 効 な 画面 と な っ て お り , グラ フィ ッ ク 画 面 1 は 表示 され な いよ うに 制御 ポー ト を 設定 し て お く 必 要 が ある . な お , その 他 の 表示 画面 (デキ スト 画面 ,. ス プラ イト 画面 ) は 通常 の 表示 モー ド と 同様 に 表示 可 能 で あり , ディ ジ タ イ ズ 中 で ある グラ フィ ッ ク 画 面 0 も それ ら と 正常 に 合成 され て 表示 され る . また , グラ フィ ッ ク 画 面 0 用 の フレ ー ム バッ ファ (#0, 2, 3) は いずれ も ディ ジ タ イ ズ 動 作 が 可能 な た め 。 た と えば フレ ー ム バッ ファ 0 を 使用 し て ビデ オデ ィ ジ タイ ズ を 行う 場合 に は , その 他 の フレ ー ム バッ ファ (#2, 3) が 動作 し な いよ うに 分 割 面 面 の 高 さ (ポー ト 252H, 272H) を 0 に し て お く 必 要 が ある . 123 Mi wear awt を する きよ Ne を 細 Rt tS tS i OG I A 0 a TE ーー 箇 層 本 所 拉 や マー 講和 を 0 マ a っ 者 ピ We ED BE 16 か < t 第 巳 草 その 他 の ハー ドウ ェ ア コ ント ロー ル この 章 で は 表示 回 路 以 外 の 各種 ハー ドウ ェ ア の 制御 方 法 に つい て 記載 し て いる が , 制御 ポー ト の ビッ ト の 意味 を 詳細 に は 解説 し て いな い . し た が っ て , この 章 は 第 2 章 の LO ポー トマ ッ プ を 常に 参照 し な が ら 読 む 必 要 が ある . SI スイ ッ デ あな シス テム 動作 モー ド 5.1.1 モー ドス イッ チ ( 1) モー ドス イッ チ 概 要 VA に は モー ドス イッ チ が 3 種 あ り 。 これ ら の モー ドス イッ チ の 設定 に より , シス テム の 起動 時 の 動作 モー ド を 指定 する こと が で きる 。. ① シ ステ ム モ ー ド スイ ッ チ ⑨ デ ィ ッ プス イッ チ ③ ス ピー ドス イッ チ ( こ と の スイ ッ チ は ソフ トウ ェ ア で テス ト で き な い ) (2) シス テム モー ドス イッ チ シス テム モー ドス イッ チ は 2 ポジ ショ ン の スラ イド スイ ッ チ で あり , BASIC の モー ド な ど , VA シス テム 全体 の 動作 モー ド を 設定 する . この スイ ッ チ で 設定 する の は V1 モー ド と V2 モー ド だ け で あり , V3 モー ド は 一 且 V1 ノ V2 モー ド で 起動 し た 後 , ソフ トウ ェ ア 的 に 移行 する . し た が っ て V3 モー ド 用 モー ド 設 定 ス イッ チ は な い . V3 モー ド へ の 移行 は ポー ト 153H で 行う . シス テム モー ドス イッ チ の 設定 は リセ ッ ト 時 に シス テム 内 に 取り 込ま れ , その後 は 以下 の ポー ト で 読み 出せ る . IN 150H wh ッッ ト 0 コミ ジス テム モー ド 0 0 ・ 予約 ( 未 使用 ) 1 0 V1 モー ド 0 1 V2 モー ド 1 1 予約 ( 未 使用 ) シス テム が 起動 し た 後 , 3 種類 の 動作 モー ド を ポー ト 1CDH に よっ て LED に 表示 する . 125 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル OUT 1CDH( シ ステ ム ポ ー ト 8 ) BY EY Ey hd lt l 0 VER 1 0 1 W2 モ ー ド 0 1 1 VIE~ ド ( 注 ) ポー ト 1CFH に より 各 ビ ッ ト 単 位 に セッ ト グ リ セッ ト を 行う こと が で きる ,. (30 ディ ッ プ スイ ッ チ ディ ッ プ スイ ッ チ は 8 種類 の 各種 モー ド 設 定 ス イッ チ に より 構成 され て いる . これ ら の モー ド スイ ッ チ の 一 部 は 直接 ハー ドウ ェ ア を 制御 し , 他 は ソフ トウ ェ ア に より 読み 出さ れ て シス テム 起 動 時 の 動作 モー ド を 決定 する . SW1 SW2 SW3 SW4 SW5 SW6 SW7 SW8 MEHHMMHE 機能 設定 指定 モー ド | oN 24 KHz タイ プ CRT モー ド (ディ スプ レイ の 種類 ) OFF |15KHz タイ プ 予 約 外部 同期 モー ド RS 一 232C 外部 同期 内 部 同期 内 部 同期 モー ド プー ト す る 内 蔵 GDD ボー トモ ー ド ブー ト し な い 外部 に 出力 し な い CRT クロ ッ ク 出 力 外部 に 出力 する * SW 6.8 を 除く スイ ッ チ の 値 は 次 の ポー ト で 読み 込め る SW 1 1CBH, 40 了 HI SW 2~5 1C9H SW 7 40H (4) スピ ー ド スイ ッ チ 人 概要 本 機 CPU で PD780 の 命令 を 実行 する 場合 の 動作 スピ ー ド は , 88MZF シリ ー ズ で 用 い ぃ られ て いる 。PD780 の 動作 スピ ー ド と 全く 同一 な わけ で は な い . し た が っ て , 本 機 が V1/V2 モー ド で 動作 し て いる 場合 に 88MF シリ ー ズ と の 動作 速度 の 差 を 修正 し て ,。 アプ リケーション ソフ トウ ェ ア を 正常 に 動作 させ る た め の ス ピー ド 調 整 回 路 が 内 蔵 き され て いる . この 回 路 を 使用 する か どう か の 設定 を 行う の が スピ ー ド スイ ッ チ で ある 。 スピ ー ド 調整 の 方 法 と し て は , 一 定 の 期間 に 対し て ある 一 定 の 数 の ウエ イト サイ クル を 挿入 す る こと に より 平均 的 な 速度 を 制御 する 方 式 を 採用 する . これ は 次 の よう な 理由 に よる . 126 5.2 割込み ① 各 命令 の 処理 クロ ッ ク 数 は 一 律 に PD780 と の 差 が ある わけ で は な い . づ ② 一 部 の 1 エ プ O ポー ト は , CPU の 1 プ O ト ラッ プ 処 理 に より アク セス され る た めそ の 場合 88M ン F シリ ー ズ で は 生じ な い オ ー バ ー ヘ ッ ド が 発生 する . ⑧⑬ VRAM を アク セス する 場合 に 挿入 され る ウエ イト の 数 も 88M ノ F シリ ー ズ の 場合 と は 異 な る . る @ ス ピー ドモ ー ド ・ モ ー ド の 設定 スピ ー ド スイ ッ チ は 2 ポジ ショ ン の スラ イド スイ ッ チ で ある 。. 2 モー ド : PD9002 8MHz の 動作 速度 (ハイ スピ ー ド モー ド ) 1 モード : ZPD780 88R シリ ー ズ の H モー ド 08 シリ ー ズ 4NMH 時 の H モー ド ) の 等 価 動作 度 この スイ ッ チ の 状態 は ,。 リ セッ ト 信 号 が アク ティ ブ と な っ て いる 時 に サン プリ ング され る た め , 動作 中 に スピ ー ド を 切り 換え る こと は で き な い . また , V3 モー ド で は 常に ハイ スピ ー ド モー ド で 動作 し , スイ ッ チ に 影響 る きれ な い . に ミン 2 ・ ス ピー ドモ ー ド の 読出 し 現在 の スピ ー ド モー ド は シス テム ポー ト 6 か ら 読 み 出す こと が で きる . IN 1C9H ビッ ト 5 0 ・ 1 モー ド (標準 スピ ー ド モー ド ) 1 : 2 モー ド (ハイ スピ ー ド モー ド ) 5.1.2 メモ リス イッ チ 外字 RAM キャ ラク タ ジ ェ ネ レ ー タ と し て 使用 きれ て いる バッ テリ ー バ ッ ク ア ッ プ メモ リ の うち , B1FC2HB1FC6H は メモ リス イッ チ と し て IN 命令 で 読み 出す こと が で きる . この メモ リス イッ チ は V1 グ / グ V2 モー ド に お いて 88M/F シリ ー ズ の ディ ッ プ スイ ッ チ の 代わ り と な る . また メモ リ と し て アク セス する 場合 と 異な り , IN 命令 で は メモ リモ ー ド に か か わら ず に リー ド の み が 可 能 で ある . IN 30H: B1FC2H 番地 の メモ リス イッ チ IN 31H: BIFC6H 番地 の メモ リス イッ チ 5.2 割込み VA の 割込み を 処理 する ハー ドウ ェ ア の 構成 は 次 の よう に な っ て いる . く マス ター> < スレ ー プ > CPU 内 ICU gz PD8529 互 換 127 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル CPU 内 ICU を マス タ と し て , 2 種類 の スレ ー ブ が マス タ の レベ ル 7 割込み に 接続 きれ て いる . この 内 どちら の スレ ー ブ を 使用 する か に よっ て 2 つの モー ド が あり , V3 モー ド と V1/V2 モー ド に 対応 し て いる . ① 8259 モー ド V3 モー ド 対 応 スレ ー ブ と し て PD8259 を 使用 する . CPU 内 ICU と 合わ せ て 15 レベ ル の 割込み を 処理 する こと が で きる が 実際 に は その うち の 13 レベ ル が 使用 で きる . ⑨ 8214 モー ド V1/V2 モー ドド 対応 スレ ー ブ と し て PD8214 万 換 ハ ー ド ウェ ア を 使用 する . CPU 内 ICU は 実際 に は 働か ず ぜ ,。 すべ て を スレ ー ブ に まかせ る た め , 88M プ F シリ ー ズ と 互換 性 の ある 割込み 処理 が 行わ れる . 割込み レベ ル は 8 レベ ル . リセ ッ ト 時 の 割込み モー ド は 8214 モー ド と な っ て いる 。8259 モー ド に する た め に は ポー ト 158H を 使用 する . OUT 158H (デー タ は ダミ ー) ポー ト 158H に 出力 する こと に よっ て , 割込み モー ド は 8259 モー ド に な る . た だ し , 一 度 8259 モ ー ド に 変更 する と , リセ ッ ト 以 外 に 再び 8214 モー ド に する こと は で き な い . る モー ド 変 更 時 の 注意 点 ① メ イン CPU を 割込み 禁止 状態 に する こと ②⑨ 各 割込み 要求 を 止め て か ら 行 うこ と モー ド 変 更 を 行っ た 後 は 。 すみ や か に スレ ー プ ブ zPD8259, CPU 内 ICU を この 順序 で 初期 設定 する こと ④ 初 期 設 定 が 終る と 割込み 要求 を 再開 で きる 人 @ ん PD8259 概説 8259 に は 2 つの ポー ト が あり , それ ぞ れ ポー ト 0, ポー ト 1 と 呼ぶ こと に する . 各々 の ポー ト に コマ ンド を 送っ て 動作 を 制御 する . コマ ンド に は 次 の 5 種類 が ある . ①zPD8259 の 初期 設定 (1CW) OUT ポー ト 0, 1ICW1 OUT ポー ト 1, ICW2 (OUT ポー ト 1, ICW3 ICW1 で 必要 か どう か 指定 する ) (OUT ポー ト 1, ICW4 ICW1 で 必要 か どう か 指定 する ) イン ター ラプ トマ スク 制御 (OCW1) OUT ポー ト 1, OCW1 イン ター ラプ トマ スク 設定 IN ポー ト 1 イン ター ラプ トマ スク 読出 し ③ 割 込み 終了 優先 回 転 制 御 (OCW2) OUT ポー ト 0, OCW2 @ る 割込み ステ ー タ ス 制 御 プ 読出 し レジ スタ 指定 (OCW3) OUT ポー ト 0, OCW3 ⑤ IRR ISR プ ポー リン グモ ー ド 読出 し IN ポート 0 どの レジ スタ を 読み 出す か は OCW3 で 指定 する 128 ポー ト ア ドレ ス は 以下 の よう に な っ て いる . 5.2.1 9259 モー ド (V3 所 一 ド ) この モー ド で は 発生 し た 割込み は すべ て V30 用 割込み と し て 処理 され る . ( 1 ) 割込み レベ ル と 用 途 割込み レベ ル 機 能 | 割込み べ クタ 番号 IRO タイ マ 1 割込み 08H IR1 キー ボー ド 割 込み 09H IR2 VRTC 割込み 0AH IR3 UINT0 (Bus #24) 0BH IR4 RS-232C 割込み IR5 UINT1 (Bus # 25) IR6 UINT2 (Bus # 26) IR7 スレ ー プ IR7 SGP 割込み IR9 ハー ド デ ィ スク (Bus#27) IR10 UINT4 (Bus # 28) IR11 FDC 割込み IR12 サウ ンド コン トロ ー ラ 1R13 汎用 タイ マ 3 (マウ スタ イマ ) 名 IR14 リザ ー ブ IR15 リザ ー ブ (2.) 0 ボー ト ア ドレ ス ICU( マ スタ ) ポー ト 0 ※ ボ ー ト 1 188H 18AH 184H 186H PD8259( ス レー ブ ) (3) 割込み マス ク ポ ー ト る コシ ント ロー ラ に よる マズ スク kgPD8259 に 対し て 各 割 込み 入力 を 独立 に 禁止 する 機能 が ある (OCW1). ・ マ スタ (ICU) 18AH 129 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル ・ ス レー プ (gPD8259) 機能 IRnM ・ 割込み マス ク 0 ・ 割込み 許可 1 ・ 割込み 禁止 @ RS-232C マス ク 8259 モー ド で は RS-232C イン ター フェ イス の コン トロ ー ラ (USART) 用 の 割込み 入力 が 1 レ ベル で ある が , USART か ら の 割込み 要因 に は 以下 の 3 種類 の も の が ある 。. ① 受 信 バ ッ フ ァ レデ ィ ② 送 信 バ ッ フ ァ レデ ィ ③ 送 信 バ ッ フ ァ エン プティ この た め , 各 割 込み 要因 に 対し て 独立 に マス ク を 施す ポー ト が ある . OUT 1CDH (シス テム ポ ボート 8) ビッ ト 2 : RS-232C TXRDY 割込み マス ク 0 : 割込み 禁止 1 : 割込み 許可 ビッ ト 1 : RS-232C TXEMPTY 割込み マス ク 0 : 割込み 禁止 1 : 割込み 許可 ビッ ト 0 : RS-232C RXRDY 割込み マス ク 0 : 割込み 禁止 1 : 割込み 許可 ( 注 ) ポー ト 1CFH に より 各 ビ ッ ト 単 位 に セッ ト プ リ セッ ト を 行う こと が で きる 。. る ⑧@ サ ウン ドコ ント ロー ラ 割 込み マス ク ポー ト 32H の ビッ ト 7 に よっ て サウ ンド コン トロ ー ラ か ら の 割込み を 独立 し て マス ク で きる [5.10 サウ ンド イン ター フェ イス ] 参 照 5.2.2 8214 モー ド (V1 ノ V2 モー ド ) 本 モー ド に お いて 割込み コン トロ ー ラ は 以下 の 2 種類 の 割込み ベク タ を 発生 きせ る こと が で き る . ①zPD780 用 の 割込み ベク タ ② V30 用 の 割込み ベク タ つま り 8214 モー ド に お いて は ,。 メイ ン CPU が PD780 の 命令 コー ド を 実行 中 に 発生 し た 割 込み に 対し て は , PD780 の 割込み ベク タ を 発生 し PD780 と 等 価 の 割込み 処理 を 行い 。 メ イン CPU が V30 の 命令 コー ド を 実行 中 に 発生 し た 割込み に 対し て は , V50 の 割込み ベク タ を 発生 し V30 と し て の 割込み 処理 を お こ な う . この た め 割 込み コン トロ ー ラ と し て は , 両 タ イプ の 割込み ベク タ を 発生 する 必要 が ある . 130 5.2 割込み この 両 ベ クタ は 割込み コン トロ ー ラ が 割込み 発生 時 の メイ ン CPU 動作 モー ド を 判別 し て 自動 的 に その 選択 を 行う . (1) 割込み テー ブル SE 割込み ベクタ 番号 割込み レベ ル (名 称 ) 機能 PD780 INT0 RS-232C 受信 割込み 00H INT1 VRTC 割込み INT2 汎用 タイ マ 2 割込み UINTO (Bus # 24) ツン ドコ ラド UINT1 (Bus # 25) 汎用 タイ マ 3 割込み SGP 割込み ( 2 ) 8214 モー ド に お ける ICU/8214 互換 ハー ドウ ェ ア の 初期 設 人 @ ICU ICW1 0 0。 0 回 0 0 ⑩ ICW2 0、 0 20Wa0 020 0 ICW3 1 0 。 0 0 0 0 9 0O ICW4 0M 0020 ど 30 仙 0 OU 村 OCW1 0 1 1 1 1 1 1 1 (スレ ー グ 以外 は マス ク ) 8214 互換 ハー ドウ ェ ア OUT E4H, 7 ( 3 ) 割込み コン トロ ー ル 回 路 制 御 ポ ー ト OUT グ IN E4H Eiw: ト 3 ・ カレ ント ステ ー タ スレ ジス タタ 制御 0 ・ 有効 (参照 され て 発生 ) | ・ 無効 (入力 優先 順位 の み で 発生 ) ビッ ト 2~0 | カレ ウン ドス デー タス レジ スタア 現在 の 割込み レベ ル を OUT する . (4 ) 8214 モー ド 割 込み 処理 方 法 ① イ ニシ ャ ライ ズ OUT 0E4H, 7 131 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル ②@ 割 込み 手続 き 1) レジ スタ を セー ブ す る 。 2) コマ ンド ポー ト に 現在 設定 され て いる デー タ を シス テム 共通 領域 の ポー ト 値 保存 領域 か ら 読出 し スタ ッ ク に セー ブ す る . 3) DI 状態 で 行う べき 割込み サー ビス を 行う . 4) 発生 し た 割込み レベ ル の カレ ント ステ ー タ スレ ジス タ の 制御 モー ド を コマ ンド ポー ト と シス テム 共通 領域 に ライ ト す る . 5) EI 命令 を 実行. 6) RI 状態 で 行う べき 割込み サー ビス を 行う 7) 2) の 処理 で スタ ッ ク に セー ブ し た この 割込み 発生 以前 た コマ ンド ポー ト に 設定 され て い だ コマ ジン ド を 次 ト ア する :。 8) 割込み 処理 の た め に セー ブ さ れ て いた レジ スタ を リス ト ア し 割り 込ま れ た プロ グラ ム に 復帰 する . (5) 割込み マス クボ ポート 8214 モー ド で は 各 割 込み 入力 を 独立 に 禁止 する 機能 を コン トロ ー ラ が も っ て いな いた め 以 下 に 示す 割込み マス ク ポ ー ト が 用 意 さ きれ て いる . これ を 使用 する こと に より , シス テム 内 部 で 発生 する 割込み を 独立 に マス ク す る こと が で きる . OUT の み BE6GH ビッ ト 2 て 0 ビッ ト 2 : RS-232C RxREADY 割込み マス ク ビッ ト 1: VRTC 割込み マス ク ビッ ト 0 : 汎用 タイ マ 2 割込み マス ク OUT ノ IN 32H ビッ ト 7 サウ ンド コン トロ ー ラ 割込み の マス ク 5.3 DMA 機能 VA に は 4 チャ ネル の 優先 順位 付 DMA( ダ イレ クト メモ リア クセ ス ) 機 能 が サポ ー ト され て お り 。 その 内 の 2 チャ ネル は バス スロ ッ ト に 解放 きれ て いる . DMA 機能 は メイ ン CPU に 内 蔵 さ れ て いる DMAU に よっ て 制御 され て いる . VA で サポ ー ト され て いる DMA 転送 機能 に は 以下 の モー ド が ある . ① リ ー ド 転送 メモ リ = 1/0 ⑨ ラ イト 転送 1/0 っ メモ リ ③ ベ ベリファイ アド レス 出力 の み 4 チャ ネル ある DMA チャ ネル は 以下 に 示す よう に シス テム に より 割り 当て られ て いる . チャ ネル チャ ネル 0 ユー ザ チ ャ ネル 1 チャ ネル 1 | 未 使用 チャ ネル 2 | FDC( 内 蔵 デ ィ ス クイ ンタ ー フ ェ イ ス ) チャ ネル 3 ユー ザ チ ャ ネル 2 132 5.4 タイ マ 機 能 5.4 タイ マ 機 能 VA に は 以下 に 示す タイ マ が ある . ①CPU 内 TCU 3 系 統 あ る . カウ ンタ #0 汎用 タイ マ 1 (8259 割込み モー ド 専 用 ) カウ ンタ #1 BEEP 周波 数 設定 カウ ンタ #2 RS-232C ボー レー ト 設 定 ② 汎 用 タイ マ 2 (8214 割込み モー ド 専 用 ) ⑧ 汎 用 タイ マ 3 (マウ スタ イマ ) 《④① サ ウン ドコ ント ロー ラ 内 タイ マ 2 系 統 ⑤⑥ FDD 用 タイ マ 5.4.1 汎用 タイ マ (TCU カウ ンタ #0) 汎用 タイ マ 1 は CPU に 内 蔵 き れ て いる TCU 内 の 1 系 統 で 。 PD8253 に 準拠 し た 動作 が 可能 で ある . この タイ マ の 割込み 機能 は , 割込み が 8259 モー ド 時 に の み 有 効 と な り , IRO0( 最 高 優先 の 割込み ) を 発生 する . TCU カウ ンタ #0 は 以下 の 動作 モー ド で 使用 する . ( 1) カウ ント モー ド 0 (ワン ショ ッ ト タ イマ ) 設定 し た 周期 が 経過 し た と き 1 回 だ け 割 込み 要求 を 発生 する . ( 2 ) カウ ント モー ド 3 (方 形 波 発生 ) 設定 し た 周期 ご と に 割込み 要求 を 発生 する . 汎用 タイ マ 1 に よる 割込み は カウ ンタ の 出力 が ロー レベ ル か ら ハ イレ ベル に な っ た 時 に 割込み 要求 を 出す . カウ ンタ へ の 設定 値 と 指定 され る 周期 は 次 の 関係 に ある . 周期 (ns) = 設定 カウ ンタ 値 X250.4 ns タイ マ の 設定 方 法 は [5.4.8 タイ マコ ント ロー ル ュ ユニット] で 説明 する . 5.4.2 BEEP 周波 数 発生 器 (TCU カウ ンタ # 1) BEEP 周波 数 発生 器 は , BEEP 音 の 周波 数 を 設定 する た め の タ イマ で ある . 通常 この タイ マ は カウ ント モー ド 3 (方 形 波 発 生 ) と し て プロ グラ ム さ れ , 発生 する 周波 数 が 2400Hz と な る よう に カウ ント 値 を 設定 する . 詳細 は [5.11 サウ ンド 機能 ] を 参照 の こと . 5.4.3 RS-232C ボー レー ト 発 生 器 (TCU カウ ンタ #2) この カウ ンタ の 出力 パル ス が RS-232C イ ンタ ター フェイス の コン トロ ー ラ で ある USART (PD8251) に 供給 され , ボー レー ト の 決定 に 使用 され る . 動作 モー ド は 必ず カウ ント モー ド 3 (方 形 波 発生 ) で 使用 する . ボー レー ト は この カウ ンタ の 周期 と PD8251 に 設定 する ボー レー ト フ ァ ク タ と に より 以下 の よう に 決定 され る . 133 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル ボー レー ト =3993600 プ カウ ンタ 設定 値 プ ボー レー ト フ ァ ク タ 詳細 は [5.10 RS-232C] を 参照 の こと . 5.4.4 汎用 タイ マ 2 汎用 タイ マ 2 は 88M ノ ン F シリ ー ズ が 内 蔵 し て いる 600 Hz 固定 の タイ マ で , 割込み が 8214 モ ー ド 時 に の み 有 効 で も る た め 主 に V1 グ V2 モー ド で の み 使 用 は きれる. この タイ マ の 割込み は INT2 に 入力 され て いる . また ポー ト E6H に より 独立 し た マス ク が 可能 で ある . 汎用 タイ マ 2 割込み マス ク ポ ー ト OUT E6H ビッ ト 0 0 ・ 割込み 禁止 ・ 割込み 許可 5.4.5 汎用 タイ マ 3 汎用 タイ マ は 15Hz・30Hz・60Hz・120Hz の 4 種類 の イン ター バル で CPU に 対し て 割込み を か ける こと が で きる 独立 し た タイ マ で あり , 割込み モー ド に か か わら ず に 使用 で きる . 主 に マ ウス 等 の 周辺 機器 の 制御 用 に 使用 きれ る . PC-Engine で は この タイ マ は 120Hz 固定 と し , マウ ス ・ フ ロッ ピー ディ スク ・ プ リン タ ・ ス クリ ー ン エディ タ な どの BIOS で 使用 し て いる た め に 自 由 に 使用 する こと は で き な い 、。 この タイ マ に よる 割込み レベ ル は , 8259 モー ド の と き 一 一 一 IR13 割込み 8214 モー ド の と き 一 一 一 INT6 割込み と 半 つ で いる 。 ポー ト 1A8H に より イン ター バル の 指定 お よび 割込み マス ク を 行う . 5.4.6 サウ ンド コン トロ ー ラ 内 タイ マ サウ ンド コン トロ ー ラ (YM2203 内 ) が 持つ FM 音源 サウ ンド に 使用 する タイ マ 機 能 で あり , 割込み モ キー ド に か か わら ず 使 用 で きる . 割込み レベ ル は , 8259 モー ド の と き 一 IR12 割込み 8214 モー ド の と き 一 INT4 割込み ER CE 詳細 は [5.10 サウ ンド 機能 ] を 参照 . 5.4.7 FDD 用 タイ マ FDD イン ター フェ イス 回 路 が 持つ 約 100ms の ワン ショ ッ ト タ イマ で あり , FDD イン ター フ ェ イ ス を DMA モー ド で 使用 時 に FDD モー タ 制 御用 に 使用 され る . 割込み モー ド は 8259 モー ド 時 の み 使 用 可能 で あり , レベ ル は IR11(FDC か ら の 割込み 要求 と 同じ ) に 接続 きれ て いる . 詳細 は [5.7 ディ スク イン ター フェ イス ] を 参照 . 134 5.5 カレ ンダ 時 計 5.5 カレ ンダ 時 計 5:5。1 イン ター フェ イス 旋法 カレ ンダ 時 計 は バッ テリ ー に より バッ クア ッ プ され て お り , 年 ・ 月 ・ 日 ・ 時 ・ 分 ・ 秒 を 常に 計 時 し て いる . 4 の 倍数 の 年 は 賠 年 と し て 自動 判別 され る . LSI と し て は PD1990 上 位 互 換 の ん PD4990 が 使用 きれ て いる . た だ し PD1990 互換 モー ド に お いて は 年 機能 が 使用 で き な い . PD4990 と の デー タイ ンタ ー フ ェ イ ス は PD1990 と 同様 に シリ アル 入出 力 に より 行う . コマ ンド イン ター フェ イス は 22 種類 の も の が あり , VA に お いて は V1/V2 モー ド で は パラ レル コマ ンド モー ド , V3 モー ド で は シリ アル ヨタ マシ ンド モンド 完 使 用 ずる ( 1) パラ レル コマ ンド モー ド (PD1990 互換 モー ド ) パラ レル コマ ンド モー ド で は PD1990 と 同様 に すべ て の コマ ンド を 3 ビッ ト の パラ レル コマ ンド ポー ト (OUT 10H) か ら 与 える . この 場合 に は /PD1990 と 互換 性 が ある モー ド と な る が 年 機 能 が 使用 で き ない. パラ レル コマ ンド と し て は 下記 の 5 つの コマ ンド を 使用 する . る パラ レル コマ ンド : ポー ト 10H の 下位 3 ビット FO 0 00 レジ スタ ホー ルド Tol 0 OE レジ スタ シフ ト #2 On 00 タイ ム セ ッ ト 錠 タイ マ ホ ー ル ド #3 (0 本 UN タイ ぬり 坪 ド SS 3A 証 誕 31 シリ アル コマ ンド モー ド 設 定 ポー ト 10 了 I は プリ ンタ デー タ と 共通 で あり , ポー ト 40H で 送出 する スト ロー ブ に よっ て 区 別 する 人 @ コ マン ド 送 出 シ ー ケ ンス ① ポ ー ト 10H に コマ ンド を 出力 する MOV AL, Command OU AOAL ② ポ ー ト 40H の ビッ ト 1 (CSTB) を 1 (ON) に する ポー ト 40H の ビッ ト 1 (CSTB) を 0 (OFF) に する CLI MOV AL, Todctl (ポー ト 40H の コピ ー) OR AL, 2 OUT 40H, AL NOP NOP AND AL, OFDH OUT 40H,。 AL MOV Todctl, AL Sl 135 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル @ デ ー タ 送出 シー ケン ス 下記 の シー ケン ス を ビッ ト ご と に LSB か ら MSB まで 繰り 返す ① ポ ー ト 10H ビッ ト 3 に デー タビ ッ ト を 設定 する MOV AL, 0 or8 OWNT L0H AL ② ポ ー ト 40H の ビッ ト 2 (CCLK) を 1 (HIGH) に する ③ ポ ー ト 40H の ビッ ト 2 (CCLK) を 0 (LOW) に する CLI MOV AL, Todctl (ポー ト 40H の コピ ー) OR AL, 4 OUT 40H, AL NOP NOP AND AL, OFBH OUT 40H, AL MOV Todctl, AL STI @ デ ー タ 受取 り シ ー ケ ンス 下記 の シー ケン ス を ビッ ト ご と に LSB か ら MSB まで 繰り 返す ① ポ ー ト 40H の ビッ ト 2 (CCLK) を 1 (HIGH) に する ② ポ ー ト 40H の ビッ ト 2 (CCLK) を 0 (LOW) に する CLI MOV AL, Todctl (ポー ト 40H の コピ ー) OR AL, 4 OUT 40H, AL NOP NOP AND AL, OFBH OUT 40H, AL MOV Todctl, AL STI ③ ポ ー ト 40H の ビッ ト 4 また は ポー ト 1CBH ビッ ト 0 か ら デ ー タ ビッ ト を 読み 出す . NOP NOP IN AL, 40H | MOV DX, 01CBH SHR AL, 4 | IN AL,.DX AND ‘AL; 1 る デミ タウ ネー マッ ト 各 桁 の デー タ 形式 は BCD だ が , 月 だ け は 16 進 形式 で ある . 曜日 は 日 曜 を 0・ 月 曜 を 1… と し た 値 . 136 5.5 カレ ンダ 時 計 各 桁 4 ビッ トノ 合計 40 ビッ ト ( 2 ) シリ アル コマ ンド モー ド (年 機能 使用 モー ド ) シス アル コマ ンド は 上 記 の パラ レル コマ ンド #7 に より シリ アル コマ ンド モー ド が 設定 され だ 場合 に 使用 で き , カレ ンダ 時 計 に 対す る コマ ンド は 入力 デー タ と 同様 に シリ アル に 送出 され る . つま り シ リア ル デ ー タ と し て 4 ビッ ト の コマ ンド を 送出 し , 次 に CSTB を 送出 する こと に よっ て その デー タ が コマ ンド と し て 取り 込ま れる . 注意 : CSTB を 送る 時 に は パラ レル コマ ンド ポー ト は 7 に し て お く 必 要 が ある . な お 。 シ リア ルコ マン ド に は 以下 の も の を 使用 する . #0 0 tL 0 の na80 遇 8※ 0 0 0 0 0 0 0 レジ スタ ホー ルド 0 1 以 区 タタ ジブ ト 1 0 タイ ム セ ッ ト 乏 タイ マ ホ ー ル ド 中 | 2 れ ムリ リード コマ ンド 送出 シー ケン ス ① パ ラ レ ル コマ ンド #7 で シリ アル コマ ンド モー ド に 設定 する MOV OUT CLI MOV OR OUT NOP NOP AND OUT MOV STI AL 7 10H, AL AL, Todctl (ポー ト 40H の コピ ー) AL, 2 40H, AL AL, OFDH 40H, AL Todctl, AL ② 下 記 の シー ケン ス を ビッ ト ご と に LSB か ら MSB まで 繰り 返す . ポー ト 10H ビット 3 に デー タビ ッ ト を 設定 する MOV OUT AL, 0 or8 10H, AL ポー ト 40H の ビッ ト 2 (CCLK) を 1 (HIGH) に する ポー ト 40H の ビッ ト 2 (CCLK) を 0 (LOW) に する CTT MOV OR OUT NOP AL, Todctl (ポー ト 40H の コピ ー) AL, 4 40H, AL 137 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル NOP AND AL, OFBH OUT 40H, AL MOV Todctl (ポー ト 40H の コピ ー) STI ポー ト 40H の ビッ ト 1 (CSTB) を 1 (ON) に する (ポー ト 40H の ビッ ト 1 (CSTB) を 0 (OFF) に する MOV AT OUT 10H, AL CLI MOV AL, Todctl (ポー ト 40H の コピ ー) OR AL, 2 OUT 40H, AL NOP NOP AND AL, OFDH OUT 40H, AL MOV Todctl, AL ST る デー タ 送 出 シ ー ケ ンス (パラ レル コマ ンド 時 と 同じ ) 下記 の シー ケン ス を ビッ ト ご と に LSB か ら MSB まで 繰り 返す ① ポ ー ト 10H ビッ ト 3 に デー タビ ッ ト を 設定 する ② ポ ー ト 40H の ビッ ト 2 (CCLK) を 1 (HIGH) に する ポー ト 40H の ビッ ト 2 (CCLK) を 0 (LOW) に する @ デ ー タ 受取 り シ ー ケ ンス (パラ レル コマ ンド 時 と 同じ ) 下記 の シー ケン ス を ビッ ト ご と に LSB か ら MSB まで 繰り 返す ① ポ ー ト 40H の ビッ ト 2 (CCLK) を 1 (HIGH) に する ② ポ ー ト 40H の ビッ ト 2 (CCLK) を 0 (LOW) に する ③ ポ ー ト 40H ビッ ト 4 また は ポー ト 1CBH ビッ ト 0 か ら デ ー タ ビッ ト を 読み 出す . 人 @ コ マン ド プ デー タフ ォ ー マ ッ ト 5 ジジ ド 回 回 回 4 ビット 各 桁 の デー タ 形 式 は BCD だ が , 月 だ け は 16 進 形式 で ある . 曜日 は 日 曜 を 0 ・ 月 曜 を 1… と し た 値 . 6 時 el 了 隊 | 司 各 桁 4 ビッ トノ 合計 48 ビッ ト MSB LSB LSB 138 5.6 キー ボー ドイ ンタ ー フ ェ イ ス 5.5.2 日 付 プ 時 刻 の 設定 ・ 読 出し 設定 ・ 読 出し の シー ケン ス は パラ レル コマ ンド プシ リア ルコ マン ド と も 同じ . ( 1 ) 日 付 プ 時 刻 の 設定 日 付 プ 時 刻 の 設定 は 次 の 順序 で 行う . ① レ ジス タ シ フ トコ マン ド (#1) を 送る ② 日 付 / 時 刻 デ ー タ (40 また は 48 ビッ ト ) を LSB か ら 送 る ③ タ イム セッ トコ マン ド (#2) を 送る ①④ レ ジス タホ ー ル ドコ マン ド (#0) を 送る ( 2 ) 日 付 プ 時 刻 の 読出 し 日 付 プ 時 刻 の 読出 し は 次 の 順序 で 行う . ① タ イム リー ドコ マン ド #3) を 送る ② レ ジス タ シ フ トコ マン ド (#1) を 送る ③ 日 付 ノ 時 刻 デ ー タ (40 また は 48 ビッ ト ) を LSB か ら 受 け 取 る ④ レ ジス タホ ー ル ドコ マン ド 人 は 0) を 送る 5.6 キー ポー ドイ ンタ ー フ ェ イ ス 5.6.1 キー ボー ドイ ンタ ー フ ェ イ ス 概 要 本 機 の キー ボー ド に は CPU 内 蔵 の シリ アル キー ボー ド が 使用 きれ て お り , キー ボー ド 上 の キ ー ス イッ チ の 操作 を キー ボー ド 上 の キー ボー ドサ ブ CPU が スキ ャ ン し , その デー タ を 本 体 に あ る イン ター フェ イス サブ CPU に 転送 する . メイ ン CPU は , イン ター フェ イス サブ CPU か ら キー の 情報 を 受け 取る . メイ ン CPU と イン ター フェ イス サブ CPU と の イン ター フェ イス に は 以下 に 示す 2 種類 の 機能 が サポ ー ト され て いる . ① マ トリ クス スキ ャ ン 方 式 キー コー ド 方 式 マト リク スス キャ ン イ ンタ ー フ ェ イ ス 機 能 は 常時 使用 で きる が , キー コー ドイ ンタ ー フ ェ イ ス は 使用 で きる モー ド に 条件 が あり , また モー ド の 設定 が 必要 と な る . 5.6.2 マト リク スス キャ ン 方 式 (1) 方 式 説明 マト リク スス キャ ン 方 式 は 88ML/ZF シリ ー ズ と 互換 性 を も つた め の 方 式 で あり , メイ ン CPU は マト リク ス 状 定義 きれ た キー スイ ッ チ の 個々 の メー クン ブレ ー ク 情報 を 任意 の 時 に テス ト す る こと が で きる キー ボー ド ユ ニッ ト 上 の キー スイ ッ チ が 操作 され た 場合 に は , キー ボー ドサ ブ CPU は 操作 さ れ た キー の 接点 情報 を コー ド と し て 送信 し て くる . これ を 受信 し た イン ター フェ イス サブ CPU は , この コー ド を も と に だ 定義 され た キー スイ ッ チ の マト リク ス に 従っ て コー ド を 展開 し , マト リク ス 上 の 個々 の キー スイ ッ チ の メー クン プレ ー ク の デー タ と し て メイ ン CPU の 入力 ポー ト 回路 に 入力 する . メイ ン CPU は この 入力 ポー ト を 任意 の タイ ミン グ で 読出 すこ と が で き , これ に より 定義 され 139 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル た キー マト リク ス の キー スイ ッ チ の 状態 を テス ト す る こと が で きる . また この 場合 , キー スイ ッ チ に 必ず 発生 する チャ タリ ング に よる 誤動作 の 影響 は すでに キー ボ ー ド サ プ CPU が 取り 除い て いる た め , メ イン CPU は チャ タリ ング の 影響 を 考慮 する こと な し に この 入力 ポー ト で キー ボー ド の 状態 を テス ト す る こと と が で きる . (2) | プ 0 ポ ー ト マト リク スス キャ ン イ ンタ ー フ ェ イ ス の 0 ポー ト は 。 0000~000EH の 15 バイ ト の 入力 ポー ト に より 構成 され て いる . 詳細 は 1 プ O ポー ト 一 覧 表 の ポー ト 0000 < て 000EH を 参照 . 5.6.3 キー コー ド 方 式 ( 1 ) 方 式 説 明 マト リク スス キャ ン イ ンタ ー フ ェ イ ス 機 能 が 常時 使用 で きる の に 対し て ,。 キー コー ド 方 式 の イ ンタ ー フ ェ イ ス は , 割込み モー ド が [8259 モー ド ] 時 に の み 使 用 する こと が で きる . また , リセ ッ ト 後に は この イン ター フェ イス 機能 は 禁止 状態 と な っ て お ぉ おり , この イン ター フェ イス 機能 を 使用 する 場合 に は あら た め て モー ド の 設定 を 行う 必要 が ある . (モー ド の 設定 は 5.6.4 を 参照 ) キー ボー ド 上 の キー が 操作 され た 場合 に は , キー ボー ドサ ブ CPU は 操作 され た キー の 情報 を コー ド と し て 送信 し て くる . これ を 受信 し た イン ター フェ イス サブ CPU は この コー ド を も と に 定義 され た キー に 割り 当て られ た スキ ャ ンコ ー ド に 変換 し て メイ ン CPU の 入力 ポー ト に ラッ チ し , 割込み を 要求 する . メイ ン CPU は この 割込み を 処理 する こと に より 操作 きれ た キー スキ ャ ンコ ヨード を 読み 込む こと が で きる . も し も メイ ン CPU が この 割込み 要求 に 応答 し な けれ ば キー ボー ドサ ブ CPU か ら の 次 の デー クタ 転送 が 待た され る こと に な り , その 後 操作 され た キー の うち ,。 キー ボー ド ユ ニッ ト 側 の バッ フ ア Z を が ボー パ ー フ ロー し た も の が 切り 捨て られ る 、。 (2) | プ 0 ポー ト IN 1C1H: スキ ャ ンコ ー ド 140 5.6 キー ボー ドイ ンタ ー フ ェ イ ス る スキ ャ ンコ ー ド 表 上 位 4 ビッ ト (MSB は 0) っ 0 2 3 4 5 6 ZS か コ ニ ッ (| RETURN 中 5.6.4 コマ ンド イン ター フェ イス キー ボー ド ユ ニッ ト を 制御 する た め の コ マン ド ポ ー ト が 用 意 さ れ て お り , キー ボー ド シ ス テム の 動作 モー ド を 指定 する こと が で きる . コマ ンド は 1 バイ ト で あり , ポー ト に 出力 され た コマ ン ド は イン ター フェ イス サブ CPU に 転送 され る . コマ ンド は 上 位 2 ビッ ト に より 2 種類 に 分 けら れる 。. 上 位 2 ビッ ト 0 オペ レー ショ ンコ マン ド lt 博 朗 モー ドコ マジ 展 オペ レー ショ ンコ マン ドド は トリ ガ と し て 実行 され る . 例え ば RESET= ニ 1 と な っ て いる オペ レ ーション コマ ンド を 出力 する と 。 イ ンタ ー フ ェ イ ス 機 能 が リセ ッ ト さ れる が , この 後 リ セッ ト を 解除 する た め に RESET= ニ 0 と し て 改め て オペ レー ショ ンコ マン ド を 出力 する 必要 は な い . コマ ンド イン ター フェ イス は ポー ト 197H に より 行わ れる . 各 ビ ッ ト の 意味 は 1 プ O ポー トー 覧 表 の ポー ト 197H を 参照. 141 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル 注意 : キーボード ュ ニッ ト の リセ ッ ト 動 作 RESET を 指定 し た 場合 に は イン ター フェ イス サブ CPU の 内 部 バッ ファ の クリ ア ( デ ー タ バ 2222524 の 用 7Z。 モード の イニ シャ ライ ズ ) を 行う 。 イン ター フェ イス サブ CPU は ハー ドウ ェ ア に より 入力 され た リセ ッ ト が パワ ー オ ン リ セッ ト か マニ ュ ア ルリ セッ ト か の 判断 が で き な い た め , 通常 の リリ セット シー ケン ス で は 内 部 バッ ファ の クリ ア を 行わ な い . この た め メ イン CPU は シス テム リセ ッ ト が 発生 し た 場合 に は その リセ ッ ト 動作 が パワ ー オ ン リ セッ ト か マニ ュ ア ルリ セッ ト か を 判断 し (シス テム ポー ト 5 : 190H に よる ) パワ ー オ ン リ セッ ト の 場合 に の み 上 記 RESET コマ ンド を イン ター フェ イス サブ CPU に 出力 し て 内 部 バッ ファ の クリ ア を 行い 。 マ ニュ アル リセ ッ ト 時 に は イン ター フェ イス サブ CPU を リ 2 が よう に する. 5 スウ イシ ンク グー フェ イス 5.7.1 FDD イン ター フェ イス 概要 本 機 に は 2DD プ 2HD 兼用 タイ プ の 5 イン チ フ ロッ ピー ディ スク ドラ イブ (EFDD) が 2 ドラ イブ 実装 され て いる . それ を 制御 する イン ター フェ イス 機能 に は 以下 の 2 種類 の 方 式 が あり , 必要 に 応じ 選択 し て 使用 する こと が で きる . ( 1) イン テリ ジェ ント モー ド 88MF シリ ー ズ と 互換 性 の ある モー ド で , FDD の 制御 を 行う た め に ディ スク サブ CPU を 使 用 する . サブ CPU は メイ ン CPU と は パラ レル ポー ト で 接続 され て デー タン コマ ンド の 交換 が 行わ れる . ( 2 ) DMA モー ド DMA モー ド で は FDD を 制御 する コン トロ ー ラ 等 は すべ て メイ ン CPU の 管理 下 に あり 直接 メイ ン CPU に より 制御 され る . また FDD と メイ ン メ モリ と の 間 の デー タ 転 送 は DMA に より 行わ れる . 5.7.2 動作 モー ド の 遷移 FDD イン ター フェ イス に は 上 記 2 種類 の 動作 モー ド が サポ ー ト され て いる が , この 2 種類 の 動 作 モ ー ド は ソフ トウ ェ ア に より 選択 し て 使用 する こと が で きる , た だ し , DMA モー ド に お いて は 。 割込み 機能 と DMA 機能 を 使用 する た め , それ ら の 機能 に つい て も 使用 で きる 環境 に 設定 す る 必要 が ある . 両 モ ー ド の 札 移 は イン テリ ジェ ント モー ド 用 の ハン ド シ ェ イク ポー ト を 用 いて 行わ れる 。 この ハン ドジ シェ イク ポー ト は いずれ の モー ド か ら も アク セス する と と が で き ,。 とこ と を 使用 し て サ プ CPU と コマ ンド の ハン ド シ ェ イク を 行い モー ド の 変更 を 行う . シス テム は 電源 投入 時 プリ セッ ト 時 に は イン テリ ジェ ント モー ド と な っ て お り , その まま の 状 態 で は 88MZF シリ ー ズ と 互換 性 の ある イン ター フェ イス と し て 使用 する こと が で きる . SS IO( ポ ボード モー ド 設 定 ア イン テリ ジェ ント モー ド 制 御 を 行う 場合 に 操作 する 必要 が ある 1 ンプ O ポー ト は 以 の と お わり 、 142 57 あ オ スク イジ ター フ テ エイ IN FCH デー タ 入 力 ポ ー ト OUT EDH コマ ショ ドジ 2 出力 ポー ト OU EE ハン ド シ ェ イク 制御 ポー ト OUT 1BOH イン ター フェ イス モー ド 設 定 ポ ー ト ES ド 0 ・MODE イン ター フェ イス モー ド 0 ンジ アリ ジェ ジン トモ 一 ド 1 ・DMA モー ド 547.4。 イン テリ ジョ ンド ト 江 デ ド (1) 概要 ィ ン テ リジェ ント モー ド で は FDD の 制御 は すべ て ディ スク サブ シス テム の CPU(zPD780) が 行い 。 メ イン CPU は ハン ド シ ェ イク ポー ト を 介し て コマ ンド プ デ ー タ の 転送 を 行う . この イン ター フェ イス モー ド の 機能 に つい て は , 以下 の 点 を 除い て 88M シリ ー ズ と 互換 性 が ある . ① ハ ンド シェ イク ポー ト 用 パラ レル ポー ト は PD8255 の サブ セッ ト と な っ て お り , モー ド 0 の 機能 お ちょ よび ポー ト C の ビッ ト セ ッ ト ノ リセ ッ ト 機 能 の み が サ ポー ト さ れ て いる . それ 以外 の PD8255 の 機能 は サポ ー ト され て いな い . ② サ ブシ ステ ム 側 の FDD 制御 イン ター フェ イス に は , アナ ログ VFO 回 路 が 使用 きれ て いる た め 。 ディ ジタル VFO 制御 用 の コマ ンド は 削除 され て いる 。 ③ イ ンタ ー フ ェ イ スモ ー ド の 遅 移 を 行う た め の ス リー プ コ マン ド ,。 ウェ イク アッ プ コ マン ド が 新た に サポ ー ト され て いる . ( 2 ) ハン ド シ ェ イク ポー ト ① デ ー タ 入力 ポー ト IN FCH FD サブ シス テム か ら の デー タ 入 力 ポ ー ト (⑳ デ ー ブ 田 才 ポー ト OUT FDH FD サブ プシ ステ ム へ の デー タ 出 力 ポ ー ト ⑬③ ハ ンド シェ イク 制御 ポー ト IN/OUT FEH ハン ド シ ェ イク の 制御 ポー ト ④ ポ ー ト 制御 ポー ト OUT FFH イン ター フェ イス の 初期 化 ハン ド シ ェ イク 制御 ポー ト の 操作 ( 3 ) FDD サブ プシ ステ ム FDD サブ シス テム の 仕様 を 以下 に 示す . ①CPU PD780A 4MHz ウエ イト 無し ② ROM 8K バイ ト (0000~1FFFH) ③⑧ RAM 16K バイ ト (4000~7FFFH) ③④ FDC PD765A アナ ログ VFO 搭載 ⑤ PORT PD8255 サブ セッ ト FDD サブ シス テム の 1/O ポー ト は 以下 の 通り . 143 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル 人 割込み オペ コー ド ポ ー ト OUT FOH 割込み 発生 時 に CPU が フェ ッ チ する 命令 コー ド リセ ッ ト 時 ノ 通 常時 7FH る ドラ イブ 制御 ポー ト 7 6 5 4 3 2 上 0 RV0〆RV1 ・ ド ライ ブ 0 プ 1 の モー ド 0 ・2D グ 2DD モー ド ll ・2HD モー ド TD0 プ TD1 : ドラ イブ 0 プ 1 の トラ ッ ク 刻 度 0 ・48 TPI (2D) 1 ・96 TPI (2DD プ 2HD) DSI : FDC の ドラ イブ セレ クト 禁止 0 ・ 許可 1 ・ 禁止 CLK : FDC の 動作 クロ ッ ク の 選択 0 ・ 4.8MHz(2D プ 2DD) 1 ・8 MHz(2HD) リセ ッ ト 時 が 6 5 履き 2 0O -|-lelelelelels| ( 注 ) ドラ イブ の トラ ッ ク 密 度 を 48tpi か ら 96tpi に 変更 する 場合 に は 。 まず DSI ニ 1 に し た 後 切換 え を 行う 必要 が ある . @ モ ー タ 制御 ポー ト が 6 5 4 8 2 1 0 M0/M1 : ドライブ 0/1 の モー タ 制 御 0 ・ モ ー タ OFF } ・ モ ー タ ON PCM ・ プ リコ ン ペ ン セ ーション 制御 0 : プリ コン ペン セー ショ ン OFF 1 ・ プ リコ ン ペ ン セ ーション ON リセ ッ ト 時 7 6 5 4 3 2 1 0 ( 注 ) モ ー タ ON の 際 は , 動作 可能 と な る まで に 600 ms の 待ち 時 間 を 必要 と する . ⑧@ タ ー ミ ナル カウ ント ポー ト 入力 ポー ト : F8H 入力 デー タ に 意味 は な い . 機能 8 FDC に ター ミナ ルカ ウン ト (TC) パル ス を 出力 する . 144 @ FDC ステ ー タ スレ ジス タ 4 6 5 4 3 2 1 0 DOB/DIB 0 1 CB @ FDC デー タレ ジス タ : FDC の : OFF : ON :・ FDC の : ドラ イプ 0 プ /1 の ビジ ィ 信 号 > ディ シネ : FDC の ・ レ ディ ER ビジ ィ 信 号 NON 一 DMA 信号 デー タユ 0 信号 SCBU 一 うみ 。 BUDG DG CB : FDC の : DIO=0 DIO=1 : DIO=0 DIO=1 マス タ 要 求 信号 CPU の デー タ セ ッ ト 完 了 CPU の デー タ 引 取り 完了 FDC の デー タ 引 取り 完了 FDC の デー タ セ ッ ト 完 了 5:7= デ オス クイ シタ ー フ ミイ ズ 7 6 4 3 2 1 0 る @ ハ ンド シェ イク ポー ト *・ デ ー タ 久田 力 ポ ー ト IN FCH OU 。 RW ・ ハ ンド シェ イク 制御 ポー ト メイ ン シ ス テム か ら の デー タ 入 力 ポ ー ト NZ ワーク ググ メリ ザル トス テー タス 等 メイ ン シ ス テム へ の デー タ 出 力 ポ ー ト IN/OUT FEH 7 6 5 4 3 2 1 0 1/0 FEH を DACO | REDO | pAvo | Arnr | pac! | RrDI | pAw DACO 0 Hl RFDO 0 1 DAVO 0 1 ATNTI 0 1 DACI 0 1 ビオ イ :・ サ ブシ ステ ム が デー タ 引 取り 完了 ・ メ イン シス テム に 対す る DAC 出 力 ・ メ イン シス テム に 対す る RFD 出力 ジイ : サ デ シ ステ ハバ シド シ ェ イ クレ ディ ・ メ イン シス テム に だ 対す る DAV 出力 ・ サ ブシ ステ ム は デー タ を 出力 し て いな い ・ サ ブシ ステ ム が デー タ を 出力 中 ・ メ イン シス テム か ら の ATN 入力 ・ メ イン シス テム は コマ ンド を 出力 し て いな い : メイ ン シ ス テム が コマ ンド を 出力 中 ・ メ イン シス テム か ら の DAC 入 力 > ビジ ォ ・ メ イン シス テム が デー タ 引 取り 完了 145 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル RFDI ・ メ イン シス テム か ら の RFD 入力 0 ジィ 1 メイジ シス テム ハジ ドジ シェ イク レデ ィ DAVI ・ メ イン シス テム か ら の DAV 入力 0 ・ メ イン シス テム は デー タ を 出力 し て いな い 1 ・ メ イン シス テム が デー タ を 出力 中 ・ モ ー ド 設定 プ ビ ッ ト 操 作 OUT FFH モー ド 設 定 OUT FFH, 91H ビッ ト 操 作 ポ ボート FEH の 出力 ビッ ト を 操作 する . OUT FEFH ER 7 0 ビッ ト 3 一 1 100=DAVO 101= RFDO 110=DACO ビッ ト 0 1 ニセ ッ ト グ 0 ニテ リセ ッ ト 7 5 BIMA モー ド (1) 概要 DMA モー ド で は FDD の 制御 は すべ て メイ ン CPU が 行い 。FDC(zPD765A) と メイ ン メ モリ 間 の デー タ 転 送 に は DMA 転送 が 使用 きれ る . DMA モー ド で FDD の 制御 を 行う た め に は , FDD イン ター フェ イス モー ド と し て DMA モ ー ド を 選択 する だ け で な く , 以下 の 条件 が 必要 と な る . ① 割 込み モー ド が 8259 モー ド で ある こと . ⑨② DMA チャ ネル 2 を 使用 する こと . ③ VFO 回 路 に は アナ ログ VFO 回 路 が 使用 きれ て いる . フロ ッ ピ ー デ ィ ス ク に リー ドブ プラ イト する た め の デ ー タ を , メイ ン メ モリ と FDC と の 間 で DMA 転送 する 際 に 使用 きれ る DMA チャ ネル は チャ ネル 2 で ある . DMA モー ド に お いて メイ ン CPU が FDC の 制御 を 行う 場合 , 割込み 制御 機能 が 必要 と な る が , FDC か ら の 割込み 入力 の 処理 は 割込み モー ド が [8259 モー ド ] の 場合 の み し か 行え な いた め , 割込み モー ド と し て [8259 モー ド ] を 設定 する 必要 が ある . この 場合 使用 され る 割込み チャ ネル は IR11 で ある . (2) | プ グ 0 ポー ト ビッ ト ア サイ ン は ユノ /O ポー ト 一 覧 表 を 参照 . FDC 制御 ポー ト 0 (1B2H) ドラ イブ 別 モ ー ド 設定 (2DD ノ 2HD) ドラ イブ 別 ト ラッ ク 密 度 (48/96TPI) FDC の ドラ イブ セレ クト 禁止 許可 FDC の 動作 クロ ッ ク の 選択 (4.8MHz/8MHz) 146 5:7』 デ イス クイ シタ ニー フェイ FDC 制御 ポー ト 1 (1B4H) ドラ イブ 別 モ ー タ 制御 プリ コン ペン セー ショ ン 制 御 FDC 制御 ポー ト 2 (1B6H) FDC リセ ッ ト FDC 強制 レデ ィ DMA 制御 FDC タイ マ 制 御 FDC(zPD765A) レジ スタ (1B8H ン 1BAH) RDCS ペ デー み ス コマ シド グ デ ー ケ クノ リザ ルド トス テー タス 念 FDC 強制 レデ ィ の 動作 FDC 強制 レデ ィ 機 能 は , ドラ イブ の 有無 を チェ ッ ク す る た め に 行う リキ ャ リブ レイ トコ マン ド だ が , ドラ イブ が 接続 きれ て いな く て も 実行 が 開始 さき れる よう に , FDC(zPD765A) に 対し て 強制 的 に ドラ イブ レデ ィ 信 号 を 入力 する た め の も の で , この リキ ャ リブ レイ ト 動 作 が 正常 終了 し た ドラ イブ の み が 接 続き され て いる と 判断 され る . 人 FDC タイ マ 機 能 FDD イン ター フェ イス に は 独立 し た リト リガ ブル な 約 100 ms の ワン ショ ッ ト タ イマ 機能 が あり 必要 に 応じ て 使用 する こと が で きる . こと の タイ マ の カウ ント 終了 は , 割込み 要求 と し て 出力 され る . た だ し , この 割込み 要求 は FDC か ら の 割込み 要求 と OR され て IR11 に 出力 され て いる た め , FDC が 動作 中 に は 使用 で き な い .。 この タイ マ 機 能 は 主 に タイ ム ア ウ ト に よる FDD の モー タ OFF 機能 を 実現 する た め に 使 用 さき れる. また , この タイ マ を 使用 し て いな い 場 合 に は 必ず 割込み マス ク を し て お く . FDC タイ マ の 制御 は ポー ト 1B6H の ビッ ト 2 (FDC タイ ママ スク ) と ビッ ト 0 (タイ マト リ ガ ) と に よっ て 行わ れる . FDC タイ マ 制 御 シ ー ケ ンス は 以下 の 通り . ① ま ず FDC タイ マ に トリ ガ を か ける . ②FDC タイ マ の マス ク を 解除 する . ⑬③ 必 要 に 応じ て 再び トリ ガ を か ける こと が で きる 。. 割込み 要求 が 発生 する 以前 (100 ms 以内 ) に 再 ト リガ を 行う と , 再 ト リガ の タイ ミン グ か ら 再 び カ ウン ト が 開始 され る ., ④ ト リガ し た 時 点 (① ひ また は ③) よ り 約 100 ms 後に 割込み が 発生 する . ⑤ 割 込み を 処理 する . ⑥ FDC タイ マ に マス ク を か ける 。 55285 MD で シタ ダビ フエ イス HD イン ター フェ イス は PC-9800 シリ ー ズ と 共通 で あり , PC-9800 シリ ー ズ 用 HD ユニ ッ ト が 使用 で きる . 147 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル 5.8 プリ ンタ イン ター フェ イス 5.8.1 プリ ンタ イン ター フェ イス 概要 プリ ンタ イン ター フェ イス は , セン トロ ニク ス 社 仕様 に 準拠 し た 8 ビッ ト パ ラ レル イン ター フ ェ イ ス と な っ て いる . また スト ロー プ は ソフ トウ ェ ア で 送出 する . 5.8.2 1/0O ポー ト 以下 に イン ター フェ イス が 使用 する 1 プ O ポー ト を 示す . (10egー ク ポート OUT 10H : 出力 デー タ (2) スト ロー プ ブ ポー ト OUT 40H (シス テム ポー ト 3) ビッ ト 0 ・ プ リン タス トロ ー ブ 0 ・ ス トロ ー ブ ON 1 ・ ス トロ ー ブ OFF ( 3 ) ステ ー タ スポ ー ト IN 40H (シス テム ポー ト 4) ビッ ト 0 ・ デ リ シ タ ビジ ォ 0 ジリ ジジ , 。 必 当 ば 1 2 グリ シタ 、 ビ ジィ 559MNSa2326 イン ダー フェ イス 5.9.1 RS-232C イン ター フェ イス 概要 RS-232C インター フェ イス は , EIA で 規格 化 さ きれ て いる イン ター フェ イス で , モデ ム 等 と の 接 続 に 使用 する . VA で は , 割込み 制御 の RS-232C イン ター フェ イス を 1 チャ ネル 内 蔵 し て お り 汎用 の シリ アル イン ター フェ イス と し て 使用 で きる . RS-232C イ ンタ ー フ ェ イ ス に は ん PD8251AFC が 使用 され て いる . 5.9.2 1/ プ 0 ポー ト (1) gPD8251 制御 ポー ト OUT ノ IN 20H デー タ ポ ー ト OUT グ IN 21H モー ド プ コマ ンド プス テー タス ( 2 ) 割込み マス ク ポ ー ト 割込み マス クボ ポー ト は , 設定 され た 割込み モー ド に より その 1 ンプ /O アド レス が 異な る . 割込み モ ー ド 及び , 割込み 制御 の 方 法 に つい て は [5.2 割込み ] で 説明 され て いる . 148 5.9 RS-232C イ ンタ ー フ ェ イ ス ① 8214 モー ド の 場合 OUT E6H ビッ ト 2 : RS-232C RxRDY 割込み マス ク 0 : 禁 止 1 : 許 可 ② 8259 モー ド の 場合 OUT 1CD 了 LL (シス テム ポー ト 8 ) ビッ ト 2 : RS-232C TxRDY 割込み マス ク ビッ ト 1 : RS-232C TxEMPTY 割込み マス ク ビッ ト 0 : RS-232C RxRDY 割込み マス ク 0 1 1 ・ 許可 ラー = ンー ( 注 ) ポー ト 1CFH に より 各 ビ ッ ト 単 位 に セッ トノ プリ セッ ト を 行う こと が で きる . ( 3 ) ステ ー タ スポ ー ト : (シス テム ポー ト 4, 7) ① DCD 信号 IN 40H ビッ ト 2 IN 1CBHL ゼッド 5 0 : キヤ リア OEE 1 ・ キャ リア ON ② CTS 信号 IN 1CBH ビッ ト 6 0 “CIS OEF 1 5 CHIS ON ⑬ CI 信号 IN 1CBH ビッ ト 7 CI 信号 0 | OFF 1 (| ON ( 4 ) ボー レー ト 制 御 ポ ー ト RS-232C の ボー レー ト は CPU に 内 蔵 き まれ て いる TCU の カウ ンタ #2 を プロ グラ ム す る こと に より 決定 され る . ⑩UT デ IN 。 1A4H」 カウ ンタ #20 デ テ タス テー タス OUT ノ IN 1A6H TCU 制御 (10110110B) タイ マ の カウ ント レー ト は 250.4ns(3.9936 MHz) と な っ て お り , 使用 する ボー レー ト の 設定 は /PD8251 に 設定 する ボー レー ト フ ァ ク タ と 関連 し て カウ ンタ #2 に カウ ント 数 を 設定 する こ と に より 行わ れる . 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル 5.10 サウ ンド 機能 5.10.1 サウ ンド 機能 概要 本 機 に は FM 音源 方 式 の ディ ジタル シン セ サ イ ザ が 搭載 され て お り , 自然 楽器 に 近い 音 を 合成 し で 明秀 す る と と が で きる 、。 サウ ンド 機能 と し て は 以下 の も の が ある 。. 1) FM 音源 : き 他 3 導 (4 オペ ルー クタ) 2) SSG 音源 5 才 立 3) BEEP : タイ マ で 設定 され た 周波 数 の 音 を 出す 4) PORT : 1 ビッ ト の 出力 ポー ト で 直接 スピ ー カ ー を ドラ イブ 5 O02 92 シド ロン トロ ー ラ FM 音源 プ SSG 音源 に は 専用 LSI(YM2203) が 使用 きれ て いる . YM2203 の 詳細 に つい て は , YM2203 の ドキ ュ メ ント を 参照 する も の と し て , ここ で は 1/0 アド レス と レジ スタ の 機能 に つ いて 記述 する に と ど め る . (1) YM2203 の 1 プ 0 アド レス OUT 44H レジ スタ の 選択 IN 44H ステ ー タ ス の 読出 し OUT 45H レジ スタ へ の 書込み IN 44H レジ スタ か ら 読 出し また 46H, 47H は サウ ンド 機能 の 将来 の 拡張 の た め に リザ ー ブ さ れ て いる . ( 2 ) YM2203 の レジ スタ 構成 YM2203 の 内 部 レジ スタ の アク セス 方 法 は 間接 アド レス 方 式 と な っ て お り , まず アク セス し た ぃ い レジ スタ を 指定 し た 後 ,。 デー タ ポ ー ト より アク セス する 。 な お ,① レ ジス タ を 指定 し た 後 デ ー タ を 入出 力 す る まで と , ② デ ー タ 入出 力 後 次 の レジ スタ を 指定 する まで に は YM2203 が ビジ ィ と な る 期間 が ある た め , レジ スタ の 設定 アア クセ ス は ステ ー タス 内 に ある ビジ ィ フ ラグ (OPNBSY 信号 ) が レデ ィ と な っ て いる こと を 確認 し た 後 行 う 必 要 が ある 。 150 5.10 サウ ンド 機能 ( 2 . 1 ) YM2203 の 内 部 レジ スタ の 構成 アド レス 00~0OFH まで は リー ドグラ イト 可能 チャ ネル A 周波 数 設定 チャ ネル B 周波 数 設定 チャ ネル C 周波 数 設定 ノイ ズ ジ ェ ネ レー タ 制 御 SSG 1/0 制御 ミキ サー 制御 SSG, I/O チャ ネル A レベ ル チャ ネル B レベル SSG チャ ネル (人 レベ ル ー プ パラ メー タ (下位 8 ) SSG (上 位 8) | c | ATT | ArT | grp SSG 1/0 エン ベロ アド レス 24H- は ライ ト の み レジ スタ イマ (上 位 8) (下位 2 ) グン で マ 。 邑 モー ド | タイマ 制御 各 チ ャ ネル に 対す る スロ ッ ト の ON ンプ OEFF プリ スケ ー ラ 制御 チャ ネル 1 : スロ ッ ト 1 ロッツ トス ス 旭 ッッ ト 3 スロ ッ ト 4 チャ ネル 2 : ス ロッ ト 1 DETUNE any ド MULTIPLE スロ ッ ト 3 スロ ッ ト 4 チャ ネル 3 : スロ ッ ト 1 スズ スロット 2 ズ ロ マト 。3 スロ ッ ト 4 同上 トー タル レベ ル (アド レス の 順序 に 注意 ) 151 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル KEY スケ ー ル ATTACK レー ト DECAY レー ト SUSTAIN レー ト SUSTAIN レベ ル RELEASE レー ト SSG タイ プ の エン ベロ ー プ 制御 チャ ネル 1 F-Num. (下位 ) F-Num. (上 位 ), BLOCK チャ ネル 2 F-Num. (下位 ) F-Num. (上 位 ), BLOCK チャ ネル 3 F-Num. (下位 ) F-Num. (上 位 ), BLOCK スロ ッ ト 1 F-Num. (下位 ) F-Num. (上 位 ), BLOCK FM スロ ッ ト 2 F-Num. (下位 ) チャ ネル 3 F-Num. (上 位 ), BLOCK 通常 モー ド スロ ッ ト 3 F-Num. (下位 ) 以外 F-Num. (上 位 ), BLOCK チャ ネル 1 チャ ネル 2 チャ ネル 3 * 1 通常 モー ド 以 外 の 場合 に は , チャ ネル 3 の スロ ッ ト 4 の 指定 と な る . SELF FEEDBACK グ CONNECTION (2 .2) ステ ー タ スレ ジス タフ ォ ー マ ッ ト が 1 0 CS - | | -|-| - CT OPNBSY : コマ ンド プ デ ー タ イン ター フェ イス ビジ ィ フ ラグ 0 ニレ ディ ググ 1= ビ ジィ TEFLGB : タイ マ B 終了 フラ グ 0 ニセ ッ ト 状 態 ( カ ウン ト 終 了 ) 1 = ニ リ セ ッ ト 状 態 TFLGA : タイ マ A 終了 フラ グ 0 ニセ ッ ト 状 態 ( カ ウン ト 終 了 ) 1 = ニ リ セ ッ ト 状 態 ( 3 ) YM2203 か ら の タイ マ 割 込み YM2203 に は 2 系 統 の タイ マ 機 能 が あり , この タイ マ に より CPU に 割込み を か ける こと が で きる . 割込み の レベ ル は モー ド に よっ て 異な る . 152 5.10 サウ ンド 機能 1) 8214 モ ー ド 一 一 INT4 割込み 2) 8259 モ ー ド 一 一 - IR12 割込み な お , 8214 モー ド の 場合 に は YM2203 か ら の 割込み 出力 は バス スロ ッ ト か ら の 割込み 入力 UINT1(IR5) と の 論理 和 を と っ て 割込み コン トロ ー ラ に 入力 され て いる . し た が っ て YM2203 の タイ マ 割 込み 機能 を 使用 する 場合 に は UINT1(IR5) か ら の 割込み 入力 を 使用 する こと が で き な い 。 YM2203 か ら の 割込み に は 独立 し た マス ク 機 能 が あり , ポー ト 32H に より 制御 で きる . OWT 32H ビッ ト 7 : SINTM サウ ンド 割込み マス ク 0 ・ 割込み 許可 1 ・ 割 込み 禁止 ( 例 : サウ ンド コン トロ ー ラ 割込み を 禁止 する 場合 GMode8 EQU 32H CLI IN ATL, GMode8 OR AL, 80H OUT _GMode8, AL STI この 割込み マス ク は YM2203 内 か ら の 割込み を 使用 し な い 場 合 だ け で な く , YM2203 内 に ある 2 組 の タイ マ を 同時 に 使用 する 時 に も 使用 さき れる. この 場合 YM2203 か ら の 割込み に 応答 する 割込み 処理 ルー チン で は , 割込み を 受け 付け た ら ま ず SINTM= 1 に し て 割込み 信号 を マス ク し た 後 で 割込み 処理 を 行い , 割込み 要因 を 取り 除い た 後 (カウ ント アッ プレ し た タイ マ を リセ ッ ト す る ) に だ SINTM= 0 と し て マス ク を 解除 する . この 操 作 に より 割込み 機能 が ロッ ク す る こと が 防止 され る . 5.10.3 BEEE BEEP 回 路 は TCU の カウ ンタ #1 で 設定 し た 周波 数 で スピ ー カ ー を 鳴ら す も の で , ポー ト 出 力 に よっ て ON ノ ズ OFF する . これ は シス テム で 使用 きれ る ブザー 音 と し て 使用 きれ て いる . 発生 する 音 の 周波 数 は 通常 2400Hz に 設定 され て いる が , カウ ンタ #1 の 設定 値 を 変更 する こと に よっ て 周波 数 を 変更 する こと が で きる 。. 周波 数 (Hz) =3993600 プ カウ ンタ 設定 値 BEEP の ON ノン OFE を 指定 する ポー ト に は 以下 に 示す 2 ビッ ト が あり , その いずれ か 一 方 が ON と な る と 他方 が OFF で も BEEP は ON と な る が , V3 モー ド で は ポー ト 1CDH を 使用 し , ポ ー ト 40H の BEEP は 常に 0 に と し て お さく. OUT 40H ビッ ト 5 ・BEEP ブザー ON ノ OFTF 指定 0 ・ ブ ザー OFF 1 ・ プ ザー ON 153 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル OU TICGDE Ew ツ ド 3 : XBEEP ププ ザー ON/OFTF 指定 0 ・ ブ ザー ON 1 ・ グ ザー OR ( 例 ) ポー ト 1CDH の 操作 は ポー ト 1CFH に よる ビッ ト セ ッ ト プ リセ ッ ト に より 行う . _SysPort EQU 1CFH MOV DX, SysPort MOV AL, 6 OUT DX, AL ; BEEP ON MOV DX, SysPort MOV AL, 7 OUT DX, AL , BEEP OFF 5.10.4 PORT ポー ト 出 力 に よる 音声 出力 は 1 ビッ ト の 出力 ポー ト が 直接 スピ ー カ ー を ドラ イブ する も の で 。 ソフ トウ ェ ア に より 周波 数 が 決定 され る . また この 機能 に は 独立 し た マス ク 機 能 が あり 。 通常 は マス ク さ れ て いる 。. @ PORT 出力 OUT 40H( シ ステ ム ポ ー ト 3) ビッ ト 7 (FBEEP) の 連続 的 な ON プ OFF に よっ て サウ ンド を 発生 きせ る . @ PORT マス ク OUT 190H ビ ッ ト ( シ ステ ム ポ ー ト 5) ビッ ト 4 : FBEEP イネ ー ブ ル (FBEN) 0 ・ FBEEP に よる コン トロ ー ル を 禁止 1 : FBEEP に よる コン トロ ー ル を 許可 5 メイ シタ ー フ ェ イ ス 5.11.1 マウ スイ ンタ ー フ ェ イ ス 概 要 マウ スイ ンタ ー フ ェ イ ス は 88SR 以降 に 装備 され て いる 汎用 入出 力 イ ンタ ー フ ェ イ ス と 同等 で あり , マウ ス だ け で な く ジ ョ イス ティ ッ ク ・ タ ブレ ッ ト 等 各種 の 周辺 機器 を 接続 する こと が で き る . マウ スイ ンタ ー フ ェ イ スポ ー ト の ビッ ト 数 は 次 の 通り . 入力 ポー ト 4 ビット 出力 ポー ト 1 ビビ y ド 入出 力 ポ ー ト 2 ビット 154 5.11S マ ウス イン ター フ モ イ バイ @ 入 力 ポ ー ト か ら の デー タ 入 力 入力 ポー ト か ら は YM2203 を 介し て デー タ を 受け 取る . OUT 0044H, OEH (YM2203 レジ スタ 選択 ) IN 0045H ビッ ト 0 で 3 : 入力 デー タ (正論 理 ) @ 出力 ポー ト へ の デー タ 出 力 OUT 0040H ビ ピット 6 : 出力 デー タ (正論 理 ) @ 入 出力 ポー ト の 方 向 設定 入出 力 ポ ー ト の 方 向 は 2 ビッ ト と も ゃ 一 括 し て 設定 され る . OUT 0044H, 07 了 HI (YM2203 レジ スタ 選択 ) OUT 0045H ビッ ト 7 ・ 入 出力 ポー ト の 方 向 設定 0 : 入力 ポー ト に 設定 @ 入 出力 ポー ト で の デー タ 入 出力 OUT 0044H, OFH (YM2203 レジ スタ 選択 ) IN〆OUT 0045H ビッ ト 0 プ 1 : 入出 力 デ ー タ (正論 理 ) 5.11.2 マウ ス と の イン ター フェ イス 方 法 マウ スイ ンタ ー フ ェ イ ス に マウ ス を 接続 する 場合 は 各 ポ ー ト を 次 の 用 途 に 使用 し て いる . ・ 入 出力 ポー ト (2 ビッ ト ) 入力 ポー ト に 設定 し て マウ ス ボ タ ン の 状態 を 取り 込む ・ 入 力 ポ ー ト (4 ビット) マウ ス の メン ノ Y 方 向 の 移動 量 を 取り 込む ・ 出 力 ポ ー ト (1 ビット) マウ ス 移 動 量 の 取込み 時 に スト ロー ブ を 送出 する ・ マ ウス イン ター フェ イス タイ ミン グ マウ ス と の イン ター フェ イス の タイ ミン グ は 下図 の と お り . [ BK キー SE TD ] は 本 | ye を 2 (ーー ーーーーー STROBE 155 第 5 章 その 他 の ハー ドウ ェ ア コ ント ロー ル TA/TB は マウ ス か 必要 と する 時 間 で あり , TC/TD は CPU が 守る 必要 が ある 時 間 . TA : スト ロー ブ の 立ち 上 が りか ら 最 初 の デー タ が 確定 する まで =80zs 以内 TB : ストロー ズブ の 変化 か ら 次 の デー タ が 確定 する まで =30zs 以内 TC : デー タ 読 取り 時 の スト ロー ブ の 間隔 180us 以内 TD : 最後 の スト ロー ブ 変 化 か ら 次 回 の デー タ 読 取り の た め の ス トロ ー ブ の 立ち 上 が り ま で = 88gs 以上 D0-D3 : マウ ス か ら の デー タ (4 ビッ トブ づつ ) 前 回 か ら の 移動 量 が 符号 付き 1 バイ ト 数 で 得 ら れる . D0 : 前 回 か ら の 水平 移動 量 ( 上 位 4 ビット) D1 : 前 回 か ら の 水平 移動 量 ( 下 位 4 ビッ ト ) D2 : 前 回 か ら の 垂直 移動 量 ( 上 位 4 ビッ ト ) D3 : 前 回 か ら の 垂直 移動 量 ( 下 位 4 ビット) 52 コス キャ ナオ インターフェイス 5.12.1 スキ ャ ナイ ンタ ー フ ェ イ ス 概 要 スキ ャ ナイ ンタ ー フ ェ イ ス は イメ ー ジ スキ ャ ナ を 接続 する た め の も の で あり , 3 個 の 8 ビッ ト パラ レル ポー ト か ら 構 成 さ れ て いる . この 1/O ポー ト に は PD8255 が 使用 され て お り , リセ ッ ト 後 に 各 ポ ー ト の 設定 仕様 に 合わ せ て コマ ンド ポー ト よ り イ ニシ ャ ライ ズ を 行う 必要 が ある . な お , イニ シャ ライ ズ 後 に は , 出力 ポ ー ト と し て 設定 され た ポー ト の 出力 は すべ て 1 度 [ 0 ] と な る た め 注 意 が 必要 で ある . 5sR22 1/0 ボート BCH PD8255 ポー ト A BDH /PD8255 ポー ト B BEH /PD8255 ポー ト C BFH PD8255 制御 ポー ト スキ ャ ナ を 接続 し た 場合 の ポー ト ア サイ ン を し めす . ポー ト C に 対す る 出力 は ポー ト BFH を 使っ て 行う (⑤ 参 照 ). ① PD8255 イニ シャ ライ ズ グル ー ジ 入 モー ド 1 ボー ト 信 測 有 の ポー トド CE 人 箇 届 胃 グル ー プ B 一 一 モー ド O ポー ト B 入 力 ポー ト C 下 位 入力 OUT 00BFH,0A3H スキ ャ ナ 制 御 (INOUT) ポー ト C ビッ ト 0 : スキ ャ ナ の 接続 入力 0 ・ ス キャ ナ が 接続 され て いる 1 ・ ス キャ ナ が 接続 され て いな い ポー ト C ビッ ト 4 : ス キャ ナリ セッ ト 出 力 0 ・ リ セッ ト 出 力 1 ・ 動作 中 156 5.12 スキ ャ ナイ ンタ ー フ ェ イ ス 潤 政 :G。 み ト 1 3 XSRDY レデ スイ 入力 0 ・ ス キャ ナレ ディ 1 ・ ス キャ ナビ ジィ ③ ス キャ ナ に 対す る 出力 ポー ト A: 出力 デー タ (8 ビッ ト ) ポー ト C ビッ ト 7 : XSOBF 読込 み 要求 出力 ポー ト A に 出力 し た と き 自 動 的 に ON(0 ) に な る . スキ ャ ナ か ら の デー タ 受 信 ア クノ リッ ジ に よっ て 自動 的 に OFF(1) に な る 。 ビッ ト 6: XS5ACK スキ ャ ナ デ ー タ アク ノリ ッ ジ 入力 スキ ャ ナ が デー タ を 受け 取っ た と き ON(0 ) の スト ロー ブ が 返さ れる . ビッ ト 3 : SINTR 使用 し な い 〈④ ス キャ ナ か ら の 入力 ボード B:. 入力 デー タ (8 ピット) ポー ト C ビッ ト 5 : XCACK デー タ ア クノ リッ ジ 出 力 スキ ャ ナ か ら の デー タ を 受け 取っ た と き ON(0 ) の スト ロー ブ を 送出 する . ビッ ト 2 : XSDIRQ 読込 み 要求 入力 スキ ャ ナ が デー タ 出 力 し た と き ON( 0 ) に な る 。. アク ノリ ッ ジ を 出力 する こと に より OFF( 1 ) に な る . ポー ト C ビッ ト セ ッ ト プ リセット OUT BFH ビ ピッ ト 7 # 0 ビ ピット 3 一 1 ・ 操作 ビッ ト 指 定 ビッ ト 0 ・ セッ ト (1) リ セッ ト (0) 指 定 157 市 香寺 SD I Wr rE 1 ET - ゴリラ ュー も よう っ っ 衣 ) 出る で rset | Ag 0 dv ー 6 kuu mI Pr ny ‘i$ EE し 上 eaetwrxe * * RR お i ー 。 党 尼 3 wn Nu st sn AF THO ts SD | a A PE 内 EH IRE EI MAY i 合い Nr vias EE : - PINee te が Mm も EE 第 日 草 BIOS 6 用 一 玩 イ ズン SEIOS 内 蔵 フ ロッ ピー ディ スク ドラ イブ を DMA イン ター フェ イス か ら 制 御 す る も の で あり , 以下 の 機能 を 持っ て いる . @ フ ロッ ピー ディ スク BIOS 機能 一 覧 機能 番号 (16 進 ) 機 フロ ッ ピ ー デ ィ ス クシ ステ ム の 初期 化 デー タ の 読出 し デー タ の 書込み 1 トラ ッ ク フ ォ ー マ ッ ト 1 ドラ イプ フォ ー マ ッ ト セク タ ID の 読出 し リキ ャ リプ ブレ ー ト 実行 結果 ステ ー タ ス の 取得 ドラ イブ の レデ ィ チ ェ ッ ク ドラ イブ ドア の 開閉 取得 ディ スク モー ド の 設定 ワー クエ リア の 初期 化 @ 呼出 し 時 の パラ メー タ 各 フ ァ ン クシ ョ ン を 呼び 出す 時 の パラ メー タ の 一 般 型 は 次 の 通り で ある . AH ニコ マン ド 番 号 0: リト ライ 有り 1:. り LR ラル が CH = ドラ イブ 番号 (0 また は 1 ) CL ニトラ ッ ク 番 号 (= ニ シリ ンダ 番号 X2 十 ヘッ ド 番 号 ) DH = セク タタ 番号 DL = セク タ 長 お よび MFM/FM 指定 Si し 2 0 お 128 | 256 | 512 | 1024 | 2048 | 4096 | 8190 | 16384 | 32768 ES : BP ニ リー ドブ プラ イト 時 の デー タバ ッ フ ァ ( 注 ) 奇数 番地 で も よい . FFFFFH を また ぐ 領 域 は 設定 で き な い . AL ニ デ ー タ 長 プ フォ ー マ ッ ト デ ー タ ディ スク モー ド な ど 159 第 6 章 BIOS @ 呼 出し 方 ① パラ メー タ 設 定 ② AH< 機能 番号 ③ INT 80H レジ スタ は AX ノ CF 以外 は 値 を 返す 場合 を 除い て 保存 され る . @ ス テー タス 各 フ ァ ン クシ ョ ン は 終了 時 に AH レジ スタ に リザ ルト ステ ー タ ス を 返す 、 エ ラー 状態 の と き は 同時 に キャ リー フラ グ を セッ ト す る . CF=0 (ノー エラ ー) AH の 値 (16 進 ) 00 正常 終了 01 ライ ト プ ロ テク ト (SENSE 実行 時 の み ) GCE=N Cs) AH の 値 (16 進 ) 02 パラ メー タ エ ラ ー 指定 し た パラ メー タ が レン ジ 外 の と き . 2 パッ プア ァ アエリア が FFPFEE を まだ ぐ で と き 。 03 デバ イス 異常 ドラ イブ の 異常 プ ド ライ ブ が 接続 きれ て いな いな どの 場合 . 04 ノッ トレ ディ ドラ イブ が レデ ィ 状 態 に な い 場 合 . 05 . ラ イト プロ テク タク テッド 書込み 時 に ライ ト プ ロ テク ト 状 態 が 検出 され た と き . 06 CRC エラ ー(TD) ID の CRC エラ ー が 検出 され た と き . 07 CRC エラ ー(DATA) DATA 部 の CRC エラ ー が 検出 され た と き . 08 ノー セク タ トラ ッ ク に 指定 し た ID が 見 つか ら な いと き . 09 ノー シリ ンダ エラ ー 08 の 特殊 な 場合 で , 指定 し た ID の シリ ンダ 番号 が 見 つか ら な いと き , シー クエ ラー の 可能 性 が あり , RECALIBRATE の 必要 が ある . 0A 不良 シリ ンダ エラ ー 09 の 特殊 な 場合 で 。 シリ ンダ 番号 が FFH の と き . 0B ミッ シン グ ア ド レ スマ ー ク (ID) トラ ッ ク に 正常 な ID が ひと つも 見 つか ら な いと き 。. 0C ミッ シン グ ア ド レ スマ ー ク (DATA) ID の あと に 正常 な DATA 部 が 続か な いと き 。. 0D タイ ム ア ウ ト エ ラー FF 不定 エラ ー( そ の 他 の エラ ー) 例え を ば, リー ドア フタ ー ラ イト 時 に FDC エラ ー が 検出 され な い に も か か わら ず , デ ー タ に 差異 が 生じ た 場合 160 6.1 フロ ッ ピ ー デ ィ ス ク BIOS 6.1.1 ファ ンク ショ ン 解 説 | 00H | フロ ッ ピ ー デ ィ ス クシ ステ ム の 初期 化 入 、 力 AH ニ =00H BYTE[SINTSTAT#0, #1] BYTE[SINTSTAT#0, #1+1] FDC の ST0 (RICALB 時 ) FDC の PCN (RICALB 時 ) INT 80H 出 力 AH=0 CF=0 (作業 領域 ) BYTE[DISKMODE#0, #1] ~ FFH ( 全 無 効 モ ー ド ) BYTE[SURFMODE] < 03H ( 全 両 面 モー ド ) BYTE[BIOSMODE] < 0 (通常 アク セス ) BYTE[RETRYNUM] ~ 8 (リト ライ 8 回 ) BYTE[MTOEFFTIM] ~ 250D (25 秒 ) BYTE[UNITSTAT] < ドラ イブ の 接続 状況 BYTE[DINTSTAT] < 0 (割込み 状況 初期 化 ) BYTE[DOORSTAT] ~ 0 (ドア 開閉 無 ) BYTE[MOTRSTAT] ~ FFH (コマ ンド 終了 直後 ) 一 BYTE[MTOFFCNT] Ei 部 1) 2) 3) 4) 5) 250D (コマ ンド 終了 直後 ) フロ ッ ピ ー デ ィ ス ク BIOS の 初期 化 を 行う . FDC(PD765A) の 初期 化 FDC の SENSE INT STATUS コマ ンド を 用 いて ,。 状態 遷移 が 検出 され な く な る まで ST0 を 受取 り 続 ける . FDC SPECIFICATION の 初期 化 FDC の SPECIRY コマ ンド を 用 いて , SRT, HUT, HLT お よび ND を 1D ン 2D 状態 に 初期 化す る . SPECIFY SRT, HUT HLT, ND 03H DAH 18H ヘッ ド 位 置 の 初期 化 ドラ イブ #0, #1 に 対し て FDC の コマ ンド を 発行 し , さら に SENSE INT STATUS コマ ンド を 用 いて 。 各 ドラ イブ の 接続 状況 を [UNITSTAT] に 格納 す る . BIOS の ワー クエ リア の 初期 化 ドラ イブ 制御 ポー ト の 初期 化 ポー ト 01B2H を 1D ン 2D 状態 に 初期 化す る 161 第 6 章 BIOS | 01H | デー タ の 読出 し 入力 AH=01H/81H AL ニセ クタ 数 CH= 論 理 ド ライ ブ 番 号 (US1, US0) CL= 論 理 ト ラッ ク 番 号 (NCN, HD) DH = 開始 セク タ 番 号 (R) DL=FM 指定 お よび セク タ 長 (N, MF) ES : BP ニ バッ ファ 領域 の アド レス BYTE[BIOSMODE] の IDR =1 の 時 : BH=ID シリ ンダ 番号 (C) BL =ID ヘッ ド 番 号 (H) INT 80H (作業 領域 ) BYTE[SURFMODE] サー フェ スモ ー ド BYTE[DISKMODE#0 ノ #1] ー ド ライ ブ の ディ スモ ー ド BYTE[RETRYNUM] デー リ ト ライ カウ ント BYTE[BIOSMODE] の PARM ビッ ト ニュ ユー ザ パ ラメ ー タ 使用 の 有無 出 力 AH= ス テー タス コー ド 6R 三 ラージ シラ グ (作業 領域 ) BYTE[RSLTSTAT] RDC の リー ド デ ー タ コマ ンド BYTE[RSLTSTAT +1~+7] =FDC の ST0~ST2, C, H, R, N BYTE[SINTSTAT#0 ノ #1] =FDC の ST0( シ ー ク 時 ) BYTE[SINTSTAT#0 ノ #1 二 1] =FDC の PCN (シーク 時 ) 章 に ディ スク か ら デ ー タ を 読み 出す 。 た だ し , 2 トラ ッ ク 以 上 に また が っ て アク セス する こと と は で き な い . [BIOSMODE] の IDR ビッ ト に 1 が 立っ て いる 場合 に は , レ ジス タ BH ゲ BL が ID の シリ ンダ ヘッ ド 番 号 を 指定 する . [BIOSMODE] の PARM ビッ ト に 1 が 立っ て いる 場合 に は , FDC 用 の パラ メー タ と し て [USERPARM] の 5 バイ ト の 値 を 用 いる . し た が っ て , この 場合 に は あら か じ め [USERPARM] に 値 が 設定 され て いる 必要 が ある . | 02H | デー タ の 書込み 入 、 力 AH=02H ノ 82H AL ニセ クタ 数 CH= 論 理 ド ライ ブ 番 号 (US1, US0) CL= 論 理 ト ラッ ク 番 号 (NCN, HD) DH = 開始 セク タ 番 号 (R) DL=FM 指定 お よび セク タ 長 (N, MF) ES : BP ニ バッ ファ 領域 の アド レス 162 章 に 4 6.1 フロ ッ ピ ー デ ィ ス ク BIOS BYTE[BIOSMODE] の IDR=1 の 時 : BH=ID シリ ンダ 番号 (C) BL=ID ヘッ ド 番 号 。 (HH) INT 80H (作業 領域 ) BYTE[SURFMODE] ーー サー フェ スモ ー ド BYTE[DISKMODE#0 ノ #1] = ドラ イプ #0 ノノ #1 の ディ スク モー ド BYTE[RETRYNUM] デニ リ トラ イカ ウン ト BYTE[BIOSMODE] : PARM ニュ ユー ザ パ ラメ ー タ 使用 の 有無 BYTE[BIOSMODE] : RAW ーー チェッ クリ ー ド の 有無 AH ニス テー タス コー ド CF ニ エラ ー フ ラグ (作業 領域 ) BYTE[RSLTSTAT] =ーFDC の ライ ト デ ー タ コマ ンド BYTE[RSLTSTAT+1~+7] =FDC の ST0~ST2, C, H; R, N BYTE[SINTSTAT #0/#1] =FDC の ST0( シ ー ク 時 ) BYTE[SINTSTAT #0/#1+1] =FDC の PCN (シーク 時 ) ディ スク に デー タ を 書き 込む 。 2 トラ ッ ク 以 上 に また が っ て アク セス する こと は で き な い 。 | 03H | 1 トラ ッ ク フ ォ ー マ ッ ト 9) AH=03H/83H AL= イ ニシ ャ ライ ズ デ ー タ CH = 論理 ドラ イブ 番号 (US1, US0) CL = 論理 トラ ッ ク 番 号 (NCN, HD) DL =FM 指定 お よび セク タ 長 (N, MF) BYTE[BIOSMODE] の IDR=1 の 時 : ES : BP=ID 並び の アド レス INT 80H (作業 領域 ) BYTEISURFEMODE] ーー サー フェ スモ ー ド BYTE[DISKMODE#0 ノ #1] ニード ライ ブ #0 ノ #1 の ディ スク モー ド BYTE[RETRYNUM] 三 り ドジ イカ シレ ント BYTE[BIOSMODE] : PARM ニュ ユー ザ パ ラメ ー タ 使用 の 有無 AH ニス テー タス コー ド CE ニ = ニ エ ェ エラー フラグ (作業 領域 ) BYTE[RSLTSTAT] =FDC の ライ ト ID コマ ンド BYTE[RSLTSTAT 十 1-- 十 7] =FDC の ST0~ST2, C, H, R, N 163 第 6 章 BIOS BYTE[SINTSTAT#0 ノ #1] BYTE[SINTSTAT#0 ノ #1 十 1] 弄 に =FDC の ST0( シ ー ク 時 ) =FDC の PCN( シ ー ク 時 ) 指定 され た トラ ッ ク を , フォ ー マ ッ ト す る . [BIOSMODE] の IDR ビッ ト に 1 が 立っ て いる 場合 に は , レジ スタ ES : BP で ID 並び の 先頭 アド レス を 指定 する . [BIOSMODE] の PARM ビッ ト に 1 が 立っ て いる 場合 に は , FDC 用 の パラ メー タ と し て [USERPAR- M] の 5 バイ ト の 値 を 用 いる . 9041 ドラ イワ ォ ー マ ツ ト 入力 AH=04H ノ 84H AL= イ ニシ ャ ライ ズ デ ー タ CH= 論 理 ド ライ ブ 番 号 DL=FM 指定 お よび セク タ 長 BYTE[BIOSMODE] : IDR=1 の 時 ES : BP=ID 並び の アド レス INT 80H (作業 領域 ) BYTE[SUREFMODE] BYTE[DISKMODE#0 ノ #1] BYTE[RETRYNUM] BYTE[BIOSMODE] : PARM 出 。 カ カカ AH ニス テー タス コー ド CFEF= エ ラー フラ ラグ (作業 領域 ) BYTE[RSLTSTAT] BYTE[RSLTSTAT 二 1 一 十 7] BYTE[SINTSTAT#0 ノ #1] BYTE[SINTSTAT#0 ノ #1 十 1] に 3 (US1, US0) (N, MF) ー ニ サー フェ スモ ー ド ー ド ライ ブ #0 ノ #1 の ディ スク モー ド = リト ライ カウ ジ シト ニュ ユ ュー ザ パ ラメ ー タ 使用 の 有無 =ーFDC の ライ ト ID コマ ンド =FDC の ST0~ST2, C, H, R, N =FDC の ST0( 最 終 シ ー ク 時 ) =FDC の PCN( 最 終 シ ー ク 時 ) 指定 され た ドラ イブ の メデ ィ ア で フォ ー マ ッ ト す る . [BIOSMODE] の IDR ビッ ト に 1 が 立っ て いる 場合 に は , レジ スタ ES : BP で ID 並び の 先頭 アド レス を 指定 する . [BIOSMODE] の PARM ビッ ト に 1 が 立っ て いる 場合 に は , FDC 用 の パラ メー タ と し て [USERPARM] の 5 バイ ト の 値 を 用 いる . | 05H | セク タ ID の 読出 し 入力 AH=05H プ 85H CH= 論 理 ド ライ ブ 番 号 (US1, US0) CL= 論 理 ト ラッ ク 番 号 (NCN, HD) DL=00H : MEM モー ド =80H : FM モー ド 164 に 6.1 フロ ッッ ピー ディスク BIOS INT 80H (作業 領域) BYTE[SUREFMODE] ーー サー フェ スモ ー ド BYTE[DISKMODE #0/#1] = ドラ イブ #0 ノ #1 の ディ スク モー ド BYTE[RETRYNUM] リト ライ カウ ント BYTE[BIOSMODE] : PARM ニュ ユー ザ パ ラメ ー タ 便 用 の 有無 AH ニス テー タス コー ド AL =FDC の ST0 BH =FDC の ST1 BL = HDC OST2 CH =FDC の C CL FDC の H DH =FDC の R DL =FDC の N CF 三 和 スニ デフ ラグ (作業 領域 ) BYTE[RSLTSTAT] =FDC の リー ド ID コマ ンド BYTE[RSLTSTAT 1 一 十 7] =FDC の ST0~ST2, C, H, R, N BYTE[SINTSTAT #0/#1] =FDC の ST0( シ ー ク 時 ) BYTE[SINTSTAT#0 ノ #1 十 1] =FDC の PCN( シ ー ク 時 ) 旧 定 され た トラ ッ ク で 最初 に 発見 され た 正常 な ID を 読み 出す . [BIOSMODE] の PARM ビッ ト に 1 が 立っ て いる 場合 に は , 最大 シリ ンダ 番号 と し て [USERPARM] の MAXCYL を 用 いる . また この コマ ンド に 限り , 指定 し た FDC パラ メー タ と 読み 出し た ID が 一 致し な く て も エラ ー は 返さ な い . | 06H | リキ ャ リプ レイ ト 人 カカ 薄 に AH=06H CH= 論 理 ド ライ ブ 番 号 (US1, US0) INT 80H AH ニス テー タス コー ド CF 三笠 ター フラ タグ (作業 領域 ) BYTE[SINTSTAT#0 ノ #1] =FDC の ST0 BYTE[SINTSTAT#0 ノ #1 十 1] =FDC の PCN 指定 され た ドラ イブ の ヘッ ド を リキ ャ リブ レイ ト ( シ リン ダ 0 へ 移動 ) す る . FDC へ の リ キャ リブ レイ トコ マン ド を 2 回 発行 し た の ち , 一 且 シ リン ダ 5 ま で シー ク し , 再度 リキ ャ リブ レイ トコ マン ド を 発行 する . 165 第 6 章 BIOS | 07H | 実行 結果 ステ ー タ ス の 取得 入 、 力 AH ニ =07H CH= 論 理 ド ライ ブ 番 号 (US1, US0) INT 80H 出 力 AH= ニ ステ ー タ スコ ー ド AL=FDC の ST3 CF ニ エラ ー フ ラグ 解 説 FDC に 対し て SENSE DEVICE STATUS コマ ンド を 発行 し 。ST3 の 値 を 受け 取る . | 08H | ドラ イブ の レデ ィ チ ェ ッ ク 入 、 力 AH=08H CH 論理 ドラ イブ 番号 (US1, US0) INT 80H 出 力 AH ニス テー タス コー ド CF=0: ド ライ ブレ ディ 1: フッ トレ ディ 解 説 指定 され た ドラ イブ が アク セス 可能 な 状態 に - あ る か どう か を チェ ッ ク す る . | 09H | ドラ イブ ドア の 開閉 取得 入 カカ AH=09H CH= 論 理 ド ライ ブ 番 号 (US1, US0) INT 80H 出 力 AH=0 CF=0 : 開閉 無し 三 1 : 開閉 の 可能 性 あり 指定 され た ドラ イブ に 対し て , ドア の 開閉 が 行わ ん た か どう か を チェ ッ ク す る . チェ ッ ク す る 期間 は , 前 回 と 同じ ドラ イブ に 対し て この コマ ンド が 実行 され て か ら , 現時 点 ま で と する . モー タ OFF の 場合 に は ドア の 開閉 が 判別 で き な い た め , CF=1 と し て 返す . 凍 部 | OAH | ディ スク モー ド の 設定 入 、 力 AH=0AH AL ニー ディ スク モー ド CH= 論 理 ド ライ ブ 番 号 (US1, US0) INT 80H 166 6.1 フロ ッッ ピー ディスク BIOS AH= ス テー タス コー ド CF ニ エラ ー フ ラグ (作業 領域 ) BYTE[DISKMODE #0/#1] = ドラ イブ #0 ググ #1 の ディ スク モー ド ディ スク モー ド を 設定 し , ドラ イブ の ハー ド 的 な 諸 条 件 を 再 設 定 す る . く デ ィ ス クモ ー ド > セク タ 長 (バイ ト ) 1D ン 2D 1DD グ 2DD 1HD/2HD 1HDs/2HDs < ハー ド 的 な 設定 > 1) ドラ イブ の 回 転 数 の 設定 (300rpms— つ 360rpm) 2) ドラ イブ の トラ ッ ク 密 度 の 設定 (48TPT 一 >96TPTI) 3) FDC の 動作 クロ ッ ク の 設定 (4MHz 一 8MHz) 4) EDC の スペ シフ ィ ケ ーション の 設定 1D プ 2D 系 1DD グ 2DD 系 | 1HD プ 2HD 系 300rpm 300rpm 360rpm 48TPI 96TPI 96TPI 4MHz 4MHz 8MHz DAH EAH DFH 18H 18H 30H | OBH | ワー クエ リア の 初期 化 王 に AH=0BH INT 80H AH=0 CF=0 (作業 領域 ) BYTE[BIOSMODE] =0 (IDR=0, PARM=0, RAW =0) BYTE[RETRYNUM] =8 (リト ライ 8 回 ) BYTE[MTOFFTIM] =250 (25 秒 ) ュー ザ 用 の ワー クエ リア に 正規 の 値 を 復帰 きせ る . この コマ ンド は FDC に 対す る アク セス を 一 切 行わ な い . 167 第 6 章 BIOS 6.1.2 DISK BIOS 作業 領域 当 DISK に お いて 使用 され る , 主要 な 作業 領域 を 以下 に 示す . 作業 領域 は 大 別して コン トロ ー ル 領 域 と ステ ー タ ス 領 域 に 分 か れる . コン トロ ー ル 領域 は 。 DISK BIOS を 呼び 出す 前 に ユー ザ 側 で 必要 な 設定 を 行う パラ メー タ エ リ ア で あり , また ステ ー タ ス 領 域 は DISK BIOS が 内 部 で 使 用 する 領域 で あり , 必要 に 応じ て ユー ザ 参 照 す る こと が で きる が , ここ を ユー ザ 側 で 書き 変え て も BIOS の 処理 に は 影響 を 与え ない. 作業 領域 は セグ メン ト 0063H に 置か れ て いる 。. @ 作業 領域 マッ プ 00 01 02 03 04 05 06 07 08 09 0A OB 0C OD OE OF ① コ ント ロー メル 領域 a : [DISKMODE#0] b : [DISKMODE#1] c : [SURFMODE] d : [BIOSMODE] e : [RETRYNUM] f : [MTOFEFTIM] g : [USERPARM] ② ス テー タス 領域 h : [RSLTSTAT] i : [UNITSTAT] j : [DINTSTAT] k : [DOORSTAT] 1 : [MOTRSTAT] m:[SINTSTAT#0] n : [SINTSTAT#1] o : [RETRYCNT] p : [MTOFFCNT] (1) コン トロ ー ル 領域 163H| [DISKMODE#0 ノ #1] BYTE[ 十 00H]= ニ ドラ イブ #0 の ディ スク モー ド BYTE[ 十 01H] ニ ドラ イブ #1 の ディ スク モー ド 1 6 5 4 3 2 1 0 0 0 |DsKi DsKo| spc | 0 | scRl scro 1DD/2DD 系 1HD プ 2HD 系 高密 度 媒体 の フォ ー マ ッ ト 1HD プ 2HD 系 1HDs プ 2HDs 系 B0 セクタ 長 1 、 956 の SE セク クタ 0 512 パイ トゲ グセ クタ 1 1024 パイ トブ セクタ 168 6.1 フロ ッ ピ ー デ ィ ス ク BIOS 内 容 ドラ イブ #0 ノ #1 の ディ スク モー ド を 格納 する . ここ は DOS と BIOS か ら 共 通 に 参照 され , BIOS で は その 上 位 4 ビッ ト の み が 処 理 に 影響 する . 初期 化 直後 で ディ スク モー ド が まだ 設定 され て いな いと き は 1D プ 2D の セク タ 長 256 バイ トモ ー ド の 動作 を する . く < 全 モ ー ド の 16 進 表 示 > セク タ 長 (バイ ト ) 1D ノ 2D 1DD プ 2DD 1HD/2HD 1HDs/2HDs ディ スク は 1HD ノ 2HDs を 除い ぃ て, 原則 と し て MFM モー ド で 書か て て いる も の と する . また セク タ 数 と シリ ンダ 数 は 。 ディ スク モー ド か ら 一 意 的 に 次 の よう に 決め られ シリ ンダ 数 40 80 1HD/2HD 80 | 1HDsm グ 2HDsm 80 1HDsE/2HDsf 系 上 で 添字 *f” が 付く の は 1HDs ノ 2HDs 系 の トラ ッ ク 0 を , ^m” が 付く の は それ 以外 の トラ ッ ク を 表す . 1HDs プ 2HDs 系 の モー ド は, 1HD プ 2HD : セク タ 長 256 バイ ト の モ ー ド に お いて ,。 さら に SPC ビッ ト に 1 を 立て る こと に より 選択 さき れる . この モー ド が 選択 され る と , トラック 0 の み を FM モー ド ( セ クタ 長 128 バイ ト ) と し て 処理 する . |+04H| [SURFMODE] | 7 6 5 4 3 2 1 0 SR#1a ドラ イデ リド ザ ボーラ シラ ェ スモ ド SE 大 0 ドラ イ 0 サ ー ク ェ ス モー ド 0 片面 モー ド 1 三 両面 モー ド |+05H| [BIOSMODE] 0 6 5 4 3 2 1 0 IDR : リ ー ド プラ イト デー タコ マン ド お よび フォ ー マ ッ トコ マン ド の 入力 条件 の 形式 を 指定 する . IDR=1 の と き は 次 の 意味 に な る . 1) リー ド プ ライ ト デ ー タ IDR の C, H の 値 を , 論理 トラ ッ ク 番 号 と 独立 に 指定 する . ラバ SV2AIE ユー ザ が 用 意 し た ID 並び に 従っ て ,。 フォ ー マ ッ ト を 行う . 169 第 6 章 BIOS < セク タ 数 分 と 4 CH, RN C, H, R, N 0 Ci HSRRN C, HH, R, N PARM :PARM ビッ ト に 1 が 立つ と , EOT, GPL 等 の FDC パラ メー タ に , ユー ザ が [USERPAR- M] に 用 意 し た 5 バイ ト の 値 を 採用 する . RAW :RAW ビッ ト に 1 が 立つ と ,。 リー ドア フタ ー ラ イト を 行う . |+06H| [RETRYNUM] ] リー ドブ プラ イト 系 コマ ンド に お いて エラ ー が 発生 し た 場合 の 。 リトライ の 回 数 を 格納 す る . シス テム の デフ ォ ル ト 値 と し て は 8 を 取り , ファ ンク ショ ン 00H ン 0BH 実行 時 に この 値 に 再 設定 され る . この 領域 を 参照 する ファ ンク ショ ン の 番号 は 01H, 02H, 03H, 04H, 05H で ある . 填 07H| [MTOFFTIM] コマ ンド 終了 か ら モ ー タ OFF まで の 時 間 を 格納 する (100ms 単位 )、 シス テム の デフ ォ ルト 値 と し て は 250(25 秒 ) を 取り , ファ ンク ショ ン 00H ン 0BH 実行 時 に この 値 に 再 設 定 さ れる . BIOS コマ ンド は に 実行 時 に 無 条 件 で モー タ ON を 行う た め 。 全て の コマ ンド が この 領域 を 参照 する . | て El [USERPARM] BYTE[ 十 0BH] = 最大 シリ ンダ 番号 (MAXCYL) BYTE[+0CH] = 最大 セク タ 番 号 (EOT) BYTE[+0ODH]= リ ー ド グラ イト 用 ギャ ッ プ 長 (RWGPL) BYTE[ 十 0EH] ニ フォ ー マ ッ ト 用 ギャ ッ プ 長 (FMGPL) BYTE[ 十 0FH] ニ リード プラ イト 用 デー タ 長 (DTL. 通常 は FFH) ユー ザ 用 の FDC パラ メー タ を 格納 する . これ ら の パラ メー タ は , [BIOSMODE] の PARM ビッ ト に 1 を 立て る こと に より 有効 と な る . DISK BIOS で の 標準 的 FDC パラ メー タ は 次 の よう に な っ て いる . 1p ノ 2D 1DD ン 2DD 1HD ノ 2HD 128 | 256 | 512 128 | 256 | 512 【FM モー ド 】 MAXCYL EOT RWGPL 使用 不可 使用 不可 FMGPL DTL 1D グ 2D 1DD2DD 【MFM モー ド 】 256 | 512 MAXCYL EOT RWGPL FMGPL DTL 170 6.1 フロ ッ ピ ー デ ィ ス ク BIOS ( 2 ) ステ ー タ ス 領 域 Hio17H [RSLTSTAT] BYTE[ 十 10H]= ニ リー ドブ プラ イト 系 FDC コマ ンド (COM) BYTE[ 十 11H] =FDC の リザ ルト ステ ー タ ス 0 (ST0) BYTE[ 十 12H] = ニ FDC の リザ ルト ステ ー タ ス 1 (ST1) BYTE[ 十 13H] ニ FDC の リザ ルト ステ ー タ ス 2 (ST2) BYTE[ 二 14H] = ニ FDC の ID シリ ンダ 番号 (C) BYTE[ 二 15H] =FDC の ID ヘッ ド 番 号 (H) BYTE[ 十 16H] =FDC の ID セク タ 番 号 (R) BYTE[ 十 17H] =FDC の ID セク タ 長 (N) FDC の READ/WRITE 系 コマ ンド に お ける リザ ルト フェ ー ズ の 結果 を 格納 する . こ の 領域 は BIOS コマ ンド 内 部 で 設定 され る た め , ここ を ユー ザ 側 で 変更 し て も コマ ンド の 処理 に は 影響 し な い . この 領域 を 参照 する ファ ンク ショ ン の 番号 は 01H, 02H, 03H, 04H, 05H で ある . |+1CH| [UNITSTAT] 7 6 5 4 3 2 1 0 UN #1 : ド ライ ブ #1 の 接続 状況 0 開閉 な し UN#0 : ド ライ ブ #0 の 接続 状況 1 三 開閉 あり (4 「Y Rt ドラ イブ #0 ノ #1 の 接続 の 有無 を 表す . ファ ンク ショ ン 00H で 設定 され る . ユー ザ が 書き 換え て も BIOS の 処理 に は 影響 し な い . +1DH| [DINTSTAT] 7 6 5 4 3 2 1 0 IT#1 : ド ライ ブ #1 の 割込み 状況 0 割込み な し IT#O0 : ド ライ ブ #0 の 割込み 状況 1 割込み あり FDC の 割込み ルー チン に お いて , 割込み の あっ た ドラ イブ の ビッ ト に 1 が セッ ト さ れ , 上 位 の ルー チン で その ビッ ト が 検出 後 , 0 に リセ ッ ト さ れる . この 領域 は BIOS 全体 か ら 共通 に 設定 参照 され ん る た め , ここ を ユー ザ 側 で 変更 し て は な ら な い . |+1EH| [DooRSTAT] 7 6 9 4 3 4 1 0 DR#1 : ド ライ ブ #1 の 開閉 状況 0 三 接続 な し DR#0 : ド ライ ブ #0 の 開閉 状況 1 三 接続 あり FDC の 割込み ルー チン に お いて ドア の 開閉 が 検出 され た 場合 , 該当 する ドラ イブ の ビ ッ ト に 1 が セッ ト さ れる .。 この ステ ー タ ス に より , 一 定期 間 中 の ドア の 開閉 の 有無 を 171 第 6 章 BIOS 知る こと が で きる . ユー ザ が ドラ イブ の モー タ OFF を 行う 場合 に は , この 領域 に 03H を 設定 する . 十 1FH| [MOTRSTAT] FFH ニ モー タ ON 00H ニ モー タ OFF モー タ の ON/OFF 状態 を 格納 する . この 領域 は BIOS 内 部 か ら も 参照 され る た め , ユー ザ 側 で ここ を 変更 する 場合 に は , 実際 の モー タ の 設定 も 行う 必要 が ある . また モー タ ON/OFF の 際 に は , 必ず 両 ド ライ ブ を 同一 の 状態 に 設定 する こと . さら に モー タ OFF を 行う 場合 に は , [DOORSTAT] に 03H を 出力 する 必要 が ある . て 23H| [SINTSTAT#0 ノ #1] BYTE[ 十 20H] ニ ドラ イブ #0 の リザ ルト ステ ー タ ス (ST0) BYTE[ 十 21H] ニ ドラ イブ #0 の 物理 シリ ンダ 番号 (PCN) BYTE[ 十 22H] ニ ドラ イブ #1 の リザ ルト ステ ー タ ス (ST0) BYTE[ 十 23H] ニ ドラ イブ #1 の 物理 シリ ンダ 番号 (PCN) FDC の SEEK/RECALIBRATE コマ ンド に お ける リザ ルト フェ ー ズ の 結果 を 格納 す る . ここ を ユー ザ 側 で 変更 し て も 影響 し な い . 2EH| [RETRYCNT] リー ド プ ライ ト 系 コマ ンド に お ける リト ライ カウ ンタ . 具体 的 に は 。 コ マン ド 実 行 時 に [RETRYNUM] の 値 が この 領域 に コピ ー さ れ , これ が デ ク リ メン ト さ れ て いく . し た が っ て , ユー ザ 側 で ここ を 変更 し て も コマ ンド の 処理 に は 影響 し な い . 填 2FH| [MTOFFCNT] モー タ OFF 制御 用 の カウ ンタ . 具体 的 に は , 各 コ マン ド の 終了 時 に [MTOFFTIM] の 値 が この 領域 に コピ ー さ れ , タイ マ 割 込み 毎 に この 値 が ディ クリ メン ト さ れ て いく . モ ー タ を 強制 的 に 停止 きせ た い 場 合 に は , まず ハー ド 的 に モー タ OFF を 行っ た 後 , この 領域 を ゼロ クリ ア し 。 ポー ト 01B6H に 00H を 出力 する こと . 最後 の 処理 に より , タ イマ 割込み が 停止 する . また 単に ハー ド 的 に モー タ を 起動 し た い 場 合 に は 。 特に この 領 域 を 設定 する 必要 は な い . 172 6.2 ハー ド デ ィ スク BIOS ハー ド デ ィ スク を 制御 する BIOS で あり , 以下 の 機能 を 持っ て いる . @ ハ ー ド ディ スク BIOS 機能 一 覧 機能 番号 (16 進 ) 機 00 ハー ド デ ィ スク シス テム の 初期 化 01 デー タ の 読出 し 02 デー タ の 書込み 03 1 トラック フォ ー マ ッ ト 04 1 R ラ イア ジア ジ ォ ー マ ッ ツ ト 05 ヘッ ド の リキ ャ リブ レイ ト 06 ヘッ ド の リト ラク ト 07 代替 トラ ッ ク の 用 意 08 代替 トラ ッ ク の 設定 09 ドラ イブ 情報 の 取得 0A 作業 領域 アド レス の 取得 @ 呼出 し 時 の パラ メー タ 各 フ ァ ン クシ ョ ン を 呼び 出す 時 の パラ メー タ の 一 般 型 は 次 の 通り で ある . AH ニコ マン ド 番 号 RT コマ ンド 番号 一 0: リト ライ 有り 1 EZ が し BH ニ ドラ イブ 番号 ( 0 また は 1 ) お よび セク タ ア ドレ ス 指 定 方 法 T 6 T = 0 の O00 十 pm 0 : 絶対 セク タ ア ドレ ス 指 定 1 : 相対 セク タ ア ドレ ス 指 定 0 〇 絶対 セク タ ア ドレ ス 指 定 の と き CX ニシ リン ダ 番 号 DH= ニ ヘッ ド 番 号 DL= セ クタ 番号 Cylinder # 0-152 0-309 0-307 0-614 6.2 ハー ド デ ィ スク BIOS 173 第 6 章 BIOS 〇 相対 セク タ ア ドレ ス 指 定 の と き DL : CX 相対 セク タタ 番号 =((Cylinder *#HEAD 十 Head) * 33 十 Sector) #HEAD= テ 4(5MB or 10MB) =8(20MB or 40MB) ES : BP ニ リー ドブ プラ イト 時 の デー タバ ッ フ ァ ( 注 ) 奇数 番地 で も よい . FFFFFH を また ぐ 領 域 は 設定 で き な い . AL エニ デ ー タ 長 プ フォ ー マ ッ ト デ ー タ プ デ ィ ス クモ ー ド な ど @ 呼出 し 方 ① パラ メー タ 設 定 ② AH< 機能 番号 ③ INT 81H レジ スタ は AX ノ CF 以外 は 値 を 返す 場合 を 除い て 保存 され る . @ ス テー タス 各 フ ァ ン クシ ョ ン は 終了 時 に AH レジ スタ に リザ ルト ステ ー タ ス を 返す . エラ ー 状 態 の と き は 同時 に キャ リー フラ グ を セッ ト す る 。. 6B 三 0:( ク ー ェ キラー) AH の 値 (16 進 ) 00H 正常 終了 01H ライ ト プ ロ テク ト (SENSE 実行 時 の み ) CF==1 (エラ ー) AH の 値 (16 進 ) 02H パラ メー タ エ ラ ー 指定 し た パラ メー タ が レン ジ 外 の と き . バッ ファ エリ ア が FEFFFH を また ぐ と き . 03H デバ イス 上 異常 ドラ イブ の 異常 プ ド ライ ブ が 接続 きれ て いな いな どの 場合 . 04H ノッ トレ ディ ドラ イブ が レデ ィ 状 態 に な い 場合 05 暫 ライ ト プ ロ テク テッ ド 書込み 時 に ライ ト プ ロ ト テ クト 状態 が 検出 され た と き 。 06H CRC エラ ー(ID) ID の CRC エラ ー が 検出 され た と き . 07H CRC エラ ー(DATA) DATA 部 の CRC エラ ー が 検出 され た と き 。. 08H ノー セク タ トラ ッ ク に 指定 し た ID が 見 つか ら な いと まき. 09H ノー シリ ング エラ ー 08 の 特殊 な 場合 で , 指定 し た ID の シリ ンダ 番号 が 見 つか ら な いと き 。 シ ー ク エラ ー の 可能 性 が あり , RECALIBRATE の 必要 が ある . 174 0AH 6.2 ハー ド デ ィ スク BIOS 不良 シリ ンダ 不良 トラ ッ ク 指 定 が ある トラ ッ ク を 読ん だ と き 。 OBH ミッ シン グ ア ド レ スマ ー ク (ID) トラ ッ ク に 正常 な ID が ひと つも 見 つか ら な いと き . 0CH ミッ シン グ ア ド レ スマ ー ク (DATA) ID の あと に 正常 な DATA 部 が 続か な いと き . 10H 代替 トラ ッ ク が 読め な いと き 11H 代替 トラ ッ ク へ 直接 アク セス し て いる 。 12H シー クエ ラー 誤っ た シリ ンダ また は ヘッ ド を 選択 し た 場合 RE 肝 タイ ム ゲ デ ツ ウト ウー FFH 不定 エラ ー( そ の 他 の エラ ー) 6.2.1 ハードディスク BIOS ファ ンク ショ ン | 00H | ハー ド デ ィ スク シス テム の 初期 化 入力 AH=00H INT 81H 出 力 AH=00 CF =0 (作業 領域 ) BYTE[DSKTYPE #0/#1] = ドラ イブ #0 グズ #1 ディ スク タイ プ BYTE[DSKPRMADR #0/#1]= パ ラメ ー タ テー ブル の 先頭 アド レス BYTE[EQUIPOSK] = ドラ イブ 接続 状況 BYTE[HDINTFLG] =0 BYTE[COMPSTAT] テーHDC コマ ンド BYTE[COMPSTAT 十 1] =HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] ーー エラ ー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT 十 03] ニ エ ラ ー 時 の Result セン スバ イト 解 説 ハー ド デ ィ スク BIOS の 初期 化 を 行う . 1) HDC の 初期 化 HDC を リセ ッ ト し , HDC が レデ ィ に な っ た ら デ ィ ッ プス イッ チ の 状態 か ら ド ライ ブ の タイ プ を 判別 し , HDC の ASSIGN DISK PARAMETER コマ ンド を 用 いて デ ィ ス ク の 仕様 を HDC に プロ グラ ミン グ す る . 2) ド ライ ブ の 接続 状態 の チェ ッ ク ディ ッ プ スイ ッ チ か ら ド ライ ブ の 接続 状態 を チェック し , HDC の TEST DRIVE READY コマ ンド を 各 ド ライ ブ に 対し て 発行 し , レデ ィ 状 態 の ドラ イブ を [EQUIP- DSK] に 設定 する . 3) RECALIBRATE を 実行 後 , RETRACT を 行う . 175 第 6 章 BIOS | 01H | デー タ の 読出 し 入 カ 解 説 AHー01H プ 81H AL = 読み 出す セク タタ 数 BH ニ セク タ 指 定形 式 (bitf7) プ ドラ イブ 番号 (bit0) 絶対 セク タ ア ドレ ス 指 定時 (bit7=0) : CX ノ DH/ ノ DL=Cyl ノ Hd/Sec 相対 セク タ ア ドレ ス 指 定時 (bit7=1) : DL : CX ニセ クタ 番号 ES : BP ニ バッ ファ 領域 INT 81H (作業 領域 ) BYTE[DSKPRMADR #0/#1] = パラ メー タテ ー プ ル の 先頭 アド レス AH= ス テー タス (エラ ー 無 の と き 00) CF= ェ ラー フラ グ ( エ ラー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] テ HDC コマ ンド BYTE[COMPSTAT+1] = テ HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] = エラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT 十 0--3] = ニ エラー 時 の Result セン スバ イト HDC の READ コマ ンド に より , 指定 さん た セク タ を 読み 出し ,。 ES : BP で 指定 され る バッ ファ 領域 に 格納 する . | 02H | デー タ の 書込み 2 90 EN に 176 AH=02H ノ 82H AL 一 書 き 込 む セ クタ 数 BH ニ セク タ 指 定形 式 (bit7) プ ドラ イブ 番号 (bit0) 絶対 セク タ ア ドレ ス 指 定時 (bit7=0) : CX メン DH ン DL < CyL ン Hd ン Sec 相対 セク タ ア ドレ ス 指 定時 (bit7=1) : DL : CX 一 セク タ 番 号 ES : BP ニ = バッ ファ 領域 INT 81H (作業 領域 ) BYTE[DSKPRMADR #0 ノ #1] ニ パラ メー タテ ー ブ ル の 先頭 アド レス 放 本 ニス テー タス (エラ ー 無 の と き 00) CE 三 エ ラー フラ グ ダ ( エ ラー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] テ HDC コマ ンド BYTE[COMPSTAT+1] = テ HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] エラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT+0~3] = エラー 時 の Result セン スバ イト HDC の WRITE コマ ンド に より , 指定 され る セク タ に , ES : BP で 示す バッ ファ 領域 の デー タ を 書き 込む . 6.2 ハー ド デ ィ スク BIOS | 03H | 1 トラ ッ ク フ ォ ー マ ッ ト 人 人 カ AH ニ =03H プ 83H AL ニテ イ ンタ リー ブフ ァ ク タ (01-10H) BH ニ セク タ 指 定形 式 (bitf7) プ ドラ イブ 番号 (bit0) 絶対 セク タ ア ドレ ス 指 定時 (bit7=0) : CX ノノ DH=Cy1/Hd 相対 セク タ ア ドレ ス 指 定時 (bit7=1) : DL : C メ ニセ クタ 番号 INT 81H (作業 領域 ) BYTE[DSKPRMADR #0 ノ #1] = パラメータ テー ブル の 先頭 アド レス 出 力 AH= ニ ステ ー タ ス ( エ ラー 無 の と き 00) CF= ニ エラ ー フ ラグ (エラ ー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] 三 HDC コマ ンド BYTE[COMPSTAT 二 1] 三 HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] テ エ ラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT 二 03] ニ エ ラ ー 時 の Result セン スバ イト 解 説 HDC の FORMAT TRACK コマ ンド に より , BH で 指定 され る ドラ イブ の CX, DX で 指定 され る トラ ッ ク を フォ ー マ ッ ト を する 。. 04H 1 ドラ イプ フォ ー マ ッ ト 入 力 AH=04H ン 84H AL ニー イン タリ ー プ ファ クタ (01-10H) BH ニ ドラ イブ 番号 (bit0) INT 81H (作業 領域 ) BYTE[DSKPRMADR #0 ノ /#1]] ニモ パラ メー タテ ー ブ ル の 先頭 アド レス 出 力 AH= ニ ステ ー タ ス ( エ ラー 無 の と き 00) CF ニニ エラ ー フ ラグ (エラ ー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] =HDC コマ ンド BYTE[COMPSTAT 二 1] =HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] ーー エラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT 二 03] ニ エ ラ ー 時 の Result セン スバ イト 解 説 RECALIBRATE 後 の FORMAT DRIVE コマ ンド に より , BH で 指定 され る ドラ イブ の フォ ー マ ッ ト を 行う . 177 第 6 章 BIOS | 05H | ヘッ ド の リキ ャ リプ レイ ト 米光 病 に AH==05H ノ 85 了 H BH= ド ライ ブ 番 号 (bit0) INT 81H (作業 領域 ) BYTE[DSKPRMADR #0/#1] ニモ パラ メー タテ ー ブ ル の 先頭 アド レス AH ニス テー タス (エラ ー 無 の と き 00) CF ニニ エラ ー フ ラグ (エラ ー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] =HDC コマ ンド BYTE[COMPSTAT+1] テ HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] = エラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT+0~3] ニ エ ラ ー 時 の Result セン スバ イト BH で 指定 され る ドラ イブ の ヘッ ド を シリ ンダ 0 へ 移動 きせ る . SEEK コマ ンド に より 一 旦 シ リン ダ 5 へ ヘ シーク させ た 後 ,。RECALIBRATE コマ ンド に より トラ ッ ク 0 に 移動 ずる 。 | 06H | ヘッ ド の リト ラク ト 2 恒 部 178 AH=06H ノ 86H BH= ド ライ ブ 番 号 (bit0) INT 81H (作業 領域 ) BYTE[DSKPRMADR #0 ノ #1] ニ パラ メー タテ ー ブ ル の 先頭 アド レス AH テス テー タス (エラ ー 無 の と き 00) CR 一 エラ ー フ ラグ (エラ ー 無 の と き 0) (作業 領域 ) BYTE[COMPSTAT] 三 HDC コマ ンド BYTE[COMPSTAT+1] テ HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] デー エラ ー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT 十 0--3] ニ エ ラ ー 時 の Result セン スバ イト BH で 指定 され る ドラ イブ の ヘッ ド を 不 必要 シリ ンダ へ 移動 させ る . 1) ASSIGN DISK PARAMETER コマ ンド で RETRACT 用 の パラ メー タ を 設定 する . 2)SEEK コマ ンド で MCA(maximum cylinder address) ま で 移動 する . ※ 通 常 ア クセ ス 時 と リト ラク ト 時 の MCA は 異な る . 3 ASSIGN DISK PARAMETER コマ ンド で 通常 アク セス 用 の パラ メー タ に 再 設定 す る . 6.2 ハー ド デ ィ スク BIOS | 07H | 代替 トラ ッ ク の 用 意 人 カ AH=07 有 H BH ニ セク タ 指 定形 式 (bit7) プ ドラ イブ 番号 (bit0) 絶対 セク タ ア ドレ ス 指 定時 (bit7=0) : CX ンプ DH=Cy1L/Hd 相対 セク タ ア ドレ ス 指 定時 (bit7=1) : DL : CX ニセ クタ 番号 ES : BP=4 バイ ト の バッ ファ 領域 INT 81H (作業 領域 ) BYTE[IDSKPRMADR # 0 ノ #1] ニ パラ メー タテ ー ブ ル の 先頭 アド レス AH ニス テー タス ( エ ラー 無 の と き 00) CF = ミエ ラー フラ グ ( エ ラー 無 の と き 0) ES : [BP+0~3] = 代替 トラ ッ ク ア ドレ ス 指定 され た トラ ッ ク の 相対 セク タ ア ドレ ス を ES : BP で 指定 され た バッ ファ 領域 に 格 納 す る . ここ で 指定 され た トラ ッ ク は 次 の ファ ンク ショ ン 08H で 指定 され た 不良 トラ ッ ., ク の 代替 トラ ッ ク と し て 使用 きれ る 。 | 08H | 代替 トラ ッ ク の 設定 SI ガ 出 カ 凍 憶 AH=08H BH= セ クタ 指定 形式 (bit7) プ ドラ イブ 番号 (bit0) 絶対 セク タ ア ドレ ス 指 定時 (bit7=0) : CX メン DH=Cy1/Hd 相対 セク タ ド レス 指定 時 (bit7 ニ 1) : DL : CX ニセ クタ 番号 ES : BP= コ マン ド 7 で 設定 し た 4 バイ ト の バッ ファ 領域 INT 81H (作業 領域 ) BYTE[DSKPRMADR #0/#1] ニモ パラ メー タテ ー ブ ル の 先頭 アド レス AH ニス テー タス (エラ ー 無 の と き 00) CF テニ エラ ー フ ラグ (エラ ー 無 の と き 0) BYTE[COMPSTAT] テ HDC コマ ンド BYTE[COMPSTAT 十 1] =HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] デ エ ラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT+0~3] ニ エ ラ ー 時 の Result セン スバ イト HDC の ASSIGN ALTERNATE TRACK コマ ンド に より 。 BH で 指定 され る ドラ イ ブ の CX, DX で 指定 され る 不良 トラ ッ ク の 代替 トラ ッ ク と し て 。 ファン クシ ョ ン 07H で 指定 され た 代替 トラ ッ ク を 割り 当て る . 179 第 6 章 BIOS | 09H | ドラ イブ 情報 の 取得 入 。』 カ 藻 に | OAH | 作業 領域 アド レス の 取得 入 カ 出 カ Ea 剖 180 AH ニー09H BH ニー ドラ イブ 番号 (bit0) INT 81H (作業 領域) BYTE[DSKPRMADR #0/# 1]= パ ラメ ー タ テー ブル の 先頭 アド レス AH== ス テー タス (エラ ー 無 の と き 00) CF = エラ ー フ ラグ (エラ ー 無 の と き 0) ALー ニ ディ スク タイ プ 0= 5MB 1=10MB 2=20MB 3=40MB (作業 領域 ) BYTE[COMPSTAT] =HDC コマ ンド BYTE[COMPSTAT 二 1] テ HDC 終了 ステ ー タ ス BYTE[SCOMPSTAT] ーー エラー 時 の RESUEST SENSE の 終了 ステ ー タ ス BYTE[SENSESTAT+0~3] ニ エ ラ ー 時 の Result セン スバ イト HDC の TEST DRIVE READY コマ ンド に より , BH で 指定 され る ドラ イブ の 状態 を 通知 する . AH デー0AH INT 81H AH=00 CF =0 ES : BP= ハ ー ド ディ スク BIOS 用 大 域 変数 領域 アド レス BIOS で 使用 し て いる 作業 領域 (大 域 変数 領域 ) の 先頭 アド レス を ES : BP に 返す . 52 1 6.2 ハー ド デ ィ スク BIOS ハー ド デ ィ スク BIOS 作業 領域 当 BIOS で 使用 され る 主 な 作業 領域 を 以下 に 示す . セグ メン ト ア ドレ ス は 0077H で ある . 十 00 00 01 02 03 04 05 06 07 08 09 0A OB 0C OD OE OF a ea a : [COMPSTAT] f : [DSKTYPE #0] b : [SCOMPSTAT] g : [DSKTYPE#1] c : [SENSESTAT] h : [DSKPRMADR # 0] d : [HDINTELG] i : [DSKPRMADR #1] e : [EQUIPDSK] |+00H| COMPSTAT(2Bytes) HDC の 各 コ マン ド の 終了 時 に HDC か ら 送 られ て くる 終了 ステ ー タ ス を 格納 する . [ 土 00H] : HDC へ 送っ た コマ ンド [+01H] : HDC コマ ンド に 対す る 終了 ステ ー タ ス Ha MSB| 0 0 wl 0 _0 ER LSB EE エラ ー ビ ッ ト (0= 正 常 プ 1 三 異常 ) アク セス し た ドラ イブ プ 番 号 +02H SCOMPSTAT(1Byte) | エラ ー 発 生 時 に 発行 する REQUEST SENSE コマ ンド の 終了 ステ ー タ ス を 格納 する . |+03H| SENSESTAT(4Bytes) | +00 エラ ー 発 生 時 に 発行 する REQUEST SENSE コマ ンド の RESULT SENSE を 格納 する . no TEO CN GR CRCO | LSB +02 LA1 LSB エラ ー コ ー ド +03 LA2 LSB エラ ー タ イプ ー 0 : LAO-LA2 は 無効 LA0-LA2: エ ラー 発生 時 の 論理 セク タ ア ドレ ス ー 1 : LA0-LA2 は 有効 コマ ンド 実行 時 に アク セス し た ドラ イブ 番号 181 第 6 章 BIOS 土 07H| HDINTFLG(1Byte) HDC の 割込み が 発生 する と , 割込み ルー チン で 1 に 設定 され る . リセ ッ ト は 上 位 ル ー チン が 行う . MSB 0 0 0 0 0 0 0| | rSB -0 : 割込み な し 1 : 割込み あり |+ 08H| EQUlPDSK(1Byte) 」 ドラ イブ #0 ノ #1 の 接続 の 有無 を 表す . ファ ンク ショ ン 00H で 設定 され る . U1/U0 : ドラ イブ 1/0 の 接続 の 有無 0 : 接続 な し 1 : 接続 あり 計 DSKTYPE#0 ノ # 1(1Byte each) ドラ イブ #0 ノ #1 の ディ スク タイ プ を 表す . ファ ンク ショ ン 00H で 設定 され る . [+09H] : ドラ イブ 0 の ディ スク タイ プ [+0AH] : ドラ イブ 1 の ディ スク タイ プ TOBH DSKPRMADR#0 ノ # 1(2Bytes each) ハー ド デ ィ スク BIOS 内 の ディ スク パラ メー タテ ー ブ ル の 先頭 アド レス (オフ セッ ト ) を 格納 する . [+0OBH] : ドラ イブ 0 の Disk parameter table へ の ポイ ンタ [0DH] : ドラ イブ 1 の Disk parameter table へ の ポイ ンタ 182 6.3 キー ボー ド BIOS 6 キー ボード BIOS キー ボー ド BIOS( 以 降 KB BIOS) は キー ボー ド か ら の 入力 を バッ ファ リン グ し た 後 。 その ま まま た は JFP を 通し て アプ リケーション プロ グラ ム へ 渡す 機能 を も つ . また 画面 ハー ドコ ピー の 起動 。 ポップアップ の 起動 の 制御 も 行う . @ キー ボー ド BIOS 機能 一 覧 機能 番号 (16 進 ) 機 1 文字 入力 キュ ー の セン ス ソフ トキ ー 展 開 の 指定 ソフ トキ ー 文 字 列 の 設定 作業 領域 の 初期 化 KB BIOS の 初期 化 ポッ プア ッ プ トラ ッ プ の 登録 ポッ プア ッ プ トラ ッ プ の 削除 ユー ザ ト ラ ッ プ の 登録 ・ 削 除 キー コー ド の 1 文字 入力 KB キュ ー の セン ス シフ ト 類 キー 押下 状態 の セン ス KB キュ ー の クリ ア キー コー ド グ ル ー プ 押下 状態 の セン ス 基本 ファ ンション 作業 領域 アド レス の 取得 キー リピ ー ト 機能 設定 画面 コピ ー 機 能 設定 6.3.1 。 キ ー デ ー タ フロ ー キー ボー ド か ら 入 力 さ れ た デー タ は 下図 の 下 か ら 上 へ と 変換 を 受け な が ら 渡 され て いく . AP AP Screen Copy Softkey disp Int. routine 〇 割込み ルー チン (lnt. routine) キー ボー ド か ら 送 られ て きた デー タ を KB キュ ー に 入れ , 必要 な ワー ク を 設定 する . キュ ー が フル に な る と BEEP 音 を 発生 する . 〇 基本 ファ ンク ショ ン (Primitive Functions) KB queue の デー タ を アプ リケーション ソフ ト ま た は JFP の 要求 に 従い 取り 出す . 183 第 6 章 BIOS 〇 日 本 語 入力 フロ ント エン ド プ ロ セ ッ サ (JFP) キー 操作 また は 標準 ファ ンク ショ ン の 要求 に 従い 基本 ファ ンク ショ ン か ら の デー タ を 日 本 語 変 換 し て (また は 変換 せ ず に ), 標準 ファ ンク ショ ン ル ー チ ン へ 渡す . 〇 標準 ファ ンク ショ ン (Main KB Routine) アプ リケーション ソフ ト の 要求 に 従い 。JFP か ら の デー タ を 取り 出す 。 ソ フト キー の 展開 も お 思 な 。 6 衝 ウ ツル ー チ ナン ポッ プア ッ プ アプ リケーション 機能 を 実現 する た め に , キー が 押さ れ た と き に 呼び 出さ れる ル ー チ ン を 登録 する こと が で きる . 6.3.2 キー コー ド キー コー ド と は キー の 押下 に 対応 し て KB キュ ー に 入れ られ , 基本 ファ ンク ショ ン で 取り 出さ れる 2 バイ ト の コー ド で あり , スキ ャ ンコ ー ド と 内 部 コー ド と か ら な る . 上 位 パ イト 下位 バイト (1) スキ ャ ンコ ー ド スキ ャ ンコ ー ド は キー ボー ド の 各 キ ー に 一 意 に 割り 当て られ た コー ド で ある . ソフ トキ ー 以 外 の キー の スキ ャ ンコ ー ド は シフ ト 状 態 に よっ て 変化 し な い . スキ ャ ンコ ー ド の 最大 値 は B5H で ある . (2) 内 部 コー ド 内 部 コー ド は いわ ゆる ASCII コー ド で あり , 88M プ F シリ ー ズ の キー コー ド と 共通 で ある . 内 部 コー ド の 最大 値 は F7H で ある . ( 3 ) ユー ザ 定 義 コ ー ド トラ ッ プ ルー チン か ら 実 際 に 存在 し な い 仮想 的 な キー の キー コー ド を 返す た め に FEFO1H か ら FFFEH の 254 種類 の ユー ザ 定 義 キ ー コ ー ド を 使用 する こと が で きる . この ユー ザ 定 義 キ ー コ ー ド に 対応 する 2 バイ トコ ー ド は 必ず 00FFH と な る . 6.3.3 その 他 (1) 画面 の ハー ドコ ピー COPY キー が 押さ れる と 割込み ルー チン は 画面 コピ ー フ ラグ を 設定 する が , 実際 に は 画面 コピ ー は 行わ な い . 基本 ファ ンク ショ ン の #09/#0A が 呼び 出さ れ た と き に 画面 コピ ー フ ラグ が 設定 され て いる と 実際 に 画面 コピ ー を 行う . 逆 に KB BIOS を 呼ば な い ア プリ ケー ショ ン ソ フト で は 自動 的 な 画面 コピ ー は 行わ れ な い .。 この 場合 ,、 アプ リケーション ソフ ト が KB BIOS の 画面 コピ ー フ ラグ を 積極 的 に 読み 出し て 画面 コロ ピー ファ ンク ショ ン を 呼ぶ こと に より 行う こと が で きる 。. な お COPY キー の キー コー ド が キュ ー に 入る こと は な い 、. (2) ソ フト キー ソフ トキ ー と は 一 つの キー に 対し て 自由 に 文字 列 を 割り 当て る こと が で きる キー で あり , VA で は 以下 の キー を 指す . 184 6.3 キー ボー ド BIOS f1-f10, f11-f20 (shift 十 fx) INS, DEL, 矢印 キー, HOME, CLR, HELP, ROLL UP, ROLL DOWN ソフ トキ ー の 設定 / 押 下 時 の 文字 列 取 出し は 標準 ファ ンク ショ ン で お こ な う . ソフ トキ ー の 表 示 , シフ トキ ー が 押さ れ た と き の 表 示 の 変更 は 割込み ルー チン の 指示 に より テキ スト BIOS が 行 う . また , JFEP も ソフ トキ ー の 表示 に 変更 を 加え る . ( 3 ) シフ ト 状 態 の 取得 アプ リケーション ソフ ト が シフ ト 類 キー の 状態 を 知る た め に は 次 の 方 法 が ある . ① IN 命令 に より ハー ドウ ェ ア か ら キ ー の 状態 を 読み 出す ② KB BIOS ファ ンク ショ ン を 使っ て 各 シ フト 類 キ ー の 状態 を 知る ③ KB BIOS の 作業 領域 を みて キー の 状態 を 読み 出す ④ シフ ト 類 キー の 状態 に よっ て 変化 する いく つか の キー コー ド を 用 いる 6.3.4 標準 ファ ンク ショ ン 標準 ファ ンク ショ ン は JFP を 通し て デー タ を 受け 取る . た だ し JFP が オフ の と き は 日 本 語 変 換 は 行わ れ な い . 00H 2 バイ トコ ー ド で 1 文字 取り 出す (入力 待ち あり ) 1 軸 | キ ュー を セ シ ス する 02H ソフ トキ ー の 展開 の 有無 を 指定 する . 表示 と は 無関係 083L ツ フ トキ ー 文 字 列 を 設定 する 04H キュ ー そ の 他 の ワー ク を 初期 化す る 05H KB BIOS を 初期 状態 に 戻す | 00H | 1 文字 入力 入力 AH=00H INT 82H 出 力 AX= 展 開 あ り の と き : 2 パイ トコ ー ド 展開 な し の と き : 2 バイ トコ ー ド or 0( ソ フト キー) BH= ス キャ ンコ ー ド BL 三 内 部 コー ド 解 説 キュ ー か ら 1 文 字 取 り 出 す ,. キュ ー が 空 の と き は JFP が 文字 を 返す まで 待つ . 日 本 語 変 換 が 行わ れ て 対応 する キー が な い 文 字 が 返さ れる 場合 な ど に は , BX が FFFFH と な る . AX の レン ジ は , 0000-00FCH ANK 文字 8140-FCFCH 日 本 語文 字 00FFH ユー ザー 定義 キー コー ド で ある . 185 第 6 章 BIOS ソフ トキ ー が 押さ れ た と きのこ の ファ ンク ショ ン の 動作 は 展開 指定 に よっ て 異な る 展 開 無 し の 場合 に は , AX は 00H と な り , BX に は キー コー ド が 入る . 展開 を 行う と き に は , AX に は 定義 され た 文字 が 入り , BX は FFFFH と な る . ユー ザ 定 義 キ ー( ト ラッ プル ー チ ン か ら 返 され る ) 場合 に は , AX は 00FFH と な り , BX は FF01-FFFEH と な る . | 01H | キュ ー の セン ス 和信 出 カ 章 書 AH==01H INT 82H AX==2 バ イト コー ド or 0 BH= ス キャ ンコ ー ド BL = 内 部 コー ド CY 1 文字 な し 三 0 文字 あり キュ ー の 先頭 文字 を みる . キュ ー の 状態 は 変化 し な い . また , キュ ー が 空 の 場合 で も 入 力 待ち は 行わ な い . | 02H | ソフ トキ ー 展 開 の 指定 人 カ 策 圧 回 さ AH==02H AL =0( 展 開 指定 ) =1( 非 展開 指定 ) INT 82H な し ソフ トキ ー の 展開 を 行う か どう か を 指定 する . この 指定 は ファ ンク ショ ン 00H/01H に だ け 関 係 す る . また , ファン クシ ョ ン キ ー の 表示 と は 全く 無関係 で ある . | 03H | ソフ トキ ー 文 字 列 の 設 2 出 カ 186 AH=03H CL = ソフ トキ ー 番 号 ES : DX 三 定義 むす る スト リン グ (ASCIZ 文字 列 ) INT 82H CY テ 1 ソフ トキ ー 番 号 が 異常 三 0 正常 終了 ソフ トキ ー 番 号 は 以下 の と お り 6.3 キー ボー ド BIOS 0 全て の ソフ トキ ー 1-0AH : 1~f10 0B-14H : shift 十 1 一 f10 15-16H : Rollup/Roiidown 17-18H : Ims プ Del 19-1CH : Up/Left/RightDown keys 1DH : Clr key IRL Help key 1FH: Home key 解 説 ソフ トキ ー に 文字 列 を 定義 する . 文字 列 の 長き は , ターミネータ を 含め て 。 ファ ンク シ ョ ン キ ー で は 20 バイ ト , その 他 の キー は 6 バイ ト で ある . ター ミネ ー タ と し て NULL (00) を 文字 列 の 最後 に 付加 する 必要 が ある . 文字 コー ド と し て は 混在 文字 コー ド を 用 いる . 04H | 作業 領域 の 初期 化 入 、 力 AH= テ 04H INT 82H 出 力 な し 解説 キュ ー を クリ ア す る だ け で な く , キー ボー ド 関 係 (JFP を 含む ) の 設定 を すべ て 初期 状態 に 戻す . 05H | KB BIOS の 初期 化 入 、 力 AH=05H INT 82H 出力 な し 解 説 キー ボー ド BIOS 全体 を 初期 化し , ハー ドウ ェ ア リ セ ッ ト 直 後 と 同様 の 状態 に する 。 以 下 の 初 期 化 処 理 が 行わ れる . 1) キュ ー の クリ ア 2) ソフ トキ ー 文 字 列 の 初期 化 1 クミ 38S f4 : 5 f6 f11-f20 : ins ・ del : left arrow : +CR right arrow : up arrow : XXXXXX 12H 7FH 1CH 1DH 1EH 187 第 6 章 BIOS f7: SS Print> f9: ぐ Edit .> 十 CR f10: < く Cont> 圭 CR 3) COPY キー エン トリ の 初期 化 4) トラ ッ プ アド レス の 初期 化 5) ソフ トキ ー 展 開 あ り 6) JEFP の 初期 化 6.3.5 ドラ ッ プ 制御 ファ ンク ショ ン down arrow : home : el help : roll up : roll down : 1FH 0BH 0CH 01H OF8H OF9H KB BIOS で は シフ ト 類 以外 の キー が 押さ きれ た と き に あら か じ め 設 定 さ れ た ルー チン を 起動 す る と と が で きる . これ を トラ ッ プ 機能 と よぶ . O06H ポッ プア ッ プ トラ ッ プ を 登録 する 07H ポッ プア ッ プ トラ ッ プ を 削除 する 08H ユー ザー トラ ッ プ を 登録 削除 する トラ ッ プ は KB 割込み ルー チン で 発生 する . 8 つ の ボッ プア ッ プ トラ ッ プ と 1 つの ユー ザ ト ラ ッ プ が 登録 で きる 。 合計 9 つの トラ ッ プ に は 優先 順位 が 設け られ て お り , 優先 順位 が 高い トラ ッ プ か ら 順 に 呼び 出 され る . ポッ プア ッ プ トラ ッ プ 内 で の 優先 順位 は , 最後 に 定義 きれ た ルー チン が 最高 優先 順位 を 持っ て いる . ユー ザ ト ラ ッ プ は 最低 優先 順位 で ちあ る. また, トラッ プル ー チ ン は CLI の 状態 で 呼 ば れる . ・ ト ラッ プル ー チ ン が 呼ば れる 時 に は , AX, CL に は 次 の よう な 値 が 入っ て いる . AH テス キャ ンコ ー ド AL 内 部 コー ド CL テ シ フ ト 状 態 ・ ト ラッ プル ー チ ン を 終了 する と き に は 次 の レジ スタ を 設定 する . AH デス キャ ンコ ー ド AT = 内 部 コー ド この と き AX に ユー ザ 定 義 キ ー コ ー ド を 設定 する こと も で きる 。. ただし, コー ド と し て は 必ず FEF01-FFFEH を 使用 する こと . DL =KB BIOS へ の 指示 この レジ スタ に よっ て ,。 リタ ー ン 後 の KB BIOS へ の 指示 を 出す こと が で きる . この 処 理 は 次 優先 順位 の トラ ッ プ が 呼び 出さ れる 前 に 行わ れる . bit 7-3 : Reserved( 0 に 設定 ) bit2: 低 優 先 の トラ ッ プ スキ ッ プ (0 : スキ ッ プ し な い ノ 1 : する ) (0 : 入れ な い ノ 1 : 入れ る ) (0 : し な い グ 1 : ずる ) DE1: 定 ュ ー へ 入れ る bit0: キュ ー ク リア 188 6.3 キー ボー ド BIOS 06H ポッ プア ッ プ トラ ッ プ の 登録 AH =06H ES : DX ニトラ ッ プ ルー チン の アド レス INT 82H AL=0-7 : ポップ アッ プ ト ラ ッ プ 番号 三 REEFH: ト ラッ プ ベ クタ に 空き が な い ポッ プア ッ プ トラ ッ プ ルー チン を 登録 する , 登録 で きた 場合 に は ,。 ポッ プア ッ プ トラ ッ プ 番 号 を 返す 。 これ は DOS の ファ イル ハン ドル と 同様 の 論理 的 管理 番号 で ある . 07H ポッ プア ッ プ トラ ッ プ の 削除 AH=07H AL ポッ プア ッ プ トラ ッ プ 番号 (0-7) INT 82H AL=00H : 正常 終了 ーFFH : 指定 きれ た トラ ッ プ が 登録 きれ て いな い 登録 きれ て いる ポッ プア ッ プ トラ ッ プ ルー チン を 削除 する . | ユー ザ ト ラ ッ プ の 登録 ・ 削 除 病 圧 書き AH=08H AL =0: ユー ザ ト ラ ッ プ 削除 ー1: ユー ザ ト ラ タッ プ 登 録 ES : DX= ト ラッ プル ー チ ン の アド レス (AL=1 の と き ) INT 82H な し ユー ザ ト ラ ッ プ ルー チン の 登録 削除 を 行う . 189 第 6 章 BIOS 6.3.6 基本 ファ ンク ショ ン 基本 的 な キー ボー ド 入 力 機能 を サポ ー ト し た ファ ンク ショ ン 群 で あり , 日 本 語 変換 は 行わ な い . 09H 0AH 0BH 0CH 0DH OEH OFH 10H KB キュ ー か ら キ ー コ ー ド で 1 文字 取り 出す (入力 待ち ) KB キュ ー を セン ス す る シフ ト 類 キー の 押下 状態 を セン ス す る KB キュ ー を クリ ア す る キー コー ド グ ル ー プ の 押下 状態 を セン ス す る 基本 ファ ンク ショ ン の 作業 領域 アド レス を 得る キー リピ ー ト 機能 の ON/ ズ OF 画面 コピ ー 機 能 の ON ノ OEF | 09H | キー コー ド の 1 文字 入力 入 カ 出 カ AH=09H INT 82H AH= ス キャ ンコ ー ド AL = 内 部 コー ド KB キュ ー か ら 1 文字 取り 出す . キュ ー が 空 の と き は キー ボー ド 入 力 を 待つ . KB キュ ー の セン ス 章 剖 AH=0AH INT 82H AH= ス キャ ンコ ー ド AL 内 部 コー ド CY=0 : キー 入力 な し 1 : キー 入力 あり KB キュ ー の 先頭 を みる . キュ ー の 状態 は 変化 し な い . キュ ー が 空 の と き は CY=0 で 戻り , 入力 待ち は し な い . | シフ ト 類 キー 押下 状態 の セン ス 190 AH=0BH INT 82H AL ニシ フト 状態 ( 各 ビ ッ ト ニ 1 : 押下 状態 ) 6.3 キー ボー ド BIOS MSB GRPH GR 解 説 シフ ト 類 キー の 押下 状態 を セン ス す る . | 0CH | KB キュ ー の クリ ア 入 、 力 AH=0CH INT 82H 出 力 な し 解 説 キー ボー ド と キュ ー を 初期 化す る . | 0DH | キー コー ド グ ル ー プ 押下 状態 の セン ス 入 、 力 AH=0ODH AL ニー キー コー ド グ ル ー プ 番号 (1/0 ポー ト 00~OEH の ポー ト 番 号 と 同じ ) INT 82H 出 力 AH= 押 下 キ ー ビ ッ ト を 1 に し た デー タ 解 説 指定 され た キー コー ド グ ル ー プ の 押下 情報 を ビッ トマ ッ プ で 返す . | OEH | 作業 領域 アド レス の 取得 入 、 力 AH= テ 0OEH INT 82H 出 力 ES:DX= テ 当 BIOS の 作業 領域 の 開始 アド レス | OFH | キー リピ ー ト 機能 設定 入 、 力 AH=0FH AO ー ト 2 ピ ご ReON キ 0: オー トリ ピー トド OBE INT 82H 191 第 6 章 BIOS 出力 な し 解 説 キー ボー ド の オー トリ ピー ト の 有無 を 指定 する . 初期 値 は ON で ある . | 10H | 画面 コピ ー 機 能 設定 AH-10H AL=FFH : 画面 コピ ー OFF 三 0-7 : 画面 コピ ー モ ー ド 設定 INT 82H 画面 コピ ー モ ー ド eg Ls SD =0: カラ ー モ ー ド = モノ クロ モー ド RL =0 : 左右 正常 1 : 左右 反転 BW =0 : ノー マル モノ クロ モー ド 1: リ バー スモ ノ ク ロ モー ド 出 力 な し 解 説 画面 コピ ー 機 能 の 有無 と タイ プ を 指定 する . 6.3.7 キー ボー ド BIOS 作業 領域 当 BIOS で 使用 きれ る 主 な ワー クエ リア を 以下 に 示す . セグ メン ト ア ドレ ス ABH 内 容 オフ セッ ト 長 さ (バイ ト ) 0000 01 シフ トキ ー の 状態 0001 16x20 ファ ンク ショ ン キ ー に 定義 きれ た 文字 列 0141 06 メ 11 他 の ソフ トキ ー の 定義 され た 文字 列 0184 04 ユー ザ ト ラ ッ プ の アド レス 0188 01 ユー ザ ト ラ ッ プ フラ グ 0189 展開 フラ グ (0= ニ ON/1=OEFFE) 018A ソフ トキ ー 文 字 列 へ の ポイ ンタ 018C ソフ トキ ー コ ー ド 退避 用 018E コピ ー キ ー フ ラグ 018F 画面 コピ ー 制 御 モ ー ド 0190 予約 0191 キー コー ド バ ッ ファ (キュ ー) 01B1 定義 8 きれ て いる ポッ プア ッ プ トラ ッ プ の 数 01B2 ポッ プア ッ プ トラ ッ プ の アド レス 01D2 ポッ プア ッ プ トラ ッ プ の 優先 順位 01DA KB BIOS ディ スパ ッ チ アド レス (JEP 用 ) 01DE JFEP ディ スパ ッ チ アド レス (KB BIOS 用 ) 01E2 KB BIOS HOOK #1 01E6 KB BIOS HOOK #2 01EA KB BIOS HOOK #3 01EE KB BIOS HOOK #4 01F2 KB BIOS HOOK #5 01F6 画面 コピ ー 中 止 フ ラグ 01F7 ポー ト 152H の コピ ー 192 6.3 キー ボー ド BIOS 6.3.8 スキ ャ ンコ ー ド ・ 内 部 コー ド 対 応 表 Shift Key State ESC 193 第 6 章 BIOS 194 スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 Retrun Key Shift State スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 6.3 キー ボー ド BIOS 20 | gr 195 第 6 章 BIOS スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 Caps Caps Shift (SPECE) 35 20 | A520 | 3520 3A 00 | BA 00 3B00 | BB 00 3C00 | BC 00 3D 00 | BD 00 196 Key Shift State 6.3 キー ボー ド BIOS スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 197 第 6 章 BIOS Key Shift State スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 198 Key Shift State 6.3 キー ボー ド BIOS スキ ャ ンコ ー ド と 内 部 コー ド 対 応 表 SHTIFT(R) RETURN MG | 0D BC 00 全角 199 第 6 章 BIOS 6.4 テキ スト BIOS テキ スト BIOS は VA の テキ スト 表示 機能 を 制御 する BIOS で あり , 以下 の 44 個 の 機能 が あ る . テキ スト BIOS 機能 一 覧 機能 番号 内 (16 進 ) 本 に 00 | 1 文字 表示 (コン トロ ー ル コー ド 有 ) 01 1 文字 表示 (コン トロ ー ル コー ド 無 ) 02 ASCIZ 文字 列 の 表示 05 カレ ント アト リピ ビ ュー ト の 設定 06 画面 へ の アト リ ビ ュ ー ト 設定 07 カラ ー 設 定 08 カー ソル 位置 の 設定 09 カー ソル 上 移動 0A カー ソル 下 移動 0B カー ソル 右 移動 0C カー ソル 左 移動 0D カー ソル 下 移動 (スク ロー ル 付 ) OE カー ソル 上 移動 (スク ロー ル 付 ) 10 水平 スク ロー ル 11 TAB 位置 の 設定 12 TAB 位置 の 解除 13 行 削除 14 文字 削除 15 行 挿入 16 文字 挿入 7 表示 画面 の クリ ア 18 行 の クリ ア 19 グレ ー ム パッ チア の グリア 1A フレ ー ム バッ ファ 中 の 位置 取得 1B カレ ント スク リー ン の 変更 1C フレ ー ム バッ ファ の 定義 1D 分 割 画面 の 設定 1E POPUP スク リー ン の オー プン 1F POPUP スク リー ン の クロ ー ズ 20 POPUP スク リー ン の 画面 モー ド 変 更 21 外字 フォ ント の 設定 22 外字 フォ ント の 削除 23 文字 フォ ント の 取得 24 CRT 表示 モー ド の 設定 25 カー ソル 表示 の 制御 26 カー ソル 位置 の 取得 27 アト リ ビ ュ ー ト の 取得 28 スク ロー ル 範 囲 の 指定 29 指定 され た 文字 の サイ ズ 取 得 2A テキ スト 画面 の 初期 化 2B 作業 領域 アド レス の 取得 2E カー ソル 位置 の 取得 スプ ライ トス クリ ー ン の ライ ン 数 変更 ソフ トキ ー 表 示 の 制御 200 6.4 テキ スト BIOS @ 呼出 し 方 ① レ ジス タプ メモ リ に パラ メー タ 設 定 ②AH て 機能 番号 oINT 83H 6.4.1 座標 系 当 TEXT BIOS に お ける 座標 系 は 左上 を 原点 と し て お り , 使用 時 に は 意味 に よっ て 次 の 4 種 の 座標 系 が 存在 する 。 ・ キ ャ ラク タ 座 標示 ………………… CRT 画面 に お ける 座標 系 ・ ス プリ ッ ト ス クリ ー ン 座標 系 …… 分 割 画面 内 に お ける 座標 系 ・POPUP スク リー ン 座 標 系 ……… POPUP スク リー ン 内 の 座標 系 ・ ス レー ム バ パッ ファ 座標 和泉 ………… フレ ー ム バッ ファ 内 の 座標 系 @ キャラ クタ 座標 系 CRT 画面 に お ける 座標 系 で あり , 画面 表示 文字 数 分 の 座標 を も つ 。 た と えば , 80Xx25 の 場合 に は 下図 の よう に な る . (0,0) (79, 0 ) CRT 画 面 ( 0,24) (79, 24) @ スプ リッ トス クリ ー ン 座標 系 フレ ー ム バッ ファ 内 に お いて , Y 原 点 を 表示 開始 行 。 原点 を フレ ー ム バッ ファ 左端 と する 座 標 系 . ( 例 ) フレ ー ム バッ ファ の 幅 が 128 文字 分 割 画面 の 高 さ が 16 文字 プ ビーム ペッ プ ァ (127, 0 ) ( 0,15) (127, 15) 201 第 6 章 BIOS @ POPUP スク リー ン 座 標 系 POPUP スク リー ン の 左上 を 原点 と する 座標 系 ,。 POPUP スク リー ン は 複数 の フレ ー ム バッ フ ァ (及び 分 割 画面 )/ に また が る こと が ある . ( 例 ) 16X10 の POPUP 画面 を 開い た と き CRT 画 面 0.0) (15.0) 分 割 画面 A POPUP 画 面 (0.9) (15,9) Sage @ フ レー ム バ ッ フ ァ 座 標 系 フレ ー ム バッ ファ の 先頭 を 原点 と する 座標 系 . スプ リッ トス クリ ー ン 座標 系 と XX 座標 は 同じ で ある . ( 例 ) フレ ー ム バッ ファ の 幅 が 128 文字 , 高 さ が 64 文字 (0,0) (127, 0 ) デレ レーム フッ プチ 実 表示 部 分 (分 割 画面 ) ( 0,63) (127, 63) 202 6.4 テキ スト BIOS 6.4 2 ファ ンク ショ ン 解 説 | ooH | 1 文字 表示 (コン トロ ー ル コー ド 有 ) 入 、 力 AH ニ =00H DX = 2 バイ ト 文 字 コ ー ド INT 83H 出 力 な し 解説, カレ ント スク リー ン ( フ レー ム バ パッ ファ ) に 文字 を 表示 する 。 コ ント ロー ルコ ー ド ・ エ ス ケー プシ ー ケ ンス は 機能 する . スク ロー ル や ワー ドラ ッ プ が 許可 きれ て いる と き に は ス クロ ー ル ・ ワ ー ド ラッ プ を 行う フレ ー ム バッ ファ の 右端 1 バイ ト に 漢字 を 表示 させ る の は , ワー ドラ ッ プ が 許可 きれ て いる と き に 限り , 右端 に スペ シャ ルス ペー ス (FEH) を 置い て 次 の 行 に その 漢字 を 置く こと に よっ て 実現 する . < 使用 で きる コン トロ ー ル コー ド > DX=0007H BEL ブザー を 鳴ら す 0008H BS カー ソル を 左 へ 動か す 0009H HT 次 の タブ ストップ まで カー ソル を 移動 きせ る 000AH LF 改行 000CH FF 000AH(LE) と 同じ 000DH CR 行 の 左端 ほ まで カー ソル を 動か す 000EH SO G1 の キャ ラク タ セ ッ ト を 選択 する 000FH SI GO の キャ ラク タ セ ッ ト を 選択 する 0018H CAN エス ケー プシ ー ケ ンス を キャ ン セ ル す る 001BH ESC エス ケー プシ ー ケ ンス に 入る 注 : S0 プ SI は 状態 を 保存 する だ け で , 表示 文字 に は 影響 し な い | 01H | 1 文字 表示 (コン トロ ー ル コー ド 無 ) 入 力 AH=O1H DX = 2 バイ ト 文 字 コ ー ド INT 83H 出力 な し | に ud コン トロ ー ル コー ド ・ エ スケ ー プ シー ケン ス が 特殊 な キャ ラク タ と し て 表示 され る 以外 は ファ ンク ショ ン 00H と 同じ . 203 第 6 章 BIOS | 02H | Ascz 文字 列 の 表示 2 カカ | 章 AH=02H DX= ア トリ ビュ ー ト コー ド (DH=0) DS : SI 三 混在 文字 コー ド 文 字 列 の 先頭 アド レス (00 で 終了 ) INT 83H CF=1 スク ロー ル が 発生 し た 0 スク ロー ル は 発生 し な か っ た 現在 の カー ソル 位置 か ら 文 字 列 を 表示 する . DX で 指定 され る アト リ ビ ュ ー ト コー ド が 使用 され る が , DX の MSB が 1 で ある と き に は DX の 内 容 で は な く , 作業 領域 の カレ ント アト リ ビ ュ ー ト が 使用 され る . コン トロ ー ル コー ド ・ エ スケ ー プ シー ケン ス は 有効 で あり , スク ロー ル ・ ワ ー ド ラッ プ も 現在 の 許可 状態 に 従う . | 05H | カレ ント アト リ ビ ュ ー ト の 設定 入 カカ 策 圧 回 さ AH=05H DH=00H アト リ ビ ュ ー ト コー ド 指 定 を 示す 三 01H アト リ ビ ュ ー ト モー ド 指 定 を 示す DE デア トリ ば ビュート コー ドジ ズ モ ニード INT 83H な し カレ ント アト リ ビ ュ ー ト コー ド ま た は モー ド を 指定 する . ① ア トリ ビュ ー ト コー ド 指 定 の と き カレ ント アト リ ビ ュ ー ト コー ド を 更新 する . これ は 文字 表示 ファ ンク ショ ン で 使用 さ れる . ② ア トリ ビュ ー ト モー ド 指 定 の と き カレ ント アト リ ビ ュ ー ト モー ド を 更新 する 。 カレント ア トリ ビュ ー ト コー ド は 変更 さ れ な い の で 注意 . アト リ ビ ュ ー ト モー ド と し て は , 0 一 2 の み 有 有効 で ある .。 アト リ ビ ュー トモ ー ド に つい て は 第 4 章 を 参照. | 06H | 画面 へ の アト リ ビ ュー ト 設 入力 204 AH06H CX 半角 文字 数 DX ニア トリ ビュ ー ト コー ド (DH =0) INT 83H な し 6.4 テキ スト BIOS 解 説 現在 の カー ソル 位置 か ら 指定 さ れ た 半角 文字 数 分 の アト リ ビ ュ ー ト を 設定 する . た だ し , スペ シャ ルス ペー ス (FEH) は カウ ント し な い . フレ ー ム バッ ファ の 右端 を 超え た 場合 は 次 の 行 へ 設定 する が 。 表示 画面 を 超え た 時 点 で 処理 を 終了 する . カレ ント アト リ ビ ュ ー ト お よび カー ソル 位置 は 変化 し な い . アト リ ビ ュ ー ト モー ド 2 に お ける 倍角 の 左右 指定 , 40 桁 時 の 倍角 指定 は 無視 され る 07H | カラ ー 設 定 入力 AH=07H DL= ニ 上 位 4 ビッ ト : バッ ク グ ラン ドカ ラー NNE ドッ ブフ ォ アグ ラウ ンド カラ ー INT 83H 貞和 を し 解 説 カレ ント スク リー ン の 表示 色 を 変更 する . た だ し , アト リ ビ ュ ー ト モー ド 0 時 。 お よび アト リ ビ ュ ー ト モー ド 1 時 の フォ アグ ラウ ンド カラ ー は 無視 され る . これ ら の 場合 の 表 示 色 は 文字 単位 の アト リ ビ ュ ー ト の 一 種 と し て 処理 する . 08H | カー ソル 位置 の 設定 入 力 AH=08H DH= XX 座標 ( 桁 指定 ) ス プリ ッ ト ス クリ ー ン 座標 系 DL = Y 座 標 ( 行 指定 ) ス プリ ッ ト ス クリ ー ン 座標 系 INT 83H 出力 "次 し 解 説 カレ ント スク リー ン の カー ソル 位置 を 指定 する . 指定 範囲 は ファ ンク ショ ン 28H で 指定 する オリ ジン プリ セッ トモ ー ド に よっ て 異な る . オリ ジン モー ド の 場合 に は 。 分 割 画面 内 の スク ロー ル 範 囲 の 左上 を 原点 と し , スク ロー ル 範 囲 内 だ けし か 指定 で きず , リセ ッ トモ ー ド で は 分 割 画面 の 左上 を 原点 と し , 分 割 画面 全体 を 指定 で きる . どちら の 場合 で ぉ 分 割 画面 (表示 画面 ) 外 は 指定 で き な い .。 09H | カー ソル 上 移動 入力 AH=09H CL 人 = 行 数 INT 83H 出土 力 な し 解 説 カレ ント スク リー ン の カー ソル 位置 を 指定 し た 行 数 だ け 上 移動 する 。 スク ロー ル は 行わ れ な い . 205 第 6 章 BIOS | 0AH | カー ソル 下 移 動 人 カ 策 圧 書 さ AH=0AH CL 行 数 INT 83H な し カレ ント スク リー ン の カー ソル 位置 を 指定 し た 行 数 だ け 下 移動 する . スク ロー ル は 行わ れ な い . 0BH カー ソル 右 移 動 カカ 策 圧 悪さ AH=0BH C エ ニテ 桁 数 INT 83H な し カレ ント スク リー ン の カー ソル 位置 を 指定 し た 桁 数 (文字 数 で は な い ) だ け 右 移動 する . 横 ス クロ ー ル が 許可 きれ て いる 場合 に は スク ロー ル す る が , 次 の 行 へ の ラッ プ は 行わ れ な い 。 | カー ソル 左 移動 潤 圧 悪さ AH=0CH CL= 桁 数 INT 83H な し カレ ント スク リー ン の カー ソル 位置 を 指定 し た 桁 数 (文字 数 で は な い ) だ け 左 移動 する . 横 ス クロ ー ル が 許可 きれ て いる 場合 に は スク ロー ル す る が , 次 の 行 へ の ラッ プ は 行わ れ な い . | 0DH | カー ソル 下 移 動 ( ス クロ ー ル 付 ) 入 カ 出 解 堪 す 206 AH=0DH INT 83H な し カレ ント スク リー ン の カー ソル 位置 を 1 行 下 げ ける . カー ソル が スク ロー ル 範 囲 の 最 下 行 に ある 場合 に は , スク ロー ル の 許可 状態 に か か わら ず 上 スク ロー ル が 発生 する . 6.4 テキ スト BIOS | OEH | カー ソル 上 移動 (スク ロー ル 付 ) 入 力 AH=OEH INT 83H 昌 力 な し 解 説 カレ ント スク リー ン の カー ソル 位置 を 1 行 上 び ば る. カー ソル が スク ロー ル 範 囲 の 最上 行 に ある 場合 に は ,。 スク ロー ル の 許可 状態 に か か わら ず 下 スク ロー ル が 発生 する . | 水平 スク ロー ル 藻 に AH=10H AL=00H 右 む き 三 01H 左 む き (エニ 桁 数 INT 83H CF=0 正常 終了 1 フレ ー ム バッ ファ の 範囲 を 越え た CL= 実 際 に スク ロー ル し た 桁 数 カレ ント スク リー ン ( フ レー ム バ ッ フ ァ ) の 表示 画面 を 横 に 移動 さき せる. 横 ス クロ ー ル が 許可 きれ て いな い 場 合 に は この ファ ンク ショ ン は 無効 で やる. カー ソル は 表示 画面 に 追 従 す る た め カ ー ソ ル が 指す 位置 は 変化 し な い . TAB 位置 の 設 策 甘 悪さ AH=11H INT 83H な し 現在 の カー ソル 位置 の 桁 に タブ スト ッ プ を 設定 する . タブ スト ッ プ は すべ て の 分 割 画 面 に 共通 で ある . デフ ォ ル ト は 8 桁 お き に 設定 され て いる . | TAB 位置 の 解除 恒 尋 AH=12H AL=00H 現在 の カー ソル 位置 を 対象 と する =01H すべ て の タブ スト ッ プ を 対象 と する INT 83H な し 現在 の カー ソル 位置 の 桁 の タプ ブ ストップ, も し く は 全て の タブ スト ッ プ を 解除 する . 207 第 6 章 BIOS 13H | 行 削除 義 の 重圧 悪さ AH=13H CL= 行 数 INT 83H な し 現在 の カー ソル 行か ら CL 行 を 削除 し , 次 の 行 ~ 表 示 画 面 の 最 下行 を 削除 し た 部 分 に 移 動 す る . 14H 文字 削除 入 カ 策 圧 型 さ AH ニ 14H CL 桁 数 INT 83H な し 現在 の カー ソル 位置 か ら CL 桁 を 削除 し , 次 の 文字 ~ 行 の 右端 を 削除 し た 部 分 に 移動 す る . 15H | 行 挿入 大 カ 策 圧 如き AH=15H CL= 行 数 INT 83H な し 現在 の カー ソル 行 の 次 の 行 へ 表示 画面 の 最 下行 を CL 行 下 に 移動 し , 跡 を 消去 する . 表 示 画 面 を 超え た 部 分 は 失わ れる . カー ソル 位置 は 変化 し な い | 16H | 文字 挿入 入 カ 策 圧 悪さ 208 AH=16H CL= 桁 数 INT 83H な し 現在 の カー ソル 位置 の 次 の 文字 ~ 行 の 右端 を CL 桁 右 に 移動 し , 跡 を 消去 する . 行 を 超 えた 部 分 は 失わ れる . カー ソル 位置 は 変化 し な い . 6.4 テキ スト BIOS | 17H | 表示 画面 の クリ ア 2 恒 圧 副 さ AH=17H AL =00H カー ソル 位置 か ら ス プリ ッ ト ス クリ ー ン 座標 系 の 最後 まで 三 01H スプ リッ トス クリ ー ン 座標 系 の 先頭 か ら カ ー ソ ル 位 置 ま で ー02H スプ リッ トス クリ ー ン 座標 系 全て INT 83H な し AL で 指定 され た 範囲 を 消去 する 。 カー ソル 位置 や カレ ント アト リ ビ ュ ー ト は 変化 し な い 、。 行 の クリ ア 再 圧 書 さ AH=18H AL =00H カー ソル 位置 か ら 行 の 最後 まで 01H 行 の 先頭 か ら カ ー ソ ル 位 置 ま で 三 02H カー ソル 行 全体 INT 83H な し AL で 指定 され た 範囲 を 消去 する . カー ソル 位置 や カレ ント アト リ ビ ュ ー ト は 変化 し な い 。 | フレ ー ム バッ ファ の クリ ア 策 圧 回 き AH=19H AL =00H カー ソル 位置 か ら 後に CX ワー ド 三 01H カー ソル 位置 か ら 前 に CX ワー ド =ー02H フレ ー ム バッ ファ 全体 CX ニ = 消去 する ワー ド 数 INT 83H な し AL で 指定 され た 範囲 を 消去 する . カー ソル 位置 や カレ ント アト リ ビ ュ ー ト は 変化 し な い . ラッ プア ラウ ンド が 禁止 され て いる 場合 , フ レー ム バ ッ フ ァ の 先頭 また は 最後 で 消 去 を 終了 する . 209 第 6 章 BIOS | 1AH | フレ ー ム バッ ファ 中 の 位置 取得 ig 凍 に 3 AH=1AH AL =00H フレ ー ム バッ ファ の 先頭 か ら の オフ セッ ト =01H TVRAM の 先頭 か ら の オフ セッ ト DH = 桁 位置 DL 行 位置 INT 83H CF=0 正常 終了 1 エラ ー BL= フ レー ム バ ッ フ ァ 番 号 CX メー オフ セッ ト (DL, DH) で 指定 され た 文字 の フレ ー ム バッ ファ 先頭 か ら の オフ セッ ト も し く は TVRAM の 先頭 か ら の オフ セッ ト (物理 アド レス ) を 計算 する . (DL, DH) は (0, 0) か ら (79, 24) の 間 で ある 必要 が ある . | 1BH | カレ ント スク リー ン の 変更 カカ 解 民 AH=1BH AL = スク リー ン 番 号 INT 83H CF=0 正常 終了 三 1 指定 され た スク リー ン 番 号 が 存在 し な い カレ ント スク リー ン 番 号 を 変更 する . | 1CH | フレ ー ム バッ ファ の 定義 入 カ 210 AH=1CH CH = 設定 を 開始 する フレ ー ム バッ ファ ブロ ッ ク 番 号 CL = 設定 する フレ ー ム バッ ファ 数 ES : BP= 設 定 デ ー タ へ の ポイ ンタ INT 83H CF =0 正常 終了 三 1 異常 終了 AH ニテ 01H フレ ー ム バッ ファ ブロ ッ ク 番 号 が 15 を 超え た フレ ー ム バッ ファ ブロ ッ ク テ ー ブ ル を 設定 する . プ ブロック 番 号 は 0 ~15 の 16 個 で ある . ひと つの フレ ー ム バッ ファ ブロック は 4 バイ ト で 構成 され て いる . 6.4 テキ スト BIOS TVRAM 中 の フレ ー ム バッ ファ アド レス (下位 バイ ト ) TVRAM 中 の フレ ー ム バッ ファ アド レス (上 位 バ イト ) フレ ー ム バッ ファ の 幅 (偶数 ) フレ ー ム バッ ファ の 高き さ この ブロ ッ ク を 設定 し た い 個 数 だ け 用 意 し , ES : BP で ポイ ント し て とこ の ファ ンク ショ ン を 呼ぶ . CH=n CL=m ES : BP EZ eh プロ ツボ 1 ジロ ロッ ツク n ギ 2 | プロ ッ ク n 填 m | 1DH | 分 割 画面 の 設定 入 。: 力 AL = 上 EL 章 媒 CL 三 設定 する 分 割 画面 数 ES : BP= 設 定 デ ー タ へ の ポイ ンタ INT 83H CF=0 正常 終了 1 異常 終了 AH ニー01H 表示 画面 の 高 さ の 合計 が 画面 全体 の 行 数 より 少な い AH 三 02H 分 割 画面 の 高 さ が フレ ー ム バッ ファ より 大 きい AH=05H シス テム ライ ン 指 定 が 2 個 以上 ある フレ ー ム バッ ファ か ら 最 大 4 個 を CRT 画面 に 割り 付け する. 用 意 さ れ た 分 割 画面 バッ フ ァ に だ 従い 画面 割付 け を 行う . 1 つの 分 割 画面 バッ ファ は 次 の 通り . 十 00 フレ ー ム バッ ファ # 十 01 実 画面 開始 桁 位置 (フレ ー ム バッ ファ 座標 系 ) 十 02 実 画面 開始 行 位置 (フレ ー ム バッ ファ 座標 系 ) 十 03 Reserved 十 04 分 割 画面 の 高き ( 行 数 ) 05 | 0 0 ATTMODE | 0 | VROL | HROL | WRAP +06 バッ ク グ ラウ ンド カラ ー | フォ アグ ラウ ンド カラ ー 十 07 Reserved SSATR : 分 割 画 面 属性 ATTMODE : ア トリ ビュ ー ト モー ド (0 へ 2) 00 ノー マル VROL : 継 ス クロ ー ル 制御 (1 ニ 許 可 ノ 0 禁止) 01 シス テム ライ ン HROL : 横 ス クロ ー ル 制御 (1 = 許可 0 禁止 ) 02 未 使用 WRAP : ワー ドラ ッ プ 1 ニ = 許可 0 禁止) 03 未 使用 211 第 6 章 BIOS この バッ ファ を 設定 し た い 個数 だ け 用 意 し , ES : BP で ポイ ント し て この ファ ンク ショ ン を 呼ぶ . CL=n ES : BP | プ ブロック nrn | | 1EH | POPUP スク リー ン の オー プン 入 力 AH=I1EH AL= ニ スク リー ン モ ー ド Bit 2 : 縦 ス クロ ー ル (1= 許 可 /0 三 禁止 ) Bit 0・ ワ ー ド ラッ プ (1= 許 可 /0 三 禁止 ) CH=POPUP スク リー ン の 幅 (4~80) CL =POPUP スク リー ン の 高き (2 一 25) DH=POPUP スク リー ン の 開始 桁 位置 (キャ ラク タ 座 標 系 ) DL =POPUP スク リー ン の 開始 行 位置 (キャ ラク タ 座 標 系 ) INT 83H 出 力 CF=0 正常 終了 1 エラ ー Ea に 3 ポッ プア ッ プ スク リー ン を 設定 する . これ 以降 , 文字 表示 等 の 機能 は ポッ プア ッ プ スク リー ン に 対し て 動作 する . ポッ プア ッ プ スク リー ン で 機能 する ファ ンク ショ ン は , 00H, 01H, 02H, 05H, 06H, 08H, 09H, 0AH, 0BH, 0CH, 0DH, OEH, 13H, 14H, 15H, 16H, 17H, 18H, 1AH, 26H, 27H の 21 種類 で ある . ポッ プア ッ プ を オー プン し た と き の ア トリ ビュ ー ト モー ド は 必ず 1 に な り , また バッ ク グラ ウン ドカ ラー は 0 に な る . RROPUP! ス クリ ー シ ジ シ の クロ ロー ズ 入 力 AH ニ =1FH INT 83H 圧 el な し 書 ポッ プア ッ プ スク リー ン を 解除 し 。 アト リ ビ ュ ー ト モー ド ・ バ ッ ク グ ラウ ンド カラ ー を 元 に 戻す . 212 6.4 テキ スト BIOS 20H | POPUP スク リー ン の 画面 モー ド 変 更 入 カカ AH=20 了 H AL=POPUP スク リー ン モ ー ド 指定 Bit 2 : 縦 ス クロ ー ル (1= 許 可 /0 三 禁止) Bit 0: ソー ドラ ッ プ (1= 許 可 グ 0= テ 禁止) INT 83H 出 放 な し ポッ プア ッ プ スク リー ン の 縦 ス クロ ー ル ・ ワ ー ド ラッ プ の 有無 を 変更 する . 重 に < 全角 文字 > < 半角 文字 > | 21H | 外字 フォ ント の 設 入 力 AH=21H AL 登録 する フォ ント の モー ド (00H= 全 角 プ 01H= 半 角 ) DX= 2 バイ トコ ー ド ES : BP ニ フォ ント パタ ー ン デー タ の 先頭 アド レス INT 83H 出力 な し RAM キャ ラク タ ジ ェ ネ レ ー タ に フォ ント を 登録 する (外字 登録 )、 外字 に は 全角 と 半角 と が ある . 凍 に 4 | 22H | 外字 フォ ント の 削除 入 カカ AH=22H DX= 2 パイ トコ ー ド INT 83H 出生 久 な し RAM キャ ラク タ ジ ェ ネ レ ー タ の フォ ント を 削除 する (ブラ ンク 文字 に する ). 章 剖 213 第 6 章 BIOS | 23H | 文字 フォ ント の 取得 大 力 AH 三 23 耳 DX=2 バ イト コー ド ES : BP ニ フォ ント を 格納 する バッ ファ INT 83H 出力 な し 解 説 キャ ラク タ ジ ェ ネ レ ー タ か ら フ ォ ン ト を 読み 出す DX の MSB が 1 の 時 は , ANK の 8X8 ドッ ト フ ォ ン ト を 読む . バッ ファ の 大 き さ は , 全角 文字 の と き 32 バイ ト , 半角 文 字 の と き 16 バイ ト , 8X8 フォ ント の と き 8 バイ ト で ある . | 24H | CRT 表示 モー ド 設定 入 、 力 AH ニ =24H AL=CRT 表示 モー ド TXON : テ キス ト 画 面 表示 制御 (1 三 禁 止 プ 0 三 表 示 ) #LINE : 行 数 ( 0 =25 行 ノ 1=20 行 プ 2 ニ 12 行 プ 3 ニ 10 行 ) 80CM : 桁 数 (0=40 桁 プ 1=80 桁 ) INLM : イ ンタ レー スモ ー ド (1 ニ イ ン タレ ー ス ) RASM : ライ ン モ ー ド (0= ニ 200・400 プ 1= ニ 204・408) INT 83H 圧 慎 な し Ea に CRT の 表示 モー ド を 指定 する . | 25H | カー ソル 表示 の 制御 | 入 力 AH=25H AL ニカ ー ソ ル 指 定 CSTL : カー ソル 形状 (1= ラ イン カー ソル 0 ニプロ ッ ク カ ー ソ ル ) CWID : カー ソル 幅 (0=8 ドッ トノ 1=16 ドッ トノ 2=32 ドット ) CE ・ カー ソル 表示 (1=ON プ 0=OFFE) BE ・ カ ー ソ ルプ ブリ ンク (1]= ニ ON プ 0= ニ OFE) INT 83H 出力 な し カー ソル の モー ド を 指定 する . 章 に 3 214 6.4 テキ スト BIOS | 26H | カー ソル 位置 の 取得 入 』 カカ 出力 解 部 AH=26H INT 83H DH= テ 桁 位置 (スプ リッ トス クリ ー ン 座標 系 ) DL = 行 位置 (スプ リッ トス クリ ー ン 座標 系 ) カレ ント スク リー ン の 現在 の カー ソル 位置 を 返す . | 27H | アト リ ビ ュー ト の 取得 入 力 AH=27H DH =00H アト リ ビ ュ ー ト コー ド を 知る デ 01H アト リ ビ ュ ー ト モー ド を 知る INT 83H 出 力 DX= ニ カレ ント アト リ ビ ュ ー ト コー ド ノ モ ー ド 解 説 カレ ント スク リー ン の カレ ント アト リ ビ ュ ー ト モー ド ま た は カレ ント アト リ ビ ュ ー ト コ ー ド を 返す . | 28H | スク ロー ル 範 囲 の 指定 | 入 カカ AH=28H AL ニオ リジン モー ド (0 ニ リセ ッ ト ノ 1 ニテ セット) DH= ト ッ プ マー ジン (スプ リッ トス クリ ー ン Y 座 標 ) DL= ボ トム マー ジン (スプ リッ トス クリ ー ン Y 座 標 ) INT 83H 軸 力 な し 解 説 カレ ント スク リー ン の スク ロー ル 範 囲 を 指定 する . スク ロー ル 範 囲 の 最小 値 は 2 行 で あ る . オリ ジン モー ド が 設定 (AL=1) され た 場合 。 カー ソル は スク ロー ル 和 人 範囲 し か 移動 せ ず , スク ロー ル 範 囲 の 左上 が 座標 の 原点 と な る . オリ ジン モー ド が リセ ッ ト (AL=0) さ れ た 場合 , カー ソル は 分 割 画面 全体 を 移動 し , 分 割 画 面 の 左上 が 座標 の 原点 と な る . POP- UP スク リー ン に 対し て は この ファ ンク ショ ン は 無効 と な る . | 29H | 指定 され た 文字 の サイ ズ 取 得 | 入 力 AH=29H DX= 2 バイ トコ ー ド INT 83H 215 第 6 章 BIOS 出 カ AL 00 全角 三 01 半角 指定 され た コー ド の 文字 が 全角 か 半角 か を 判別 する . 特 に 外字 を 判別 する と き に 用 いる . テキ スト 画面 の 初期 化 AH=2AH INT 83H な し テキ スト 画面 を 初期 化す る . | 作業 領域 アド レス の 取得 AH=2BH INT 83H ES : DX ニ 当 BIOS の 作業 領域 の 先頭 アド レス TEXT BIOS の 作業 領域 アド レス を 返す . | カー ソル 位置 の 取得 AH=2EH INT 83H DH= 桁 位置 (キャ ラク タ 座 標 系 ) DL = 行 位置 (キャ ラク タ 座 標 系 ) 現在 の カー ソル 位置 を キャ ラク タ 座 標 系 で 返す . | ソフ トキ ー 表 示 の 制御 216 AH=2FH AL= ニ ファ ンク ショ ン キ ー 表 示 コ ント ロー ル EE 相本 臣 世 臣 天 攻 222227Z 証 SHMD=0 : シフ トキ ー を 無視 する 1: シフ ト 押 下 で シフ ト 状 態 の 文字 列 を 表示 する ファ ンク ショ ン キ ー 表 示 個 数 0: ファンク ショ ン キ ー を 表示 し な い 5: フ ァ ン クシ ョ ン キ ー を 5 個 表示 する 10: ファン クシ ョ ン キ ー を 10 個 表示 する INT 83H 6.4 テキ スト BIOS 出 力 CF=0 正常 終了 1 エラ ー 解 民 シス テム ライ ン が 設定 され て いな いと き は エラ ー と な る . | 30H | スプ ライ トス クリ ー ン の ライ ン 数 変更 入力 AH=30H AL ニス プラ イト モー ド ls lslslrlilolsmwm SNMD=0 : TSP に SPRITE ON コマ ンド の み 設 定 する 1 : 同期 モー ド か ら 設 定 し な お す SPMB= 0: ノー マル モー ド 1 : 垂直 拡大 モー ド INT 83H 出 力 な し スプ ライ ト の 垂直 拡大 の 有無 を 指定 する . | に 217 第 6 章 BIOS G65 スプ ブライト BIOS スプ ライ ト BIOS は VA の テキ スト 表示 機能 を 制御 する BIOS で あり , 以下 の 24 個 の 機能 が ある . @ ス プラ イト BIOS 機能 一 覧 機能 番号 (16 進 ) 機 00 スプ ライ ト BIOS の 初期 化 01 キュ ー の 初期 化 02 VIEW の 定義 03 VIEW の 領域 確保 04 スプ ライ ト の 定義 05 スプ ライ ト 位 置 指定 06 動作 の 開始 07 動作 の 停止 08 表示 の 開始 09 表示 の 停止 0A キュ ー へ の デー タタ 入力 0B キュ ー 内 容 の 初期 化 0C スプ ライ ト 情 報 の 取得 0D VIEW 情報 の 取得 空き 領域 情報 の 取得 クリ ッ プ ウィ ンド ウ の 設定 クリ ッ プ 情報 の 取得 衝突 情報 の 取得 クリ ッ プ 割込み の 設定 衝突 割込み の 設定 キュ ー 割 込み の 設定 キュ ー バ ッ フ ァ デ ー タ 量 の 取得 割込み 処理 の スキ ッ プ (スリ ー プ 状態 ) スリ ー プ 状態 か ら の 取得 スリ ー プ 情報 の 取得 @ 呼 出し 方 ① パラ メー タ 設 定 ② AH < 機能 番号 ③ INT 84H | 00H | スプ ライ ト BIOS の 初期 化 入 力 AH=0OH AL = 垂直 解像度 00Hー200 ライ ン 01H400 ライ ン DX=TVRAM の 使用 開始 アド レス INT 84H 218 6.5 スプ ライ ト BIOS AL==00H 正常 終了 01H パラ メー タ エ ラ ー 解 説 スプ ライ ト BIOS を 初期 化し , 同時 に スプ ライ トモ ー ド を 指定 する . 各 ビ ュー デー タン スプ ライ ト は 次 の よう に 初期 化 され る . ビュ ー デ ー タ :#]1^ へ #255 すべ て ヌル ビュ ー スプ ライ ト : ビュ ー#0 が 1 個 割 り 当 て られ る . 座標 (0,0) 表示 OFF, 移動 停止 | 01H | キュ ー の 初期 化 入 、 力 AH=01H DX テ 1 スプライト 当 り の キュ ー の 大 きき さき ES : BX ニ キュ ー の 先頭 番地 INT 84H 出 力 な し 解 説 スプ ライ トキ ュー を 32 スプ ライ トト 分 用 意 し 。 初期 化 を 行う | 02H | VIEW の 定義 中 入 、 力 AH= テ 02H ES : BX 三 ビュ ー パ ラメ ー タ テー ブル へ の ポイ ンタ INT 84H 出 力 AL=00H 正常 終了 三 01H メモ リ 不 足 解 説 ビュー に パタ ー ン を 定義 むる. ビュ ー 番 号 ・ パ ター ン の アド レス な ど は ビュ ー パ ラメ ー タテ ー ブ ル で 指定 する . 指定 し た パタ ー ン デー タ は TVRAM 中 の 適当 な 領域 に 保存 さ れる . く ビ ュー パラ メー タテ ー ブ ル > +00 VNUMBER DB : ビ ュー 番号 (1-255) +01 VFLAG DB ? ; 00H ニ パターン 削除 FFH ニ パタ ン 設 定 +02 VTYPE DB ? : 01H= ニ モノ クロ パタ ー ン : 04Hー16 色 パ ター ン +03 VCOLOR DB ? : ビュ ー カ ラー(0-31) +04 VWIDTH DW ? : 水平 サイ ズ ( 8 また は 32 の 倍数 ) +06 VHEIGHT DW ? : 垂直 サイ ズ ( 偶 数 ) 十 08 not used DW ? +0A VDATPTR DD ダー シン デー クタ ペペ の ポ 2 人 ボ 多 219 第 6 章 BIOS | 03H | VIEW の 領域 確保 入 カカ AH=03H ES : BXー ビ ュー パラ メー タテ ー プ ブル へ の ポイ ンタ INT 84H 出 力 AL=00 正常 終了 01 メモ リ 不足 ビュ ー デ ー タ を 格納 する 領域 を 確保 し , その アド レス を 知ら せる . ビュ ー パ ラメ ー タ テー ブル の VNUMBER~VHEIGHT を セッ ト し , この ファ ンク ショ ン を 呼ぶ と , VDSIZE( 計 算 さ きれ た 値 )・VDATPTR が 設定 され て 戻る . 凍 剖 く ビ ュー パラ メー タテ ー ブ ル > +00 VNUMBER DB ? : ビュ ー 番 号 (1-255) 十 01 VFLAG DB ? : 00Hー パ ター ン 削 除 ン FFH ニ パター ン 設 定 UN VTYPE DB ? : 01H= モ ノ ク ロ パタ ー ン ; 04 了 I=16 色 パ ター ン +03 VCOLOR DB gs ララ (0-3 +04 VWIDTH DW ? ; 水平 サイ ズ (8 また は 32 の 倍数 ) +06 VHEIGHT DW ? ; 垂直 サイ ズ ( 偶 数 ) +08 VDSIZE DW ? ; 返り 値 填 0A VDATPTR DD ? : 返り 値 04H | スプ ライ ト の 定義 入力 AH ニ =04H 人 AL ルー スプライト 番 号 (0 一 31) CL ニ ビ ュー 番号 の 個数 ES : BX ニ ピュー 番号 列 格納 領域 (バイ ト 列 ) INT 84H 出力 な し 解 説 指定 し た スプ ライ ト に , ビュ ー 番 号 列 を 割り 当て る . | 05H | スプ ライ ト 位 置 指定 入 力 AH=O5H AL ニス プラ イト 番号 (0-31) BL= ビ ュー 番号 (0~255) CX==X 座 標 ( 一 32768~32767) DX==Y 座 標 ( 一 32768~32767) INT 84H 220 な し 指定 し た スプ ライ ト に ビュ ー を 割り 当て , 指定 し た 座標 に 置く 。 6.5 スプ ライ ト BIOS | 動作 の 開始 潤 圧 副 さ AH ニ =06H AL =00H CX : DX で 指定 され る スプ ライ ト を 動か す 01H すべ て の スプ ライ ト を 動か す DX : CXーDX の MSB : スプ ライ ト #31 の スタ ー ト 指定 5 CX の LSB : スプ ライ ト #0 の スタ ー ト 指定 INT 84H な し 指定 し た スプ ライ ト の 移動 を 開始 する . | 動作 の 停止 AH ニ =07H AL==00H CX : DX で 指定 され る スプ ライ ト を 停止 する テ 01H すべ て の スプ ライ ト を 停止 する DX : CX=DX の MSB : スプ ライ ト #31 の 停止 指定 ) CX の LSB : スプ ライ ト #0 の 停止 指定 INT 84H な し 指定 し た スプ ライ ト の 移動 を 停止 する . 表示 の 開始 | 部 AH ニー08H AL==00H CX : DX で 指定 され る スプ ライ ト を 表示 する 01H すべ て の スプ ライ ト を 表示 する DX : CX=DX の MSB : スプ ライ ト #31 の 表示 指定 M CX の LSB : スプ ライ ト #0 の 表示 指定 INT 84H な し 指定 し た スプ ライ ト の 表示 を 開始 する . 221 第 6 章 BIOS | 09H | 表示 の 停止 入力 AH=09H AL=00H CX : DX で 指定 され る スプ ライ ト を 表示 停止 する 三 01H すべ て の スプ ライ ト を 表示 停止 する DX : CX= テ DX の MSB : スプ ライ ト #31 の 表示 停止 指定 ) CX の LSB : スプ ライ ト #0 の 表示 停止 指定 INT 84H 出 解 e な し に 指定 し た スプ ライ ト の 表示 を 停止 する . OAH | キュ ー へ の デー タ 入 力 入 、 力 AH=0AH AL ニス プラ イト 番号 (0-31) BX== ス プラ イト 制御 コマ ンド (0-FH) CX= パ ラメ ー ク タク DX パラ メー タ 2 INT 84H 出 力 AL=0OH 正常 終了 01H キュ ー に 空き が な い が , スプ ライ ト は MOVE ON の 状態 ー02H キュ ー に 空き が な く , スプ ライ ト は MOVE OFF の 状態 上 1 剖 スプ ライ ト 制 御 コ マン ド を スプ ライ トキ ュー に 入れ る . スプ ライ ト 制 御 コ マン ド に は 16 種類 ある (後述 )、 この と き 1 また は 2 個 の パラ メー タ を 必要 と する . 第 1 パラ メー タ を CX に , 第 2 パラメータ を DX に 入れ る . | 0BH | キュ ー 内 容 の 初期 化 入力 AH=0BH AL ニス プラ イト 番号 (0-31) INT 84H 圧 汁 な し Ea 部 指定 し た スプ ライ トキ ュー を クリ ア す る . 222 6.5 スプ ライ ト BIOS | OCH | スプ ライ ト 情 報 の 取得 業 。 カ Ei 部 AH=0CH ES : BX ニス プラ イト パラ メー タテ ー プ ブル ペペ の ポイ シタ (SNUMBER に スプ ライ ト 番 号 を セッ ト し て お く ) INT 84H スプ ライ ト パ ラ メー タテ ー デ ブル 指定 し た スプ ライ ト に 関す る 情報 を シス プラ イト パラ メー タテ ー ブ ル に セッ ト し て 返す . ベス ジラ イド バラ メー テク デー ジル > SNUMBER DB ? : スプ ライ ト 番 号 (0 て 31) CURVIEW DB ? : 現在 の ビュ ー 番 号 (0->255) TONFLAG DB ? ; 表示 フラ グ (FFH==ON, 00H=OFF) MONFLAG DB ? : 移動 フラ グ (FFH=ON, 00H=OFF) NUMVIEW DB 5) ビュ ー デ ー タ 列 の ピュー の 個数 一 8) NTHVIEW DB る ビュー デー タタ 烈 申 で の ピュ ー の 番号 1 一 8) VWLIST DB.SDUR CO ピュー デー タ 列 LGXPOS DB ? : スプ ライ ト の 論理 水平 座標 LGYPOS DB ? ; スプ ライ ト の 論理 垂直 座標 | ODH | VIEW 情報 の 取得 財力 章 媒 AH=0DH ESSBX= ビ ビー パラ メニ タテ ニー プル へ の ポイ シタ (VNUMBER に ビュ ー を セッ ト し て お く ) INT 84H ビュー メー タデ ー ジ シル 指定 し た ス デ ライ トキ ュー を クリ ア す る 。 くべ ビ ミー デパ ジン メー クタ テー シル ジ +00 VNUMBER DB ? : ビュ ー 番 号 (1-255) +01 VFLAG DB ? ; 00 了 I= パタ ー ン 削除 FFH= パ ター ン 設 定 士 02 VTYPE DB ? ;, 01H= モ ノノ グロ パター シ ; 04 了 =16 色 パ ター ン 寺 03 VCOLOR Be ほ ュ ーー 入 ラ 清 081) +04 VWIDTH DW ? : 水平 サイ ズ (16 また は 32 の 倍数 ) 十 06 VHEIGHT DW ? : 垂直 サイ ズ ( 偶 数 ) +08 VDSIZE DW 4 パター シ デ ー ク の 大 きき 十 0A VDATPTR DD 22N グ ダー ジ シン デ ズー クタ へ の ボイン タ 223 第 6 章 BIOS | OEH | 空き 領域 情報 の 取得 入 カ 器 さ AH=OEH AL==00H TVRAM 前 半 の 空き 領域 ー01H TVRAM 後半 の 空き 領域 INT 84H AX 三 空き 領域 の サイ ズ TVRAM の 空き 領域 の 大 き さ を 返す . | クリ ッ プ ウィ ンド ウ の 設 155 汁 剖 AH=0FH BS BX= ク リッ プ ウ ィ シ ドウ パラ メー タテ ー プ ル へ の ポイ シタ INT 84H な し クリ ッ プ ウィ ンド ウ を 設定 する . く ク リッ プ ウ ィ ン ド ウパ ラメ ー タ テー ブル > CLSX1 DW ? : 左 上 隅 双 座標 (タク リップ 左端 ) CLSX1 DW ? : 左 上 隅 Y 座 標 ( ク リッ プ 上 端 ) CLSX2 DW ? : 右 下 隅 X 座 標 ( ク リッ プ 右 端 ) CLSX2 DW ? : 右 下 隅 Y 座 標 ( ク リッ プ 下 端 ) | 10H | クリ ッ プ 情報 の 取得 入 224 カ 展 AH=10H AL ニス プラ イト の 選択 条件 00H 全て の スプ ライ ト 01H 表示 ON の スプ ライ ト 02H 表示 ON・ 移 動 ON の スプ ライ ト ES : BX= ス プラ イト 情報 テー ブル 領域 へ の ポイ ンタ INT 84H クリ ッ プ 情報 の テー ブル CBSE DD? ・ MSB か ら #31 っ #0 の スプ ライ ト に 対応 し , クリ ッ プ ・ ウィ ンド ウ 外 の スプ ライ ト に 対応 する ビッ ト が : 1 に な る . クリ ッ プ ウィ ンド ウ 外 に ある スプ ライ ト を 知ら せる 。 6.5 スプ ライ ト BIOS RE | 衝突 情報 の 取得 人 AH ニー11H AL ニス プラ イト の 選択 条件 00H 全て の スプ ライ ト O1H 表示 ON の スプ ライ ト 02H 表示 ON・ 移 動 ON の スプ ライ ト ES : BX= 衝 突 情 報 テ ー ブ ル 領域 へ の ポイ ンタ INT 84H 出 力 衝突 情報 テー ブル (32 スプ ライ ト 分 ) COST0 DD ? :MSB か ら #31 っ #0 の スプ ライ ト に 対応 COSWMN DD: 同 上 5 ( COST31 DD ? : 賠 。 上 各 ス プラ イト に 衝突 の 可能 性 が ある ビッ ト が 1 に な る . 解 説 衝突 の 可能 性 が ある スプ ライ ト を 知ら せる . 衝突 の 可能 性 と は , スプ ライ ト の 透明 部 分 が 重なっ た 時 で も 衝突 と みな すこ と を 示す . | 12H | クリ ッ プ 割込み の 設定 入 力 AH=12H AL ニス プラ イト 番号 (0 て 31) ES : BX テ 割込み サー ビス ルー チン アド レス DX=8000H 割込み 設定 三 0000H 割込み 解除 INT 84H 出力 記し 解 説 指定 し た スプ ライ ト が クリ ッ プ ウィ ンド ウ の 内 か ら 外 へ 出 た と き に 実行 され る 割込み サ ービス ルー チン の 設定 ・ 解 除 を 行う . | 13 | 衝突 割込み の 設定 入 。 カ 出 カ AH ニ =13H ES : BX 王 割込み の サー ビス ルー チン アド レス DX==8000H 割込み 設定 三 0000H 割込み 解除 INT 84H な し 225 第 6 章 BIOS 解 如 ハー ドウ ェ ア の 衝突 検出 機能 に より 衝突 が 検出 され た と き に 実行 され る 割込み サー ビス ルー チン の 設定 ・ 解 除 を 行う この 場合 , スプ ライ ト の 透明 な 部 分 が 重なっ て も 衝突 と は みな さ な い . | 14H | キュ ー 割 込み の 設定 入 、 力 AH= テ 14H AL ニス プラ イト 番号 (0 て 31) ES : BX 王 割込み サー ビス ルー チン アド レス DX=MSB : 1 割込み 設定 : 0 割込み 解除 bit 4-0 : 切込み を 起こ す デ ー タ 量 ( バ イト ) INT 84H 国 服 な し 解 説 スプ ライ トキ ュー 内 の デー タ 量 が , 指定 し た 値 以下 に な っ た と き に 実行 され る 割込み サ ービス ルー チン の 設定 ・ 解 除 を 行う . | 15H | キュ ー バ ッ フ ァ デ ー タ 量 の 取得 入 力 AH=15H AL ニス プラ イト 番号 (0 て 31) INT 84H 出 力 AX ニス プラ イト キュ ー 内 の デー タ 量 (バイ ト ) 解 説 スプ ライ トキ ュー 内 の デー タ 量 を 返す . | 16H | 割込み 処理 の スキ ッ プ (スリ ー プ 状態 火 舞 泡 出 カ 解 説 17H | スリ ー プ 状態 か ら の 復帰 AH ニー16H INT 84H な し スプ ライ ト BIOS の 割込み 処理 を 停止 し 。 シス テム 全体 の 速度 を 向上 させ る . 2 策 圧 如 さ 226 AH=17H INT 84H な し SLEEP 状態 か ら 復 帰す る . 6.5 スプ ライ ト BIOS | 18H | スリ ー プ 情報 の 取得 入 出 解 カ カ 民 AL=00H : WAKE UP 状態 FFH : SLEEP 状態 AHーMSB : 1= ス プラ イト 垂直 拡大 表示 , 0 ニノ ー マ ル 表示 LSB : 1=400 ライ ン モ ー ド , 0 テ 200 ライ ン モ ー ド SLEEP/WAKE UP 状態 及び スプ ライ ト 垂 直 解 像 度 状態 を 返す . スプ ライ ト 制 御 コ マン ド ( フ ァ ン クシ ョ ン OAH 参照 ) [パラ メー タ 1] で 指定 し た 値 だ け 上 に 移動 させ る [パラ メー タ 1] で 指定 し た 値 だ け 下 に 移動 させ る [パラ メー タ 1] で 指定 し た 値 だ け 左 に 移動 させ る [パラ メー タ 1] で 指定 し た 値 だ け 右 に 移動 させ る [パラ メー タ 1] で 指定 し た 時 間 ( 秒 ) だ け 待 つ 移動 速度 を [パラ メー タ 1] ピクセル ノ 秒 に する 移動 速度 を 現在 より も [パラ メー タ 1] ピ クセ ルン / ノ 秒 変化 させ る ビュ ー 番 号 を 変化 させ る 時 間 を [パラメータ 1] で 指定 (160 秒 単位 ) ビュ ー 番 号 を 変化 させ る 時 間 を [パラメータ 1] だ け 変 更 (1 プ 60 秒 単位 ) ビュ ー 番 号 を , ビュ ー 番 号 列 の [パラ メー タ 1] 番 目 に 変更 する ビュ ー 番 号 を 。 [パラ メー タ 1] に 変更 する 別 の スプ ライ ト ([ パ ラメ ー タ 1] ニ スプライト 番号 ) の 位置 へ 移動 する 位置 ([ パ ラメ ー タ 1], [パラ メー タ 2]) に ジャ ンプ させ る 位置 を ([ パ ラメ ー タ 1], [パラ メー タ 2]) だ け ジ ャ ンプ させ る 位置 を 座標 ([ パ ラメ ー タ 1], [パラ メー タ 2]) に 移動 させ る 位置 を ([ パ ラメ ー タ 1], [パラ メー タ 2]) だ け 移 動 さ せる 227 第 6 章 BIOS 6.6 グラ フィ ッ ク 画 面 制御 BIOS グラ フィ ッ ク 画 面 制御 BIOS は VA の グラ フィ ッ ク 画 面 の 表示 モー ド ・ フ レー ム バ ッ フ ァ ・ パ レッ ト な ど を 制御 する BIOS で あり , 以下 の 12 個 の 機能 が ある . @ グラフィ ッ ク 画 面 制 御 BIOS 機能 一 覧 機能 番号 (16 進 機 00 画面 モー ド の 設定 01 フレ ー ム バッ ファ の 定義 02 ウィ ンド ウ の 定義 03 画面 合成 の 設定 04 表示 位置 の 設定 05 表示 位置 の 移動 06 画面 マス ク の 設定 07 フレ ー ム バッ ファ 情報 の 取得 08 パレ ッ ト の 設定 09 パレ ッ ト モ ー ド の 設定 0A パレ ッ ト の 初期 化 0B グラ フィ ッ ク 表 示 の ON/OFF @ 呼出 し 方 ① パラ メー タ 設 定 ②AH < 機能 番号 ③ INT 8FH レジ スタ は AX 以外 は 値 を 返す 場合 を 除い て 保存 され る . また , AX に は リタ ー ン コー ド が 設定 され る . @ グラフィック 画面 制御 BIOS リタ ー ン コー ド 一 覧 正常 終了 未定 義 フ レー ム バ ッ フ ァ を 参照 し て いる ピク セル サイ ズ が 間違っ て いる フレ ー ム バッ ファ 番号 が 間違っ て いる 表示 位置 が 間違っ て いる フレ ー ム バッ ファ の 大 き さ が 間違っ て いる VRAM が 不足 し て いる ペー ジ 番 号 が 間違っ て いる 指定 し た フレ ー ム バッ ファ は 表示 され て いな い ウィ ンド ウ が 間違っ て いる 0 1 2 3 4 5 6 7 8 9 228 6.6 グラ フィ ッ ク 画 面 制 御 BIOS | 00H | 画面 モー ド の 設定 入 カカ AH=00H BX 三 画面 モー ド bit15: 1 ニシ ング ルプ レー ング 0 ニモ マル チ プ レー ン bit 14 : 1 三 2 画面 モー ドン 0 テ 1 画面 モー ド bit 13 : 1 ニ グ ラフ ィ ッ ク 表 示 ON 0=OFF bit3: グラ フィ ッ ク 画 面 0 水平 解像度 (1= ニ 320 プ 0 三 640) bit2: グラ フィ ッ ク 画 面 1 水平 解像度 (1 三 320 ノ 0640) bit 1-0 : グラ フィ ッ ク 画 面 垂直 解像度 (00=400line / 01=408line) (10=200line/11=204line) CL= グ ラフ ィ ッ ク 画 面 0 ピク セル サイ ズ (1,3,4,5,8,16 の うち 1 つ ) CH= グ ラフ ィ ッ ク 画 面 1 ピ クセ ル サ イ ズ (1,3,4,5,8,16 の うち 1 つ ) DH= フ ォ ア グラ ウン ドカ ラー( シ ング ルプ レー ン モ ノ ク ロ の と き ) DL= マ ル チ プ レー ン モ ノ ク ロ 時 の 表示 プレ ー ン bit3: プレ ー ン 3 表示 制御 (1=ON ノ プ 0=OFF) bit2: プレ ー ン 2 表示 制御 (1=ON ノ 0=OFF) bit1: プレ ー ン 1 表示 制御 (1= ニ ON ノ 0==OFF) bit0: プレ ー ン (0 表示 制御 (1= ニ ON ノ 0= ニ OFF) INT 8FH 出 力 AX= ニ リ ターン コー ド 解 説 画面 モー ド を 設定 し , フレ ー ム バッ ファ ・ ウ ィ ン ド ウ ・ 画 面 合成 を 初期 状態 に 戻す . 2 画面 モー ド 時 の スク リー ン 1 に 関し て V3 BASIC の 規定 と 同様 の 制限 が ある . | 01H | フレ ー ム バッ ファ の 定義 入 、 力 AH=01H AL ニー グラ フィ ッ ク 画 面 番号 (0 また は 1 ) CX= 定 義 む する バッ ファ 数 ES : DI ニモ パッ ファ ディ スク リプ タリ スト の アド レス INT 8FH 圧 二 AX ニニ リタ ー ン コー ド 更 部 VRAM 中 に フレ ー ム バッ ファ を 定義 する . スク リー ン 0 ン 1 別々 に 定義 を 行う . ここ で 定義 きれ た フレ ー ム バッ ファ に は ディ スク リプ タリ スト 順に バッ ファ 番号 ( 0 -) が 付与 され , 以後 フク レー ム バ ッ フ ァ の 参照 に は バッ ファ 番号 を 使用 する . グラ フィ ッ ク 画 面 0 と 1 は 別々 に 管理 され る . 229 第 6 章 BIOS 0 アデ カイ スン リア グリス ドラ 各 6 バイ ト か ら な る バッ ファ ディ スク リプ タ を , 定義 する 数 だ け 連 続 し て 並べ た も の . 各 バ ッ フ ァ デ ィ ス クリ プ タ の 内 容 は 次 の と お り . dw ピク セル サイ ズ (1,4,8,16 の どれ か ) dw バッ ファ の 幅 ( ピ クセ ル ) dw バッ ファ の 高 さ (ピク セル ) ピク セル サイ ズ は 1, 4, 8,16 の どれ か を 使用 する . 32 色 モ ー ド の 場合 は 8 を , 8 色 モ ー ド の 場合 は 4 を 使用 する 。 | 02H | ウィ ンド ウ の 定義 ] 入 、 力 AH=02H AL ニー グラ フィ ッ ク 画 面 番 号 ( 0 また は 1 ) CX= 定 義 む する ウィ ンド ウツ 数 ES : DI ニ ウ ィ ンド ウデ ィ ス ク プ タリ スト の アド レス INT 8FH 出 力 AX= ニ リ ター ンコ ー ド 解 説 グラ フィ ッ ク 画 面 の 画面 分 割 お よび フレ ー ム バッ ファ の 実 画面 へ の 対応 を V3 BASIC の 規定 と 同様 に 定義 する . く ウ ィ ン ド ウデ ィ ス クリ プ タ リ スト > 各 10 バイ ト か ら な る ウィ ンド ウデ ィ ス クリ プ タ を , 定義 する 数 だ け 連 続 し て 並べ た も の . 各 ウ イン ドウ ディ スク リプ タ の 内 容 は 次 の 通り . dw この 分 割 画面 に 表示 する フレ ー ム バッ ファ 番号 dw 分 割 画面 の 垂直 位置 dw 分 割 画面 の 高き dw フレ ー ム バッ ファ 中 の 表示 開始 位置 の XX 座標 dw フレ ー ム バッ ファ 中 の 表示 開始 位置 の Y 座 標 | 03H | 画面 合成 の 設定 入 、 力 AH=03H AL ニテ キス トノス プラ イト 判別 境界 色 CX 三 合成 順位 bit 0-3: 最高 優先 順位 の 画像 指定 bit 4-7: 第 2 優先 順位 の 画像 指定 bit 8-11 : 第 3 優先 順位 の 画像 指定 bit 12-15 : 最低 優先 順位 の 画像 指定 各 4 ビッ ト に は 0 て 4 の 値 を 設定 する . 0 : 画像 な し 1: テキ スト 画面 230 6.6 グラ フィ ッ ク 画 面 制御 BIOS 2:・ ス プラ イト 画面 3: グラ フィ ッ ク 画 面 0 4: グラフィ ッ ク 画 面 1 INT 8EH 仙 X ニ リタ クー ショ ー ド 画面 合成 の 順位 を 設定 する . V3 BASIC の COMPOSE 文 に 相当 する . | 表示 位置 の 設定 (絶対 位置) 重圧 悪さ AH=04H AL ニ グ ラフ ィ ッ ク 画 面 番号 (0 また は 1) CL= ニ バッ ファ 番号 BX= ニ フレ ー ム バッ ファ 中 の 表示 開始 位置 X 座 標 DX= ニ フレ ー ム バッ ファ 中 の 表示 開始 位置 Y 座 標 INT 8FH AX 三 リ ター ショ コード 表示 画面 の フレ ー ム バッ ファ 中 の 位置 を 移動 する . V3 BASIC の ROLL TO に 相当 す る . | 表示 位置 の 移動 (相対 位置 出 カ 解 説 AH=05H AL= グ ラフ ィ ッ ク 画 面 番 号 (0 また 1) CL= バ ッ フ ァ 番 号 BXー 表 示 開 始 位置 の 水平 方 向 移動 量 DX 三 表 示 開 始 位置 の 垂直 方 向 移動 量 INT 8FH AX ニ = リタ ー ン コー ド 表示 画面 の フレ ー ム バッ ファ 中 の 位置 を 移動 する . V3 BASIC の ROLL 文 に 相当 する . | 06H | 画面 マス ク の 設定 火 8 力 AH=06H A モード CL= マ スク の 挿入 位置 (マス クス ロッ ト 番 号 ) BX 三 画 面 マ スク の 左端 (0-639) DX = 画面 マス ク の 上 上端 (0-199) SI= 画 面 マ スク の 右端 (0-639 で BX 以上 ) 231 第 6 章 BIOS DI 画面 マス ク の 下端 (0-199 で DX 以上 ) INT 8EH 出 力 AX= ニ リタ ー ン コー ド 解 説 画面 マス ク を 設定 する . V3 BASIC の SCREEN MASK 文 に 相当 する . | 07H | フレ ー ム バッ ファ 情報 の 取得 入力 AH 三 07H AL ニニ グラ フィ ッ ク 画 面 番号 (0 また は 1 ) CL ニ バッ ファ 番号 INT 8EH 出 力 AX= ニ リ ター ンコ ー ド ES : DI= ニ フレ ー ム バッ ファ 情報 テー ブル アド レス (正常 終了 時 ) < フレ ー ム バッ ファ 情報 テー ブル > dw ピク セル サイ ズ dw フレ ー ム バッ ファ の 幅 ( ピ クセ ル ) dw フレ ー ム バッ ファ の 高き (ピク セル ) dw フレ ー ム バッ ファ の アド レス (下位 16 ビッ ト ) dw フレ ー ム バッ ファ の アド レス (上 位 16 ビッ ト ) 解 説 定義 S3 れ て いる フレ ー ム バッ ファ の 情報 を 得る . フレ ー ム バッ ファ の 実 ア ドレ ス を 知る こと が で きる 。. 08H | パレ ッ ト の 設定 入 、 力 AH=08H AL ニ パ レッ ト 番 号 (0 て 32) CX メニ パレ ッ ト の 値 TINT 8FH 出 力 AX ニ = ニ リ タ ー ン コー ド 解 説 パレ ッ ト を 変更 する . 2 組 あ る カラ ー パ レッ ト を 連続 し て 扱い 。 カラ ー パ レッ ト 0 は パ 232 レッ ト 番 号 0 て 15 で , カラ ー パ レッ ト 1 は 番号 16~31 で 選択 する . この ファ ンク ショ ン を 利用 し な いで パレ ッ ト レ ジス タ を ポー ト か ら 直 接 変更 し た 場合 。 作業 領域 が 更新 され な いた め 画 面 コ ピー 時 に 異な っ た 色 で 出力 され る 。 6.6 グラ フィ ッ ク 画 面 制御 BIOS | 09H | パレ ッ ト モ ー ド の 設定 入 。 カ 民 さ AH=09H AL= パ レッ トモ ー ド bit 7.6 : パレ ッ ト モ ー ド (0~3) bit 5,4 : パレ ッ ト モ ー ド 2 の と き の 画 像 指定 (0 三 寺 キズ ホ ボ ) 1 三 ス プラ イト 。2 ニ グラ ジィ ッ グ 2 3 グ ラフ ィ ォ ツ クス 29 bi32: ブ プリ ンク モー ド ( グ ブリ ンク サイ クル ) bit 1.0 : ブリ ンク 比率 INT 8FH AX ニニ リタ ー ン コー ド パレ ッ ト モ ー ド を 変更 する . V3 BASIC の PALLETE MODE 文 に 相当 する . | パレ ッ ト 初 期 化 AH=0AH INT 8FH AX デリ ター ンコ ー ド パレ ッ ト の 値 を 初期 化す る . V3 BASIC の パラ メー タ な し PALLETE 文 に 相当 する . | グラ フィ ッ ク 表 示 の ON OFF 正 a 部 AH ニテ 0BH AL =00 全て の グラ フィ ッ ク 表 示 を 停止 する . 01 グラ フィ ッ ク 表 示 を 再開 する . マル チ プ レー ン モ ノ ク ロ モー ド 時 の 表示 プレ ー ン の 指定 が DL レジ スタ で で きる 。. DL= 表 示 プ レー ン 指 定 ( フ ァ ン クシ ョ ン 0 と 同じ ) INT 8FH 作 欠 王 ター ショ ー ド グラ フィ ッ ク 画 面 の 表示 ON/OFF を 行う . 233 第 6 章 BIOS 作業 領域 0338H : 0000H て グラ フィ ッ ク 画 面 制 御 BIOS の 作業 領域 は セグ メン ト 338H で ある . OFFSET (16 進 ) 00-0E 内 部 使用 OF-10 画面 モー ド bit 15 : 1 ニシ ング ルプ レー ン モ ー ド ググ 0 ニー マルチ プレ ー ン モー ド bit 14 : 1=2 画面 モー ドン 0=1 画面 モー ド bit 13 : 1= ニ 表示 ON / 0= 表 示 OFF bit4: グラ フィ ッ ク 画 面 0 水平 解像度 (1= ニ 320, 0=640) bit 3 : グラ フィ ッ ク 画 面 1 水平 解像度 (1= ニ 320, 0640) bit2: 垂直 解像度 (1=200 ノ 204, 0 三 400 / 408) 11 グラ フィ ッ ク 画 面 0 の ピク セル サイ ズ 12 グラ フィ ッ ク 画 面 1 の ピク セル サイ ズ 13 グラ フィ ッ ク 画 面 0 用 の フレ ー ム バッ ファ 数 14 グラ フィ ッ ク 画 面 1 用 の フレ ー ム バッ ファ 数 < グラ フィ ッ ク 画 面 0 用 フレ ー ム バッ ファ 情報 テー ブル > 17-20 21-2A 2B-34 35-3E 3F-48 49-52 53-5C 5D-66 フレ ー ム バッ ファ #0 情報 テー ブル フレ ー ム バッ ファ #1 情報 テー ブル フレ ー ム バッ ファ #2 情報 テー ブル フレ ー ム バッ ファ #3 情報 テー ブル フレ ー ム バッ ファ #4 情報 テー ブル フレ ー ム バッ ファ #5 情報 テー ブル フレ ー ム バッ ファ #6 情報 テー ブル フレ ー ム バッ ファ #7 情報 テー ブル < グラ フィ ッ ク 画 面 1 用 フレ ー ム バッ ファ 情報 テー ブル > 67-70 71-7A 7B-84 85-8E 8F-98 99-A2 A3-AC AD-B6 フレ ー ム バッ ファ #0 情報 テー ブル フレ ー ム バッ ファ #1 情報 テー ブル フレ ー ム バッ ファ #2 情報 テー ブル フレ ー ム バッ ファ #3 情報 テー ブル フレ ー ム バッ ファ #4 情報 テー ブル フレ ー ム バッ ファ #5 情報 テー ブル フレ ー ム バッ ファ #6 情報 テー ブル フレ ー ム バッ ファ #7 情報 テー ブル く ウ ィ ン ド ウデ ィ ス クリ プ タ テ ー ブ ル ッ > B7-C0 Cl-CA CB-D4 D5-DE グラ フィ ッ ク 画 面 0 ウィ ンド ウ 0 の ディ スク リプ タ グラ フィ ッ ク 画 面 0 ウィ ンド ウ 1 の ディ スク リプ タ グラ フィ ッ ク 画 面 0 ウィ ンド ウ 2 の ディ スク リプ タ グラ フィ ッ ク 画 面 1 ウィ ンド ウ の ディ スク リプ タ 234 6.7 拡張 グラ フィ ッ ク BIOS 6.7 拡張 グラ フィ ッ ク BIOS 拡張 グラ フィ ッ ク BIOS は VA の グラ フィ ッ ク 画 面 へ の 描画 機能 を サポ ー ト する BIOS で あ り , 25 個 の 機能 が ある . @ 拡張 グラ フィ ッ ク BIOS 機能 一 覧 機能 番号 (16 進 ) アク ティ ブフ レー ム バ ッ フ ァ の 設定 ビュ ー の 設定 ビュ ー ポ ー ト 内 の 消去 (塗り つぶ し ) ライ ン 描 画 多角 形 描画 多 ラ イン 描画 円 描画 ペイ ント ドッ ト 描 画 ポイ ント 読取 り パタ ー ン ゲッ ト パタ ー ン プッ ト 描画 画面 と 表示 画面 の 切換 え グラ フィ ッ ク 画 面 へ の 文字 列 書 込み グラ フィ ッ ク 画 面 へ の 文字 書込み 仮想 画面 の 設定 仮想 画面 の 表示 パタ ー ン 拡大 ・ 縮 小 プ ブッ ト グラ フィ ッ ク 画 面 拡大 ・ 縮 小 3Dー 2D 変 換 図形 の 回 転 画面 圧縮 セー ブ 画面 再生 ロー ド 色 の 一 括 変更 ピク セル サイ ズ 16 っ 8 変換 @ 呼出 し 方 ① レ ジス タプ メモ リ に パラ メー タ 設 定 ② AH て 機能 番号 ③TINT 87H 235 第 6 章 BIOS | 01H | アク ティ プ フ レ ー ム バッ ファ の 設定 入 、 力 AH=0O1H ES : DX ニ フ レ ー ム バッ ファ 情報 アド レス INT 87H 呈 な し に アク ティ ブフ レー ム バ ッ フ ァ を 設定 する . 以後 この フレ ー ム バッ ファ に 対し て 描画 が 行 われ る . VIEW 等 は 設定 され な い . < フレ ー ム バッ ファ 情報 > DW 画面 モー ド DW フレ ー ム バッ ファ オフ セッ ト ア ドレ ス DW フレ ー ム バッ ファ セグ メン ト ア ドレ ス DW フレーム バ ッ フ ァ 又 方向 サイ ズ ( バ イト 単位 ) DW フレ ー ム バッ ファ YY 方向 サ イズ く 画 面 モ ー ド > 0 マル チ プ レー ン 4 バン ク 1 シン グル プレ ー ン 1 ビッ ト 2 シン グル プレ ー ン 4 ビット 3 シン グル プレ ー ン 8 ビット 4 シン グル プレ ー ン 16 ビッ ト 8 マル チ プ レー ン 1 バン ク (プレ ー ン 0 ) 9 マル チ プ レー ン 1 バン ク (プレーン 1 ) 10 マル チ プ レー ン 1 バン ク (プレーン 2 ) 11 マル チ プ レー ン 1 バン ク (プレ ー ン 3 ) 12 マル チ プ レー ン 3 バン ク | 02H | ビュ ー の 設 人力 | AH=02 相 AL= 動 作 モ ー ド ES : BX=VIEW デー タテ ー ブ ル アド レス INT 87H 出 力 AX=0: 正常 終了 =1 ・ VIEW 値 が 間違っ て いる 三 2 : VIEW で 指定 し た 領域 が 。 フレ ー ム バッ ファ より も 広い 解説 "VIEW ポー ト と 描画 原点 を セッ ト す る . < 動作 モー ド > bit 1 : 0 三 描画 時 に VIEW で クリ ッ ピ ング を 行う 1 三 描画 時 に VIEW で クリ ッ ピ ング を 行わ な い 236 6.7 拡張 グラ フィ ッ ク BIOS bit 0: 0 三原 点 移 動 の 処理 を 行う 1 三原 点 移 動 の 処理 を 行わ な い bit 7 : 1 ニタ イル 指定 あり 0= ニ タイ ル 指 定 な し bit 6 : 1=BOX 指定 時 FILL する 0=BOX 指定 時 FILL し な い bit 5 : 1=BOX 0=LINE bit 4 : 1=FILL 指定 時 枠 線 あり 0=FITL 指定 時 枠 線 な し bit 3: 0 237 第 6 章 BIOS bit 2-0 : 条件 000 PSET 001 XOR 010 AND 011 CLEAR 100 PRESET 101 OR く ラ イン テー ブル > DW 始点 X, 始点 Y DW 終点 X, 終点 Y DW "ライン スタイル DW 。 カラ ー1(BOX の 枠 ) DW カラー2 (BOX の 内 部 ) ミタ イル テー プル > 必ず 偶数 番地 か ら 始 まる こと 〇 マル チ プ レー ン 4 ビッ ト グ ピ クセ ル DW タイ ル パ タ ー ン の 縦 の 長 さ ( 最 大 255) DW 35 RI GA , 1 ライ ン 目 ) DW B, R, G, 1 ・ n ライ ン 目 〇 マル チ プ レー ン 3 ビッ トピ クセ ル DW タイ ル パ タ ー ン の 縦 の 長 さ ( 最 大 255) DW B, RG, 1 (だ だ し 。T は グミ ー バ パラ メー クタ) ) WW . BR G1 > n ラ イン 目 〇 マル チ プ レー ン 1 ビッ トピ クセ ルモード DW タイ ル パ タ ー ン の 縦 の 長 さ (最大 255) DW DD,D,D (すべ て 同じ デー タ ) ) DW BR G, 1 > n ラ イン 目 〇 シン グル プレ ー ン モー ド (GET デー タ と 同形 式 ) DW 横 ピ クセ ル 数 。 縦 ピ クセ ル 数 DW oars | 12H | 多角 形 描画 入 、 力 AH=12H AL ニコ ント ロー ル デ ー タ ES B ニラ イン デー ブル アド レス CX DX ニタ イル テー ブル アド レス INT 87H 軸 。 カ な し 238 6.7 拡張 グラ フィ ッ ク BIOS 解 説 多角 形 を 描く . スタ イル は LINE と 同じ . 三角 形 , 四角 形 の 場合 は タイ ル に よる 塗り つ 党 レ 可 。 < コン トロ ー ル デー タン > ミラ イン テー プル ジジ bit 7 : 1= タ イル 指定 あり DW ライ ン デ ー タ オフ セッ ト ア ドレ ス 0 ニタ イル 指定 な し DW "ライン デ ー タ セグ メン ト ア ドレ ス bit 6 : 1= ニ FILL (三角 形 ・ 四 角形 時 の み ) DW ライ ン の 本 数 (n ) 0= ニ FILL し な い DW 0 bit 5:0 DW 。 ライ ンス タイ ル bit 4 : 1=FILL 指定 時 枠 線 あり DW 。 カラ ー1( 枠 ) 0=FILL 指定 時 枠 線 な し DW 。 カ ヵ ラ ー2 (内 部 ) bit 3:0 K 9 く ラ イン デー タッ > 3 0 PN RN DW > XX 001 XOR , 90 010 AND 011 CLEAR 9 更 kNR 100 PRESET 101 OR | 13H | 多 ラ イン 描画 入 カカ AH=13H AL= コ ント ロー ル デ ー タ ES : BX ニ ライ ン テ ー ブ ル ア ド レス INT 87H 昌久 (な し 解 説 多数 の 線 を 一 度 に 書く . < コン トロ ー ル デー タッ > bit 7 :1 三 色 コ ー ド あり (各線 に 色 指定 する ) 0 三 色 コー ド な し bit 6-3 : 0000 bit 2-0 : 条件 000 PSET 001 XOR 010 AND 011 CLEAR 100 PRESET 101 OR 239 第 6 章 BIOS < ライ シテ ー テ ジル ツテ < く ラ イン デー タッ > DW ライ ン デ ヂ データ オフ セッ ト ア ドレ ス DW AX1。 AY1 DW ライ シ デ ー タ セグ メン トド レス DW AX2, AX2(,COLOR) DW ライ ン の 本 数 (n) DW BX1, BY1 DW 0 DW BX2, BY2(,COLOR) DW 。 ライン スタイル ) DW フー DW nX 1 ny DW nX2, nY2(,COLOR) 14H 円 描画 入 240 カ 悪 き AH=14 H AL ニコ ント ロー ル デ ー タ ES : BX ニ ライン テ ー ブ ル アド レス CX : DX ニタ イル テー ブル アド レス INT 87H な し 円 ・ 円 弧 ・ 扇 を 書く . タイ ル に よる 塗り つぶ し 可 . 開始 点 と 終了 点 が 一 致し た 場合 は 1 点 の み を 描画 する . 開始 点 ま た は 終了 点 が 円 と 一 致し な い 場 合 は 一 番 近い 値 に な る . く コ ント ロー ル デ ー タ ッ > bit 7 : 1 ニタ イル 指定 あり 0 ニタ イル 指定 な し bit 6 : 1 ユーFILL する 0=FILL し な い bit 5 : 1 三 終了 点 半 径 描く 0= 終 了 点 半径 描か な い bit 4 : 1 三 開始 点 半 径 描く or FILL 指定 時 枠 線 あ り 0 三 開 始点 半径 描か な い or FILL 指定 時 枠 線 な し bit 3 : 1 三 開始 点 終了 点 指 定 あり 0 三 開始 点 終 了 点 指定 な し bit 2-0 : 条件 000 PSET 001 XOR 010 AND 011 CLEAR 100 PRESET 101 OR くく サー クル デー タテ ー プ ブル > DW 2 DW RX, RY DW 0 DW A | DW 2 ジー2 DW 開始 点 X, 開始 点 Y DW 終了 点 X, 終了 点 Y 6.7 拡張 グラ フィ ッ ク BIOS ; 中 心 点 座標 : X,Y 各 半 径 ; 描画 色 ; 梓 線 色 ; 描画 開始 座標 ; 描画 終了 座標 | 15H | ペイ ント 入 、 力 AH=15H AL ニコ ント ロー ル デ ー タ ES : BX ニ ペイ ント デー タテ ー ブ ル アド レス CX : DX ニタ イル テー ブル アド レス INT 87 H AX 三 0 : 正常 終了 1 : STOP が 押下 の た め 中 断 し た 2: ワー クエ リア 不足 の た め 中 断 し た 章 書 境界 色 で 囲ま れ た 範囲 を 塗り つぶ す . ペコ ジ ド ト 避 一 ル デ ー ク タテ bit 7 : 1 ニタ イル 指定 あり DW 0= タ イル 指定 な し DW bit 6-3 : 0000 DW bit 2-0 : 条件 DW 000 PSET DW 001 XOR DW 010 AND 011 CLEAR 100 PRESET 101 OR ぐ く ペ イン ト デ ー タ テー ブル ッ > 開始 座標 X, 開始 座標 Y 塗り つぶ す 色 境界 色 ワー クエ リア オシ セッ ド ンー クリ ワー クエ リア の 終了 オフ セッ ト 16H | ドッ ト 描 画 AH ニ 16 H DX=X 座標 BX=Y 座標 CX ニカ ラー AL ニオ ペレ ーション 0 PSET 1 XOR P 241 第 6 章 BIOS AND CLEAR PRESET 5 OR INT 87 HLH 心 。 CO トウ 出 力 AX=0: 正常 終了 三 1 : 座標 が VIEW の 外 だ っ た 解 説 指定 され た 座標 に ドッ ト を 描く . | 17H | ポイ ント 読取 り 大 の AI7H DX=X 座標 BX=Y 座標 INT 87H 出 力 AX=0: 正常 終了 =1 : 座標 が VIEW の 外 だ っ た CX ニカ ラー( 正 常 終了 時 ) 解 説 指定 され た 座標 の ドッ ト の 色 を 読み 取る . | 18H | パタ ー ン ゲッ ト 入力 AH ニ =18H ES : B メ ニー デー タテ ー ブ ル アド レス INT 87H 出 力 AX=O : 正常 終了 三 1 : 座標 が VIEW の 外 だ っ た 三 2 : 格納 領域 の サイ ズ が 小さ 過ぎ る 3・ デ ー タ テー ブル に 無効 な パラ メー タ が ある 更 に パパ ター ン の GET を 行う . の ンタ ルレ DW 開始 座標 DW 開始 座標 Y DW 水平 サイ ズ DW 垂直 サイ ズ DW 格納 領域 の サイ ズ DW 格納 領域 の オフ セッ ト DW 格納 領域 の セグ メン ト 242 6.7 拡張 グラ フィ ッ ク BIOS | 19H | パタ ー ン プッ ト 入 カ | に AH=19H AL= コ ント ロー ル デ ー タ ES : BX ニ デー タテ ー ブ ル アド レス INT 87H AXー0 : 正常 終了 三 1 : 座標 が VIEW の 外 だ っ た 三 2 : 格納 領域 の サイ ズ が 小さ 過ぎ る 3:・ デ ー タ テー ブル に 無効 な パラ メー タ が ある パタ ー ン の PUT を 行う . < コン トロ ー ル デー タン > bit 7-6 : 10 ニ デス ティ ネー ショ ン が 0 の 部 分 だ け 転 送 01= ニ ソー ス が 0 の 部 分 は 転送 し な い 00 三 通常 の PUT bit 5:1 モ 1 プレ ー ン か ら の ピク セル サイ ズ 拡 張 PUT 0= 同 じ ピ クセ ル サ イ ズ で PUT bit 4 : 1 ニ パ ター ン Blt(PatB1t) 0= 通 常 の Blt(BitBlt) bit 3-0 : 条件 (SG=PUT する パタ ー ン D=PUT され る 画面 ) 0 RSET 駆 財 8 :NOT(S OR D) 1 : XOR [IS XORD] 9 :NOT(S XOR D 2 : AND [S AND 1D] A:NOT(S) AND D 3:CEEAR [0I1 BNOECS)。@RI D 4 : PRESET [NOT(S)] C : NOT(D) 5 :OR [S OR DI D:S OR NOT(D) 6 :S AND NOT(D) EE NOHS NB D) DINOP EE < デニ タグ の ーー DW 開始 座標 X DW 開始 座標 Y DW 水平 サイ ズ (PatBlt 時 の み ) DW 垂直 サイ ズ (PatBlt 時 の み ) DW 格納 領域 の サイ ズ DW 格納 領域 の オフ セッ ト DW 格納 領域 の セグ メン ト DW フォ アグ ラウ ンド カラ ー DW バ パック グラ ウン ドカ ラー 243 第 6 章 BIOS 31H 正 慎 244 剖 描画 画面 と 表示 画面 の 切換 え 入 妨 A 旧 三 31H AL ニモ ー ド CL= ペ ー ジ 番号 (モー ド 0 の と き ) ES : BX= フ レー ム パ バッ ファ テー ブル アド レス (モー ド 0 の と き ) INT 87H な し BIOS ファ ンク ショ ン に お いて の 描画 画面 と 表示 画面 を 切り 換え , 表示 が 終了 し た 画面 を 消去 する . これ に よっ て , アプ リケーション 側 は , 表示 ペー ジ を 気 に す る こと な く <, 1 つの 画面 に 連続 し て 書き 込む だ な け で 。 ア ニメーション が 簡単 に 実現 する . < く モ ー ド > 0 イニ シャ ライ ズ ( フ レー ム バ ッ フ ァ の 定義 ) 1 画面 1 を 表示 し , 画面 2 を アク ティ ブ に し ,CLS する 2 画面 2 を 表示 し , 画面 1 を アク ティ ブ に し , CLS する 3 表示 画面 と アク ティ ブ 画 面 を 入れ 換え , アク ティ ブ 画 面 を CLS する ジリ ツー DW DW DW DW DW DW DW DW DW DW 注 1 注 2 注 3 注 4 み が パッ ツテ テー プル シン フレ ー ム バッ ファ の 数 ( 注 1) フレ ー ム バッ ファ テー ブル ( 注 2 ) 画面 1 の ウィ ンド ウツ ウ 数 ( 注 3 ) 画面 1 の ウィ ンド ウ テ ー ブ ル ( 注 4) 画面 1 の フレ ー ム バッ ファ オフ セッ ト 画面 1 の フレ ー ム バッ ファ セグ メン ト 画面 2 の ウィ ンド ツウ 数 画面 2 の ウィ ンド ウ テ ー ブ ル 画面 2 の フレ ー ム バッ ファ オフ セッ ト 画面 2 の フレ ー ム バッ ファ セグ メン ト ・ グ ラフ ィ ッ ク 画 面 制御 BIOS の ファ ンク ショ ン 01( フ レー ム バ ッ フ ァ の 定義 ) の CX と 同じ ・ グ ラフ ィ ッ ク 画 面 制御 BIOS の ファ ンク ショ ン 01( フ レー ム バ ッ フ ァ の 定義 ) の DI と 同じ : グラフィック 画面 制御 BIOS の ファ ンク ショ ン 02( ウ ィ ン ド ウ の 定義 ) の CX と 同じ ・ グ ラフ ィ ッ ク 画 面 制御 BIOS の ファ ンク ショ ン 02( ウ ィ ン ド ウ の 定義 ) の DI と 同じ 6.7 拡張 グラ フィ ッ ク BIOS 32H グラ フィ ッ ク 画 面 へ の 文字 列 書 込み 火 旋 圧 填 凍 に 4 AH=32H DS : BX= ス トリ ング デー タテ ー ブ ル アド レス ES : DX= フ ォ ン ト デ ー タ テー ニー ブル アド i ンス INT 87H な し グラ フィ ッ ク パ ター ン で 定義 され て いる 文字 フォ ント に より , 文字 列 を グラ フィ ッ ク 画 面 に 表示 する . マ ル チ プ レー ン モ ー ド の 場合 . フ ォ ン ト デ ー タ の バン ク 数 は 任意 (1-4) で , 各 バ ンク を 実際 に 表示 する プレ ー ン に 自由 に 割り 当て る こと が で きる . また , ドッ ト パ ター ン を 反転 し て 表示 する こと も で きる 。 シン グル プレ ー ン モー ド 時 に 。 フォ ント デー タ が 1 ビッ ト プ ピ クセ ル の 場合 ,、 フォア グラ ウン ド ・ バ ッ ク グ ラウ ンド カラ ー を 指定 す る . 表示 する 文字 列 は フレ ー ム バッ ファ の 右端 を 越 を な いよ うに し な けれ ば な ら な い . 文字 列 は , 0 を 終了 コー ド を する ASCTIZ 文字 列 を 使用 する . フォ ント デー タ の サイ ズ は 64 KK バイ ト 以 上 も 可能 で ある . ベス ドリ UI スン デー クタ テー ジル レッ DW 表示 開始 XX 座標 (バイ トバ ウン ダリ の 位置 ) DW 表示 開始 Y 座標 DB ASCIZ 文字 列 る プシ トト アー ニー ジジ テー 〇 マル チ プ レー ン モ ー ド DW 描画 プレ ー ン 情報 bit 15-12 : プレ ー ン 3 bit 11- 8 : プレ ー ン 2 bit 7-4: プ レー ン 1 bit 3-0: プ レー ン 0 各 プ レー ン の bit 3-2 : 使用 する フォ ント の バン ク 番 号 bit 1: 1 三 反転 / プ 0= ニ ノー マル bit 0: 1 三 描画 する 0= 描 画 し な い DB フォ ント デー タ の バン ク 数 一 1 DB アグ ジオ ント サザ サイズ bit 5-4:Y ヤ ドット サ イズ (00=8 グ 01=16 プ 10=24 プ 11 三 32) bit 1-0:X ド ッ ト サ イズ (00=8 プ 01=16 プ 10=24 プ 11 三 32) DW フォ ント デー タオ フ セ ッ ト DW 。 フォ ント デ ガー セグ メド @ フ フォント デ ー タ バジ ジグ ク '0 DB X07 8-15,。 "5 1 ジス 導 目 DB 2X0 ヨ 8=E15。 2 ラス ググ 目 DB 2N0S6 二 区 8515。 5 3 ジ ベ グ 目 245 第 6 章 BIOS DB _ X0=7、 交 8315。 … 最終 ラス クタ クジ ング 1 DB 区 0=7。 区 8=154… 5 ポラス ダ 目 DB XX0-7。 区 8=15,。 …) 2 ラス 夕 目 ) 最終 バン ク : DB XX0=7。 X815 5 ラス 多 目 DB X07 っ X815, 2 スタ 目 ) 〇 シン グル プレ ー ン モー ド DW フォ ント デー タ の ピク セル サイ ズ (1, 4, 8, 16) DW フォ ント メサ イズ (ドッ ト ) DW ジオ ォ ジ よ ド 王 う 1 つく 0 ド ッ ト ) DW ン 計 ジジ ト デ ー グ オン も セ の 5 トド DW フォ ント デー タタ セグ メン ト DW ジ ォ アグ ラジ シド カラ ー DW バッ ク グ ラン ドカ ラー @ フ ォ ン ト デ ー タ DW 0=15。 区 16=92。 "さよ ラス ググ 月 DW X0=15, X16=32, < の 2 ラス グ 目 DW X0-15。 XX16-32。…) 3 ラス タ 目 DW.。 X0-15. X16-82,. … ぶ 最終 ラス | 33H | グラ フィ ッ ク 画 面 へ の 文字 書込み 入力 AH 三 33H SI : DI= 描 画す る 画面 の アド レス (マル チ プ レー ン モ ー ド ) 描画 する 画面 の 座標 (シン グル プレ ー ン モー ド ) CX 三文 字 コ ー ド ES iD 区 ニニ フォ ント デー タテ ー プ ブル アドレス (ファ シク ショ ン 32 と 同じ D) INT87H 括 汁 な し Ea に ファ ンク ショ ン 32 と 同様 に グラ フィ ッ ク 画 面 に 1 文字 表示 する . 246 6.7 拡張 グラ フィ ッ ク BIOS | 34H | 仮想 画面 の 設 入 、 力 AH=34H ES : DX= マ ッ プ ワー クア ドレ ス INT 87H 軸 :。 カ 。 を し 解 説 メイ ン メ モリ に 仮想 画面 を 設定 する . 仮想 画面 は 任意 の 大 き さ を 持つ こと が で き , 各 バ イト が キャ ラク タタ 番号 を 表す . この キャ ラク タ 番 号 の グラ フィ ッ ク フ ォ ン ト パ タ ー ン を 実 画面 に 転送 する (ファ ンク ショ ン 35) こと に より , ウィ ンド ウ 機 能 を 実現 する . 実際 に 表示 され る の は 仮想 画面 の 一 部 だ け で あり , 表示 領域 を 変更 する こと に より 大 き な 画 面 の 中 を 動き まわ っ て いる 様 に 見 せる . また , 仮想 画面 を 複数 設定 し , 表示 画面 の 窓 に 対 応 さ せる こと に より , マル チ ウ ィ ン ド ツウ 機能 が 実現 で きる . な お , フォ ント テー ブル の 形式 は ファ ンク ショ ン 32 プ 33 と 同じ で ある . く ES : DX マッ プ ワ ー ク > 16 バイ ト フォ ント デー タテ ー ブ ル (ファ ンク ショ ン 32 と 同じ ) 32 ジ イート シス テム 用 作業 領域 DW 実 画面 の 表示 開始 座標 X DW 実 画面 の 表示 開始 座標 Y DW 実 画面 の 大 き さ 又 (キャラクタ 単位 ) DW 実 画面 の 大 き さ Y( キ ャ ラク タ 単 位 ) DW 仮想 画面 の 大 きき X( キ ャ ラク タ 単 位 ) DW 仮想 画面 の 大 き さ Y( キ ャ ラク タ 単 位 ) DW 仮想 画面 開始 アド レス の オフ セッ ト DW 仮想 画面 作業 領域 開始 アド レス の オフ セッ ト 仮想 画面 の サイ ズ ニ 幅 X 高 さ X 2 (バイ ト ) 仮想 画面 作業 領域 の サイ ズ ニ = 幅 X 高 き X 2 (バイ ト ) 35H | 仮想 画面 の 表示 入 、 力 AH=35H AL= 全 転送 フラ グ ( 1 = 全 転 送 ) SI 仮想 画面 中 の 表示 開始 X 座標 DI 仮想 画面 中 の 表示 開始 Y 座標 ES : DX= ニ マッ プ ワ ー ク アド レス INT 87H 出力 な し 解 説 ファ ンク ショ ン 34 で 設定 し た 仮想 画面 を 実 画面 に 転送 する . 転 送 さ れる 実 画面 の 大 きき は 仮想 画面 の 1 キャラ クタ 当り の 大 きき さ に よっ て 左右 され る 。 全 転 送 フ ラグ が 0 以外 の と き は , 転送 領域 の 全 キ ャ ラク タ を 転送 し 。 0 の と き は , 前 回 呼ば れん た と きか ら 変 化し た キャ ラク タ の み 転 送 する . 247 第 6 章 BIOS パタ ー ン 拡大 ・ 縮 小 | 入力 AH=37H AL =0 : 2 倍 拡大 1 : 1 グ 2 縮小 ES : BX= 転 送 テ ー ブ ル アド レス INT 87H 軸 茸 力 隊 なじ 解 説 GET デー タ を 拡大 縮小 し て コピ ー す る く 転 送 座標 テー ブル アド レス > DD ソー ス GBET デー タテ ー ブ ル アド レス DD デス ティ ネー ショ ン GET デー タテ ー プ ブル アド レス 38H | 3D 一 2D 変 換 入力 AH=38H AL=00H : 色 コ ー ド な し 80H : 色 コ ー ド あり CX ニラ イン 総数 DX 視点 距 離 BX ニ パー ス DS : SI= 3 次 元 ラ イン テー ブル アド レス ES : DI= 2 次 元 ラ イン テー ブル アド レス INT 87H 出 力 CX ニ = 次 元 ラ イン の 本 数 解 説 3 次 元 デ ー タ を 2 次 元 上 に 投影 する 。 デー タ を , メーZ, 一 X=Z, Y=Z, 一 ヤニ Z の 視野 ピラ ミッ ド で クリ ッ ピ ング し , 次 の 式 で 計算 し て 2 次 元 画面 に 投影 する . X2D=(X * パ ー ス )(Z 二 視点 距離 ) Y 2D=(Y * パ ー ス ) ン /(Z 二 視点 距離 ) パー ス は 通常 VIEW ポー ト の 最大 幅 の 2 分 の 1 を セッ ト す る . これ に よっ て , 視野 ピラ ミッ ド の 幅 が , VIEW ポー ト の 端 と 一 致す る . 計算 は , ワー ルド 座標 で 行わ れ , ア プリ ケー ショ ン ソ フト は WINDOW と VIEW を 使用 し て 2 次 元 ク リッ ピン グ を お こ な う . く 3 次 元 ラ イン テー ブル > DW StartX1, SatrtY1, StartZ1 DW EndX1, EndY1, EndZl (, COLOR) DW StartXn, StartYn, StartZn DW EndXn, EndYn, EndZn (, COLOR) 248 6.7 拡張 グラ フィ ッ ク BIOS く 2 次 元 ラ イン テー ブル > DW DW ) DW DW StartX1。 StartY1 EndX1。 EndY1, (, COLOR) StartXn。 StartYn EndXn, EndYn, (, COLOR) 39H | 図形 の 回 転 入 力 AH=38H AL ニコ ント ロー ル デ ー タ DX 三 回 転 角度 ( 0 ~359) CX ニ ド ッ ト の 数 DS : SI= 回 転 和 前 ライ ン テ ー ブ ル ア ド レス (ファ ンク ショ ン 38 と 同じ ) ES : DI= 回 転 後 ラ イン テー ブル アド レス (ファ ンク ショ ン 38 と 同じ ) INT 87H 寺 評 巡回 し 解 説 3 次 元 (2 次元) データ を XX,。Y, Z 軸 を 中 心 に 回 転 す る . < コン トロ ー ル デー タッ > bit 7 :1 三 色 コ ー ド あり bit 1-0 : 回 転 軸 0 三 色 コー ド な し 00 2 次 元 デ ー タ bit 6-2 : 00000 01 XX 軸 回 転 10 Y 軸 回 転 11 Z 軸 回 転 3AH | 画面 圧縮 セー プ 入 、 力 AH=3AH ES : DX ニ = ニ フ ァ イル 名 の アド レス INT 87H 出 力 DX: CX 圧縮 デー タ の 長 さ (32 ビッ ト ) AX=0 ww の 〇 1 > で CO ・ 正 常 終了 MR ・ フ ァイル 名 が 無効 ・ オ ー プ ン さ れ て いる ファ イル が 多 過 ぎる ・ ア クセ ス 不 能 ・ ス トッ プ キ ー が 押さ れ た ファ イル の 書込み 不能 (ディ スク フル な ど ) 解 説 VIEW が 区 切ら れ た GVRAM イメ ー ジ を 圧縮 し て ファ イル に 書き 出す . 249 第 6 章 BIOS | 3BH | 画面 再生 ロー ド AR 1 に AH=3BH AL 人 = 描画 開始 座標 の 有無 (1 = 有り ング 0 三 無し ) BX 三 描画 開始 X 座標 CX 三 描 画 開始 Y 座標 ES : DX= フ ァイル 名 の アド レス INT 87H DX : CX 圧縮 デー タ の 長 さ (32 ビッ ト ) AX ニテ 0 : 正常 終了 1: ファ イル の 書込み 不能 (ディ スク フル な ど ) ・ フ ァイル が 見 つか ら な い ・ フ ァイル 名 が 無効 ・ オ ー プ ン さ れ て いる ファ イル が 多 過 ぎる ・ ア クセ ス 不 能 ・ フ ァイル が 正しく な い 9:・ ス トッ プ キ ー が 押さ れ た 画面 圧縮 セー プ で 圧縮 し た デー タ を GVRAM 上 に 再現 する . 描画 は ビッ ト ご と の 論理 OR で 行わ れる の で , あら か じ め 画 面 を 消去 し て お く 必 要 が ある . また , VIEW ポー ト で の クリ ッ ピ ング は 行わ な い . 圧縮 デー タ は , 画面 モー ド が 異な っ て いて も , その 表示 能 力 の 範囲 内 で 再現 する こと が で きる . また , マル チ プ レー ン と シン グル プレ ー ン の 区 別 は な い 、. の > の 1 愉 CO to 弄 圧 回 き 250 | 色 の 一 括 変 更 | AH=3CH CX 三 変換 する 色 の 総数 ES : SI= 変 換 前 の 色 テ ー ブ ル ES : DI= 変 換 後 の 色 テ ー ブ ル INT 87H な し シン グル プレ ー ン 8・16 ビッ トピ クセ ル 時 に 画面 中 の 色 を 一 括 し て 変更 する . 複数 の 色 を 一 度 に 変換 お する こと が で きる 。. く 色 テー ブル > 〇 8 ビッ トピ クセ ル 時 ES:SI DB 変換 前 の 色 1, 2。 3, 4。…… ES:DI DB 変換 後 の 色 1,。2。3, 4。…… 〇 16 ビッ トピ クセ ル 時 RSSSI DW 変換 前 の 色 1。 2。3。4。 …… ES:DI DW 変換 後 の 色 1,。 2, 3, 4。…… 6.7 拡張 グラ フィ ッ ク BIOS | 3DH | ビク セル サイ ズ 16 8 変換 A 内 寺 力 出 解 吾 さ AH=3DH CX=8 ビッ ト プ ピ クセ ル 画 面 の フレ ー ム バッ ファ の 横幅 ES : DI= 8 ビット プ ピ クセ ル 画 面 の フレ ー ム バッ ファ の 開始 アド レス INT 87H な し シン グル プレ ー ン 16 ビッ トピ クセ ル の デー タ を 8 ビッ トピ クセ ル の デー タ に 変換 する . | 3EH | グラ フィ ッ ク 画 面 拡大 ・ 縮 小 太 a カ 凍 に 3 AH=3EH ES : BX= 転 送 座 標 テ ー ブ ル アド レス INT 87H な し 画面 上 の 任意 の 範囲 を 拡大 縮小 し な が ら コ ピー する . く 転 送 座標 テー ブル > WW SN SYSX2..SY2 DWE DX DY1 DX DY2 *(SX1, SY 1) 一 (SX 2, SY 2) の 領域 を (DX 1, DY 1) 一 (DX 2, DY 2) に 転送 する . 範囲 は 640X400 まで 251 第 6 章 BIOS 597/ 全 グー ショ ン BIOS アニ メー ショ ン BIOS は アニ メー ショ ン な どの アプ リケーション プロ グラ ム で 有用 な ツー ル を 集め た も の で ある . @ ア ニメーション BIOS 機能 一 覧 機能 番号 (16 進 ) 00 01 02 03 04 05 06 07 08 09 0A 0B @ 呼出 し 方 直線 の 端点 を 指定 する 直線 の 座標 を 得る 円 の 半径 を 指定 する 円 の 座標 を 得る スプ ライ ン 曲 線 の 元 座標 を 指定 する スプ ライ ン 曲 線 の 座標 を 得る イメ ー ジ スキ ャ ナ を 初期 化す る イメ ー ジ スキ ャ ナ の 読取 り 開 始 指示 イメ ー ジ スキ ャ ナ か ら の デー タ 取 得 イメ ー ジ スキ ャ ナ の 読取 り 中 止 HSV 色 指 定 を RGB 指定 に 変換 する RGB 色 指 定 を HSV 指定 に 変換 する ① レジ スタ メモ リ に パラ メー タ 設 定 ② AH~ 機 能 番号 ③ INT 88H ④ STI トー 久 注 意 点 CLI 状態 の まま 戻っ て くる こと が ある . | 00H | ライ ン 座 標 設 入力 AH=00H ES : BX 三 始点 ・ 終 点 座 標 を 格納 し た テー ブル へ の ポイ ンタ [ES : BX] 始点 XX 座標 (signed word) [ES : BX 十 2] 始点 Y 座 標 (signed word) [ES : BX 十 4] 終点 XX 座標 (signed word) [ES : BX 十 6] 終点 Y 座 標 (signed word) INT 88H 圧 寺 な し 恒 章 直線 の 始点 と 終点 を 指定 する . この ファ ンク ショ ン で 指定 し た 直線 の 各 点 の 座標 を , フ ァ ン クシ ョ ン 1 で 取得 する こと が で きる 。. 252 6.8 アニ メー ショ ン BIOS | OrH | ライ ン 上 座標 取得 間 入 、 力 AH ニ =01H INT 88H 出 力 CY=1 ライ ン 座 標 設 定 を 行っ て いな い . CY=0 正常 終了 AX=0 ライ ン の 途中 デー タ 1 ライ ン の 最後 の デー タ (終点 ) BX=X 座標 CX メニ Y 座標 ファ ンク ショ ン 0 で 設定 し た 直線 の 各 点 の 座標 を , 始点 か ら 終点 に 向かっ て 1 点 ず つ 取 得する . この ファ ンク ショ ン を 1 回 呼ぶ ご と に 点 の 座標 を 順に 返す .。 EN 部 | 02H | 円 半径 設定 | 入 カカ AH=02H DX = 半径 INT 88H 出 力 CY=1 半径 が 0 また は 負 . 三 0 正常 終了 解 円 の 半径 を 指定 する . この 円 の 円 周 の 座標 を ファ ンク ショ ン 3 で 取得 で きる . に | 03H | 円 座標 取得 入 カカ AH=03H INT 88H 出 力 CY=1 半径 を 設定 し て い に いない, 三 0 正常 終了 AX 三 0 途中 の 点 の 座標 1 最後 の 点 の 座標 BX=X 座標 CX=Y 座標 解 説 ファンクション 2 で 指定 され た 半径 の 1 ン 8 円 の 円 周 の 座標 を 1 点 ず つ 返 す . 円 の 中 心 は (0, 0) に 固定 され て いる . 全 円 の 座標 は 次 の よう に し て 得 ら れる . (SX, SY) 中 心 点 座標 (RX, RY) この ファ ンク ショ ン で 得 た 座標 と する と , 253 第 6 章 BIOS (X0。 Y0) =(SX 十 RX, SY 十 RY) Kl, Y1) =(SX 十 RY,。 SYーRXX) (Xl YI =(SX=RX, SY—RY) (X3,. V3)=(SX—RY, SY+RX) R I= RY か つ RX ! 王 0 の と き 。 (X4, Y4) =(SX 十 RY,SY 十 RX) (X5, Y5) =(SX+RX, SY-RY) (X6, Y6) =(S メ ーRY, SYーRX) (X7。 Y7) =(SXーRX。SY 十 RY) の 8 また は 4 点 に 点 を 打 て ば よい 、. | 04H | スプ ライ ン 元 座標 設定 入 、 力 AH=04H ES : BX= 座 標 テ ー ブ ル へ の ポイ ンタ DX = 座標 の 数 ( 8 以上 ) CX= 各 頂点 ( 元 座標 ) 問 で 補間 する 数 (1-1000). INT 88H 座標 テー ブル の 形式 BS¥ BX] DW 和 X0。 Y0 DW し \1 DW 2 2 ) 出 力 CY= ニ 1 パラ メー タ が 異常 三 0 正常 終了 解 説 3 次 B ス プラ イン 曲線 を 計算 する た め の 頂 点 の 座標 テー ブル を 指定 する . この テー ブル は ファ ンク ショ ン 5 で 直接 参照 され る の で , 座標 取得 終了 まで 保持 する 必要 が ある . | 05H | スプ ライ ン 座 標 取 得 入 、 力 AH ニ =05H INT 88H 出 力 CY=1 スプ ライ ン 座 標 設定 を 行っ て いな い . CY=0 正常 終了 AX=0 途中 の デー タ ( ま だ 残り の 座標 が ある ) =1 最後 の デー タ (終点 ) BX=X 座標 CX=Y 座標 藻 に 3 ファ ンク ショ ン 4 で 設定 し た 頂点 を 元 に し た , 3 次 B スプ ライ ン 曲 線 の 座標 デー タ を 1 点 ず つ 取 得する . 誤差 の た め 滑ら か に な ら な いこ と が ある . 254 6.8 アニ メー ショ ン BIOS | 06H | イメ ー ジ スキ ャ ナ の 初期 化 入 、 力 AH=06H INT 88H 出 力 CY=1 スキ ャ ナ の 準備 が で き て いな い . 三 0 正常 終了 解 説 スキ ャ ナ ポ ー ト に 接続 きれ た スキ ャ ナ を 初期 化す る . スキ ャ ナ は 必ず 接続 きれ て いる 必 要 が ある . | 07H | イメ ー ジ スキ ャ ナ 読 取り 開始 入 力 AH=07H CX= ニ 1 ライ ン の ドッ ト 数 を バイ ト 数 で 指定 (最大 240 バイ ト ) DX= 読 込み ライ ン 数 AL 三 読取 り モ ー ド Bit 7 : ユ ー ザ 指定 シー ケン ス (1= 有 り ノ 0= 無 し ) Bit 6: 0 Bit 5。 4 : ディ ザ 指 定 (2 階 調 の と き ) 三 00 スイ ッ チ に よる =01 強制 的 に ディ ザ OFF =10 ディ ザ 指 定 Bit 3, 2。 1, 0 : 読取 り 階 調 =0001 2 階 調 三 0010 4 階 調 0011 8 階 調 三 0100 16 階 調 ES : BX ニ ュー ザ 指 定 シ ー ケ ンス へ の ポイ ンタ . AT の Bit 7=1 の と きのみ 有効 . 形式 は スキ ャ ナ へ 出す エス ケー プシ ー ケ ンス を その まま 格納 し 。 NULL(00) で 終了 する . INT 88H 出 力 CY=1 パラ メー タ が 異常 ファ ンク ショ ン 6 を 行っ て いな い 三 0 正常 終了 スキ ャ ナ に 読取 り パ ラメ ー タ と 読取 り 開 始 命令 を 送る . 同時 に 各種 エス ケー プシ ー ケ ン ス を 指定 し て , 多彩 な 設定 を する こと が 可能 と な っ て いる . 章 ド に 3 255 第 6 章 BIOS 08H | イメ ー ジ スキ ャ ナ デ ー タ 取得 入 、 力 AH=08H 256 部 ES : BX= デ ー タ 格納 領域 ポイ ンタ 配列 の アド バイ ス INT 88H CY=1 読取 り は 終了 し て いる . ファ ンク ショ ン 6, 7 を 行っ て いな い 、 ー0 正常 終了 デー タ ( 1 ライ ン 分 ) が 指定 し た 領域 に 格納 され る . AX=0 まだ 残り の デー タ が ある 。. ー1 最後 の ライ ン で ある 。. スキ ャ ナ か ら 1 ライ ン 分 の デー タ を 読み 込み , 圧縮 か ら 復 元 し て 指定 き さ れ た 領域 に 格納 する . 多 階 調 の 場合 は , マル チ プ レー ンタ イプ と 同様 な 各階 調 ご と の プレ ー ン と し て 格 納 さ れる . この 時 格納 され る プレ ー ン の 順番 は ,。 スキ ャ ナ か ら 送 っ て きた 順 で ある . く デ ー タ 格納 領域 ポイ ンタ 配列 > 配列 の 形式 は 。 1 ライン の ドッ ト 数 8 (バイ ト ) の 領域 へ の 32 ビッ ト ポ イ ンタ を, 2 階 調 の と き 1 プレ ー ン 分 4 階 調 の と き 2 プレ ー ン 分 8 階 調 の と き 3 プレ ー ン 分 16 階 調 の と き 4 プレ ー ン 分 持っ た も の . く 例 : 16 階 調 幅 320 ドッ ト の と き > ES : BX = dw offset of plane 0 dw segment of plane 0 dw offset of plane 1 dw segment of plane 1 dw offset of plane 2 dw segment of plane 2 dw offset of plane 3 dw segment of plane 3 plane0 db 40 dup(? ) planel db 40 dup(? ) plane2 db 40 dup(? ) plane3 db 40 dup( ? ) 6.8 アニ メー ショ ン BIOS | 09H | イメ ー ジ スキ ャ ナ 読 取り 中 止 入 、 力 AH=09H INT 88H 由 力 な し 解 部 スキ ャ ナ か ら の 読取 り を 強制 的 に 中 止 する . OAH HSV っ RGB デー タ 変 換 入 、 力 AH=OAH AL=RGB の タイ プ =0: 8 ビット グ ピク セル 三 1 : 16 ビッ ト プ ピ クセ ル =2: フル ビッ トモ ー ド (24 ビッ ト ) BX=H(0 く = 耳 こ =359) CX=S(0 く =S<=100) DX=V(0 く =V<=100) INT 88H 出 力 CY= ニ 1 パラ メー タ 暴 常 CY=0 正常 終了 8 ビッ トノ ピ クセ ル の と き BL=bit7-5:G bit4-2:R bit1-0:B 16 ビッ トノ ピク セル の と き BX=bit 15-10:G bit9-5:R bit4-0:B フル ビッ トモ ー ド の と き BX=B(0~63) CX=R(0~63) DX=GC -53) 解 説 HSV 型 で 表 さ れ た 色 デ ー タ を RGB 型 に 変換 する . RGB 型 に は グラ フィ ッ ク モ ー ド と 一 致す る 8 ピット プ ピ クセ ル 。16 ビッ ト プ ピ クセ ル の 他 に , ハー ドウ ェ ア 上 の 発色 を 反映 し た フル ビッ トモ ー ド が ある 。 257 第 6 章 BIOS | OBH | RGB > HSV デー タ 変 換 入 、 力 AH=OBH AL=RGB の タイ プ =0: 8 ビット プ ピ クセ ル 呈 和 | 16 ビビ ピク セル ー2: フル ビッ トモ ー ド (24 ビ ピット) 8 ビッ トピ クセ ル の と き BL= bit7-5:G bit4-2:R bit1-0:B 16 ビッ ト プ ピ クセ ル の と き BX= bit15-10:G bit9-5:R bit4-0:B フル ビッ トモ ー ド の と き BX=B(0~63) CX=R(0~63) DX=G(0~63) INT 88H 出 力 CY=1 パラ メー タ 異 常 CY=0 正常 終了 BX < H(0 く = 是 こ =359) CX S(0 く <=S<= テ 100) DX~ V(0 く =V< テ 100) 解 説 RGB 型 で 表 さ れ た 色 デ ー タ を HSV 型 に 変換 する . 258 6.9 プリ ンタ BIOS 6:9 ブリ ンタ BIO0S プリ ンタ BIOS は , VA の プリ ンタ 制御 を サポ ー ト する た め の も の で あり , 11 個 の ファ ンク シ ョ ン が ある 。 想定 し て いる プリ ンタ は 。PC-PR 系 の 24 ピン で , 執 転写 お よび ドッ トイ ン パ クト 型 の カラ ー ま た は 白黒 の も の で ある . @ プリンタ BIOS 機能 一 覧 機能 番号 (16 進 ) デリ シク BWSY チェ ッ ク 2 バイ トコ ー ド 文字 出力 画面 ハー ドコ ピー 03 1 バイ ト 出 力 04 プリ ンタ の 種類 の 設定 05 設定 され て いる プリ ンタ の 種類 の 取得 06 漢字 ・ANK の 桁 揃え 指定 07 桁 揃え モー ド の 取得 08 タイ ム ア ウ ト 時 間 の 設定 09 ファ ンク ショ ン の リプ レー ス 0A 作業 領域 先頭 アド レス の 取得 @ 呼出 し 方 ① レジ スタ プン メ モリ に パラ メー タ 設 定 ② AH て 機能 番号 ③ INT 89H @ 初期 状態 プリ ンタ の 種類 ・ SETUP 画面 で 設定 され て いる プリ ンタ 漢字 と ANK 文字 の 桁 揃え : 桁 揃え 無し タイ ム ア ウ ト の 時 間 ・ 0 秒 ( タ イム アウ ト 無 し ) COPY キー で の コピ ー ・ 白黒 反転 モー ド の コピ ー | 00H | プリ ンタ BUSY チェ ッ ク 入 、 力 AH ニニ 0OH INT 89H 出 力 AX=00 READY =01 BUSY | に 4 プリ ンタ の BUSY 信号 を チェ ッ ク す る . 259 第 6 章 BIOS 01H | 2 バイ トコ ー ド 文字 の 出力 入 、 力 AH=01H DX= 2 バイ トコ ー ド INT 89H 出 力 CF=0 正常 終了 =ー] 年 ユー AX=01 シフ ト JIS > JIS 変換 の エラ ー =02 STOP キー に よる 中 断 =03 タイ ム ア ウ ト に よる 中 断 2 バイ トコ ー ド 文字 を プリ ンタ に 出力 する . ANK 文字 は 1 バイ ト , それ 以外 は 2 バイ ト の コー ド と な る . 漢字 の シフ ト JIS コー ド は JIS コー ド に 変換 され て 出力 され る . TAB は 必要 な 数 の スペ ー ス に 変換 され る .。 恒 部 | 02H | 画面 の ハー ドコ ピー 入 力 AH=02H AL ニコ ピー モー ド bit 7: グ ラフ ィ ッ ク 画 面 1 (0 ニコ ピー する プ 1 ニ = しない ) bit 6 : グラフィック 画面 0 (0 ニコ ピー する プ 1 ニ しない) bit 5: スプ ライ ト 画 面 (0 ミコ ピー する ブ 1 ニ しない ) bit 4: テ キス ト 画 面 (0 ミコ ピー する プ 1= ニ し な い ) bit 3:0 bit 2:・ カ ラー モノ クロ 濃淡 (0= ニ カラ ー プ 1 ニモ ノ ク ロ ) bit 1 : 左右 反転 (0= ミ ノー マル ノブ 1= 左 右 反転 ) bit 0 : 白黒 反転 (0= ニ ノー マル ノ プ 1 ニ 白黒 反転 ) INT 89H 出 力 CF=0 正常 終了 =1 STOP キー に よる 中 断 合成 画面 の ハー ドコ ピー を と る . カラ ー コ ピー 時 に は 64 色 で 出力 され る . ※ ス プラ イト の コピ ー に つい て ① ス プラ イト 31( キ ャ ラク タタ カー ソル) は, コピ ー し な い . ⑨② ス プラ イト 0-30( マ ウス カー ソル を 含む ) は ,。 表示 され て いれ ば コピ ー す る 。. ③ こ の ファ ンク ショ ン が 実行 きれ る と , スプ ライ ト 0-30 は Sleep され , リタ ー ン する と Wake up する . . 潮 剖 03H | 1 バイ ト 出 力 入力 AH=O03H DL= 出 力 デー タ INT 89H 260 6.9 プリ ンタ BIOS 出 力 CF=0 正常 終了 1 タイ ム ア ウ ト ま た は STOP キー に よる 中 断 解説 1 バイ ト の デー タ を その まま プリ ンタ に 出力 する . TAB の 変換 等 は いっ さい 行わ れ な Wa | 04H | プリ ンタ 種類 の 設 入 力 AH=04H AL ニ = プリ ンタ の 種類 bit 1: 0= 熱 転写 型 プ 1 ニ ド ッ トイ ン パ クト 型 Mi 0.: 0 ニカ ラー ノ 1 三 芋 ノ クロ INT 89H 出 解 填 な し プリ ンタ の 種類 を 設定 する . 画面 コロ ピー ファン クシ ョ ン 使 用 時 に 必要 と な る . 部 | 05H | 設定 され て いる プリ ンタ の 種類 の 取得 入力 AH=05H INT 89H 出 力 AL ニ プ リ ンタ の 種類 bit 1: 0= 熱 転写 型 プ 1 ニ ド ッ トイ ン パ クト 型 bit 0: 0 ニカ ラー プ 1 ニ モノ クロ 解 部 設定 され て いる プリ ンタ の 種類 を 取得 する . | oeH | 漢字 ・ANK の 桁 揃え 指 入 力 AH=O6H AL=00 桁 揃え な し =01 _ 桁 揃え あり INT 89H 国 が | な し 解 説 ファンクション 01 で , 漢字 を 印字 する と き に だ ANK 文字 と 桁 を 揃え る か どう か を 設定 す る . 桁 揃 え が 指定 され た と き に 漢字 と 漢字 の 間 に 8 ド ッ ト ス ペー ス を 空け る . | 07H | 桁 揃え モー ド の 取得 入 力 AH=07H INT 98H 261 第 6 章 BIOS 出 カ 解 説 AL 三 00 桁 揃え な し 三 01 桁 揃え あり 桁 揃え を モー ド に な っ て いる か どう か を 調べ る . | 08H | タイ ム ア ウ ト 時 間 の 設 大 。 カカ 策 圧 回 さ AH=08H DX= ニ タイ ム ア ウ ト 時 間 ( 秒 ) 0~7FFFH 指定 INT 89H な し プリ ンタ の タイ ム ア ウ ト 時 間 を 設定 する . DX= ニ 0 の と き は タイ ム ア ウ ト 無 し (タイ ム ア ウッ ト 時 間 三 無限 大 ) と し て 設定 され る . | ファ ンク ショ ン の リプ レー ス 爾 正 如 は AH =09H ES :DX= ニ ファ ンク ショ ン ア ドレ ステ ー ブ ル へ の ポイ ンタ ES : DX 十 各 ル ー チ ン の アド レス ( 2 ワー ド ) 十 00 ン デン シグ ジョ ロン 00 十 04 デジ クシ ョ ジ 'OL 十 08 アア ジ グ ジ ョ ジジ 02 十 0C ファ ンク ショ ンジ 03 土 10 カラ ー 変 換 (( パ レット ) 十 14 カラ ー 変 換 (RGB 8 bit) 十 18 カラ ー 変 換 (RGB 16 bit) +1C 白黒 濃淡 変換 (パレ ッ ト ) +20 白黒 濃淡 変換 (RGB 8 bit) 十 24 白黒 濃淡 変換 (RGB 16 bit) INT 89H な し プリ ンタ BIOS の 各 フ ァ ン クシ ョ ン お よび カラ ー 変 換 ル ー チ ン (CRT カラ ーー プリ ン タリ ボン カラ ー) を 取り 換え る . 取り 換え る 必要 の な い フ ァ ン クシ ョ ン は , セグ メン ト ・ オフ セッ ト 共 に 0 を 指定 する . | AH | 作業 領域 先頭 アド レス の 取得 章 部 262 AH=0AH INT 89H ES : DX= プリ ンタ BIOS の 作業 領域 アド レス プリ ンタ BIOS の 作業 領域 の 先頭 アド レス を 返す . 68lOE ココ ミュニケーション 則 0S 6.10 コミ ュ ニ ケー ショ ン BIOS コミ ュ ニ ケー ショ ン BIOS は RS-232 C を 使っ た 通信 を 処理 する BIOS で あり , 22 個 の 機能 が ある . @ コ ミュ ニケ ーション BIOS 機能 一 覧 通信 環境 の 初期 化 文字 送信 文字 の 再送 信 受信 文字 の 取込み 受信 文字 の セン ス 受信 バッ ファ を 覗く 通信 ステ ー タ ス の 読出 し BREAK 信号 の 送出 ボー レー ト 設 定 漢字 コー ド の 種類 の 設定 通信 方 法 の 設定 受信 バッ ファ の 受信 デー タ 長 を 返す 受信 バッ ファ の クリ ア 制限 時 間 付き 文字 送信 コミ ュ ニ ケー ショ ン BIOS の 解放 XMODEM の 開始 XMODEM の 終了 XMODEM の 1 ブロ ッ ク 受 信 XMODEM の 1 ブロ ッ ク 送 信 受信 割込み の トラ ッ プ ベク タ 設 定 ABORTKEY 1 の 定義 ABORTKEY 2 の 定義 @ 呼出 し 方 ① レジ スタ プ メ モリ に パラ メー タ 設 定 ② AH て 機能 番号 ⑧③ INT 8AH | 00H | 通信 環境 の 初期 化 入 、 力 AH=00H DH=8251 モー ドバイ ト wLTLLLELEllm パリ ティ 許可 (1= 許 可 /0 三 禁止 ) パリ ティ (1= 偶 数 /0 三 奇数 ) スト ッ プ ビッ ト (3 テ 2bit/2=1.5bit/1 三 1bit ) デー タ 長 (1 三 8bit/0 三 7bit) 263 第 6 章 BIOS DL=8251 コマ ンド バイ ト DTR(1=ON/0=OFF ) BREAK(1=ON/0=OFF ) RTS(1=ON/0= テ OFF) INT 8AH 出 な し 解 説 8251 に 対し て ソフ トウ ェ ア リ セ ッ ト 後 , モー ド 設 定 ・ コ マン ド 設 定 を 行い , 受信 バッ フ ァ の ポイ ンタ ・ 作 業 領域 を 初期 化す る . ※ 当 BIOS が サポ ー ト する モー ド は 非同期 (調歩 同期 ) で ,。 ビッ ト 長 8/7, クロ ッ ク レ ー トメ 16 で ある . また , 入力 パラ メー タ の チェ ッ ク は 行わ な い . く 初 期 化 状態 > ボー レー ト ・ メ モリ スイ ッ チ だ 従う 漢字 モー ド ・ 送 信 一 ビ ッ ト 長 が 8 の と き シ フト JIS。 7 の と き NEC JIS 受信 一 漢字 許可 XON〆XOEF 制御 ・ 送 受信 と も 行う S1 グ SO 制御 ・ ビ ッ ト 長 が 8 の と き な し ビッ ト 長 が 7 の と き あ り パリ ティ エラ ー ・ 有効 | 01H | 文字 送信 入 力 AH テ 01H DX= 2 バイ ト 文 字 コ ー ド INT 8AH 出 力 CF=0 : AL=0( 正 常 終了 ) =1: 送信 不可 AL= ェ ラー ステ ー タ ス bit 0: Xoff を 受信 し て いる た め 送 信 で き な い bit 1: 8251 busy bit 2 : 途中 で 送信 で き な く な っ た (KL/KO の 途中 ) bit 3: 途中 で 送信 で き な く な っ た (漢字 の 2 バイ ト 目 ) bit 7~4: 0 解 説 2 バイ トコ ー ド 文字 を 送信 する . 送 信 バ イト 数 は 一 定 で は な い . デー タ が ^S ノ ^Q 以外 の 264 場合 , Xoff を 受信 し て いれ ば エラ ー を 返す . 8251 の ステ ー タ ス を チェ ッ ク し , Busy の 場合 は 約 140ms 監視 を 続け , 140ms 以内 に 8251 が ready と な れ ば , デー タ を 8251 に 出 力 する . 漢字 デー タ の 場合 は 必要 に 応じ て 漢字 コー ド の 変換 , KI/KO 付加 を 行う . 送 信 で き な か っ た 場合 は , その デー タ を 記憶 し て お き , 再送 信 フ ァ ン クシ ョ ン に 備え る . 6.10 コミ ュ ニ ケー ショ ン BIOS | 02H | 文字 の 再送 信 入 、 力 AH ニ =02H INT 8AH 出 力 CF=0: 正常 終了 =1: 送信 不可 解 に 列 が 存在 し な い 場 合 は , 正常 終了 を 返す . ファ ンク ショ ン 01(1 文字 送信 ) で き な か っ た 文字 列 を 再送 信 す る . 再送 信 す る べき 文字 | 03H | 受信 文字 の 読出 し 入 、 力 AH ニ =03H INT 8AH 出力 CF=0: 正常 終了 DX= 2 バイ ト 文 字 コ ー ド AL= デ ー タ ステ ーー タ ダ タス bit7 通信 エラ ー(1= あ り ノ 0== な し ) bit 6-2: 00000 bit 1-0: 受信 し た 漢字 コー ド の 種類 (DX の 種類 で は な い ) 00: シ フト JIS 01 : NEC JIS 10 : 旧 JIS 届 : 新 JIS ー1: デー タ な し (パッ ファ エン プティ ) 解 説 漢字 非 使用 モー ド で は , 受信 バッ ファ の 先頭 バイ ト を その まま 返す . 漢字 使用 キー ド で は , デー タ が 確定 し て いれ ば 2 バイ ト 文 字 コー ド に 変換 し て 返す . 漢字 デー タ が 未 確 定 の 場合 は バッ ファ エン プティ を 返す . 読出 し ポイ ンタ は 更新 され る (destructive read). | 04H | 受信 文字 の セン ス 入 、 力 AH=04H INT 8AH 出力 CF=0: 正常 終了 DX= 2 バイ ト 文 字 コ ー ド AL ニ = ニ デ ー タ ステ ー タ ス ( フ ァ ン クシ ョ ン 03 と 同じ ) 三 必 メー な し (パパ ツ ジン アデ エン ング ティ) 265 第 6 章 BIOS 解 説 漢字 非 使用 キー ド で は , 受信 バッ ファ の 先頭 バイ ト を その まま 返す . 漢字 使用 モー ド で は , デー タ が 確定 し て いれ ば 2 バイ トト 文字 コ ー ド に 変換 し て 返す . 漢字 デー タ が 未 確 定 の 場合 は バッ ファ エン プティ を 返す . 読出 し ポイ ンタ は 更新 され な い (non-destructive read) . | 05H | 受信 バッ ファ を 覗く 入 力 AH=O5H DH = 受信 バッ ファ 先頭 か ら の オフ セッ ト INT 8AH 出力 CF=0O: 正常 終了 DL= 受 信 バ パッ ファ デー タ DH 三 変更 な し 登り 天 ー あ な し (パッ ファ エン ジテ デ ォ ) DX= テ 0 解 説 受信 バッ ファ 中 の デー タ (バイ ト ) を その まま 返す 。 バッ ファ 中 の デー タ 数 より 大 きい オ フ セ ッ ト が 与え られ た 場合 に は バッ ファ エン プティ を 返す . | 06H | 通信 ステ ー タ ス の 読 正 し 入 力 AH ニ =06H INT 8AH 出 。 カ DL=8251 ステ ー タ ス bit 7 : DSR (DR) bit 6: break detect bit 5 : 0(Flaming error) bit 4 : 0(Overrun error) bit 3 : 0(Parity error) bit 2 : Tx empty bit 1 : Rx ready bit 0: Tx ready DH=XON/XOFF 状態 お よび 制御 線 状 態 Bit : Cl Bi 6:CTS(CS) bit 5 : DCD(CD) bit 4 て 1 : 0000 bit 0: Xoff receive 解 説 各種 通信 状態 を 調べ る . 266 6.10 コミ ュ ニ ケー ショ ン BIOS 07H | BREAK 信号 の 送出 入 、 力 AH ニ =07H DH = 送出 時 間 (0.5 秒 単位 . 1-7) INT 8AH 出 解 填 な し に BREAK 信号 を 最大 3.5 秒間 送出 する . 送出 完了 まで 戻ら な い . DH=0 の 場合 は 直ちに BREAK OFF し て 戻る . | 08H | ボー レー ト の 設 入力 AH=08H DH= ニ ボー レー ト フ ァ ク タ (0-9) INT 8AH 出力 CF=0: 正常 終了 ー]: ボー レー ト フ ァ ク タ が 間違っ て いる 解 説 ボー レー ト フ ァ ク タ か ら 分 周 値 を 求め , クロ ッ ク 発 生 器 (TCU カウ ンタ #1 ) と 作業 領域 に 設定 する . ボー レー ト フ ァ ク タニ 0 の 場合 は , 作業 領域 に 設定 され て いる 分 周 値 を そ の まま クロ ッ ク 発 生 器 に 設定 する た め , 自由 な ボー レー ト の 設定 も 可能 で ある . 分 周 値 作業 領域 設定 値 0D00H 0680H 0340H 01A0H 00D0H 0068H 0034H 001AH 000DH 0 1 2 3 4 5 6 7 8 9 | 09H | 漢字 コー ド 種 類 の 設定 入 、 力 AH=09H DH 三 漢字 コー ド の 種類 bit 7: 1 三 受信 時 の 漢字 非 使 用 プ 0 三 使用 bit 6-2 : 00000 bit 1-0 : 送信 漢字 コー ド の 種類 00 呈 ジグ 逐 ト JIS 01=NEC JIS 10 三 旧 JIS 11 三 新 JIS INT 8AH 267 第 6 章 BIOS 出 力 CF=0: 正常 終了 三 1: パラ メー タ 異 常 解 説 送信 時 の 漢字 コー ド 種 類 の 設定 , 受信 時 の 漢字 使用 の 有無 を 設定 する . | OAH | 通信 制御 の 設定 入 、 力 AH=0AH DH ニ セッ ト ア ッ プ 情報 bit 7: パリ ティ エラ ー 制 御 (1= ニ ェ エラー 無視 0 三 有 効 ) bit 6-4 : 000 bit 3: 受信 時 SL/SO 制御 (1= す る 0 し な い ) bit 2: 送信 時 SL ン SO 制御 (1= す る ノ / ズ 0= し な い ) bit 1: 受信 時 XON/XOFF 制御 (1= す る ノ ズ 0= し な い ) bit 0: 送信 時 XON/XOFF 制御 (1= ニ する プ 0= ニ し な い ) INT 8AH 由 力 な し 解 説 通信 制御 モー ド を 設定 する . | 0BH | 受信 バッ ファ デー タ 数 取得 入 、 力 AH=0BH INT 8AH 出 力 DX 受信 バッ ファ 内 の デー タ 数 (バイ ト ) 解 説 受信 バッ ファ 内 の デー タ 数 (バイ ト ) を 得る . 0CH | 受信 バッ ファ の クリ ア 入 力 AH=0CH INT 8AH 田 。 力 な し 解 説 受信 バッ ファ を クリ ア す る 。. ODH | 時 間 制 限 付き 1 バイ ト 受 信 入 、 力 AH=ODH DX 制限 時 間 (100 ms 単位 ) INT 8AH 268 6.10 コミ ュ ニ ケー ショ ン BIOS CF=0: 受信 成功 DL = 受信 デ ー タ DH=0 =1: 受信 失敗 AX=FFFFH : タイム アウ ト (DX=0) = ニキ ー コ ー ド : アボ ー ト キー 押下 (DX= 残 り 時 間 ) 受信 バッ ファ に デー タ が あれ ば 先頭 の 1 バイ ト を 返す 。 バッ ファ が 空 の と き に は 制限 時 間 ま で 受信 を 待つ . 途中 で アボ ー ト キー が 押さ きれ た と き は , 直ちに 戻る . | OEH | コミ ュ ニ ケー ショ ン BIOS の 解放 | 力 出 カ AH=0EH INT 8AH な し コミ ュ ニ ケー ショ ン BIOS を スリ ー プ モー ド に 移行 さき せる, ファ ンク ショ ン 00 HH で ア クティ デ に な る 。 | XMODEM の 開始 章 媒 AH=O0FH DH=00H : 受信 (Open for receive) 三 FFH : 送信 (Open for transmit) INT 8AH CF=0: DL=0 エラ ー な し =1 : DL=1 XMODEM は 使用 で き な い (デー タ 長 7 ビッ ト ) DL=2 タダ タイム アウ ウト DL=3 アボ ー ト キー 押下 XMODEM 使用 開始 を 宣言 し , BIOS を XMODEM 状態 に する . 送信 時 は 60 秒 の タイ ム ア ウ ト の 範囲 内 で 相手 か ら の NAK を 待つ . 途中 で アボ ー ト キー が 押さ れ た ら 直 ち に XMODEM か ら 抜 け 出す . また , XMODEM 使用 時 は , XONXOFF 制御 ・SL プ SO 制 御 ・ パ リティ エラ ー 無 視 は 行わ な い . 10H XMODEM の 終了 大 。 ガ カ AH=10H DH=00H : 正常 終了 三 18H: アボ ー ト 終了 (CAN を 送出 する ) 三 FFH : アボ ー ト 終了 ( 何 も 送出 し な い ) INT 8AH 269 第 6 章 BIOS 出 軸 妨 記 GR 三 0: エラ ー な し 1: アボ ー ト ノ 受 信 側 か ら の ACK が な い . 解 説 XMODEM 使用 終了 を 宣言 し , BIOS を XMODEM 状態 か ら 抜 け 出 させ る . 正常 終了 指 定 の 場合 , 送信 時 は EOT を 送信 後 ACK を 待つ 。 受信 時 は ACK を 送信 する . | 1H | XMODEM1 ブロ ッ ク 受 信 入 力 AH=11H AL=ACK(06H) or NAK(15H) ES : DX= デ ー タ 転送 アド レス INT 8AH 出力 CE==05: エ ラー な し DL=00 : 連続 プ ブロック (DH ニ ブロ ッ ク 番 号 ) 04 : ブロ ッ ク 終 了 ー1・ エ ラー DL=01 : バイ ト 間 タイ ム ア ウ ト DL=02 : プロ ッ ク タ イム アウ ト DL=03 : BCC エ ラー グ プ ブ ロッ ク # サ ム エ ラ ー プ バイト エラ ー DL=05 : CAN 受信 DL=06 : アボ ー ト キー 押下 解 説 ACK/NAK を 送信 し , ブロ ッ ク タ イム アウ ト の 範囲 で 相手 か ら の デー タ を 待つ , ブロ ッ ク の 誤り を チェ ッ ク し , 誤り が な い 場 合 , 指定 され た アド レス に デー タ を 転送 する . プ ブロック # の 正当 性 チェ ッ ク は アプ リケーション ソフ ト が 行う . また , アボ ー ト キー が 押さ れ た 場合 は , 直ちに 処理 を 中 断 する . 12H | XMODEM1 ブロ ッ ク 送 信 Al2HL AL= 送 信 ブ ロッ ク 番 号 ES : DX ニ デ ー タ 転送 アド レス INT 8AH 出 力 CF=0 : エラ ー な し (ACK 受信 ) DL=00 270 1・ エ ラー DL=01 : NAK 受信 DE=02 : タイ ムアツ ウツ トド DL=03 : 8251 ビジ ー DL=05 : CAN 受信 DL=06 : アボ ー ト キー 押下 弄 に 6.10 コミ ュ ニ ケー ショ ン BIOS ヘッ ダ ・BCC を 生成 し 。 デー タ と 共に 送信 する . 送信 プ ブロック デー タ 長 は 128 バイ ト 固 定 で ある . ① 受 信 バ ッ フ ァ に CAN が ある か どう か 調べ る ヘッ ダ , BCC を 生成 し , 送信 する ブロ ッ ク 送 信 後 直ちに 受信 バッ ファ を クリ ア す る 〈④ ブ ロッ クタ イム アウ ト 内 で ACK ン NAK を 待つ ⑤ 結 果 を 返す また , アボ ー ト キー が 押さ れ た 場合 は 。 直ちに 処理 を 中 断 する . 13H 人 人 。 カ 策 圧 回 さ 受信 割込み の トラ ッ プ アド レス 設定 AH=13H ES : DX メー ニ トラップ ルー チン アド レス (ES= ニ 0 は トラ ッ プ OFF) INT 8AH な し 受信 割込み 発生 時 の トラ ッ プ ルー チン を 登録 ・ 消 除 する . トラ ッ プ 時 の レジ スタ は 次 の よう に な っ て お り , 破壊 し て は な ら な い . AL= 受 信 デ ー タ (バイ ト ) DX=0020H DS=ES=0040H Flag=CLI 状態 | アポ ボー トキ ー#1 の 定義 AH=14H DX= ア ボー トキ ー#1 の キー コー ド INT 8AH DX 三 以 前 の アボ ー ト キー#1 通信 の 中 断 を 指示 する アボ ー ト キー の #1 を 定義 する . 15H アボ ー ト キー# 2 の 定義 1 に 3 AH=15H DX ニア ボー トキ ー#2 の キー コー ド (FFFFH で 定義 削除 ) INT 8AH DX 三 以前 の アボ ー ト キー#2 通信 の 中 断 を 指示 バイ る アボ ー ト キー の #2 を 定義 する . 第 6 章 BIOS 作業 領域 00CBH : 0000H ン 272 = /// ュ ニ ケー ショ ン BIOS の 作業 領域 の セグ メン ト は 00CBH で ある . 受信 割込み の 時 の トラ ッ プ アド レス (ファ ンク ショ ン 13 H 参照 ) アボ ー ト キー# 1 (デフォルト は C 2B03H) アボ ー ト キー#2 (デフ ォ ル ト は STOP 6003H) 内 部 使用 クロ ッ ク 発 生 器 に 設定 し た 分 周 値 ( フ ァ ン クシ ョ ン 08H 参照) 当 BIOS アク ティ ブフ ラグ (00H=sleep プ FFH ニ active) ボー レー ト フ ァ ク タタ (ファンクション 08H 参照 ) 漢字 コー ド の 種類 (ファ ンク ショ ン 09H 参照 ) セッ ト ア ッ プ 情報 (ファ ンク ショ ン 0AH 参照 ) ファ ンク ショ ン 0AH で の 定義 の 外 に 次 の 2 ビッ ト が ある . bit 5: 1=XMODEM プ 0 テ normal bit 4: 1=XMODEM 送信 0=XMODEM 受信 フロ ー ス テー タス ( 逐 次 更新 され る ) bit 0: 送信 XON/XOFF 状態 (1=XOFF プ 0=XON) bit 1: 受信 XON プ XOEF 状態 (1=XOFF/0=XON) bit 2: 送信 SLSO 状態 1=SO プ 0=S) bit 3: 受信 SL/SO 状態 (1=SO0=S1) bit 4: 送信 ItKI ン KO 状態 =KI プ 0=KO) bit 5: 受信 KL/KO 状態 1=KL プ 0=KO) bit 7~6: 00 1B XMODEM で プロ ッ ク 受 信 中 の バイ ト 間 タイ ム ア ウ ト の 時 間 (100ms 単位 で 100ms~25.5 秒 デフ ォ ル トニ テ 1 秒 ) IL の XMODEM で ブロ ッ ク 間 の タイ ム ア ウ ト の 時 間 (100ms 単位 で 100ms~25.5 秒 デフ ォ ル トニ テ 10 秒 ) この 他 に 当 BIOS の 作業 領域 で は な い が , 以下 の 変数 を 参照 ノ 設 定 し て いる . 0040 : 005E 8251 に 設定 し た モー ドバイ ト 原則 と し て この 変数 は ファ ンク ショ ン 00 に より BIOS が 更新 する 0040 : 005F 8251 に 設定 し た コマ ンド バイ ト アプ リケーション ソフ ト が 8251 を 制御 する 際 に は , 8251 に OUT する と 共に この バイ ト を 更新 する . 0040 : 0CBD-0CBE タイ マー 割込み が 1120 秒 ご と に 減算 し 続け る カウ ンタ 6.11 サウ ンド BIOS 6s11 サウ ンド BIOS サウ ンド BIOS は , YM2203 (OPN) を 使用 し て 演奏 を 行う も の で ある . 実行 形態 と し て は 2 種 類 あ り , 1 つ は コマ ンド 識別 コー ド に より 各 処 理 へ 分 岐 し , 処理 終了 後 リ ター ン す る 形態 , も う ー つ は BASIC の PLAY 文 と 同様 コマ ンド 列 を PLAY バッ ファ に 格納 する の み で リタ ー ン し , イン ター バル タイ マ に より 割込み で 演奏 を 行う 形態 で ある . 2 つの イン ター バル タイ マ の うち , タイ マ A は 通常 の 演奏 用 (テン ポ ) に, タイ マ B は , LFO 効 果 の 制御 用 (暫定 的 4ms 固定 ) に 使用 し て いる . @ サウンド BIOS 機能 一 覧 機能 番号 (16 進 ) 江 00 サウ ンド BIOS 初期 化 01 演奏 開始 02 演奏 中 止 03 レジ スタ 読出 し 04 レジ スタ 書込み 05 音 長 割合 (GS 値 ) の 設定 06 音 の 発生 07 デフ ォ ル ト 音 長 の 設定 08 テン ポ の 設定 音色 の 設定 音色 パラ メー タ の 個別 読出 し 音色 パラ メー タ の 個別 設定 演奏 の 一 時 中 断 演奏 再開 LFO 開始 LEO 中 止 KEY 状態 維持 PLAY 割込み 条件 の 設定 音量 設定 BGM モー ド 指定 MIDI 出力 エン ベロ ー プ 設定 演奏 モー ド の 設定 1 機能 単位 の デー タ 格 納 演奏 状態 の 取得 音色 デー タ の 一 括 読 出し キュ ー 残 量 の 取得 ブロ ッ ク デ ー タ 演奏 作業 領域 アド レス の 取得 @ 呼出 し 方 ① パラ メー タ 設 定 ② AH< 機能 番号 ③ INT 8BH 273 第 6 章 BIOS 00H | サウ ンド BIOS 初期 化 」 入 カ 1 に 3 演奏 開始 。 1 己 274 AH=00 H AL==00 : 同期 演奏 モー ド 01 : 独立 演奏 モー ド DX ニ 1 チャ ネル 当り の PLAY キュ ー サ イズ (10HH~2A00 有 H) DS=PLAY キュ ー セ グ メ ント アド レス INT 8BH な し OPN お よび サウ ンド BIOS の 初期 設定 を 行う . サウ ンド BIOS を 使用 する 時 は , 必ず 最 初 に この ファ ンク ショ ン を 実行 し な けれ ば な ら な い . ES で 指定 され た セグ メン ト か ら DX で 指定 され た 大 き さき の キュ ー が 6 チャ ネル 分 PLAY キュ ー と し て 使用 され る . サウ ンド 機能 の 使用 終了 まで , PLAY キュ ー エ リア は 確保 し て お く 必 要 が ある . AL で 指定 し た モー ド は , ファ ンク ショ ン 01 H・17H・1BH で 有効 く 初 期 設 定 値 > デジ シボ ・ 120(120 * 48 Steps プ min) 4 分 音符 の 長 さ ・ 48 Steps 音 長 割合 (GS 値 ) : 8 ノ 8 CH3-5 : 音色 = 不定 音量 =8 エン ベロ ー プ 周期 255 AH=01H AL=00 : 同期 デー タ 付 加 01 : 同期 デー タ 付 加 し な い ES : BP モ パラ メー タリ スト アド レス INT 8BH な し 音楽 デー タ 列 を 演奏 する . 28 バイ ト の パラ メー タリ スト を 参照 し て , 各 チ ャ ネル の デー タ を PLAY キュ ー に 転送 し , 演奏 を 開始 する . BGM モー ド の 時 は その まま リタ ー ン し , BGM モー ド で な い 時 は 演奏 が 終る まで 待つ (ファ ンク ショ ン 13H 参照 ). PLAY デー タ 列 は キュ ー の 大 き さ よ り 小 さく な けれ ば な ら な い . デー タ 列 が 正しく な い 場 合 の 動作 は 保証 し な い . 独立 演奏 モー ド で は 同期 デー タ を 付加 し て も 無視 され る . 2 パラ メー タリ スト > DW 。 デー タ 列 セグ メン ト ア ドレ ス DW 0 DW CH1 デ ー タ 列 オ フ セ ッ ト 。 .CH1 デー タ 長 6.11 サウ ンド BIOS DW CH2 データ 列 オ フ セ ッ ト , CH2 デー タ 長 DW 。 CHS3 デー タ 列 オフ セッ ト , CH3 デー タ 長 DW (CA デー ク 別 オシ セッ ウト, CH4 デニ タタ 長 DW CN5 デー ニク 利 ポ アセット,。 CH5 デー タ 長 DW 。 CN6 デー タ 列 オフ セッ ト , CH6 デー タ 長 デー タ 列 の 形式 は 当 BIOS の 最後 を 参照 . | 02H | 演奏 中 止 AH=02H AL=00 : 作業 領域 の 初期 化 は し な い 三 01 : 作業 領域 の 初期 化 も する INT 8BH な し 現在 の 演奏 を 中 止 し 。 PLAY キュ ー を クリ ア す る . また , AL=1 の 時 は , BIOS の 作業 領域 も 初期 化す る . イン ター バル タイ マ の 割込み も 停止 する . | レジ スタ 読出 し 0 策 圧 書き AH=03H AL= レ ジス タ 番 号 INT 8BH DL= レジ スタ 内 容 OPN の レジ スタ に 設定 され て いる デー タ を 読み 出す . レジ スタ 21H 以上 は OPN か ら 読み 出せ な いた め 各 ファ ンク ショ ン に より 出力 され た 値 を 保存 し て お き , この ファ ンク ショ ン で は その 値 を 返す 。 し た が っ て , 直接 ハー ドウ ェ ア に 書き 込ん だ デー タ に つい て は , 保証 し な い . 04H レジ スタ 書込み 策 圧 叶 さ AH ニニ 04H AL= レ ジス タタ 番号 DL= ニ レジスタ 内 容 INT 8BH な し 指定 され た OPN の レジ スタ デー タ を 出力 し , 同時 に ワー クエ リア に 保存 する . 本 ファ ン クシ ョ ン に よっ て タイ マ 等 サウ ンド BIOS の 基本 動作 に 関す る レジ スタ を 書き 換え た 場合 その後 の BIOS の 動作 に つい て は 保証 され な い . 275 第 6 章 BIOS | 05H | 音 長 割合 (6 プ 3 値 ) の 設 」 入 、 力 AH=05H CH= ニ チャ ネル 番号 (0-5) DL= 音 長 割 合 (0-7 : 1 プ 8--8 ノ 8 に 対応 ) INT 8BH 出生 力 上 な し 解 説 1 音 の 長 さ の 中 で , 実際 に 音 を 発生 し て いる 時 間 の 割合 を 設定 する . | | | 音 発生 >ーー 無音 一 一 > 1 音 の 長 さ 割合 は 1 プ 8 か ら 8/8 まで を 指定 で きる . 1 音 が 短い と き に は , 必ず し も 正確 な 割合 で 発生 する わけ で は な い . V3 BASIC の PLAY 文 Q コマ ンド に 相当 する . 音 の 発生 入 、 力 AH=OG6H CH ニチ ャ ネル 番号 (0-5) DH = 音程 70 H : 休 符 MSB : 0=G ノ S 値 の 長 さ で KEY OFF する 1=G ノ S 値 を 無視 し , KEY OFF し な い ( タ イ ) bit 6-0 : 音程 指定 (00H-60H) DL= 音 長 (01-FEH. Step Time 単位 ) 00 ニ デフ ォ ル ト 音 長 INT 8BH 35 cf な し 章 部 指定 し た 音 を 発生 する . 現在 の 音 が 終っ て いな く て も 新しく 発生 する . DH の bit 6-0 で 指定 する 値 と 実際 の 音程 と の 関係 は V3 BASIC の PLAY 文 N コマ ン ド と 同じ . | 07H | デフ ォ ルト 音 長 の 設定 入 カカ AH=07H CH= チ ャ ネル 番号 (0-5) DL= 音 長 (01-FFH. Step Time 単位 ) INT 8BH 圧 汁 な し 藻 坦 指定 チャ ネル の デフ ォ ル ト 音 長 を 設定 する . 276 6.11 サウ ンド BIOS | 08H | テン ポ の 設定 人 9 重圧 回 き AH=08H DL= テ ン ポ (01-FFH) INT 8BH な し 演奏 の テン ポ を 設定 する . 実際 に は イン ター バル タイ マ の 期間 を 再 設定 する . テン ポ の 単位 は 1 分 間 に 演 奏で きる 4 分 音符 の 個数 で ある . | 音色 の 設 策 圧 悪さ AH=09H CH= チ ャ ネル 番号 (0-5) DL= 音 色 パ ラメ ー タ ブロ ッ ク 形 式 00 : ワー ド 01 : バイ ト 80-BDH : ROM デー タ (@0-@61) ES : BP= ニ 音色 パ ラメ ー タ ブロ ッ ク ア ドレ ス (DL=00 プ 01 時 の み ) INT 8BH な し 指定 チャ ネル の 音色 を 変更 する . 当 BIOS が 持つ デー タ (ROM デー タ ) を 指定 し た 場合 に は ES : BP は 必要 な い . この ファ ンク ショ ン を 実行 する と LFO 効果 は , ON に な り , LFO パラ メー タ の 設定 が 行わ れる . 指定 チャ ネル が SSG 音源 の と き は , LFO パラ メー タ (Amd, Ams 以外 ) 以外 は , 意味 を 持た な い 、. OAH 音色 パラ メー タ の 個別 読出 し 入 カ 策 圧 悪さ AH=0AH AL ニー パラ メー タ 番 号 (00-31H) CH ニチ ャ ネル 番号 (0-5) INT 8BH DX= 設 定 さ れ て いる 値 指定 チャ ネル の 指定 パラ メー タ を ワー クエ リア より 読み 出す . SSG 音源 に お いて は , LFO パラ メー タ (Amd, Ams 以外 ) は 無 意 味 で ある . パラ メー タ が バイ ト の 場合 , DH は クリ され る 。 277 第 6 章 BIOS | 0B | 音色 パラ メー タ の 個別 設定 入 、 力 AH=0BH AL= ニ パラ メー タ 番 号 (00-31H) CH ニチ ャ ネル 番号 (0-5) DX 三 設定 値 INT 8BH 出 解 OCH | 演奏 の 一 時 中 断 入 、 力 AH=0CH INT 8BH 填 な し 部 指定 チャ ネル の 指定 パラ メー タ を 設定 する . 出 解 汁 な し に BGM モー ド で 演奏 中 に 一 時 中 断 す る . 全 チ ャ ネル の KEY ON ノノ OFF 情報 を 保存 後 , 全 チャ ネル を KEY OFF する . イン ター バル タイ マ の 割込み も 禁止 する . 演奏 を 再開 する に は , ファ ンク ショ ン 01H・17H・0DH を 実行 する . ワー クエ リア は , 保証 され て いな けれ ば な ら な い . | ODH | 演奏 再開 入 力 AH=0DH INT 8BH 出力 な し 解説 ファ ンク ショ ン 0CH で 中 断 し た 演奏 を 再開 する 。 ファ ンク ショ ン 0CH が 実行 され て い な けれ ば , 何 も し な い . er | LFo 開始 i AH=0EH CH= チ ャ ネル 番号 (0-5) INT 8BH EE 汁 な し 解 説 指定 チャ ネル の LFO 機能 を ON に する . LFO パラ メー タ が 無効 で あれ ば , 何 も しない. 278 6.11 サウ ンド BIOS | OFH | LFO 中 目 入 、 力 AH=OFH CH ニチ ャ ネル 番号 (0-5) INT 8BH 出 解 寺 な し に 指定 チャ ネル の LFO 機能 を OFF に する . | 10H | KEY 状態 維持 入 、 力 AH=10H CH ニチ ャ ネル 番号 (0-5) DL= 音 長 (01-FFH. Step time 単位 ) 00 の と き は デフ ォ ル ト 長 INT 8BH 田 力 な し 解説 指定 チャ ネル の KEY ON ノ OFF 状態 を 指定 し た 時 間 だ け 維 持 する . | 11H | PLAY 割込み 条件 の 設定 | 入 、 力 AH=11H CH ニチ ャ ネル 番号 (0-5) DX 三 割 込み モー ド プ デー タ 長 MSB: 0=PLAY 割込み 禁止 ンプ 1= ニ PLAY 割込み 許可 bit 14-0: 割り 込み を 発生 さき せる デー タ 長 ES : BP= 割 込み サー ビス ルー チン エン トリ INT 8BH 出 玩 功 。 な し 解 説 指定 チャ ネル の PLAY バッ ファ 中 の デー タ が 少な く な っ た 時 の 割込み 条件 を 設定 する . 割込み ルー チン は , FAR CALL で 呼ば れ , 割込み 禁止 の 状態 で 実行 され る . 割込み ルー チン の 実行 時 間 が 長い と テン ポ が 狂う 等 の 障害 が お こる 場合 が ある . 割込み ルー チン に 渡さ れる レジ スタ は ,。 以下 の 通り で ある . また レジ スタ は 保証 する 必 要 は な い . CH ニチ ャ ネル 番号 (0-5) DX= 残 り デ ー タ 数 279 第 6 章 BIOS 12H 入 カ 重圧 回 き 音量 設定 AH=12H CH= チ ャ ネル 番号 (0-5) DL 人 = 音量 (00-7FH) INT 8BH な し 演奏 の 音量 を 変更 する . FM 音源 で は 指定 チャ ネル の アル ゴリ ズム を 参照 し , 出力 オペ レ ー タ の 設定 を 変え る . SSG 音源 の 時 に は , 0-0FH の み 有 効 で も や る. また エン ベロ ー ブ の 指定 は ファ ンク ショ ン 15H で 行い 本 ファ ンク ショ ン で は 対応 し な い . 重圧 器 さ | BGM モー ド 指 定 AH=13 H AL=0: 非 BGM モー ド (演奏 終了 まで 待つ ) ー1 : BGM モー ド INT 8BH な し ファ ンク ショ ン 01H(PLAY) 時 の 演奏 モー ド を 指定 する . | MIDI 出力 重圧 書き AH=14H CL= チ ャ ネル 番号 (0-5) DL = 出力 デー タ INT 8BH な し MIDI I/O に デー タ を 出力 する た め の フ ァ ン クシ ョ ン で ある が , 拡張 命令 で あり , 現在 は 何 も し な い . エン ベロ ー プ 設定 280 AH=15H CL= チ ャ ネル 番号 (3-5) AL= パ ラメ ー タ 種類 00: エン ベロ ー プ 形状 01: エン ベロ ー プ 周期 策 圧 器 き 6.11 サウ ンド BIOS DX= ニ ェ ン ベロ ー プ 形状 また は 周期 形状 : 0-O0FH(DL レジ スタ の み で 可 ) 周期 : 0-FFFFH INT 8BH な し SSG 音源 の エン ベロ ー プ に 関す る デー タ を 設定 する . FM 音源 を 指定 し た 場合 は , 何 も し な い . エン ベロ ー プ 形状 は 次 の KEY ON 時 に 有効 と な り , エン ベロ ー プ 周期 は その ま ま OPN に 設定 され る . エン ベロ ー プ 形状 を 指定 し た 時 は , 以後 ファ ンク ショ ン 12H( 音 量 設定 ) を 行う まで エン ベロ ー プ が 有効 と な る . | 演奏 モー ド の 設定 策 圧 民 さ AH ニ =16H DL=01: MIDI 02: FM+SSG 09.。 和 0 昌吉 モー ド 04: CSM モー ド INT 8BH な し 演奏 の 出力 状態 を 設定 する . デフ ォ ル ト は , FM 十 SSG モー ド で ある . | 1 機能 単位 の デー タ 格 納 届 に AH=17H CH= チ ャ ネル 番号 (0-5) DL= デ ー タ 長 (01-FFH) 00 の と き は 演奏 開始 を 示す ES : BP= 格 納 デ ー タ アド レス INT 8BH AL=OOH: 正常 終了 三 01H: PLAY キュ ー が FULL で 入ら な か っ た 指定 チャ ネル の PLAY キュ ー に デー タ を 入れ る . 入力 され た デー タ は 演奏 中 で あれ ば , その まま 実行 きれ る 。 演奏 中 で な けれ ば キュ ー に 格納 され る だ け で 実行 され な いた め , 全 チ ャ ネル の デー タ を 入力 後 , DL=0 と し て 演奏 開始 を 指示 する 必要 が ある . また , 同 期 モ ー ド で 実行 する に は , 各 チ ャ ネル の デー タ 群 に 最後 に 同期 デー タ (FEFH) を 入れ る . 同期 デー タ は デー タ の 入力 され て いな い チ ャ ネル に も 入れ な けれ ば な ら な い . 281 第 6 章 BIOS | 18H | 演奏 状態 の 取得 入 。 カ 出 カ EN 章 AH=18H INT 8BH AL=00: 演奏 は 終了 し て いる 01: PLAY キュ ー は 空 に な っ た が , 演奏 中 02: PLAY キュ ー に デー タ が あり , 演奏 中 03: PLAY キュ ー に デー タ が ある が , 演奏 停止 中 現在 の 演奏 状態 を 知る た め の フ ァ ン クシ ョ ン で ある . BGM モー ド で の 演奏 終了 や 。,LFO 開始 の タイ ミン グ な ど に 利用 で きる . | 音色 デー タ の 一 括 読み 出し 凍 部 AH=19H CH = 音色 指定 0-5: チャ ネル に 設定 され て いる 音色 80-BDH: ROM デー タ @0-@61 の 音色 DL= パ ラメ ー タ 形式 00: ワー ド 01: バイ ト ES : BP= 転 送 先 アド レス INT 8BH AL=00: 演奏 は 終了 し て いる 01: PLAY キュ ー は 空 に な っ た が , 演奏 中 02: PLAY キュ ー に デー タ が あり , 演奏 中 03: PLAY キュ ー に デー タ が ある が , 演奏 停止 中 ファ ンク ショ ン 09H と 逆 の 動作 を する も の で あり , 音色 デー タ を メモ リ に 読み 出す . デ ー タ 量 は , バイ ト 形 式 で 51 バイ ト , ワー ド 形 式 で 100 バイ ト で ある 。 | キュ ー 残 量 の 取得 恒 に 282 AH=1AH CH= チ ャ ネル 番号 (0-5) INT 8BH DX= 指 定 チ ャ ネル の キュ ー の 残 量 ( バ イト ) 指定 チャ ネル の 残り PLAY キュ ー サ イズ を 得る 6.11 サウ ンド BIOS | ブロ ッ ク デ ー タ 演奏 AH=1BH AL 繰り 返し 回 数 (0 永久 レー プ ) ES : BP ニ パラ メー タリ スト アド レス (ファ ンク ショ ン 01 と 同じ ) INT 8BH 軸 織 濁 骨 な し 解 説 パラ メー タリ スト で 示さ れ た デー タ 領 域 の PLAY デー タ を 演奏 する .、 ファ ンク ショ ン 01 と 異な り , デー タ を キュ ー に コピ ー せ ず , 与え られ た デー タ を 直接 演奏 する . し た が っ て , デー タ 長 は キュ ー の 大 き さ に 関係 な く な る が , 演奏 中 は パラ メー タリ スト と デー タ 領 域 を 保証 し て お か な けれ ば な ら な い ( 変 えた る と その デー タ で 演奏 され る ). 繰り 返し 回 数 を 0 に する と 永久 に 繰り 返す が , これ を 止め る に は ファ ンク ショ ン 02H・ 0CH を 実行 する 必要 が ある . 本 ファ ンク ショ ン 実 行 中 は PLAY キュ ー が パラ メー タリ スト で 指定 され た デー タ 列 に 設定 され る の で , キュ ー を 変更 する ファ ンク ショ ン を 使用 する と , デー タ も 変更 され て し まう . 同期 モー ド で 演奏 する と き は , 同期 デー タ (FFH) を あら か じ め デ ー タ に 入れ て お くく 必要 が ある . | 1CH | 作業 領域 アド レス の 取得 入 カ AH=1CH INT 8BH 出 力 ES:DX= 作 業 領域 の 先頭 アド レス 解 説 当 BIOS が 使用 し て いる 作業 領域 の 先頭 アド レス を 示す . 283 第 6 章 BIOS | 音楽 デー タ 例 ファ ンク ショ ン 01H・1BH で パラ メー タリ スト が 指す デー タ 列 。 ファン クシ ョ ン 17H で キュ ー に 格納 する デー タ の 形式 を 示す . 各 機 能 は 2 6 バイ ト で 構成 され て お り , 先 頭 の 1 バイ ト で 機能 が 区 別 さ れる . 各 機 能 に は 対応 する ファ ンク ショ ン が あり , 機能 名 の 後 の [ ] で ファ ンク ショ ン 番 号 を 示す . パラ メー タ の 内 容 等 に つい て は その ファ ン クシ ョ ン を 参照 する こと . 第 1 バイ ト (16 進 ) 00-60 音程 デー タ 70 休 符 80-E0 音程 デー タ 第 2 バイ ト : 音 長 (00H, 01-FFH) F1 レジ スタ 書込み [04H] 第 2 パイ ト : OPN レジ スタ 番号 第 3 バイ ト : OPN 設定 値 音 長 割合 (GS 値 ) の 設定 [05H] 第 2 バイ ト : GS 値 (0-7H) デフ ォ ル ト 音 長 の 設定 [07H] 第 2 バイ ト : 音 長 (0-FFH) テン ポ の 設定 [08H] 第 2 バイ ト : テン ポ (01-FFH) 音色 の 設定 [09H] 第 2 バイ ト : パラ メー タリ スト 形式 (00H プ 01H ン 80H-BDH) 第 2 バイ ト が 00H プ 01H の と き , 第 3, 4 バイ ト パラ メー タリ スト 開始 オフ セッ ト (L, 有 H) 第 5, 6 バイ ト パラ メー タリ スト 開始 セグ メン ト (L, 有 H) 音色 パラ メー タ の 個別 設定 [0BH] 第 2 バイ ト : パラ メー タ 番 号 (0-31H) 3。 4 バイト : 設定 値 (上 , H) LFO 開始 / 中 止 [OEH プ 0FH] 第 2 バイ ト : 01H = 開始 00H= 中 止 KEY 状態 維持 [10H] 第 2 バイ ト : 音 長 音量 設定 [12H] 第 2 バイ ト : 音量 設定 値 (00-7FH) MIDI 出力 [14H] 第 2 バイ ト : 出力 デー タ エン ベロ ー プ 設定 [15H] 第 2 バイ ト : 00H= 形 状 指定 プ 01H= ニ エンベロープ 指定 第 3, 4 バイ ト : 形状 (0-FFH) 第 4 バイ ト は な い 周期 (0-FFFFH) 演奏 モー ド の 設定 [16H] 第 2 バイ ト : 演奏 モー ド (1-4) 284 6.12 マウ ス BIOS 6.12 マウ ス BIOS マウ ス BIOS は スプ ライ ト を 用 いた マウ ス を 制御 する BIOS で あり , 以下 の 14 個 の 機能 を 持 cc @ マ ウス BIOS 機能 一 覧 機能 番号 (16 進 ) 00 マウ ス の 初期 化 01 マウ スカ ー ソ ル の 表示 開始 02 マウ スカ ー ソ ル の 表示 停止 03 マウ ス 情 報 の 取得 04 マウ スカ ー ソ ル の 位置 指定 05 左 ボ タン の 押下 情報 の 取得 06 左 ボ タン の 解放 情報 の 取得 07 右 ボ タン の 押下 情報 の 取得 08 右 ボ タン の 解放 情報 の 取得 09 マウ スカ ー ソ ル の 形状 指定 0A マウ ス 移 動 量 を 得る 0B マウ スト ラッ プ の 設定 0C マウ ス 移 動 比 の 設定 0D マウ ス の 水平 移動 範囲 の 設定 OE マウ ス の 垂直 移動 範囲 の 設定 OF マウ ス を スリ ー プ 状態 に する 10 マウ ス を アク ティ ブ 状 態 に する 11 マウ ス 状 態 の 取得 12 マウ ス の 読出 し 周期 の 設定 @ 呼び 出し 方 ① レ ジス タプ メモ リ に パラ メー タ 設 定 ⑨②AH < 機能 番号 ⑧ INT 33H VA の マウ ス は 他 機 種 と 比べ て 次 の よう な 特徴 が ある . ① 16 色 ノ モノ クロ の マウ スカ ー ソ ル が 選べ る マウ スカ ー ソ ル の 大 き さ が か な り 自 由 で ある 縦 -4 ドッ ト ご と に 248 ドッ ト ま で 横 -16 色 の と き 8 ドット, モノ クロ の と き 32 ド ッ ト ご と に 256 ドット 未満 で 。 か つ デ ー タ 量 512 パイ ト ま で 285 第 6 章 BIOS | ooH | マウ ス の 初期 化 入 力 AX==00H INT 33H 出 力 AX=FFEFFH : 正常 終了 =0000H : マウ ス が 使用 で き な い 恒 書 マウ ス の 使用 環境 を 初期 化す る . この ファ ンク ショ ン は スプ ライ ト BIOS の 初期 化 フ ァ ンク ショ ン か ら も 呼ば れる . 1 ) マウ スカ ー ソ ル の 消去 2 ) マウ スカ ー ソ ル の 位置 (0, 0) 3 ) マウ スカ ー ソ ル の 中 心 は 左上 4 ) ボタ ン の 押 離 回 数 の クリ ア 5 ) スプ ライ ト BIOS に 合わ せ た 座 標 系 の 決定 (640X400 or 640X200) 6 ) マウ ス 移 動 範囲 の 初期 化 7 ) マウ スカ ー ソ ル 移 動 比 (mouse プ pixel) の 初期 化 (400 ライ ン 時 8, 200 ライ ン 時 16) 8 ) トラ ッ プ の 禁止 9 ) マウ スカ ー ソ ル 形 の 初期 化 (color。16X16。 Arrow) 10) マウ スリ ー ド タイ ミン グ の 初期 化 (16 ms) | 01H | マウ スカ ー ソ ル の 表示 開始 入 力 AX=O1H INT 33H 出力 な し 解 に マウ スカ ー ソ ル の 表示 を 開始 する . | 02H | マウ スカ ー ソ ル の 表示 停止 入力 AX=02H INT 33H 田 力 な し 解 展 マウ スカ ー ソ ル の 表示 を 停止 する . | 03H | マウ ス 情 報 の 取得 入 、 力 AX=03H INT 33H 286 解 尋 6.12 マウ ス BIOS AX 三 左 ボ タン の 状態 (FFFFH ニ = 押 プ 0000H 離 ) BX= 右 ボタ ン の 状態 (FFFFH ニ = 押 プ 0000H= 離 ) CX 水平 位置 (0-639) DX 三 垂 直 位置 (0-199 or 0-399) マウ スカ ー ソ ル 位 置 と ボタ ン の 状態 を 調べ る . | 04H | マウ スカ ー ソ ル の 位置 指定 ジロ 出 解 避 さ 05H AX==04H CX 人 = 水平 位置 (0-639) DX 三 垂 直 位置 (0-199 or 0-399) INT 33H な し マウ スカ ー ソ ル 位 置 を 指定 する . 左 ボ タン の 押下 情報 の 取得 人 カ 出 カ 解説 AX ニニ 05H INT 33H AX= 左 ボタ ン の 現在 の 状態 (FRFFH ニ = 押 プ 0000H= 離 ) BX= 前 回 に の ファ ンク ショ ン が 呼ば れ て か ら 左 ボタ ン が 押さ れ た 回 数 CX 三 最後 に 左 ボ タン が 押さ れ た と き の 水 平 位置 (0-639) DX= 最 後に 左 ボ タン が 押さ きれ た と き の 垂 直 位 置 (0-199 or 0-399) 左 ボ タン の 押下 に 関す る 情報 を 得る . | 06H | 左 ボ タン の 解放 情報 の 取得 人 Ns 出 カカ 凍 に AX==06H INT 33H AX 王 左 ボ タン の 現在 の 状態 (FFRFFH= 押 0000H= 離 ) BX 王 前 回 この ファ ンク ショ ン が 呼ば れ て か ら 左 ボタ ン が 離さ れ た 回 数 CX 三 最後 に 左 ボ タン が 離さ れ た と き の 水 平 位置 (0-639) DX 三 最後 に 左 ボ タン が 離さ れん た と き の 垂 直 位 置 (0-199 or 0-399) 左 ボ タン の 解放 に 関す る 情報 を 得る . 287 第 6 章 BIOS 07H | 右 ボ タン の 押下 情報 の 取得 入力 AX=07H INT 33H 出 力 AX= 右 ボタ ン の 現在 の 状態 (FFFFH ニ = 押 プ 0000H= 離 ) BX= 前 回 この ファ ンク ショ ン が 呼ば れ て か ら 右 ボタ ン が 押さ れ た 回 数 CX= 最 後に 右 ボ タン が 押さ れ た と き の 水 平 位置 (0-639) DX= 最 後に 右 ボ タン が 押さ れ た と き の 垂 直 位 置 (0-199 or 0-399) 右 ボ タン の 押下 に 関す る 情報 を 得る . 解 剖 | 08H | 右 ボ タン の 解放 情報 の 取得 入力 AX=08H INT 33H 出 力 AX= 右 ボタ ン の 現在 の 状態 (FFFFH ニ = 押 プ 0000H= 離 ) BX= 前 回 この ファ ンク ショ ン が 呼ば れ て か ら 右 ボタ ン が 離さ れ た 回 数 CX= 最 後に 右 ボタ ン が 離さ れ た と き の 水 平 位置 (0-639) DX= 最 後に 右 ボタ ン が 離さ れん た と き の 垂 直 位 置 (0-199 or 0-399) 解 右 ボ タン の 解放 に 関す る 情報 を 得る . 尋 09H | マウ スカ ー ソ ル の 形状 指定 入 AX=09H BX ニ = ニ マ ウス カー ソル セン タ の XX 座標 CX= ニ マウ スカ ー ソ ル セ ン タ の Y 座標 ES : DX ニ マ ウス カー ソル タイ ル へ の ポイ ンタ INT 33H 出 力 AX=FFEFH : 正常 終了 0000H : マウ スカ ー ソ ル が 大 き 過 ぎる マウ スカ ー ソ ル の 形状 と カー ソル セン タ を 設定 する . マウ スカ ー ソ ル の 大 き さ に は 次 の 制限 が ある . 高き : 4 ピク セル ご と で 256 ド ッ ト 未 満 横幅 : 16 色 の と き 8 ピ クセ ルド ッ ト ご と で 1 仙 の と き 32 ピ クセ ルド ツ 下 ご と で 256 ドッ ト 未 満 デー タ 量 : 512 バイ ト ま で デー タ 量 : 三 16 色 の と き 横幅 メ 高 さ ノ 2 (バイ ト ) 1 色 の と き 横幅 メ 高 さき 8 (バイ ト ) 章 に 288 6.12 マウ ス BIOS < ぐ マ ウス カー ソル スタ イル ン > [V3 BASIC の MOUSE 2 文 と 同様 ] dw 横幅 (ピク セル ) dw 高き (ピク セル ) dw 色 モ ー ド (1 また は 4) dw カラ ー コ ー ド (016 : 色 モ ー ド = 1 の と き ) dw マウ スカ ー ソ ル パ タ ー ン … ) ) マウ スカ ー ソ ル パ タ ー ン の 格納 アド レス は , TVRAM の AFD00H-AFEFFH. | マウ ス 移動 量 を 得る AX==0AH INT 33H CX= 前 回 この ファ ンク ショ ン が 呼ば れ て か ら の 水平 移動 量 DX = 前 回 に の ファ ンク ショ ン が 呼ば ん れ て か ら の 垂直 移動 量 前 回 この ファ ンク ショ ン が 呼ば れ て か ら の マウ ス の 移動 量 を 得る . | マウ スト ラッ プ の 設定 155 tap 民 AX=0BH CX ニトラ ッ プ 条件 ES : DX ニトラ ッ プ ルー チン アド レス INT 33H な し マウ ス 事 象 に よる トラ ッ プ ルー チン を 登録 する . < ぐ ト ラッ プ 条 件 : 各 ビ ッ ト が 1 の と き ト ラッ プ す る bit0 : マウ ス の 移動 bit1 : 左 ボ タン の 押下 bit2 : 左 ボ タン の 解放 bit3 : 右 ボ タン の 押下 bit4 : 右 ボ タン の 解放 bit5-bit15 : 0 トラ ッ プ ルー チン は マウ ス 割 込み ルー チン か ら ,。 STI 状態 に な っ た 後 far call で 呼ば れ る . この と き レ ジス タ に は 次 の 情報 が 設定 され て いる 。 AX ニー トラ ッ プ の 要因 bit0 : マウ ス の 移動 bit1 : 左 ボ タン の 押下 bit2 : 左 ボ タン の 解放 bit3 : 右 ボ タン の 押下 bit4 : 右 ボ タン の 解放 289 第 6 章 BIOS BL= 左 ボタ ン の 状態 (FFH= 押 00H デ = ニ 離 ) BH= 右 ボタ ン の 状態 (FFH= 押 00H= 離 ) CX= ニ マウ スカ ー ソ ル の 水平 位置 (0-639) DX= マ ウス カー ソル の 垂直 位置 (0-199 or 0-399) | 0CH | マウ ス 移 動 比 の 設 入 力 AX=0CH CX 水平 マウ ス 移 動 比 DX= 垂 直 マ ウス 移動 比 INT 33H 軸 計 し 解 説 マウ ス の 移動 比 を 設定 する . 大 きい ほど 動き が 遅く な る . 0 を 設定 する と 自動 的 に 初期 値 を 設定 し た こと に な る . マ 移 動 比 初期 値 > スプ ライ ト が 400 ライ ン の と き 8 スプ ライ ト が 200 ライ ン の と き 16 < | 0DH | マウ ス の 水平 移動 範囲 の 設 入 力 AX=ODH CX ニ マ ウス 移動 範囲 左 X 座標 DX ニ マ ウス 移動 範囲 右 X 座標 INT 33H 出 滞 な し 解 説 マウ ス の 水平 移動 範囲 を 設定 する . 初期 状態 は 0~639. | OEH | マウ ス の 垂直 移動 範囲 設定 入 力 AX=OEH CX ニ マ ウス 移動 範囲 上 Y 座標 DX ニ マ ウス 移動 範囲 下 Y 座 標 INT33 有 H 由 カカ な し 解 説 マウ ス の 垂直 移動 範囲 を 設定 する . 初期 状態 は 0-199 また は 0-399. 290 6.12 マウ ス BIOS | マウ ス を スリ ー プ 状態 に する AX=0OFH INT 33H な し マウ ス 割 込み の 処理 を 止め 。 マウ ス を 使用 停止 状態 に する . マウ スカ ー ソ ル の 表示 も 停 止 す る 。 ス リー プ 状 態 か ら の 脱出 は , 次 の ファ ンク ショ ン 10H か ファ ンク ショ ン 00H で 行う . マウ ス を アク ティ ブ 状 態 に する AX==10 了 H INT 33H な し マウ ス の 使用 を 再開 し , スリ ー プ する 前 の 状態 に 戻す . マウ ス 状 態 の 取得 AX= 三 11H INT 33H AX=0000H: マ ウス は スリ ー プ モー ド ーFFFFH: マウ ス は アク ティ ブ モ ー ド 解説 マウ ス が スリ ー プ か アク ティ ブ か を 知ら せる . 12H | マウ ス の 読出 し 周期 の 設 入 、 力 AX=12H CX テ 0 : 8.3ms 三 1 : 16.7ms NISSS 暫 出 力 AX=0000H : マウ ス は スリ ー プ モー ド 三 FFEEFH: マ ウス は アク ティ ブ モ ー ド 解 説 マウ ス の ハー ドウ ェ ア 割 込み ルー チン を 呼び 出す 周期 を 設定 する . 初期 値 は 16.7 ms. 291 第 6 章 BIOS | 作業 領域 034BH : 0000H マウ ス の BIOS の 作業 領域 の セグ メン ト は 034BH で ある . OFFSET (16 進 ) 機 能 マウ ス 移 動 範囲 の 左端 マウ ス 移 動 範 囲 の 右端 マウ ス 移 動 範囲 の 上 端 マウ ス 移 動 範囲 の 下端 マウ ス X 座標 マウ ス Y 座標 マウ スカ ー ソ ル 表 示 フ ラグ マツ ウ スカー ソル セン タ 駐 マウ スカ ー ソ ル セ ン タ Y 以前 の ボタ ン 状 態 現在 の マウ スイ ベン ト の 状態 マウ ス ボ タ ン の 状態 内 部 使用 ツク ズ アガ ウデ イン ジッ グ 左 ボ タン を 押し た 回 数 左 ボ タン を 離し た 回 数 右 ボ タン を 押し た 回 数 右 ボ タン を 離し た 回 数 左 ボ タン を 押し た と き の X 座標 左 ボ タン を 押し た と き の Y 座標 左 ボ タン を 離し た と き の X 座標 左 ボ タン を 離し た と き の Y 座標 右 ボ タン を 押し た と き の X 座標 右 ボ タン を 押し た と き の Y 座標 右 ボ タン を 雛 し た と き の X 座標 右 ボ タン を 離し た と き の Y 座標 水平 方 向 ミ ッ キ ー カ ウン ト 垂直 方 向 ミ ッ キ ー カ ウン ト 水平 方 向 ミ ッ キ ー カ ウン ト の 合計 垂直 方 向 ミ ッ キ ー カ ウン ト の 合計 水平 方 向 の 移動 比 垂直 方 向 の 移動 比 内 部 使用 . マウ スト ラッ プ 条 件 マウ スト ラッ プア ドレ ス 内 部 使用 マウ ス の 読出 し 周期 内 部 使用 マウ スカ ー ソ ル の 水平 サイ ズ マウ スカ ー ソ ル の 垂直 サイ ズ マウ スカ ー ソ ル の スプ ライ トス イッ チ (bit1) マウ スカ ー ソ ル の スプ ライ トモ ー ド (bit2) マウ スカ ー ソ ル の モノ クロ 時 の カラ ー コ ー ド 292 6.13 カレ ンダ 時 計 .BIOS 内 蔵 ク ロッ クチ ッ プ PD4990AC に 日 付 お よび 時 刻 の 設定 ・ 読 出し を 行 @ カレ ンダ 時 計 BIOS 機能 一 覧 機能 番号 (16 進 ) 6.13 カレ ンダ 時 計 BIOS 26 日 付 の 取得 日 付 の 設定 時 刻 の 取得 時 刻 の 設定 両面 最上 部 に 日 付 ・ 時 刻 を 表示 する 画面 最上 部 の 日 付 ・ 時 刻 表 示 を 終了 する 画面 最上 部 の 日 付 ・ 時 刻 表 示 の 状態 を 得る @ 呼出 し 方 ① レ ジス タプ メ モリ に パラ メー タ 設 定 ②AH< 機能 番号 oINT 8CH | 00H | 日 付 の 取得 7 出 カ 凍 に AH ニニ 00H INT 8CH CX 年 (1980-2079) DH 月 ( 1 -12) DL = 日 (1 -31) 2L 当 陽 軸 00 2 目 。 月 23 炎 "6 : 土 ) 現在 の 日 付 を クロ ッ ク チ ッ プ PD4990AC か ら 読 み 出 す . AX, CX, DX 以外 の レジ スタ は 保持 され る . | 01H | 日 付 の 設定 入 カ AH=01H CX = 年 (1980-2079) DH 月 (1-12) DL 日 (1-31) INT 8CH 293 第 6 章 BIOS 出 カ 凍 尋 AL=00 : 正常 終了 キ 00 : パラメータ エラ ー bit0 : 年 が 異常 bit1 : 月 が 異常 bit2 : 日 が 異常 指定 し た 日 付 を クロ ッ ク チ ッ プ PD4990AC に 設定 する . AX, CX, DX 以外 の レジ スタ は 保持 され る 。. 02H 時 刻 の 取得 1 部 AH=02H INT 8CH CH = 時 (0 -23) CL = 分 ( 0 -59) DH== 秒 (0 -59) DL =00 現在 の 時 刻 を クロ ッ ク チ ッ プ PD4990AC か ら 読出 す . AX, CX, DX 以外 の レジ スタ は 保持 され る . | 時 刻 の 設定 章 己 294 AH=03H CH = 時 (0 -23) CL 分 (0 -59) DH 三 秒 (0 -59) INT 8CH AL=00 : 正常 終了 キキ 00 : パラ メー タ エ ラ ー bit0 : 時 が 異常 bit1 : 分 が 異常 bit2 : 秒 が 異常 指定 し た 時 刻 を クロ ッ ク チ ッ プ PD4990AC に 設定 する . AX, CX, DX 以外 の レジ スタ は 保持 され る . 6.13 カレ ンダ 時 計 BIOS | 04H | 画面 最上 部 に 日 付 ・ 時 刻 を 表示 する _ 」 入 力 AH=04H INT 8CH 田 軸 連中 な し 解 説 PC-Engine の コマ ンド プロ セッ サ が , 画面 最上 部 の 日 付 ・ 時 刻 表 示 を 開始 する た め の も の で , 標準 的 な スク リー ン エ ディ タ の 環境 を 守っ て いな い 場 合 は 使用 で き な い . | 05H | 画面 最上 部 の 日 付 ・ 時 刻 表示 を 終了 する | 入 力 AH=O05H INT 8CH 出 力 な し 解 説 画面 最上 部 の 日 付 ・ 時 刻 表 示 を 停止 する た め の も の で ,。 アプ リケーション ソフ ト 起 動 に と の ファ ンク ショ ン で 表示 が 停止 され る . 06H | 画面 最上 部 の 日 付 ・ 時 刻 表示 の 状態 を 得る 入 力 AH=06H INT 8CH 出 力 AL=00 : 表示 中 =FF : 表示 停止 中 画面 最上 部 の 日 付 ・ 時 刻 表 示 の 状態 を 調べ る . 蒲 媒 295 第 6 章 BIOS Mn アン シー ポン シド 胃 の 08 ファ ン シ ー フ ォ ン ト BIOS は 。 オリ ジ ナ ルフ ォ ン ト の 文字 サイ ズ ・ 字 体 を 修飾 し な が ら プ リン 出力 用 に 変換 する た め の も の で ある . オ リ ジ ナ ルフ ォ ン ト の 文字 サイ ズ は 16X16 ド ッ ト (全角 ) また は 16X 8 ドッ ト (半角 ) を サポ ー ト する . 以下 に 変換 後 の 字体 ・ サ イズ の 種類 を ボナ. e 字 体 1) 袋 文字 ( 自 抜き 文字 ) 2 ) 代価 3 ) 強調 (太字 ) 4 ) 影 文字 5 ) 1-4 の 任意 の 組合 せ @ 文字 サイ ズ 1) 16 ド ッ ト (24 ド ッ ト バ ッ フ ァ ) 字体 を 変え た る と 16 ド ッ ト 文 字 が 16 ドッ ト よ り 大 きく な る . こ の た め 24 ドット 分 の バッ フ ァ を 用 意 し , そこ に 格納 する モー ド .24 ドット バッ ファ 中 の オリ ジ ナ ルフ ォ ン ト の 位置 は 上 マー ジン 2 ドット ・ 左 マー ジン 1 ドッ ト で ある 。. 16 ドッ ト (16 ドット バッ ファ ) 大 きく な っ た フォ ント を カッ ト し て 16 ドット 用 バッ ファ に 詰め 込む モー ド 24 ドッ ト (24 ド ッ ト バ ッ フ ァ ) 16 ドット 文字 を 24 ドッ ト に 変換 後 , 字体 変更 し て , 24 ドッ ト 用 バッ ファ に 詰め 込む モー ド . 斜体 指定 し た 場合 は , 24 ドッ トバ ッ フ ァ が 横 に 拡張 され る . いずれ に し ろ 。 上 下 は マ = ジン の ドド され る 2 ュ ン 3 ュ ン @ オ リ ジ ナ ルフ ォ ン トバ ッ フ ァ の 形式 ーー デー。16d96s 王 一 * ~ 8dot > - 16dot (半角 文字 ) @ 変換 後 フ ォ ン トバ ッ フ ァ の 形式 ①16 ドッ トバ ッ フ ァ 296 6.14 ファ ン シ ー フ ォ ン ト BIOS ②24 ドッ トバ ッ フ ァ ・ 斜 体 指定 な し ⑧③24 ドッ トバ ッ フ ァ ・ 斜 体 指定 あり ーー 24dot 一 一 > = 12dot 一 ャ ェ ーー 36do ーー 今 = 24dot 一 24dot 4dot 4dot \ ! ! (全角 文字 ) (半角 文字 @ 変換 の 種類 と 使用 され る 変換 後 フ ォ ン トバ ッ フ ァ オリ ジ ナ ルフ ォ ン ト (16 ドット) 16 ド ッ ト 変 換 一 マー ジン カッ トー 16 ドッ トバ ッ フ ァ ① ーー その まま 24 ドッ トバ ッ フ ァ ② 24 ドッ ト 拡 大 変換 一 一 斜体 指定 無し つっ 24 ドット バッ ファ ② 斜体 指定 あり っ 24 ドット バッ ファ ③ INT92H| 文字 フォ ント の 変換 入 、 カ カカ CL 三 変換 モー ド bit7 : 袋 文字 指定 (1 = 袋 文字 ) bit6 : 斜体 指定 ( 1 三 斜 体 ) bit5 : 強調 指定 ( 1 三 強調 ) bit4 : 影 文 字 指 定 ( 1 = 影 文字 ) bit3 : 0 bit2 : バッ ファ サイ ズ (1= ニ 16 ド ッ ト グ 0 三 24 ドット) bit1: ド ッ ト サ イズ (1=24 ドッ ト グ 0 =16 ドット) bit0 : 文字 サイ ズ ( 1 三 半 角 ノ 0 三 全角 ) ES : S ニ オリ ジ ナ ルフ ォ ン トバ ッ フ ァ の アド レス ES : DI= 変 換 後 の フォ ント バッ ファ の アド レス INT 92H 出 力 ES:II= 変 換 後 の フォ ント バッ ファ 297 第 6 章 BIOS 6.15 スク リー ン エ ディ タ BIOS スク リー ン エ ディ タ BIOS は , コマ ンド プロ セッ サ お よび V3 BASIC に お ける 入力 を サポ ー ト する も の で ある . @ ス クリ ー ン エディ タ BIOS 機能 一 覧 機 能 スク リー ン エ ディ タ の 使用 開始 シス テム ライ ン の 表示 ・ 消 去 スク リー ン モ ー ド の 変更 スク ロー ル 範 囲 の 変更 ヌル キャ ラク タ ア トリ ビュ ー ト の 変更 文字 表示 (コン トロ ー ル コー ド 有 効 ) 文字 表示 (コン トロ ー ル コー ド 無 効 ) 1 行 入 力 部 分 行 入力 @ 呼出 し 方 ① レ ジス タメ モ リ に パラ メー タ 設 定 ② AH < 機能 番号 ③INT 94H e サポ ー ト する 画面 桁 数 80 また は 40 行 数 : 10 プ 20 また は 12 プ 25 | 0oH | スク リー ン エ ディ タ の 使用 開始 入 カカ AH=O0OH AL= 画 面 モ ー ド bit7 : シス テム ライ ン の 行 数 ( 1 = 2 行 0=1 行 ) bit6: アト リピ ビュ ー モ ー ド (1 ニモ ー ド 10 ニモ ー ド .0) bit5-4 : 行 数 (11= ニ 10 行 プ 10=12 行 プ 01=20 行 プ 00 ニ 25 行 ) bit3: 0 bit2 : 桁 数 (1=80 桁 プ 0 ニ 40 桁 ) bit1: イ ンタ ー レ ー ス モー ド (1 ニ ノン イン ター レー スグ 0 ニ イ ン ター レー ス ) bit0 : 0 INT 94H 由 カカ な し 298 6.15 スク リー ン エ ディ タ BIOS 章 に 4 スク リー ン エ ディ タ 利 用 時 に は , 必ず 最初 に この ファ ンク ショ ン を 実行 し な けれ ば な ら な い .。 この ファ ンク ショ ン に より TVRAM 上 に 次 の 2 つの フレ ー ム バッ ファ が 確保 き れる . ・ フ レー ム バ パッ ファ #0 (メイ ンス クリ ー ン 用 ) 先頭 番地 0000H フレ ー ム バッ ファ の 幅 80 フレ ー ム バッ ファ の 高き 25 ジョ クー な バツ ジル (シズ スバ ライ シン 用 り 先頭 番地 OFAOH フレ ー ム バッ ファ の 幅 80 フレ ー ム バッ ファ の 高き 2 最後 に AL に 従っ て , 画面 モー ド 等 が 設定 きれ る . シス テム ライ ン は , 非 表示 と な る . 表示 する 必要 が ある 場合 は ,。 この 後 フ ァ ン クシ ョ ン 01H を 呼ぶ . | 01H | シス テム ライ ン の 表示 ・ 消 去 | 入力 AH=O01H AL =FFH : シス テ RS シス SHMD= 0 : シフ トキ ー を 無視 する 1 : シフ ト 押 下 で シフ ト 状 態 の 文字 列 を 表示 する ファ ンク ショ ン キ ー 表 示 個 数 0 : フ ァ ン クシ ョ ン キ ー を 表示 し な い 5 : フ ァ ン クシ ョ ン キ ー を 5 個 表示 する 10: ファ ンク ショ ン キ ー を 10 個 表示 する ライ ン を 消去 し 。 全 画 面 を メイ ン 画 面 と する 5 INT 94H 貼 選 錠 忌 半 し 解 説 シス テム ライ ン の 表示 ・ 消 去 を 行う . 表示 時 に は ファ ンク ショ ン キ ー の 表示 個数 も 指定 ずる 。 | 02H | スク リー ン モ ー ド の 変更 入力 AH=02H AL = 画面 モー ド ( フ ァ ン クシ ョ ン 00H と 同じ ) INT 94H 貼 力 な し 解 説 スク リー ン モ ー ド を 変更 し , 画面 を 初期 化す る . 299 第 6 章 BIOS | 03H | スク ロー ル 範 囲 の 変更 入 、 力 AH=03H DH= ス クロ ー ル 開始 行 DL= ス クロ ー ル 終了 行 INT 94H 出 解 填 な し 憶 メイ ン 画 面 の スク ロー ル 徹 囲 を 指定 する . | 04H | ヌル キャ ラク タ ア トリ ビュ ー ト の 変更 入 、 力 AH=04H DX= ニ アトリビュート コー ド (DH=0 に する ) INT 94H 55 汁 な し 恒 媒 メイ ン 画 面 の メル キャ ラク タ で 用 いる アト リ ビ ュ ー ト コー ド を 指定 する . 画面 消去 ・ 削 除 等 で . ヌル キャ ラク タ が 使用 され る と き は , この アト リ ビ ュ ー ト コー ド が 用 いら れる . 05H | 文字 表示 (コン トロ ー ル コー ド 有 効 入力 AH ニ =05H DX== 2 バイト 文字 コー ド INT 94H 邊 | な し 恒 に カー ソル 位置 に 文字 を 表示 し , カー ソル を 進め る . 与え られ た 文字 コー ド が コン トロ ー ルコ ー ド で あっ た 場合 に は , テキ スト BIOS と は 異な る スク リー ン エ ディ タ 特 有 の 処理 を 行う . それ 以外 に つい て は , テキ スト BIOS の ファ ンク ショ ン 01H( 1 文字 出力 ) が 呼 ば れる 。. ぐ コ ント ロー ルコ ー ド の 処理 07H ブザー を 鳴ら す 09H タプ 位置 まで スペ ー ス を 出力 する 0AH カー ソル を 下 の 行 の 先頭 に 移動 する OBH カー ソル を スク ロー ル 和 爺 囲 の 左上 隅 に 移動 する OCH スク ロー ル 範 囲 内 を 消去 する ODH カー ソル を 左端 に 移動 する 16H 半角 入力 モー ド に する 1DH カー ソル を 左 に 移動 する 17H 全角 入力 モー ド に する 1EH カー ソル を 上 に 移動 する 1CH カー ソル を 右 に 移動 する 1FH カー ソル を 下 に 移動 する 300 6.15 スク リー ン エ ディ タ BIOS | 06H | 文字 表示 (コン トロ ー ル コー ド 無 効 ) 入 、 力 AH=06H DX= 2 バイ ト 文 字 コ ー ド INT 94H 正 Ga な し ント ロー ルコ ー ド の 処理 を 行わ な いこ と 以外 は , ファ ンク ショ ン 05H と 同じ 。 コン ト / ロー ルコ ー ド は , それ に 対応 し た 特殊 文字 を 表示 する . 病 憶 | 07H | 1 行 入力 入 力 AH=07H AL 制御 パラ メー タ ES : BX 王 入力 バッ ファ の アド レス C メ = 入力 バッ ファ の 長き DX= 待 ち 時 間 (0001-7FFFH 0.1 秒 単位 ) 時 間 制 限 を 設け な いと き は DX=0 INT 94H ぐ AL : 制御 パラ メー タン > bit7 : 最初 の 挿入 ・ 上 書 モ ー ド ( 1 = 挿入 0 = 上 書 ) bit5 : カー ソル 表示 (1= ニ OFF プ 0=ON) bit4: カー ソル ブリ ンク (1=OFF ノ 0=ON) bit2 : エン N( ヒ スト リー 処理 ) ( 1 = 有り 0 = 無し ) bit1-0 : A(HELP 機能 ) 11 ニ 有り (バッ ファ 更新 し な い ) 10 ニ 有り (バッ ファ 更新 する ) 00 寺 な し 出 力 入力 バッ ファ ミ 文 字 列 AX= 終 了 条 件 AH=00H: リン M ブ エン N に よる 終了 三 80H : C に よる 終了 (バッ ファ は に 更新 され な い ) =ーFFH : タイ ム ア ウ ト ( バ ッ フ ァ は 更新 され な い ) AL MSB: 終了 時 の 挿入 ・ 上 書 (1 = 挿入 ( ] の と き )/ 0 = 上 書 ) bit6-0 : 終了 時 の 文字 コー ド 解 説 文字 入力 を 連続 し て 行い , 改行 キー 等 が 入力 され た 時 点 で , 1 行 (論理 行 ) を 入力 バッ フ ァ に 取り 込ん で 戻る . STOP キー 等 は 入力 バッ ファ を 更新 せ ず に 戻る . 入力 条件 と し て , 待ち 時 間 が 指定 され た 場合 は , 待ち 時 間 の 間 キ ー 入 力 が な い 場 合 。 入力 バッ ファ を 更新 せ ず に 戻す . 301 第 6 章 BIOS ぐ 入 力 バ ッ フ ァ の 形式 > ① 呼 ぶ 前 ② 呼 ん だ 後 ES : BX ES : BX 混在 文字 コー ド の 文字 例 ター ミネ ー タ ー 20h で な い 文 字 で 終了 あら か じ め ES:〔BX-1〕 に は 0 を 入れ て お く ぐ コ ント ロー ルコ ー ド の 処理 > 機 能 説明 処理 の た め に 正常 終了 と し て 戻る 1 つ 前 の ワー ド に 戻る 中 断 。 異常 処理 と し て 戻る カー ソル 位置 か ら 1 ワー ド を 削除 カー ソル 位置 か ら そ の 行 の 終わ り ま で 消去 1 つ 先 の ワー ド へ 進む ブザー を 鳴ら す 1 文字 削除 タプ 位置 まで 空白 を 出力 する ライ ン フ ィ ー ド ノ 挿 入 モ ー ド で 行 分 割 カー ソル を ホー ム ポ ボ ポジション へ 移動 スク ロー ル 範 囲 を 消去 する 入力 終了 挿入 モー ド に する 1 行 キ ャ ン セ ル カー ソル を 行 の 最後 に 移動 する カー ソル を 右 へ 移動 する カー ソル を 左 へ 移動 する カー ソル を 上 へ 移動 する カー ソル を 下 へ 移動 する スク ロー ル 範 囲 を スク ロー ル ア ッ プ す る スク ロー ル 範 囲 を スク ロー ル ダ ウ ン す る 08H | 部 分 行 入力 入 、 力 AH=O8H AL 三 制 御 パ ラメ ー タ (ファ ンク ショ ン 07H と 同じ ) ES : BX= 入 力 バ ッ フ ァ の アド レス CX= ニ 入力 バ ッ フ ァ の 長 さ DX= 待 ち 時 間 (0001-7FFEH 0. 秒 単位 ) 時 間 制 限 を 設け な いと き は DX=0 INT 94H 出 力 AX= 終 了 条 件 (ファ ンク ショ ン 07H と 同じ ) 入力 バッ ファ 三文 字 列 カー ソル が 移動 し た 部 分 だ け の 文字 列 を 取り 込む (V1/V2 BASIC の INPUT 文 と 同 様 ) 以外 は ファ ンク ショ ン 07H と 同じ . 凍 香 302 6.16 日 本 語 入 力 フ ロン ト プ ロ セッ サ BIOS 6.16 日 本 語 入 力 フ ロン ト プ ロ セッ サ BIOS 日 本 語 入 力 を 行う た め の フ ロン ト プ ロ セッ サ (JFP) を 制御 する BIOS で あり , 以下 の 機能 を 持 つ 。 @ JFP の 機能 一 覧 機能 番号 (16 進 ) 00 JFEP モー ド の 取得 01 JFEP モー ド の 設定 02 JFP の 初期 化 03 JFP の 中 止 04 第 1 候補 05 次 候補 06 前 候補 07 次 文節 へ の 移動 08 前 文節 へ の 移動 09 注目 文節 の 延長 0A 注目 文節 の 短縮 0B 文節 ひら が な 変換 0C 文節 カタ カナ 変換 文節 半角 変換 全 ひ ら が な 変換 ユー ザ 辞 書 フ ァイル 名 の 取得 ユー ザ 辞 書 フ ァイル 名 の 設定 単語 登録 単語 削除 全角 半角 変換 半角 全角 変換 カタ カナ ひら が な 変換 ひら が な カタ カナ 変換 ジフ ト JIS っ JIS 変換 JIS っ シフ ト JIS 変換 ロー マ 字 変換 画面 切 変え の 通知 @ 呼出 し 方 ① レジ スタ アメ モリ に パラ メー タ 設 定 ② CL-= 機能 番号 ③ INT 8DH 303 第 6 章 BIOS 00H | JFP モー ド の 取得 入 、 力 CL=00H INT 8DH 出 力 AH ニ =JFP 制御 デー タ AL=JFP 入力 モー ド DH = 直接 入力 モー ド 時 の 最大 文字 数 (16-60) DL= 間 接 入 力 モー ド 時 の 最大 文字 数 (16-30) bit 7 : 1=JFP OFE プ 0=JFP ON bit 6 : 1 全角 半角 切替 え 禁 止 プ 0 許可 bit 5-4 : 予約 bit 3 : 1 三 外 字 作 成 禁 止 プ 0 三 許可 bit 2 : 1 三 単 語 削除 禁止 プ 0 ニ 許可 bit 1 : 1 三 単 語 登録 禁止 プ 0 三 許可 bit 0 : 1 三 画 面 切替 え 禁 止 プ 0 三 許可 bit 7 : 1 三 直 接 入力 モー ド ノ 0= 間 接 入力 モー ド bit 6-3 : 1 予約 bit 2 : 1 ニカ タカ ナブ 0= ニ ひら が な bit 1 : 1= ニ か な モー ド ノ 0= 英 字 モ ー ド bit 0 : 1 三 全角 0 半角 解 JEFP の 各種 モー ド を 取得 する . 部 | 01H | JFP モー ド の 設定 NINE AH ニニ JFP 制御 デー タ ( フ ァ ン クシ ョ ン 00H と 同じ ) AL=JEP 入力 モー ド ( フ ァ ン クシ ョ ン 00H と 同じ ) DH = 直接 入力 モー ド 時 の 最大 文字 数 (16-60) DL= 間 接 入 力 モ ー ド 時 の 最大 文字 数 (16-30) INT 8DH 圧 ai な し 藻 部 JEFP の 各種 モー ド を 設定 し ,。 モー ド に し た が っ て 再 初期 化す る . 304 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS | 02H UE の 初期 化 入力 CL=02 了 HH INT 8DH 出 力 な し JFP の 各種 モー ド を 初期 設定 値 に 戻す . 解 部 1) 2) 3) 4) 5) 6) 7) 8) 9) 直接 入力 モー ド 時 の 最大 文字 数 60 間接 入力 モー ド 時 の 最大 文字 数 =30 JEP バッ ファ の クリ ア 半角 英 数 モー ド の 選択 単語 登録 ・ 削 除 の 許可 外字 作成 の 許可 JFP ON デフ ォ ル ト ユ ー ザ 辞書 の ロー ド デフ ォ ル ト 外 字 フ ァイル の ロー ド | 03H | JFP の 中 止 入 、 力 CL=03 了 HI INT 8DH 出 力 な し 解 説 JPP の 実行 中 ( 未 決定 状態 ・ 単 語 登録 ・ 外 字 作 成 な ど ) か ら 強 制 的 に 抜け 出す . | 04H | 第 1 候補 入 力 CL=04H DS : SI 全角 の 読み 文字 列 DS : DIT= ニ 出力 パッ ファ INT 8DH 出 力 AL 注目 文節 先頭 位置 AH 三文 節 長 1 に 4 る 前 に 実行 する . 読み 文字 列 の 第 1 候補 を 返す 。 この ファ ンク ショ ン は 他 の 変換 ファ ンク ショ ン を 使用 す 305 第 6 章 BIOS | 05H | 次 候補 入 カカ CL=O05H DS : SI 全角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH 出 力 AL= 注 目 文節 先頭 位置 AH ニニ 文 館長 解 注目 文節 の 次 候補 を 返す . 部 | 06H | 前 候補 入力 CL=06H DS : SI 三 全角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH 出 力 AL 注目 文節 先頭 位置 AH= 文 節 長 解 説 注目 文節 の 前 候補 を 返す . 07H | 次 文節 へ の 移動 入 カカ CL ミ 07H DS : SI 全角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH 出 力 AL 注目 文節 先頭 位置 AH 文節 長 解 説 注目 文節 を 次 の ( 右 の ) 文 節 へ 移動 する . 現在 の 文節 が 最後 の 場合 は , 先頭 文節 へ 移る . | 08H | 前 文節 へ の 移動 入 、 力 CL=08H DS : SI 三 全角 の 読み 文字 列 DS : DI= テ 出力 バッ ファ INT 8DH 出 力 AL= 注 目 文節 先頭 位置 AH 文節 長 注目 文節 を 前 の ( 左 の ) 文節 へ 移動 する . 現在 の 文節 が 先頭 の 場合 は , 文節 は 移動 し な い . 章 部 306 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS 09H | 注目 文節 の 延長 入 力 CL=09H DS : SI 三 全 角 の 読み 文字 列 DS : DI 出力 バッ ファ INT 8DH 出 力 AL 注目 文節 先頭 位置 AH 文節 長 注目 文節 を 延長 する . 先頭 位置 は 変化 し な い . 延長 され た 注目 文節 は 直ちに 再 変換 され る . 恒 に 3 | OAH | 注目 文節 の 短縮 入 カカ CL==0A 了 HI DS : SI== 全 角 の 読み 文字 列 DS : DI= ニ 出力 バッ ファ INT 8DH 出 力 AL 注目 文節 先頭 位置 AH ニニ 文 節 長 注目 文節 を 短縮 する . 先頭 位置 は 変化 し な い . 短縮 され た 注目 文節 は 直ちに 再 変換 きれ る . Ei に | OBH | 文節 ひら が な 変換 入 カカ CL=OBH DS : SI 三 全 角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH 出 力 AL 人 = 注目 文節 先頭 位置 AH ニニ 文節 長 解 説 注目 文節 を ひら が な 変換 する . | 0CH | 文節 カタ カナ 変換 入 力 CL 三 0CH DS : SI= 全 角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH 307 第 6 章 BIOS AL 注目 文節 先頭 位置 AH 文節 長 注目 文節 を カタ カナ 変換 する . 文節 半角 変換 CL=0DH DS : SI 三 全角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH AL 注目 文節 先頭 位置 AH 文節 長 注目 文節 を 半角 に 変換 する . | 全 ひ ら が な 変換 CL=OEH DS : SI 全角 の 読み 文字 列 SM ドー 則 巡 ポッ ファ INT 8DH AL=0 AH== 文 長 読み 文字 列 全部 を ひら が な に 変換 する . 非 か な 文字 は 影響 を 受け な い . | 全 カタ カナ 変換 凍 に 4 308 CL=0FH DS : SI 三 全角 の 読み 文字 列 DS : DI= 出 力 バ ッ フ ァ INT 8DH AL=0 AH ニテ 文 長 読み 文字 列 全部 を カタ カナ に 変換 する . 非 か な 文字 は 影響 を 受け な い . 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS | 10H | 全 半 角 変 換 大 力 "CL 三 40 正 DS : SI= 全 角 の 読み 文字 列 DS : DI 出力 バッ ファ INT 8DH 出身 力 AL 三 0 AH ニテ 文 長 解 説 読み 文字 列 全部 を 半角 に 変換 する . | 11H | 決定 稚 。 力 。LL 三 HH INT 8DH 出 力 な し 解 説 変換 結果 を 学習 し , RAM CG の 学習 領域 を 更新 する . | 12H | ユー ザ 辞 書 フ ァイル 名 の 取得 義 寺 力 / (人 E 三 還 DS : SI[= 出 力 バ ッ フ ァ (20 バイ ト ) INT 8DH 出 力 出力 バッ ファ ニ フ ァ イル 名 解 説 ユー ザ 辞 書 の ファ イル 名 (ASCIZ) を 得る . ユー ザ 辞 書 フ ァイル 名 の 設定 解 説 ユー ザ 辞 書 の ファ イル 名 を 設定 する . 辞書 の ロー ド は 行わ れ な い . CL=13H DS : DI= ュ ー ザ 辞書 ファ イル 名 (ASCIZ : 20 バイ ト 以 内 ) INT 8DH AX ニー0 : 正常 終了 キ 0 : エラ ー(AH ニ = 不定 ) AL=3 : 致命 的 ディ スク エラ ー ー4・ ユー ザ 辞 書 が 大 き 過 ぎる 309 第 6 章 BIOS | 14H | 単語 登録 入 力 CL=14H AX 三 品詞 情報 DS : SI== 全 角 の 読み 文字 列 DS : DI= 全 角 か な ・ 漢 字 文 字 列 (登録 する 単語 INT 8DH 出 力 AX=0: 正 常 終了 キ 0 : エラ ー(AH== 不 定 ) AL=2: 単語 が すでに 存在 する 三 3 : 致命 的 ディ スク エラ ー =4 : ユーザ 辞書 が 大 き 過 ぎる ー5 ・ 同音 義 語 が 多 過 ぎる 解 説 ユー ザ 辞 書 に 単語 登録 する . 読み と し て は 全角 ひら が な ・ カ タカ ナ を 使用 する . < 品詞 情報 > bit 15 : 名 詞 フ ラグ (1 三 名 詞 ) bit 3-0 : 動詞 タイ プ bit 14-11 : 名 詞 の 種類 0000 : 動詞 で な い bit 14 : 1 ニ 「 的 」 が 接続 する 名 詞 0001: カ ヵ 行 5 段 bit 13 : 1 ニ 「 性 」 が 接続 する 名 詞 0010 : ガ 行 5 段 bit 12 : 1 役職 ・ 人 名 0011 : サ 行 5 段 bit 11 : 1 三 地名 0100 : 夕 行 5 段 bit 10 : 1 接頭 語 「 御 」 が 接続 する 0101 : ナ 行 5 段 bit 9-7 : 000 0110 : ム 行 5 段 bit 6 : 形容 動詞 フラ グ 0111 : て 行 5 段 bit 5: 副 詞 フ ラグ 1000 : ラ 行 5 段 bit 4 : 形容 詞 フ ラグ 1001 : アン 行 5 段 1010 : 1 段 1011 : サ変 1100 : ザ 変 1101 : カ 変 | 15H | 単語 削除 久 。 錠 5 AX 三品 詞 情報 DS : SI 三 全角 の 読み 文字 列 (削除 する 読み ) DS : DI 全角 か な ・ 漢 字 文字 列 (削除 する 単語 INT 8DH 310 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS 出 力 AX=0O: 正常 終了 キ 0 : エラ ー(AH ニ 不定 ) AL=2: 単語 が 存在 し な い 三 3 : 致命 的 ディ スク エラ ー 解 説 ユー ザ 辞 書か ら 単語 を 削除 する 。 | 16H | 全角 半角 変換 ズ ベ カリ CL 三 16 耶 DS : SI= 全 角 文 字 列 (シフ ト JIS) DS : DI= 半 角 出 力 バ ッ フ ァ INT 8DH 出 力 AX=0 : 正常 終了 キ 0 : エラ ー( 半 角 に 変換 で き な か っ た 位置 . 1 先頭 ) 解 説 全角 文字 列 を 半角 文字 列 に 変換 する 17H | 半角 全角 変換 大 す カコ CL= 三 ZH DS : SI= 半 角 文 字 列 DS : DI= 全 角 出 力 バ ッ フ ァ ( シ フト JIS) INT 8DH 出 力 AX ニニ 0 : 正常 終了 キ 0 : エラ ー( 半 角 に 変換 で き な か っ た 位置 . 1 先頭 ) 半角 文字 列 を 全角 文字 列 に 変換 する . 2 バイ ト 半 角 文 字 (JIS : 29xx-2Bxx) は 使用 で き な い 、。 恒 部 | 18H | カタ カナ ひら が な 変換 入 力 CL=18H DS : SIー 全 角 カ タカ ナブ 文字 列 DS : DI= 全 角 ひ ら が な 文字 列 INT 8DH 出 力 AX=0: 正常 終了 キ 0 : エラ ー( 変 換 で き な か っ た 位置 . 1= ニ 先頭) カタ カナ 文字 列 を ひら が な 文字 列 に 変換 する . 凍 に 311 第 6 章 BIOS | 19H | ひら が な カタ カナ 変換 | 入 、 力 C 葉 =19H DS : SI 三 全角 ひら が な 文字 列 DS : DI 全角 カタ カナ 文字 列 INT 8DH 出 力 AX=0 : 正常 終了 キ 0 : エラ ー( 変 換 で き な か っ た 位置 . 1= 先 頭 ) 解 ひら が な 文字 列 を カタ カナ 文字 列 に 変換 する . 媒 | 1AH | シフ ト JIS つ JIS 変換 入力 CL=1AH AX ニシ フト JIS コー ド INT 8DH 出 力 AX=T]IS コー ド =FEFFEFH : 無効 な シフ ト JIS コー ド | 部 シフ ト JIS コー ド を 一 JIS コー ド に 変換 する . < 有効 な シフ ト JIS コー ド の 範囲 > 1) 第 1 バイ ト : 81-9FH or E0-FCH 2) 第 2 バイ ト : 40-FCH 1BH | JIS っ シフ ト JIS 変換 入 、 力 CL=1BH AX==JIS コー ド INT 8DH 出 力 AX= ニ シフ ト JIS コー ド ーFEFEFTFH : 無効 な JIS コー ド 解 説 JIS コー ド を っ シフ ト JIS コー ド に 変換 する . < 有効 な JIS コー ド の 範囲 > 1) 第 1 バイ ト : 21-7EH 2) 第 2 バイ ト : 21-7EH 312 6.16 日 本 語 入力 フロ ント プロ セッ サ BIOS | 1cH | ロー マ 字 変換 入 力 C エ テニ 1CH DS : SI= 半 角 ア ルフ ァ ベ ッ ト 文 字 列 DS : DI= ニ 出力 バッ ファ (全角 ひら が な 文字 列 INT 8DH 出 力 AX=0 : 正常 終了 キ 0 : エラ ー( 変 換 で き な か っ た 位置 . 1 先頭) 解 部 アル ファ ベッ ト 文 字 列 を ロー マ 字 変換 し て ひら が な 文字 列 に する . | 1DH | 画面 切換 え の 通 知 入 力 CL=1DH AL 切換 え 要 因 bit 7-4 : 0000 bit 3 : フレ ー ム バッ ファ 設定 ファ ンク ショ ン bit 2 : 表示 画面 設定 ファ ンク ショ ン bit 1 : 表示 モー ド 設 定 フ ァ ン クシ ョ ン Bit05 ファ ンク ショ ン キ ご 表示 アァ シク ジョ ン INT 8DH 出 力 AX=0 : 正常 終了 キ 0 : エラ ー( 変 換 で き な か っ た 位置 . 1= 先 頭 ) 解 説 テキ スト BIOS の AL で 示さ れる ファ ンク ショ ン が 呼ば れ た と き に と の ファ ンク ショ ン を 用 いて JFP に 通知 する . JFP は これ ら の 要因 別に 必要 な 処理 を する . 作業 領域 0440H : 0000H | JFP の 作業 領域 の セグ メン ト は 0440H で ある . OFFSET (16 進 機 f 00-03 変換 入力 バッ ファ の アド レス 04-07 変換 出力 バッ ファ の アド レス 08-0B ステ ー タ ス 領 域 の アド レス 0C-0F ユー ザ 辞 書 環境 の アド レス 10 JEP 入力 モー ド JEFP 制御 デー タ 全角 モー ド 制 御 デ ー タ KR 313 第 6 章 BIOS 6.17 数 値 演算 BIOS 数 値 演算 BIOS は , 倍 精度 型 の 10 進 浮動 小数 点数 値 に 対し て , 四則 演算 ・ 比 較 演 算 ・ 関 数 演算 ・ 16 ビッ ト 2 進数 と の 相互 変換 ・ASCII 入出 力 を 行う も の で ある . e 数 値 演算 BIOS 機能 一 覧 @ 数 値 表 現 入出 力 に 用 いら れる 数 値 ( 変 数 ) は 8 バイ ト か ら な り , 有 効 数 字 14 桁 の 浮動 小数 点 表 現 を 採用 し て いる . な お 演算 パッ ケー ジ 内 部 で は , 16 桁 メ モリ ・ ア キュ ムレ ー タ を 用 いて 計算 し て いる . 314 割り 込み 番号 機 能 INT AOH 倍 精 度 加算 INT AIH 倍 精度 減算 INT A2H 倍 精 度 乗算 INT A3H 倍 精度 除算 INT A4H 倍 精度 比較 INT A5H 整数 変換 INT AG6H 実数 変換 INT A7H ASCII 入力 INT A8H ASCTII 出力 INT BOH SIN 関数 INT B1H COS 関数 INT B2H TAN 関数 INT B3H ARCTAN 関数 INT B4H 指数 関数 INT B5H 対数 関数 INT BeH べき 乗 INT BZH 平方 根 数 値 を 示す アド レス 1 高 ア ドレ ス < つっ 低 アド レス 仮数 領域 : パッ ク ド BCD(14 本 仮数 領域 指数 バイ ト : 上 位 桁 一 ー 下 位 桁 7 バイ ト か ら な り , 14 桁 の パッ ク ド BCD を 構成 する . 数 値 の 仮数 部 の 絶対 値 を 保持 する . 仮想 小数 点 は 最上 位 桁 の すぐ 上 に ある も の と し , ゼロ 以外 の 全て の 数 値 デ ー タ は 。 0.1 ミ 仮 数 部 く 1 と な る よう に 正規 化 さ れ な く て は な ら な い . 例え ば , 1E 十 00 や 0.01E 二 02 の よう な 表現 は , すべ て 0.1E 十 02 の 形 に 修正 する . 1 バイト で 仮数 部 の 符号 お よび 指数 部 を 保持 する . 仮数 部 の 符号 は 指数 バイ ト の MSB で 表し , 0= 正 ノ 1= 負 で ある . 指数 バイ ト の ビッ ト 6-0 は 数 値 の 指数 部 を 表し , 2 の 補 数 表現 を 用 いた 7 ビッ ト の 2 進数 に 40H の バイ アス を 加え た 形式 を 採用 し て いる . し た が っ て その 符号 ビッ ト ( ビ ッ ト 6) は , 0 三 負 プ 1= 正 と な る . ゼロ の 表現 : 指数 部 バイ ト を ゼロ クリ ア す る こと で 表現 する 表現 可能 な 数 値 : 1E-64 ミ ABS <]E 二 63(ABS は 数 値 の 絶対 値 ) 6.17 数 値 演算 BIOS @ 演算 結果 フラ グ 当 演 算 パ ッ ケ ー ジ は , オー バー フロ ー プ アン ダー フロ ー 等 の 演算 結果 の 状態 を , OF, SF, ZF, CF の 4 つの フラ グ の 組合 せ で 示す . これ ら の フラ グ の 指定 状態 は , 各 演 算 ル シー チン を 通じ て 共通 で ある . た だ し 倍 精 度 比較 演算 は 例外 で あり , 比較 結果 を の も の を フラ グ に 出力 する . これ ら の フラ グ の 組合 せ と そ の 表す 状態 の 一 覧 を 示す . 意 味 正常 終了 演算 結果 ゼロ アジ ダー ラロ ー シク バッ ジグ スズ エラ ーー 0 除算 エラ ー オー バー フロ ー 計算 不能 S : 0 三 正 ノ 1 三 負 正常 終了 ・ 演算 結果 の 符号 を SF に 設定 し て 戻る . 演算 結果 ゼロ : 演算 結果 が 厳密 に ゼロ に な っ た 場合 に は , 出力 変数 の 指数 部 バイ ト を ゼロ クリ ア し , ZF に 1 を 立て て 戻 の な アン ダー フロ ー : 演算 結果 の 絶対 値 が 1E-64 未満 と な っ た 場合 に は , 出力 変数 の 指数 部 バイ ト を ゼロ クリ ア し , OF に 1 を 立て て 戻る . また , 演算 結果 の 符号 を SF に 設定 する . 関数 演算 の 場合 に は , 入力 値 を 演算 し た 結果 が と る べき 符号 を SF に 設定 する . シシ クッ クズ ペデ シラー: ASCII 入力 ファ ンク ショ ン に お いて ASCII 数 値 表 現 が 正しく な か っ た 場合 , もしくは ASCII 出力 ファ ンク ショ ン に お いて パラ メー タ の 指定 に 誤り が あっ た 場合 に は , CF に 1 を 立て て 戻る . 0 除算 エラ ー: 1) 0 で 除算 し た 2) TAN 演算 に お いて COS 演算 が ゼロ に な る よう な 値 が 入力 され た 3) べき 乗 演算 に お いて 底 が 0 で 指数 が 負 で ある 演算 を 行 お うと し た これ ら の 場合 に は , 出力 変数 に 許容 最大 値 ( 土 0.99999999999999E 十 63) を 設定 し , CF, OF, ZF に 1 を 立 て て 戻る . この と き の 最 大 許容 値 の 符号 は 演算 前 の も の を 採用 する . オー バー フロ ー : 演算 結果 の 絶対 値 が 1E 十 63 以上 と な っ た 場合 に は , 出力 変数 に 許容 最大 値 を 設定 し ,。 CF, OF に 1 を た て て 戻る . この と き の 最 大 許容 値 の 符号 は オー バー フロ ー 発 生 時 の も の を 採用 する . 関数 演算 の 場合 に は 入力 値 を 演算 し た 結果 が と る べき 符号 を 設定 する . た だ し , SIN・COS・TAN 演算 の 場合 に は 入力 時 の も の を 用 いる . また , この 符号 を SF に も コピ ー す る . 計算 不能 : 1) SQRT・LOG 演算 で 引数 く 0 2) べき 乗 演算 で 底 < 0 か つ 指 数 が 整数 で な い この と き CF, SF に 1 を 立て て 戻る . 入力 変数 の 値 は 保存 きれ る . また 引数 ( 底 ) の 符号 を SF に コピ ー す る . @ 注意 各 演算 と も に 入力 変数 の デー タ ・ フ ォ ー マ ッ ト が 正しく な い 場 合 に は , 動作 は 保証 され な い . 315 第 6 章 BIOS INT AOH i | 倍 精 度 四則 演算 入 力 DS: TDI= 被 演算 数 の アド レス DS : SI 三 演算 数 の アド レス INT AOH-A3H INT AO0H : 加算 INT Al1H : 減算 INT A2H : 乗算 INT A3H : 除算 出 力 DS: DI が 示す 変数 = 演算 結果 (数 値 ) Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 倍 精 度 の 四則 演算 を 計算 し , 被 演 算数 に 格納 する . 演算 数 の 方 は 破壊 さき されない . [DI]=[DI]O[SI] 部 IT A4H| 倍 精度 比較 演算 入 力 DS:DI= 被 減算 数 の アド レス DS : SI 三 減算 数 の アド レス INT A4H 出 力 SF, ZF= 比 較 結 果 CF, OF=0 解 説 倍 精度 の 比較 を 行い b、 フ ラグ を セッ ト す る . 変数 は 破壊 さき されない. [DI 一 [SI] Im A5H| 整数 変換 入 カカ DS: DI= 変 換 する 変数 の アド レス INT A5H 出 力 AX= 符 号 付き 2 進 整数 Flags(CF, SF, ZF, OF) 三 演算 結果 ステ ー タ ス 倍 精 度 変数 を 16 ビッ ト の 符号 付き 2 進 整 数 ( 2 の 補 数 ) に 変換 する . 整数 の 取り 得る 値 は , 一 32768 ミ AX ミ 32767 で あり , それ を 越え る 値 に つい て は オー バー フロ ー と な り , AX に は 32768 な いし 32767 が 入る . 変換 する 変数 の 内 容 は 変化 し な い . 章 剖 316 6.17 数 値 演算 BIOS Ir A6H| 実数 変換 入 力 AX= 符 号 付 き 2 進 整数 DS : DI= 変 換 後 の 倍 精度 変数 を 格納 する アド レス INT A6H 出 力 DS: DI が 示す 変数 = 変換 結果 Flags(CF, SF, ZF, OF) = 正常 終了 また は ゼロ 演算 結果 の み 解 説 16 ビ ッ ト の 符号 付き 2 進 整数 ( 2 つの 補 数 表現 ) を 倍 精度 実数 に 変換 する . Ir A7H| ASCII 入力 入 力 DS: SI=ASCII 表現 の 文字 列 の 先頭 アド レス DS : DI= 変 換 後 の 倍 精度 変数 を 格納 する アド レス INT A7H 出 力 DS: DI が 示す 変数 = 変換 結果 DS : SI=ASCII 数 値 の 終了 アド レス 十 1 Flags(CF, SF, ZF, OF) 変換 結果 ステ ー タ ス | に 3 ASCII 表現 の 数 値 を 倍 精 度 実 数 に 変換 する . ASCII 数 値 の 形式 は 固定 表現 , 浮動 表現 を 問わ な い . 変換 不能 の 場合 で も [DS : DL] の 変数 の 内 容 は 破壊 され る . Ir ABH| ASCII 出力 入力 DS : SI= 出 力 す る 倍 精 度 変数 の アド レス DS : BX= 変 換 後 の ASCII 数 値 を 格納 する 領域 の 先頭 アド レス AL= 出 力 フ ォ ー マ ッ ト CH= 整 数 部 の 長 さ CL= 小 数 部 の 長 さ (小数 点 を 含む ) た だ し , AL に 固定 フォ ー マ ッ ト を 指定 し た 場合 に は CH 二 CL< く 250 に な る 値 を 指定 する こと . INT A8H 出 力 DS:BX が 示す 領域 =ASCII 数 値 CX=ASCII 数 値 の 長き Flags(CF, SF, ZF, OF) = 変換 結果 ステ ー タ ス 解 説 倍 精度 実数 を 出力 フォ ー マ ッ ト の 指定 に 従っ て ASCII 数 値 に 変換 する . 出力 時 の ASCTII 数 値 の 終端 に は NULL(00H) が 入る . [DS : DI] の 変数 の 内 容 は 変化 し な い . 317 第 6 章 BIOS bit 7 : 1 三 固 定 フ ォ ー マ ッ ト に よる 出力 指定 ビッ ト 61 お よび CH, CL の 指定 が 有効 に な る . 0 三 自由 フォ ー マ ッ ト に よる 出力 指定 14 桁 に 納まる 場合 は 固定 小数 点 表現 。 納 ま ら な い 場 合 は , 浮動 小数 点 表 現 が 採用 され る . ビッ ト 61 お よび CH, CL の 指定 は 無効 に な る . bit 6 : 1 三 浮動 小数 点 表 現に よる 出力 指定 コン マ 出 力 (bit 1) の 指定 は 無効 に な る 指数 部 の 長き (4) を , CH・CL の いずれ か に 含め る こと 0 固定 小数 点 表 現に よる 出力 指定 bit 5 : 1 三 符号 を 数 値 の 右側 に 出力 する 0= 符 号 を 数 値 の 左側 に 出力 する bit 4 : 1= 正 号 に " 十 ' を 指定 する 0= 正 号 に 空白 ( ' or '* う を 指定 する bit 3 : 1 三 空白 部 に '* ' を 指定 する 0= 空 白 部 に '′ ' を 指定 する bit 2 : 1 三 数 値 の 左側 に * 辛 * を 出力 する 0 ニ ' 壮 ' は 出力 し な い bit 1 : 1== 整 数 部 を 3 桁 ご と に コン マ で 区 切っ て 出力 する 0 ニコ ンマ は 出力 し な い bit 0 : 未 使 用 (0 に し て お く ) [INT BOH| SIN 関数 入 力 DS: DI= 倍 精度 変数 INT BOH 出 力 DS:DI が 示す 変数 関数 値 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス | に 4 単位 を ラジ アン と し た 場合 の SIN 関数 の 値 を 返す . [DI] =SIN([DI]) IN B1H| COS 関数 入 力 DS : SI= 倍 精度 変数 INT B1H 出 力 DS: DI が 示す 変数 = 関数 値 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 章 に 単位 を ラジ アン と し た 場合 の COS 関数 の 値 を 返す . [DI] =COS([DT]) 318 6.17 数 値 演算 BIOS Ir B2H| TAN 関数 入力 DS : II= 倍 精度 変数 INT B2H 出 力 DS : DI が 示す 変数 三 関数 値 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 解 説 単位 を ラジ アン と し た 場合 の TAN 関数 の 値 を 返す . [DI] =TAN([DI]) IM BsH| ARCTAN 関数 入力 DS : II= 倍 精度 変数 INT BSH 出 力 DS: DI が 示す 変数 三 関数 値 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 解 説 ARCTAN 関数 の 値 を 単位 を ラジ アン と し て 返す . [DI] =ARCTAN([DI]) INT B4H| 指数 関数 入 力 DS:DI== 倍 精度 変数 INT B4H 出 力 DS: DI が 示す 変数 = 関数 値 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 解 説 e を 底 と する 指数 関数 の 値 を 返す . [DI] =EXP([DI]) IINT B5H| 対数 関数 入 力 DS : DI= 倍 精度 変数 INT B5H 出 力 DS: DI が 示す 変数 = 関数 値 Flags(CF, SF, ZF, OF)= 演 算 結 果 ス テー タス 解 説 e を 底 と する 対数 関数 (自然 対数 ) の 値 を 返す . [DI] =LN([DI]) 319 第 6 章 BIOS INT B6H| べき 乗 入 力 DS: DI= 倍 精度 変数 ( 底 ) DS : SI== 倍 精度 変数 (指数 ) INT B6H 出 力 DS: DI が 示す 変数 = 演算 結果 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 恒 に べき 乗 を 計算 する . 底 が 負 の と き は 指数 は 整数 で な けれ ば な ら な い . [DI]=[DI] [SI] INT B7H| 平方 根 入 力 DS: TI= 倍 精度 変数 INT B7H 出 力 DS: DI が 示す 変数 = 演算 結果 Flags(CF, SF, ZF, OF) = 演算 結果 ステ ー タ ス 解 説 平方 根 を 計算 する . [DI] =SQR ([DI]) 320 6.18 出力 専用 ポート 保 存 領域 6.18 出力 専用 ポー ト 保 存 領域 出力 専用 の ポー ト へ 出力 し た 値 の コピ ー を この 領域 に 格納 する . これ は BIOS の BOOK KEE PING 領域 で ある と 同時 に , アプ リケーション ソフ ト と BIOS で ポー ト の 整合 性 を と る た め の も の で ある . し た が っ て , アプ リケーション ソフ ト が これ ら の ポー ト を 変更 し た 場合 に は , この 領 域 の 値 も 必ず 更新 し な く て は な ら な い . @ ポー ト 保 存 領域 : セグ メン ト 40H 名 前 コピ ー す る ポー ト 0000 :2 Byte ColComp port 106H | 0002 :2 Byte RGBComp port 108H 0004 :2 Byte MskMode port 10AH 0006 :2 Byte PalMode port 10CH 0008 :2 Byte DropCol port 10EH 000A :2 Byte PageMsk port 110H 000C :2 Byte XparG0 port 124H 000E :2 Byte XparG1 port 126H 0010 :2 Byte XparTxt port 12EH 0012 :2 Byte MskLeft port 130H 0014 :2 Byte MskRit port 132H 0016 :2 Byte MskTop port 134H 0018 :2 Byte MskBtm port 136H 001A :2 Byte TxtMode port 148H 001C : 32Byte Palsave port 300H to 33FH 005C :2 Byte VDPCtl port 504H 005E :1 Byte ArtMode port 21H(8251 mode) 005F : 1 Byte ArtCmd port 21H(8251 command) 0060 :1 Byte Text8 port 30H 0061 :1 Byte TodCt1 port 40H 0062 :1 Byte KeyMod1 port 197H(1) 0063 : 1 Byte KeyMod2 port 197H(2) 0064 :1 Byte DskMode port 1BOH 0065 : 1 Byte DskCt1 port 1B2H 0066 : 1 Byte IMtrCt1 port 1B4H 0067 :1 Byte DskMisc port 1B6H 0068 :2 Byte BusyFlg BIOS busy bits 006A :2 Byte GrRes port 102H ※ ポ ー ト 102H は IN 可能 だ が , ポー ト の コピ ー を 持つ 必要 が ある . ※ BusyElg は BIOS が 使用 中 か どう か を 示す フラ グ で あり , ポー ト の コピ ー で は な い . 321 ロロ めそ i さ 半 漠 知ら 滑 際 0 ポー ジ バ 硬 の 3 こら > 1NMs まさ で に 指 科 まき サー キル 2 生 TS WT に | | \4 mw 前 に tf! Fos | | ご ほぼ 。 x を 本 で マ き き tt て 08 有 Nit "= YK doa Um UN eT 、 。 - 。 事 生 yr お Pt 。 こ ー JR 0 。 > OC 『 - 1 a ピロ M i Ia F 員 LS i a a U 人 お) a) HE ae tt 1 BIG . ロ BR 1 _- サリ 還る _ ー 5 に sy 時 MP es 4 に 1 _ a ep a un - RA a 9 1 し さ ・ 4 り | 3 2 i 人 で 部 3 _ i a 6 7 es 内 だ 2 に = も 6 9 に $ 陣 第 / 章 ファ イル シス テム PC-Engine ファ イル シス テム は PC-Engine の DOS 機能 を 担当 する も の で あり ,。 その 機能 に は 次 の も の が ある . @ フ ァイル アク セス ハン ドル を 用 いた ファ イル アク セス デバ イス ドラ イ バ に よる TO0 ア クセ ス MS-DOS 形式 と N88-BASIC 形式 の 2 つの ディ スク フォ ー マ ッ ト @ プ ログ ラム の ロー ド 錠 ゴー メモ リ 管 理 下 の プ ログ ラム ロー ド @ メ モリ 管理 メモ リブ ロッ ク の 作成 削除 変更 $ デバ イス ドラ イ バ BIOS を 使用 し た エグ OO 処理 ブロック デバ イス (ディ スク ) ESC シー ケン ス の 処理 @ 割 込み ルー チン 管理 割込み ベク タ の 設定 削除 変更 7.1 シス テム イン ター ラプ トコ ー ル PC-Engine で は INT 23H-INT 26H, INT 9EH, INT 9FH が 下記 の 目的 で 使用 され て い の 3 割込み 番号 機 能 INT 23H CTRL-C ブレ ー ク 処理 INT 24H イペ スグ エニ テニ が バン ドラ INT 25H ゲス ハヤ み タリ ー ド INT 26H ディ スク セク タラ イト INT 9EH FCB ファ イル ネー ム の 設定 INT 9FH 内 部 コマ ンド の 実行 323 第 7 章 ファ イル シス テム INT 23H| CTRL-C プレ ー ク 処理 ] 生還 な じ 出 力 な し 解 説 INT 21H ファ ンク ショ ンコ ー ル の 実行 時 に CTRL-C が 入力 され , か つ CTRL-C 検査 モー ド が 選択 きれ て いる 場合 , シス テム は INT 23H の 割込み を 起動 する . この 割込み ルー チン は は 初期 状態 で は 実行 中 の プロ セス を 中 断 し , シェ ル の コマ ンド 受付 け ル ー チ ン に 制御 を 戻す よう に な っ て いる 。. INT 23H の 割込み ベク タ は , プロ セス 起動 時 に プロ セス コン トロ ー ラ に コピ ー さ れ , 終 了 時 に 元 の 値 に 戻さ れる た め 。 こ の ベク タ を ユー ザ が 書き 換え , プロ セス 自身 の INT 23H ルー チン を 設け る こと が で きる . この と き , CTRL-C に も か か わら ず 処 理 を 継続 させ た い 場 合 に は ,。 入力 時 の 全て の レジ スタ を 再 設定 し 。IRET で 抜け る 必要 が ある . な お , 入力 時 の 各 レ ジス タ の 値 は 。 ファ ンク ショ ンコ ー ル を 発行 し た と き と 同じ で ある 。. また スタ ッ ク 状 態 は 以下 の よう に な っ て いる た め , INT 23H の スタ ッ ク を 捨て て か ら IRET を 行う こと に より ,。 直後 ファ ンク ショ ンコ ー ル の 次 の アド レス に 移行 する こと が で きる 。 INT 23H INT 21H CTRL-C チェ ッ ク は ファ ンク ショ ン の 頭 で 1 回 だ け 行 われ る た め , 長い 処理 時 間 を 要 す る よう な ファ ンク ショ ン の 場合 で も , その 処理 の 途中 で ブレ ー ク を か ける こと は で き な い . また ファ ンク ショ ン 33H に より CTRL-C の チェ ッ ク が 禁止 され て いる 場合 。 INT 23H の 呼出 し は 一 切 行わ れ な い . INT 24H ディ スク エラ ー ハ ンド ラ 入 324 力 AH ニ = ニ ェ ラー 環境 iL 三 .0 :: リー ド エ ラ ー 三 1 : ライ ト エ ラー AL = ニ エ ラ ー 発 生 時 の ドラ イブ ID 瑞 に 三 生 シー コー ド SI ニ エ ラ ー 発 生 時 の ドラ イ バ オ フ セ ッ ト ア ドレ ス BP = ニ エ ラ ー 発 生 時 の ドラ イ バ セ グ メ ント アド レス 7.1 シス テム イン ター ラブ トコ ー ル 出 力 AL ニュ ー ザ 処理 情報 解 説 00 : エラ ー を 無視 し 。 ユー ザ プ ロ グラ ム に 制御 を 戻す . 01: エラ ー が 生じ た 時 の ドラ イ バ の 処理 を 再 試行 する . 02 : 現在 の プロ セス を 中 止 し 上 位 プ ロ セ ス に 制御 を 戻す . ディ スク アク セス 中 に 回復 不 能 な エラ ー が 検出 され た 場合 に 呼び 出さ れる . 初期 状態 で は , この 割込み ルー チン は エラ ー の 種類 を 面 画 に 表示 し , プロ セス 中 止 プ アク セス 再 試 行 プ エラ ー 無 視 の いずれ か を ユー ザ に 選択 きせ る よう に な っ て いる . この 選択 情報 は IRET 時 に レジ スタ AL に 格納 され , シス テム は この 値 に 基づい て 後続 の 処理 を 行う . INT 24H の 割込み ベク タ は , プロ セス 起動 時 に プロ セス コン トロ ー ラ に コピ ー さ れ , 終 了 時 に 元 の 値 に 戻さ れる た め ,。 こ の ベク タ を ユー ザ が 書き 換え て , プロ セス 自身 の INT 24H ルー チン を 設け る こと が で きる . この と き 。, 入力 時 の レジ スタ の 保存 は 必要 な い . また 呼び 出さ れ た 時 の スタ ッ ク 状 態 は 以下 の よう に な っ て いる た め , INT 24H の スタ ッ ク と INT 21H の レジ スタ を ポッ プ し て IRET を 行う と , 直接 ファ ンク ショ ンコ ー ル の 次 の アド レス に 移行 する こと が で きる 。. 下位 アド レス INT 23H INT 21H 上 位 ア ドレ ス < く エ ラー コー ド : DI レジ スタ > 00H : プロ テク ト さ れ た ディ スク へ の 書込み 01H : 存在 し な い ロ ー カ ル ・ ユ ニッ ト 番 号 を 指定 02H : ド ライ ブ が 非 レ ディ 状態 03H : 不正 な コマ ンド 番号 04H : FDC の CRC エラ ー 05H: コマ ンド パラ メー タ 領 域 の 長き が 不適 正 06H : FDC の シー クエ ラー 07H に 不正 な メデ ィ ョ アタ イプ 08H : セク タ が 検出 不能 0AH : 書込み 時 の エラ ー 0BH : 読出 し 時 の エラ ー 0CH : 不定 エラ ー 325 第 7 章 ファ イル シス テム INT25H/26H| ディ スク セク タリ ー ド ノラ イト 入 カカ AL ドラ イブ 番号 (0 : A, 1 : B, ぐ <・ ) CX= ア クセ ス セ クタ 数 DX 三 開始 セク タタ 番号 DS : BX ニ リー ド ノ プラ イト バッ ファ アド レス 出 力 CF=0 : 正常 終了 = AL= ェ ラー コー ド (INT 24H と 同じ ) DI= リ ー ド ゲラ イト に 成功 し た セク タ 数 CX= リ ー ド ゲラ イト に 失敗 し た セク タ 数 解 説 ディ スク に 対し , セ クタ 単位 で の リー ドグラ イト 処理 を 行う . こ の ルー チン は ,RETF 命 令 を 用 いて ユー ザ プ ロ グラ ム に 復帰 し て くる た め , ユー ザ 側 で スタ ッ ク 上 に 積ま れ た フ ラグ を ポッ プ し て や る 必要 が ある . エラ ー が 発生 し た 場合 に は INT 24H の エ ェ エラー 処理 は 起動 せ ず 。 単に CF を 1 に し て 戻っ て くる 。. 指定 し た セク タ の 範囲 が ディ スク の 最終 セク タ を 超え た 場合 , 要求 され た セク タ 数 の 全 て が アク セス で き な く て も , CF に 1 を 返さ な いこ と が ある . この 結果 は 使用 し て いる デ バイ ス ド ラ イ バ に 依存 し , 標準 の フロ ッ ピ ー デ ィ ス ク ド ラ イ バ で は , 最終 セク タ を 超え て も エラ ー は 返さ な い . INT 9EH FCB ファ イル ネー ム の 設定 入 力 DS:SI= ニ コマ ンド ライ ン の 格納 開始 アド レス ES : DI=FCB の ファ イル ネー ム フ ィ ー ル ド の 開始 アド レス 出 力 AH=OOH : 最初 の パス 名 の ドラ イブ 名 は 正常 =FFH : 最初 の パス 名 の ドラ イブ 名 が 無効 AL =OOH : 2 番目 の パス 名 の ドラ イブ 名 は 正常 =ーFFH : 2 番目 の パス 名 の ドラ イブ 名 が 無効 恒 に ASICZ 文字 列 で 与え られ た コマ ンド ライ ン を 解析 し , FCB の ファ イル ネー ム フ ィ ー ル ド に 格納 する . く FCB1 : DB ? ドラ イブ 番号 (デラ ォ ル ト : 0. AH. ) DB 11 DUP(?) : ファ イル 名 DB 4 ょ DUP(?) } ジ ズ テ ム と 予約 FCB 2 : DB : ドラ イブ 番号 DB 11 DUP(? ) : ファ イル 名 DB 4DUP(?) : シス テム 予約 326 INT 9FH| 内 部 コマ ンド の 実行 入 、 力 DS:SI ニ コマ ンド ライ ン (ASCIZ 文字 列 ) の 格納 開始 アド レス BX= 作 業 領域 の 開始 セグ メン ト ア ドレ ス CX 作業 領 域 の パラ グラ フサ イズ AL ニコ マン ド 動 作 モ ー ド 章 憶 7:1 ジス テム イシ ター ラジ トラ 大 光 52 人 bit 7-3 : 00000 bit 2 :0 ニ キー 入力 待ち を 行う プ 1= 行 わな い bit 1 :0 三 文字 表示 を 行う プ 1= ニ 行わ な い Bit 0. 51 CF =0O : 正 常 終 了 EE AX ニ エ ラ ー コ ー ド PC-Engine の 内 部 コマ ンド を (アプ リケーション か ら ) 実行 する . 文字 表示 は 全て スク リー ン エ ディ タ に 対し て 行わ れる た め , スク リー ン エ ディ タ の 環境 に な い 場 合 は , AL ニ 07H で 呼び 出さ な く て は な ら な い . 作業 領域 は 最低 で も 2K バイ ト は 必要 と な る . コマ ンド に よっ て は 作業 領域 が 不足 し て 実行 で き な い 場合 も やあ る. コピ ー 系 の 命令 (DISK.- COPY, COPY 等 ) は 作業 領域 が 少な いと 非常 に 時 間 が か か る こと が ある . セグ メン ト レジ スタ お よび IP, SP レジ スタ 以外 は すべ て 破壊 され る . ーー ミド eI の OL I TE 1 OO ど m = = WD © : 作業 領域 が 足り な い ・ メ モリ アロ ケー ショ ン が 壊れ て いる ・ 指 定 さ れ た ドラ イブ は 存在 し な い ・ 内 部 コマ ンド で は な い ・ 日 付 の 設定 が 間違っ て いる ・ 時 刻 の 設定 が 間違っ て いる ・ オ プシ ョ ンス イッ チ の 設定 が 間違っ て いる ・ オ プシ ョ ンス イッ チ は 使え な い ・COLOR コマ ンド の パラ メー タ が な い ・ 色 コー ド が 間違っ て いる ・ 文字 アト リ ビ ュ ー ト コー ド が 間違っ て いる : ON/OEF 以外 の パラ メー タ は 使用 で き な い : 指定 され た ディ レク トリ は 使え な い ・ 指定 され た ファ イル は な い ・ デ ィ ス ク が 一 杯 で ある ・ デ ィ レ クト リ 名 と し て 使え な い 文 字 が ある ・ 既 に ディ レク トリ が あり MKDIR で き な い ・ パ ス 名 と し て 使え な い 文 字 が ある ・MKDIR コマ ンド の パラ メー タ が な い : RMDIR コマ ンド の パラ メー タ が な い 327 第 7 章 ファ イル シス テム 328 20 ・ ・ 指 定 さ れ た ディ レク トリ は カレ ント パス 上 に ある の で RMDIR で き な い DD 23 : 24 : 21 25 26 44 45 68 72 既に ファ イル が 存在 する の で RMDIR で き な い 指定 され た ファ イル が 見 つか ら な い ファ イル 名 と し て 使え な い 文 字 が ある 指定 され た ファ イル が 読め な い ・DELETE で きる ファ イル は な い ・RENAME する ファ イル が 指定 され て いな い 2 28 ・ 29: 30= 3 32 OO 34 : 35% 8S6 3 40: 41 : 42 ・ 43 : ディ レク トリ を RENAME する こと は で き な い ファ イル 名 を ディ レク トリ 名 に RENAME で き な い 同じ ファ イル 名 が 既に 存在 する の で RENAME で き な い 異な る ドラ イブ 間 で は RENAME で き な い ファ イル 名 の 指定 が な い ファ イル 名 と し て 使え な い 文字 が ある 同じ ディ レク トリ 同士 の RENAME は で き な い ファ イル に 書込み が で き な い ファ イル が 読め な い ファ イル に 書込み が で き な い ディ スク が 一 杯 で ある フォ ー マ ッ ト で きる ドラ イブ で は な い フォ ー マ ッ ト に 失敗 し た フォ ー マ ッ ト に 必要 な メモ リ が 足り な い DISKCOPY,。 SYS コマ ンド で ドラ イブ 名 が な い ・DISKCOPY は 同一 ドラ イブ 間 で は で き な い : 種類 の 異な る フロ ッ ピ ー で は DISKCOPY で き な い 46・ 47・ 52: 54 : 65 : 66 : 67 : : ボリ ュー ムラ ベル と し て 使え な い 文 字 が ある 69 : MA ドラ イブ が 読め な い ドラ イブ に 書込み が で き な い EDIT コマ ンド で ファ イル が 修正 で き な い ヘル プ メ ッ セ ー ジ が な い SYS, FORMAT/S コマ ンド で IPL が 読め な い SYS,。 FORMAT ノ S コマ ンド で IPL が 書き 込め な い カレ ント ドラ イプ に シス テム ディ スク が な い ボリ ュー ムラ ベル が 書き 込め な い ファ イル が 大 きす ぎ て EDIT コマ ンド は 使え な い ・EDIT コマ ンド で ファ イル の 更新 が で き な か っ た (ファ イル の ライ ト プ ロ テク ト 等 ) 733。 シス テ パ ペラ テル 7.2 プロ セス コン トロ ー ラ この 領域 は 。 実行 形式 の プロ グラ ム の 動作 を 管理 する の に 用 いら れ , ファ ンク ショ ンコ ー ル 4BH の 実行 時 に 。 メモ リエ リア の 先頭 か ら 100H バイ ト の 領域 に 割り 当て られ る . プロ セス 最終 セグ メン ト 十 1 | 1 = ーー 上 プロ セス 終了 時 の 抜 出し | INT23H ル ー チ ン の | 10H | アド レス (コピ ー) TNT24H ル ー チ ナン の 。 | 14H アド 区 (回 震 9 3 時 に 3 WE ET 8 ] 2 IE EE an | つい | NE に 2CH プロ セス 環境 セグ メン ト | 30H | | 0 ] か っ "AE ee ギ | Nr | で に 0 a 50H INT 21H RETF ドド 54H i | 0 | ER ーーーーーーーーーーーーーー ト ーーーーーーーーーーーーーー キーーーーー ニ ーー ニー デー ドー== ト 】 DF RF , 7CH Er Ns て ゃ ee 80H 性 隊 9 当 [ 了 1 アラ ォ ルト の シス テス 二 幸 エリ ア rt a 73 シス 大 ぬ 一 ル INT 21H に より 。MS-DOS と 互換 性 の ある シス テム コー ル が 実現 され て いる . これ に より , ファ イル アク セス メモ リ 管 理 を 簡単 に 行う こと が で きる . シス テム コー ル の 一 般 型 は 入力 AH : 機 能 番号 その 他 の レジ スタ : 引 数 (も し あれ ば ) 出力 CF= 1 : エラ ー AX : エラ ー 番 号 CF= 0 : 正常 終了 その 他 の レジ スタ : 出力 (も し あれ ば ) で あり ,。 フ ラグ と 入出 力 に 使用 きれ る レジ スタ 以外 の レジ スタ は 保持 され る . 329 第 7 章 ファ イル シス テム @ シス テム コー ル 一 覧 機 能 デフ ォ ル ト ・ ド ライ ブ の 選択 デフ ォ ル ト ・ ド ライ ブ の 取得 シス テム 情報 エリ ア の 取得 デ ヂ デフォルト ・ ド ライ ブ ・ デ ー タ の 取得 ドラ イブ ・ デ ー タ の 取得 割込み ベク タ の 設定 リー ドア フタ ライ トモ ー ド の セッ トブ プリセット シス テム 情報 エリ ア の アド レス の 取得 プロ セス の 常駐 終了 CTRL-C の 検査 状態 の 設定 割込み ベク タ の 取得 ディ スク の フリ ー ス ペー ス の 取得 ディ レク トリ の 作成 ディ レク トリ の 削 徐 カレ ント ・ デ ィ レ クト リ の 変更 ファ イル の 作成 ファ イル ハン ドル の オー プン ファ イル ハン ドル の クロ ー ズ ファ イル デー タ の 読込 み ファ イル デー タ の 書込み ファ イル の 削 徐 ファ イル ポイ ンタ の 移動 ファ イル 属性 の 取得 設定 ファ イル ハン ドル の 二重化 ファ イル ハン ドル の 強制 二重化 カレ ント ・ デ ィ レ クト リ パ ス の 取得 メモ リエ リア の 割当 て 割り 当て た メモ リエ リア の 解放 割り 当て た メモ リエ リア の 変更 プロ セス の 実行 プロ セス の 終了 下位 プロ セス か ら 出 力 コ ー ド の 取得 最初 に 一 致す る ファ イル の 検索 次 に 一 致す る ファ イル の 検索 リー ドア フタ ライ トモ ー ド の 取得 ディ レク トリ エン トリ の 変更 ファ イル の 日 付 プ 時 刻 の 取得 設定 メモ リ 割 当て モー ド の 取得 ノ 設 定 一 時 ファ イル の 自動 作成 新た な ファ イル の 作成 330 7.3 シス テム コー ル | OEH | デフ ォ ル トド ライ ブ の 選択 入 カ 出 カ AH=OEH AL ニ デ フォ ルト ドラ イブ 番号 (A:0,B:1..) GE 三 デ ニテ ジン ラグ AL 接続 ドラ イブ 数 (正常 終了 時 ) 指定 され た ドラ イブ を デフ ォ ル トド ライ ブ と し て 設定 する . この 設定 は 。 パス 名 の ドラ イブ 指定 を 省略 し た 場合 な ど に 有効 と な る . また 現在 接続 きれ て いる ドラ イ ブ の 総数 を AL に 返す . | デフ ォ ル トド ライ ブ の 取得 AH=19H AL ニ デ フォ ルト ライ ブ 番 号 (A:0。B:1..) デフ ォ ル トド ライ ブ と し て 選択 され て いる ドラ イブ 番号 を AL に 返す . | シス テム 情報 エリ ア の 設定 | 藻 に AH=1AH DS : DX= シ ステ ム 情 報 エ リア の 開始 アド レス な し シス テム 情報 エリ ア の 開始 アド レス を 設定 する . この エリ ア は , ファ ンク ショ ン EH, 4FH で ファ イル の 検索 を 行う 時 な ど に 有効 で ある. デフ ォ ル ト の 位置 と し て は , プロ セ スコ ント ロー ラ の オフ セッ ト 80H が 用 いら れる . この エリ ア に デー タ を 転送 する 場合 。 シス テム は 上 で 設定 し た DS の 値 を その まま 用 いる た め , DX に は ラ ツジ アフ ウツ SN を 起こ さき ない 範囲 の 値 を 指定 する 必要 が ある . 現在 の シス テム 情報 エリ ア の アド レス は , ファ ンク ショ ン 2FH を 用 いて 取得 する こと が で きる 。. 1BH デフ ォ ル トド ライ ブ デ ー タ の 取得 el29 に 記 2 AH=1BH 入 上 L 三 ロク ラス 当たり の セク ググ 数 CX= 1 セク タ 当 た り の バイ ト 数 DD 炎 ※ 三 ドラ イプ 当たり の クラ スタ 数 DS : BX= メ ディ ア ID の 格納 領域 アド レス 331 第 7 章 ファ イル シス テム 解 説 デフ ォ ル トド ライ ブ の 物理 情報 を 各 レ ジス タ に 返す 、 また メデ ィ ア ID を 格納 し て いる エリ ア の アド レス を DS : DX に 返す 。 類似 の ファ ンク ショ ン と し て 。 ファ ンク ショ ン 1CH, 36H が ある . く メ ディ ア ID と ディ スク フォ ー マ ッ ト > ID タイ プ セク タ 長 セク タ ノ ト ラッ ク ディ スク 容量 | = 必 01H 2D 256 バイ ト 16 セク タ 320KB 02H 2HD 256 バイ ト 26 セク タ 1MB ーf F9H 2DD 512 バイ ト 9 セク タ 720KB FBH 2DD 512 バイ ト 8 セク タ 640KB FDH 2D 512 バイ ト 9 セク タ 360KB FEH 2HD 1024 バイ ト 8 セク タ 1.2MB FFH 2D 512 バイ ト 8 セク タ 320KB | 中 = DOH HD ーー —— 5MB D1H HD ーー 3 10MB D2H HD ーー = 20MB D3H HD = ーーー。 40MB M 1CH | ドラ イブ デー タ の 取得 | 入 、 力 AH=1CH 胃 珍 三 N ジ イジ (デフォルト: 0。 AB 2。。.。) 出 力 AL=EFFH : 無効 な ドラ イブ キ FFH: 1 クラ スタ 当たり の バイ ト 数 CX= ] セク 夕 当たり の クラ スタ 数 DX= 1 ドラ イブ 当たり の クラ スタ 数 DS : BX ニ メデ ィ ア ID の 格納 領域 アド レス 3 剖 指定 され た ドラ イブ の 物理 情報 を 各 レ ジス タ に 返す . 指定 され た ドラ イブ が 存在 し な い 場合 , AL に FFH を 返す . この 時 AL 以外 の レジ スタ は 意味 を 持た な い . 指定 され た 番号 の ドラ イブ が 存在 する 場合 , 各 レ ジス タ に ドラ イブ の 物理 情報 返す. また メ テディ ア ID を 格納 し て いる エリ ア の アド レス を DS : BX に 返す . 類似 の ファ ンク ショ ン と し て , ファ ンク ショ ン 1BH, 36H が ある . | 25H | 割込み ペク タ の 設定 入 力 AH=25H AL = 割込み タイ プ 番 号 DS : DX 三 割込み 処理 ルー チン の 開始 アド レス 由 カカ な し 332 7.3 シス テム コー ル 解 説 指定 され た 割込み ベク タ の 内 容 を 変更 する . 通常 。 割 込み ベク タ を 変更 する 場合 に は , その ベク タ が すでに 使用 3 れ て いる か どう か を チェ ッ ク す る 必要 が ある . も し 使用 され て いる 場合 , ユー ザ は まず ファ ンク ショ ン 35H に より 旧 割 込み ベク タ の 値 を 読み 出し それ が 新た な 割込み 処理 ルー チン の 出口 と な る よう に , ルー チン を 組む 必要 が ある . 2EH | リー ドア フタ ライ トモ ー ド の セッ トブ リセ ッ ト 火力) AH=2EH AL=00H : リー ドア フタ ライ ト の 解除 01H : リー ドア フタ ライ ト の 設定 出 許 力 で? 交 し 解 説 リー ドア フタ ライ トモ ー ド の 設定 また は 解除 を 行う ほ . リー ドア フタ ライ ト が 設定 され た 場合 ディ スク へ デー タ を 書き 込ん だ 後 。 チェ ッ ク リ ー ド に よ り 結果 が 確認 きま きれる. デ ィ ス ク に 重要 な デー タ を 書き 込む 際 な ど に 信頼 性 を 向上 させ る の に 有効 だ が , 処理 時 間 が 2 倍 近く に な る た め 。 使用 時 に は 使い 分 けが 必要 と な る . また デフ ォ ル ト は オン 状態 に 設定 され て いる 。 | 2FH | シス テム 情報 エリ ア の アド レス の 取得 0 力 出 。 カ AH ニ =2FH ES : BX ニ シス テム 情報 エリ ア の 開始 アド レス ファ ンク ショ ン 1AH で 設定 し た シス テム 情報 エリ ア の アド レス 返す . プロ セス 実行 開 始 後 。 一 度 も ファ ンク ショ ン 1AH が 実行 きれ て いな い 場 合 ,。 デ フォ ルト 値 と し て プロ セス コン トロ ー ラ の オフ セッ ト 80H の アド レス を 返す . | プロ セス の 常駐 終了 | 恒 に 3 AH=30H AL ニプロ セス 出力 コー ド DX= ニ 常駐 す る メモ リ の パラ グラ フサ イズ 戻ら な い ( 親 プ ロ セ ス に 戻っ て いく ) メモ リ を 解放 せ ず に プロ セス を 終了 する . DX に は 在 駐 する メモ リエ リア の パラ グラ フ サイ ズ が , また AL に は プロ セス の 出力 コー ド が 設定 され て いな けれ ば な ら な い . EXE 形式 の ファ イル の 場合 。 一 般 に プロ グラ ム と デー タ は 同一 セグ メン ト に 含ま れる と は 限 ら な いた め , DX に は デー タ 領 域 を 含む プロ グラ ム 全 て の サイ ズ を 指定 する 必要 が ある . また プロ グラ ム の 直前 の プロ セス コン トロ ー ラ 大 きき さ (100H) を 含ん で いる 必要 も ある . この ファ ンク ショ ン は 現在 の プロ セス を 終了 し , プロ セス ID (PID) の メモ リサ イズ を DX の 値 に 再 設定 する . この と き , 終了 プロ セス に 関連 する 他 の メモ リア サイ ン に は 手 を 付け な い 。 333 第 7 章 ファ イル シス テム また AL の 出力 コー ド は 上 位 プ ロ セ ス に 情報 を 引き 渡す た め の も の で あり ,。 親 プロ セス は ファ ンク ショ ン 4DH を 通し て 読み 出す こと が で きる . | 33H | CRTL-C の 検査 状態 の 設定 取得 入 カ 部 AH =33H AL =00 : CTRL-C の 検査 状態 の 取得 三 01 : CTRL-C の 検査 状態 の 設定 (AL=01 の と き ) DL =00 :CTRL-C の 検査 を 禁止 =01 : CTRL-C の 検査 を 許可 AL =EFH : AL の 指定 が 無効 キ FFH : 正常 終了 (設定 状態 取得 の と き ) DL =00H : CTRL-C の 検査 は 禁止 =01H : CTRL-C の 検査 は 許可 INT 21H シス テム コー ル の 各 フ ァ ン クシ ョ ン に お いて , CTRL-C の 検査 を 行う か どう か を 指定 する . CTRL-C の 検査 が 許可 きれ て いる 状態 で 。 その 入力 が 検出 され た 場合 シス テム は INT 23H を 実行 する . | 35H | 割込み ペク タ の 取得 入 力 AH =35H 出 カ AL = 割込み タイ ププ 番号 ES : BX= 割 込み 処理 ルー チン の 開始 アド レス 指定 し た 割込み ベク タ の アド レス を 読み 出す . この ファ ンク ショ ン は ファ ンク ショ ン 25H と 組 に な っ て お り , 通常 は ベク タ を 変更 する 場合 。 その 処理 ルー チン の 抜 出し アド レス は , 前 も っ て この ファ ンク ョ ン で 読み 出し て お いた アド レス に 設定 すべ き で ある . | ディ スク の フリ ー ス ペー ス の 取得 334 に AH =36H DL = ドラ イブ プ 番号 (デフ ォ ル ト :0, A: 1, B:2) BX 一 使用 可能 な クラ スタ 数 DX ニ 1 ド ライ ブ 当 た り の クラ スタ 数 AX = ニ FFFFH : 無効 な ドラ イブ 番号 キ FFFFH: 1 クラ スタ 当たり の セク タ 数 指定 し た ドラ イブ の 使用 可能 な クラ スタ 数 を 返す . ドラ イブ 番号 が 無効 の 場合 。 AX に FFFFH が 入る . 7.3 シス テム コー ル | 39H | ディ レク トリ の 作成 の の 出 カ AH =39H DS : DX= ニ パス 名 の 先頭 アド レス CF =0: 正常 終了 = き AX=03 了 H : 無効 な パス 名 ー05H: アク セス 不可 =0FH : 無効 な ドラ イブ DS : DX に よっ て 指定 され た ASCIZ 形式 の パス 名 を 解析 し , 対応 する サブ ディ レク ト リ を 作成 する . パス 中 に 無効 な 文字 が 検出 され た 場合 。 解析 を 中 断 し て AX に エラ ー 03H を 返す . また パス 名 の ドラ イブ 指定 が 無効 な 場合 , AX に エラ ー OFH を 返す . | 3AH | ディ レク トリ の 削除 ] 入 カ 出 カ Ei に AH =3AH DS : DX= ニ パス 名 の 先頭 アド レス CF =0: 正常 終了 一 半 全 ら ビン ペー AX 三 03H : 無効 な パス 名 ー05H : アク セス 不可 =0FH : 無効 な ドラ イブ ー10H : 現在 使用 中 の ディ レク トリ 指定 され た サブ ディ レク トリ を 削除 する . DS : DX は 削除 する サブ ディ レク トリ の パス 名 を 示す ASCIZ 形式 の 文字 列 を 指し て いな けれ ば な ら な い 。 削除 する パス 名 が 存在 し な い 場 合 , AX に エラ ー 03H を 返す . また 削除 する パス 名 が ルー トディ レク トリ で あ る か , ディ レク トリ が 空 で な いか , 属性 が リー ド オ ン リ ー で ある 場合 , ア クセ ス を 耕 定 し て AX に エラ ー 05H を 返す . さら に 指定 され た パス の 指す ディ レク トリ が カレ ント ・ ディ レク トリ で ある 場合 , AX に 10H を 返す . 指定 され た パス が 正常 な 場合 , その サブ ディ レク トリ に 対応 する ディ レク トリ エン トリ , お よび FAT 上 の クラ スタ チェ イン を 解放 する . | 3BH | カレ ント ディ レク トリ の 変更 内 a カ 出 カ AH=3BH DS : DX ニ パ ス 名 の 先頭 アド レス CE =0: 正常 終了 = 335 第 7 章 ファ イル シス テム 解 説 AX=03H : 無効 な パス 名 三 05H: アク セス 不可 =0OFH : 無効 な ドラ イブ DS : DX が 指す ASCIZ 形式 の パス 名 に カレ ント ディ レク トリ を 変更 する . 変更 する パ ス 名 が 存在 し な い 場合 , AX に エラ ー 03H を 返す 。 パス 名 の ルー ト か ら の 文字 列 の 長 さ (ドラ イブ 指定 と 最初 の 壮 ,。 お よび 最後 の ヌル 文字 を 除い た 値 ) は 61 バイ ト 以 内 で な けれ ば な ら な い . | 3CH | ファ イル の 作成 入 カ AH =3CH CX = ファ イル の 属性 DS : DX= パス 名 の 先頭 アド レス CF ==0: 正常 終了 AX= ニ ファ イル バン ドル 三 1: エラ ー AX 三 03H : 無効 な パス 名 =04H: オー プン 不可 (ハン ドル に 空き が な い ) 三 05H : アク セス 不可 三 OFH : 無効 な ドラ イブ ファ イル を 作成 し , 作成 し た ファ イル を オー プン し , その ハン ドル を 返す . 同一 名 の フ ァイル が 存在 する 場合 ,。 その ファ イル は 初期 化 さ れる . この ファ ンク ショ ン を 用 いて 。 サブ ディ レク トリ な いし ボリ ュー ムラ ベル を 作成 する こと は で き な い . < ファ イル の 属性 > bit 0 : リー ド オ ン リ ー 属 性 bit 1 : 隠れ ファ イル 属性 bit 2 : シス テム ファ イル 属性 bit 5 : 保存 ファ イル 属性 | 3DH | ファ イル の オー プン 犬 カカ 出 カ 336 AH =3DH AL ニオ ー プ ン 属 性 00 : 読出 し 01 : 書込み 02 : 読出 し 書込み DS : DX ニニ パス 名 の 先頭 アド レス CF 0 : 正常 終了 AX ニ = ニ フ ァ イル ハン ドル 723 ジス デバ コル 王 由 モジ トー AX ニテ 02H : 存在 し な い フ ァイル 三 03H : 無効 な パス 名 三 04H : オー プン 不可 (ハン ドル に 空き が な い ) 三 05H : アク セス 不可 OFH : 無効 な ドラ イブ 解 説 この ファ ンク ショ ン は DS : DX で 指定 され た ファ イル を オー プン する . シス テム ファ イ ル 。 隠れ ファ イル も オー プン プア クセ ス す る こと が で きる . | 3EH | ファ イル の クロ ー ズ 入 力 AH =3EH 次 思 三 の クベ ジミ ドル レ 出 力 CF 0 : 正 常 終了 ー1: エラ ー AX =05H : アク セス 不可 三 06H : 無効 な ムン ドル 解 填 説 ) ファング シ ョ ン 86HH。3DH だ よっ て オー プン され た ファ イル を るみ ロ ーー ズ スズ する. の ァ れ 7 ル ハ ンド ル に 誤り が ある 場合 . もしくは ハン ドル が 既に クロ ー ズ され て いる 場合 , AX に エラ ー 0O6H を 返す . | 3FH | ファ イル デー タ の 読出 し 入 力 AH =3FH BX 三 グ アダ イル パシ ンド ウル CX = 読み 出す バイ ト 数 DS : DX= 読 出し バッ ファ の アド レス 出 力 CF =0O: 正常 終了 AX= 読 み 出 され た バイ ト 数 ンー AX=05H : アク セス 不可 三 06H : 無効 な ハン ドル (オー プン され て いな い ) 解 説 ハン ドル に よっ て 指定 され ん た ファ イル か ら デ ー タ を 読み 出す . エ ラー が な い 場 合 , AX に は 読み 込ん だ デー タ の バイ ト 数 を 返す 。 この た め , ファ イル ポイ ンタ が 既に 終点 に 達し て いる ファ イル を 読み 出 そ う と し た 場合 , AX の 値 は 0 に な る . また CX で 指定 され た 読出 レバ イト 数 が ファ イル の 残り より 大 きい 場合 , AX に は CX より も 小さ な 値 を 返す . し た が っ て , CX で 指定 され た バイ ト 数 の 全て が バッ ファ 領域 に 転送 され る と は 限ら な いい 。 337 第 7 章 ファ イル シス テム | 40H | ファ イル デー タ の 書込み 入 、 力 AH =40H BX 三 ジ ァイル バジ ド ル CX = 書き 込む バイ ト 数 DS : DX= 書 込み バッ ファ の アド レス 出 力 CF =0O: 正常 終了 AX= 書 き 込 まれ た バイ ト 数 1 : エラ ー AX=05H : アク セス 不可 (書込み 禁止 な ど ) 三 06H : 無効 な ムン ドル (オー プン され て いな い ) 解 説 ハン ドル に よっ て 指定 され た ファ イル に デー タ を 書き 込む 、 エラ ー が 無い 場合 AX に は 書き 込ま れ た バイ ト 数 を 返す 。 し た が っ て , ディ スク の 空き 容量 が 少な い 場 合 , AX は CX で 指定 し た バイ ト 数 より も 小さ な 値 を 示す こと が ある . この と き CF は セッ ト さ れ な いた め , この ファ ンク ショ ン の 実行 後 は 必ず AX の 値 を 調べ る 必要 が ある . 41H | ファ イル の 削除 普 壮 の 出 カ 恒 に AH =41H DS : DX= 削 除 す る パス 名 の アド レス CF =0O : 正常 終了 = ミ 1 到 タ ーー AX=02H : 存在 し な い フ ァイル 三 03H : 無効 な パス 名 =05H : アク セス 不可 三 06H : 無効 な ドラ イブ DS : DX に よっ て 指定 され た パス 名 の ファ イル を 削除 する . リー ド オ ン リ ー の ファ イル を 削除 する 場合 に は , まず ファ ンク ショ ン 43H に より 属性 を 変更 し た 後 。 この ファ ンク ショ ン を 用 いる . | 42H | ファ イル ポイ ンタ の 移動 秦 * 力 338 AH =42H AL ニ = 移動 方 法 00H : ファ イル の 先頭 か ら の 絶対 位置 に 移動 する 01H : 現在 の 位置 に オフ セッ ト を 加算 し た 位置 に 移動 する 02H : ファ イル の 終り に オフ セッ ト を 加算 し た 位置 に 移動 する BX = ニ フ ァ イル ハン ドル CX : DX= 移 動 す る バイ ト 数 (32 ビッ ト 数 ) 4:.3 シス テム コー ニル: CF =0: 正常 終了 DX : AX= 新 規 の ポイ ンタ 位置 (32 ビッ ト 数 ) 三 1 た ジ ラー AX ==01H : 無効 な 移動 方 法 三 06H : 無効 な ファ イル ハン ドル 指定 され た ハン ドル の ファ イル の 読込 み 書 込み ポイ ンタ を 移動 する . この ポイ ンタ は 32 ビッ ト の 整数 表現 に よる ファ イル の バイ ト 位 置 を 示す . ファ ンク ショ ン 3FH, 40H は この ポイ ンタ を 参照 し て ファ イル の 読込 み / 書 込み を 行う た め , この ポイ ンタ を 制御 す る こと こと に より , ファ イル の 一 部 を スキ ッ プ し た り , 逆 に 戻っ て 読出 し 書込み を 行う こ と が で きる 。 結果 と し て 得 ら れる DX : AX は 実際 の ポイ ント 位置 (ファ イル 先頭 か ら の 絶対 位置 ) を 示す 。 し た が っ て 。-AL= 1。 CX・DX 三 0 で て の ファ ンク ショ ン を 実行 する こと に よ り , 現在 の ファ イル ポイ ンタ の 位置 を 知る こと が で きる . また 移動 方 法 と し て 02H を 選 ん だ 場合 , ファ イル 内 の 位置 を 得る た め に は , CX : DX< 0 と な る よう に 設定 する 必要 が ある . | 43H | ファ イル の 属性 の 取得 ノ 設 定 Ps 人 全力 出 カカ 解 説 AH =43H AL =00H : ファ イル 属性 の 取得 三 01H: ファ イル 属性 の 設定 CX 三 設定 すべ き 属 性 (設定 の と き ) DS : DX ニ = ニ パス 名 を 指す 文字 列 の アド レス CF =0: 正常 終了 CX テニ ファ イル 属性 (取得 の と き ) 2 AX=01H : AL の 範囲 が 指定 外 02H : パス 名 が ボリ ュー ムラ ベル を 指定 三 03H : 無効 な パス 名 三 05H: アク セス 不可 =0OFH : 無効 な ドラ イブ ファ イル の 属性 の 取得 また は 設定 を する . ディ レク トリ 属性 お よび ボリ ュー ムラ ベル 属 性 を 変更 する こと は で き な い . 変更 不可 能 な 属性 が 指定 され る か , 変更 不可 能 な ファ イ ル の 属性 を 変更 し よう と し た 場合 , AX に エラ ー 05H を 返す . 339 第 7 章 ファ イル シス テム | 45H | ファ イル ハン ドル の 二重化 2 0 出 カ AH =45H BX = ファ イル ハン ドル CF =0: 正 常 終 了 AX = 新しい ファ イル ハン ドル ー1: エ ラー AX=04H : オー プン 不可 (ハン ドル の 空き が な い ) 三 06H : 無効 な ハン ドル 指定 され た ハン ドル を も と に 新た な ハン ドル を 作成 する . し た が っ て , ファ イル は 新旧 どちら の ハン ドル を 使用 し て も アク セス する こと が で きる . し か し , ファ イル ポイ ンタ は 1 つ し か な いた め 。 双方 の ハン ドル が 兼用 する の で 注意 . 46H | ファ イル ハン ドル の 強制 二重化 入 、 力 AH =46H BX = 既存 の ファ イル ハン ドル CX = 新規 の ファ イル ハン ドル 出 力 CF =0: 正常 終了 ミニ テラー AX =04H : オー プン 不可 (ハン ドル が 使用 きれ て いる ) =06H : 無効 な ハンドル 解 説 ハン ドル を 指定 きれ た ハン ドル に コピ ー す る . コピ ー 先 の ハン ドル が 既に オー プン され て いる ハン ドル で ある 場合 , AX に エラ ー 04H を 返す . | 47H | カレ ント ディ レク トリ パス の 取得 入 、 力 AH =47H DL = ドラ イプ 番号 (デフ ォ ル ト :0, A:1, B:2, .…) DS : S【 ニ ディ レク トリ パス を 読み 込む 領域 の アド レス 出 力 CF =0O: 正 常 終了 大 2 エラー AX =OFH : 無効 な ドラ イブ 解 説 指定 し た ドラ イブ の カレ ント ディ レク トリ の パス 名 を DS : SI で 指定 され た 領域 に 読み 340 込む . この 領域 に は 63 バイ ト の 長 さ が 必要 で ある . パス 名 は ルー トディ レク トリ か ら の 相対 位置 で 表わし た ASCIZ 形式 の 文字 列 に な る (先頭 の ぎ は な い ). 783 ジン ズ ベ テ バラ ご 少 | 48H | メモ リエ リア の 割当 て 入 カカ AH =48H BX = 割り 当て る メモ リ の パラ グラ フサ イズ 出力 CF =0: 正常 終了 AX = 割り 当て た メモ リエ リア の 先頭 セグ メン ト ア ドレ ス 1: エ ラー AX=07H : PID 異常 三 08H : メモ リ 不足 BX 三 割 当て 可能 な メモ リサ イズ 解 説 指定 され た 大 き さ の メモ リエ リア を 割り 当て る . 要 求 を 満足 する メモ リ が 存在 する 場合 , 新た に PID (プロ セス ID) が 設定 され る . メモ リ が 確保 きれ な い 場 合 は , 確保 で き う る 最大 の メモ リサ イズ (パラ グラ フ 単 位 ) を 返す . メモ リ の 空き 領域 を 検索 中 , 矛盾 が 生 じ る よう な PID が 発見 され る と 。 AX に エラ ー 07H を 返す 。 この 時 の BX の 値 は 意味 を 持た な い . また いく つか の 空き メモ リエ リア が 連続 し て いる 場合 それ ら は まず 単 一 の メモ リエ リア に 再 構成 され た 後 で 割当 て 可能 か どう か の 判断 が 行わ れる . 割り 当て る 空き メモ リエ リア の 選択 は , ファン クシ ョ ン 58H で 指定 され た メモ リ 割 当て モー ド に 基づい て 行わ れる . < メモ リ 割 当て モー ド : ファ ンク ショ ン 58H> 00H : 最 下 位 の 割当 て 可能 な 空き メモ リ 領 域 に 確保 する 01H : 全 メ モリ 中 で 割当 て 可能 な 最小 の 空き メモ リ 領 域 に 確保 する 02H : 最上 位 の 割当 て 可能 な 空き メモ リ 領 域 に 確保 する | 49H | メモ リエ リア の 解放 入 力 AH=49H ES = 解放 する メモ リエ リア の 先頭 セグ メン ト ア ドレ ス 出 力 CF =0: 正常 終了 1: エ ラー AX=07H : PID 異常 解 説 ファ ンク ショ ン 48H に よっ て 割り 当て た メモ リエ リア 単位 で メモ リ を 解放 する . | 4AH | メモ リエ リア の サイ ズ 変 更 | 入 力 AH =4AH B※ 三 メ モリ エリ ア の ゼ グ メン ト ア ドレ スズ ES = 変更 し た い メ モリ サイ ズ (パラ グラ フ 単 位 ) 341 第 7 章 ファ イル シス テム 出 力 CF =0: 正常 終了 = 沖 ま 年 プー AX=07H : PID 異常 ー08H : メモ リ 不足 BX = 変更 可能 な 最大 メモ リサ イズ ファ ンク ショ ン 48H で 割り 当て た メモ リエ リア の サイ ズ を 変更 する . 現在 の メモ リサ イ ズ よ り も BX の 指定 する サイ ズ の 方 が 小さ い 場 合 , 新た な 空き 領域 が 作ら れる . 逆 に , BX の 指定 する サイ ズ の 方 が 大 きい 場合 , 現在 の メモ リエ リア の 後 (上 位 ) に 連続 する 空き エリ ア を 1 つ に まとめ た の ち に , その 空き エリ ア が 十分 な 大 き さ を 持つ か どう か を 調べ る . ABH/OOH プ ログ ラム の 実行 入力 AH =4BH 342 AL =00H DS : DX 三 実行 する ファ イル の パス 名 の アド レス ES : BX ニ パラ メー タブ ロッ ク 位 置 の アド レス CF =0 : 正常 終了 = プー AX =01H : AL の 指定 が 範囲 外 =02H : 存在 し な い フ ァイル 三 03H : 無効 な パス 名 ー05H : アク セス 不可 =07H : PID 異常 三 08H : メモ リ 不足 指定 され た パス 名 の ファ イル (プロ グラ ム ) を ロー ド 実 行 す る . パス 名 は 63 バイ ト 以 内 で な けれ ば な ら な い . この ファ ンク ショ ン を コー ル す る 上 位 プ ロ セ ス は , 下位 プロ セス を ロー ド し 実行 する の に 充分 な メモ リ 領 域 を 。 ファ ンク ショ ン 4AH に より あら か じ め 解 放し て お く 必 要 が あ る . この ファ ンク ショ ン は , 指定 され た パラ メー タブ ロッ ク に 基づい て プロ セス コン ト ロー ラ を 作成 し , DS : DX で 指定 され た ファ イル を ロー ド ・ 実 行 す る . また 上 位 プ ロ セ ス で オー プン され て いた ハン ドル の 全て を , 下位 プロ セス に 引き 渡す . 下位 プロ セス に 渡さ れる 環境 セグ メン ト は 個々 の 環境 情報 が ASCIZ 形式 の 文字 列 で 形成 され て いる . それ ぞ れ の 文字 列 は 連続 し て 並べ られ , 環境 全体 の 最後 は 00H で 終わ る . し た が っ て , 環境 セグ メン ト の 最後 に は 00H が 2 つ 連 続 する . 《⑯ パ ラペ メー ツ プ ロック: 6 パイ ト 〉> DW 渡さ れる 環境 セグ メン ト の アド レス 下位 プロ セス が 使用 する 環境 エリ ア の セグ メン ト ア ドレ ス . 上 位 プ ロ セ ス の 環境 を その まま 下位 プロ セス に 渡す 場合 (通常 ) は 0000H を 指定 する . 7s3 シス テム 也 ーM DD 渡さ れる コマ ンド 行 の 格納 アド レス 下位 プロ セス が 使用 する コマ ンド 行 の 格納 アド レス , コマ ンド 行 は 第 1 バイ ト 目 が コマ ンド の 文字 数 , 第 2 バイ ト 以 降 が コマ ンド 文字 列 で あり , 全体 で 128 バイ ト 以 下 で な けれ ば な ら な い . MBH/03 プロ グラ ム の オー バー レイ ロー ド 入力 AHe 三 4B 相 AL =03H DS : DX ニ ロ ー ド する ファ イル の パス 名 の アド と ES : BX ニ パラ メー タブ ロッ ク 位 置 の アド レス 出 力 CF =0: 正常 終 了 = AX ==01H : AL の 指定 が 範囲 外 三 02 有 H : 存在 し な い フ ァイル 三 03H : 無効 な パス 名 三 05H: アク セス 不可 三 08H : メモ リ 不 足 =0FH : 無効 な ドラ イブ 1 坦 上 定 きれ た パス 名 の ファ イル (プロ グラ ム ) を 自分 の メモ リエ リア 内 に ロー ド す る 。 し た が っ て , この ファ ンク ショ ン は メモ リ の 割当 て は 行わ ず , 指定 され た セグ メン ト か ら プロ グラ ム を ロー ド し , リロ ケー ト 処 理 を 行う だ け で ある . また , プロ セス の メモ リエ リア を 越え て ロー ド を 行う こと は で き な い . く < パラ メー タブ ロッ ツク?> DW ロー ド セ グ メン ト プロ グラ ム を ロー ド す る セグ メン ト ア ドレ ス . DW リロ ケー ショ ン 要 素 その プロ グラ ム が 実行 され る セグ メン ト ア ドレ ス . | 4CH | プロ セス の 終了 | 入 、 力 AH ==4CH AL ニプロ セス 出力 コー ド 出 力 戻ら な い ( 親 プ ロ セ ス に 戻っ て いく ) 解 尋 現在 の プロ セス を 終了 し , 上 位 プ ロ セ ス に だ 制御 を 戻す . この 時 , AL に は プロ セス の 出 カコ ー ド を 設定 する . この 出力 コー ド は , 上 位 プ ロ セ ス に 情報 を 引き 渡す た め の も の で ファ ンク ショ ン 4DH を 通じ て 上 位 プ ロ セ ス に 取得 さき れる. また 現在 の プロ セス の ハン ドル は 全て 無効 と な り , 上 位 プ ロ セ ス の ハン ドル 状態 が 復帰 する . 343 第 7 章 ファ イル シス テム | 4pl 久義 出 カ AH ニプロ セス 終了 コー ド AL ニプロ セス 出力 コー ド ファ ンク ショ ン 31H, 4CH に よっ て 設定 され た プロ セス 終了 コー ド お よび プロ セス 出力 コー ド を 取得 する . この ファ ンク ショ ン は 子 プ ロ セ ス 終 了 後 の 1 回 し か 返さ な い 、。 < プロ セス 終了 コー ド ?> 00 : 正常 終了 01 : CTRL-C 終了 02 : ハー ドウ ェ ア エ ラー 終了 03 : プロ グラ ム 常 駐 の まま の 終了 | 4EH | 最初 に 一 致す る ファ イル の 検索 344 AH =4EH CX 三 検索 する 属性 DS : DX 三 検索 する パス 名 (ASCIZ 形式 ) の アド レス CE =0: 正常 終了 =ー1: エ ラー AX 三 03H : 無効 な パス 名 05H : アク セス 不可 OFH : 無効 な ドラ イブ 三 12H: ファ イル 検出 不可 指定 され た パス 名 に 該当 する ファ イル を 検索 する . パス 名 に は ワイ ルド カー ド [ ?, *] が 使用 で きる . 最初 に 検索 され た ファ イル 情報 が シス テム 情報 エリ ア に 格納 され る . 検 索 の 対象 は CX に よっ て 指定 され た も の より 属性 が 弱い ファ イル で あぁ る. 例えば, CX に 00H が 設定 され た 場合 , 通常 の ファ イル と リー ド オ ン リ ー の ファ イル の み の 検 索 に な る . また 16H が 設定 され た 場合 通常 の ファ イル の 他 に , 隠し レフ ァイル , シス テム ファ イル , ディ レク トリ が 検索 され る . 全て の ファ イル を 検索 する 場合 ,。 CX に 3FH を 設 定 す る こと . 検索 し た 結果 , パス 名 に 該当 する ファ イル が 存在 し な か っ た 場合 , AX に エラ ー 12H を 返す . く < シス テム 情報 エリ ア に 格納 され る デー タ > 00-14H : 予約 域 15H : 検索 属性 16-19H : フ ァイル の 時 刻 ・ 日 付 1A-1DH : ファ イル の サイ ズ 1E-2AH : 検索 し た ファ イル 名 733 7 シス アテ ムペ コー リリ ジ | 次 に 一 致す る ファ イル の 検索 | 恒 に AH =4FH CF =0: 正常 終了 ーー AX =05H: アク セス 不可 三 12H: ファ イル 検出 不可 ファ ンク ショ ン 4EH に よっ て 検索 され た ファ イル の 次 の ファ イル を 検索 し , その ファ イル 情報 を シス テム 情報 エリ ア に 格納 する . ファ イル の 検索 は , この ファ ンク ショ ン を 繰り 返す こと に よっ て 行う こと が で きる . 該当 する ファ イル を 全て 検索 し て し まっ た 場 合 , AX に 12H を 返す . | リー ドア フタ ライ トモ ー ド の 取得 1 に 3 AH =54H AL = 現在 の リー ドア フタ ライ トモ ー ド の 値 00H: リ ー ド アフ タラ イト モー ド で は な い 01H : リー ドア フタ ライ トモ ー ド で ある ディ スク 書込み 時 の リー ドア フタ ライ ト 機 能 の 動作 状態 を AL に 返す . (ファ ンク ショ ン 2EH 参照 ) | ディ レク トリ エン トリ の 変更 AH =56H DS : DX = 既存 ファ イル の パス 名 の 格納 アド レス ES : DI= テ 新規 パ ス 名 の 格納 アド レス CF =0: 正常 終了 = AX =02H : 存在 し な い フ ァイル 三 03H : 無効 な パス 名 05H : アク セス 不可 =0FH : 無効 な ドラ イブ 三 11H : ドラ イブ 間 変 更 ディ レク トリ エン トリ を 変更 する こと に より , ファ イル 名 を 変更 する . 変更 先 に 該当 す る ファ イル 名 が すでに 存在 する 場合 , AX に エラ ー 05H を 返す . また 変更 元 と 変更 先 の ドラ イブ の 指定 が 異な る 場合 , AX に エラ ー 11H を 返す . 2 つの サブ ディ レク トリ は 同一 で も 異な っ て いて も 構わ な い . 345 第 7 章 ファ イル シス テム 57H | ファ イル の 日 付 ノ 時刻 の 取得 ノ 設定 HH | 入 、 カカ AH =57H AL =OOH : 日 付 / 時 刻 の 取得 三 01H : 日 付 プ 時 刻 の 設定 上 BX ジッ イルハン ドル (設定 の と き ) CX 三 設定 する 時 刻 DX 三 設 定 す る 日 付 出 力 CF =0: 正 常 終了 CX = ファ イル の 最終 編集 時 刻 (取得 の と き ) DX = ファ イル の 最終 編集 日 付 (取得 の と き ) に 時 コン た AX =0O1H : AL の 指定 が 範囲 外 05H : アク セス 不可 =06H : 無効 な ハン ドル 解 説 AL が 00H の 時 , ファ イル ハン ドル が 示す ファ イル の 日 付 / 時 刻 情報 を 返す . AL が 01H の 時 。 フ ァイル ハン ドル が 示す ファ イル の 日 付 プ 時 刻 情報 を 仮 変更 する . この 変更 日 時 を 実際 に ディ スク に 書き 込む の は 。 その ファ イル が クロ ー ズ され る 時 点 と な る . ま た , BX は オー プン され て いる ファ イル ハン ドル で な けれ ば な ら な い . < 日付 / 時 刻 の 構成 > 〇 時 刻 bit 15-11 : 時 (5 ビッ ト ) bit 10=5 : 分 (6 ビッ ト ) bit4-0 : 秒 (5 ビッ ト ) 日 付 Di615=9 : 年 (7 ピット ) iM8E5 月 (4 ピッ ト ) DE4-0 5: 目 (5 ビット) 58H | メモ リ 割 当て モー ド の 取得 設定 入 力 AH=58H AL =00H : メモ リ 割 当て モー ド の 取得 三 01H : メモ リ 割 当て モー ド の 設定 (設定 の と き ) BX =00H : 下位 アド レス か ら =01H : 最小 ブロ ッ ク 02H : 上 位 ア ドレ ス か ら 346 1 如 789 シア コラ ルル CF =0: 正常 終了 (取得 の と き ) AX 三 00H : 下位 アド レス か ら 三 01H : 最小 ブロ ッ ク =02H : 上 位 ア ドレ ス か ら UNSNSEN ジ ーー AX =01H : AL の 指定 が 範囲 外 メモ リ 割 当て モー ド を 設定 取得 する. メモ リ 割 当て モー ド は , メモ リエ リア の 割当 て (ファ ンク ショ ン 48H) 時 に , 空き メモ リ 空 間 の 選択 方 法 を 指定 する も の で ある 。. < メモリ 割当 て モー ドラ > 00 : メモ リエ リア を 確保 する 際 , 空き 領域 の で きる だ け 下 位 ア ドレ ス に 割当 て を 行う . つま り , 空き メモ リ 領 域 の 検索 は 下位 アド レス か ら 行 われ , 最初 に 発見 され た 適合 サイ ズ の 空き 領域 に 割り 当て られ る . 01 : メモ リエ リア を 確保 する 際 , 可能 な 最小 の 空き 領域 に 割当 て を 行う つま り , 空き メモ リ 領 域 の 検索 は 下位 メアド レス か ら 最 終 ア ドレ ス ま で 行わ れ , その 中 で 適合 可能 な 最小 の 空き メモ リ 領 域 に 割り 当て られ る . 02: メモ リエ リア を 確保 する 際 , 空き 領域 の で きる だ け 上 位 ア ドレ ス に 割当 て を 行う . つっ つまり, 空き メモ リ 領 域 の 検索 は 下位 アド レス か ら 最 終 ア ドレ ス ま で 行わ れ , その 中 で 適合 可能 な 最上 位 の メモ リ 領 域 に 割り 当て られ る . | 5AH | 一 時 ファ イル の 自動 作成 章 に 3 AH =5AH CX = ファ イル の 属性 DS : DX= 作 成す る パス 名 の 格納 オフ セッ ト ア ドレ ス CF =0: 正常 終了 AX= 一 時 ファ イル の ファ イル ハン ドル コジ ミー AX=02H : パス 名 が ボリ ュー ムラ ベル を 指定 三 03H : 無効 な パス 名 三 04H: オー プン 不可 (ハン ドル に 空き が な い ) 05H : アク セス 不可 OFH : 無効 な ドラ イブ 指定 し た サブ ディ レク トリ に 一 時 ファ イル を 作成 する . この パス 名 領域 は , 入力 時 の ASCTIZ 文字 列 の 長 さ より 13 バイ ト 余 計 に 必要 で あり , この 追加 領域 に 一 時 ファ イル の ファ イル 名 が 格納 され る . この 時 , ファ イル 名 に は 現在 の 時 刻 を も と に し た も の が 採用 され , 属性 に は CX に よっ て され た も の が 用 いら れる . た だ し , 属性 に ディ レク トリ , ボリ ュー ムラ ベル を 指定 する こと は で き な い . また , 出力 時 の パス (DS : DX) は , サブ ディ レク トリ 名 か ら 一 時 ファ イル 名 へ と 変化 する . 347 第 7 章 ファ イル シス テム 重複 し た 一 時 ファ イル が 発生 し た 場合 , 新た な ファ イル 名 を 生成 し 直し , 重複 が な く な る まで これ を 繰り 返す . この ファ ンク ショ ン は 一 時 ファ イル の 作成 を 行う だ け で あり 。 一 時 ファ イル が 不用 に な っ た 場合 , これ を 削除 する 必要 が ある . DS : DX ER | 00 \ | 5BH | 新た な ファ イル の 作成 入 カ 348 AH =5BH CX = ファ イル の 属性 (ファ ンク ショ ン 3CH と 同じ ) DS : DX ニ パ ス 名 の 先頭 アド レス CF =0: 正常 終了 AX ニニ フ ァイル ハン ドル = AX 三 02H : パス 名 が ボリ ュー ムラ ベル を 指定 =03H : 無効 な パス 名 三 04H : オー プン 不可 (ハン ドル に 空き が な い ) OFH : 無効 な ドラ イブ 50H : すでに 存在 する ファ イル ファ イル を 作成 ・ オ ー プ ン し , その ハン ドル を 返す . 同一 名 の ファ イル が 存在 し な い 場 合 , ディ レク トリ 上 に 新た に 指定 され た 属性 の ファ イル を 作成 し , 読出 し 書込み の た め に オー プン する . た だ し , 指定 され た ファ イル の 属性 が リー ド オ ン リ ー の 場合 読 し の み の オ ー プ ン を 行う . また , 同一 名 の ファ イル が 既に 存在 する 場合 AX に エラ ー 50H を 返す . この ファ ンク ショ ン は , ファ イル が 既に 存在 する 場合 に エニ ラー と な る 以外 は , ファ ンク ショ ン 3CH と 同じ 動作 を する . 第 日 章 Nss V1 プ V 選 モード V1/V2 モー ド は 88M ノ F シリ ー ズ を エミ ュ レ ーション する た め の モ ー ド で あり , CPU だ け で な く 。 メ モリ 構成 ・ 表 示 系 が エミ ュ レ ーション モー ド で 動作 する . 68l 。 メ 毛 り CPU の メモ リ 空 間 1M バイ ト の 一 部 が エミ ュ レ ーション モー ド に な る が , その 他 の アド レス は シス テム メモ リエ リア を 除き V3 モー ド と 同様 に アク セス で き , CPU を ネイ ティ ブ モ ー ド で 動作 させ れ ば メモ リ 空 間 全 部 を 使用 する こと も 可能 . Z80 エミ ュ レ ーション モー ド に お ける CPU の CS/DS レジ スタ は 1000H と する . メモ リ シ ス テム の ネイ ティ ブ プ エ ミュ レー ショ ン の 切換 え は ポー ト 153H で 行わ れる . <《 メ 下り 2 アウ ドッ @ ROM エリ ア (V3 モー ド と 同様 ) FFEFF ROM 10 | ROM 11 RESERV | RESERV F0000 RO M 00 | ROM 01 | ROM 02 | ROM 03 | ROM 04 | ROM 05 |RESERV | RESERV シス テム メモ リエ リア (88 モ ー ド エリ ア を 通じ て の み ア クセ ス 可 能 ) RAM BANK#2 | RAM BANK… | 終 薄 ーー パロ HX※ E0000 @ RAM エリ ア 9FFFF RAM BANK #0 (ERAMR 3) | RAM BANK #1 80000 40000 ト ----- ------ーー] トーー PC-8801-02N 互換 拡張 RAM と し て アク セス 20000 88 MODE RAM AREA ーー 88M/F エ ミュ レー ショ ン メ モリ 空間 ※ こ の エリ ア に N88V3 モー ド に お ける メイ ン RAM/VRAM/ROM の 一 部 が マッ ピン グ き れ , 88M/F シ リー ズ の 64K バ イト の メモ リ 空 間 を エミ ュ レ ー ト する . 10000 00000 349 第 8 章 N88V1/V2 モ ー ド 8.2 テキ スト 表示 V1/V2 モー ド で は , VA が 持つ 64K の TVRAM の 一 部 を 88 モー ド エ リ ア に マッ ピン グ し , IDP を エミ ュ レ ーション モー ド で 動作 させ て アト リ ビ ュ ー ト コー ド を 変換 し な が ら 文 字 表 示 を 行 あ : 8.2.1 TVRAM V3 モー ド に お ける TVRAM の 内 , 次 の 4K バイ ト が 88 エリ ア に マッ ピン グ さ れる 。. V3i モ ー ド : A6000H~A6FFEH \ V1/V2 モー ド : 1F000H-1FEFFH ※ 1 : A0000H~AFFFFH か ら TVRAM を アク セス する こと は で き な い . ※ 2 :DMA に よる アク セス は で き な い . と の と き TSP は バイ ト ア クセ スモ ー ド に 設定 され , ロー カル アド レス も 変化 する . VE 3000H~37FFH (WORD) 3800H~3FFFH (WORD) B000H~B7FFH (WORD) B800H~BFFFH (WORD) \ \ V1 ノ /V2 モー ド : 3000H~3FFFH (BYTE) 使用 不可 B000H~BFFFH (BYTE) 使用 不可 マッ ピン グ さ れ た TVRAM は 3301 の VRAM フォ ー マ ッ ト と し て 使用 され , この TVRAM の 内 容 の 表示 を 行う た め に , TSP は アト リ ビ ュ ー ト デー タ の フォ ー マ ッ ト 変 換 を 自動 的 に 行う . この 場合 カラ ー コ ー ド (8 色 ) は , カラ ー コ ー ド 8 へ ~~15 に 変換 され る . “DSRT ア ボル レス > EPUTINR?Y 3000 1F000 TU ER ポ (3301 format) 3FFF lFFFF TSP に よる アト リ ビ ュ ー ト 変換 B000 アド リ ビ ュ ー ト Ef (TSP format) 未 使用 BFFF 88 モー ド に お いて も 3301 の 以下 の 機能 は エミ ュ レ ーション され な い . 1 ) 1 行 お き 表 示 モ ー ド 2 ) ブロ ッ ク カ ー ソ ル の リバ ー ス 指定 3 ) 特殊 制御 文字 及び 特殊 制御 文字 に よる 割込み の 要求 の 発生 4 ) 水平 カウ ンタ の クリ ア 5 ) ライ トペ ン 機 能 (外部 ハー ドウ ェ ア が サポ ー ト し て いな い ) 350 8.2 テキ スト 表示 6) アト リピ ュー ト 無 し モー ド 7 人 0 誠 ジ ジン ドッカン ジン スバ ミカ レント "セク ジグ ク ee アト ピュー トト 竿 司 N 8.2.2 キャ ラク タ ジ ェ ネ レ ー タ V1/V2 モー ド の VRAM に 対す る 表示 の た め の ア クセ ス は バイ ト 単 位 に 行わ れる . また , 文 字 の レタ ー フ ェ ー ス は 8X8 ド ッ ト (15 KHzCRT), 8X16 ド ッ ト (24.8 KHzCRT) が 標準 と な る た め 漢 字 表 示 は 行え を な い . ボディ フェ ー ス は 横 方 向 が 8 ドッ ト 固 定 で , 縦 方 向 が 8 プ 10 プ 1620 ドッ ト が 設定 で きる ,. RAM キャ ラク タ ジ ェ ネ レ ー タ (外字 ) は 使用 で き な い . 漢字 フォ ント に つい て は , ポー ト E8H/E9H, ECH/EDH か ら ア クセ ス で きる 漢字 は M/F シ リー ズ に 搭載 され て いる 文字 種 だ け で あり , 拡張 文字 外字 の アク セス は で き な い . 89283 六 字 招 ー ド マチ アト UE 語 テ ドコ ー ド 文字 コー ド と し て M/F シリ ー ズ と 同じ 8 ビッ トコ ー ド が 使用 され る . アト リ ビ ュ ー ト モー ド と し て は トラ ンス ペア レン トモ ー ド (カラ ー プ モノ クロ ) の み が サ ポー ト き され て いる . アト リ ビ ュ ー ト コー ド は M/F シリ ー ズ と 同じ で ある が ,。 ファ ー ム ウェ ア で 処理 し て いる 関係 上 , 桁 指定 の 方 法 は BASIC で 採用 さき され て いる 標準 的 な 方 法 を と る 必要 が ある . また , セミ グラ フィ ックス アト リ ビ ュ ー ト を 設定 し た 場合 1 行 前 の 設定 が 次 行 に 対し て 保持 さき MD お 各行 の 発 頭 で 必 ずり セッ ト さ MC し まう 。 こ の た め , セミ クス スス スッ クス アト りー ト は 各行 ご と に 設定 し な お す 必 要 が ある . その 他 , 以下 の 制限 事項 が ある . ・ ア トリ ビュ ー ト エリ ア を 0 クリア し て は な ら な い . ・ 同 一 行 中 で , 同一 列 ア ドレ ス に 複数 の アト リ ビ ュ ー ト を 設定 し て は な ら な い . ・ 同 一 行 中 で , 複数 の 列 ア ドレ ス に 異な る アト リ ビ ュ ー ト を 指定 する 場合 に は 必ず 列 ア ドレ ス の 小さ い 順 に 設定 する . 8 ・ 表 示 画 面 の 先頭 で は 機能 指定 プ 色 指定 を 必ず 行う . これ ら の 制限 に 該当 し た 場合 に は , 正常 に 表示 され な か っ た り , テキ スト VRAM に 対す る ア クセ ス が 異常 に 遅く な っ た りす る . 8.2.4 画面 分 割 ・ ス クロ ー ル 機能 4 個 ある 分 割 画面 うち の 1 画面 を 用 いて 表示 が 行わ れ , 他 の 3 個 の 分 割 画面 を 使用 する こと は で き な い . し た が っ て , 画面 分 割 は で き な い . また , スク ロー ル 等 の 機能 もち サ ポー ト さ れ な い . な お V1/V2 モー ド の 表示 画面 と し て 使用 され る 分 割 画面 に 対す る 画面 制御 パラ メー タ は あ ら か じ め V3 モー ド で 設定 を 行っ て お く 必 要 が ある . 8.2.5 40 桁 モー ド V1/V2 モー ド で は TVRAM に 格納 され て いる 偶数 番目 の 文字 フォ ント を 2 倍 に 拡大 し , 奇 数 番目 の 文字 は 表示 し な い . た だ し , アト リ ビ ュ ー ト の 列 指定 は 80 文字 で 計算 きれ る た め 。 偶数 に 設定 する 必要 が ある . 351 第 8 章 NN8BV1 プ V2 モ ー ド 8.3 グラ フィ ックス 機能 グラ フィ ックス 表示 モー ド と し て は マル チ プ レー ン モ ー ド と シン グル プレ ー ン モー ド と が ある が , V1/ グ V2 モー ド 時 に は , マル チ プ レー ン モ ー ド を 選択 する . CRT 表示 モー ド は , 使用 する CRT に より イン ター レー スモ ー ド 0 また は イン ター レー スモ ー ド 1 を 設定 し て 使用 する こと が で きる 。. また , グラ フィ ックス スク リー ン は スク リー ン 0 の み が 使 用 可能 で ある . 水平 解像度 は 640 ドッ ト を 設定 し , 垂直 解像度 に つい て は 15 KHz CRT を 使用 時 に は 200 ライ ン , 24.8 KHz CRT 使用 時 に は 400 ライ ン を 設定 する . 8.3.1 GVRAM V1/V2 モー ド で は , 各 プ レー ン あ た り 16K バイ ト の 容量 を も っ て お り , CPU メモ リ 空 間 の 1C000 了 I~1FFFFH 番地 に マッ プ さ れる . プレ ー ン 0 : A4000H~A7FFFH プレ ーー ンジ '0(OUT.5CH) プレ ー ン 1 : A4000H~A7FFFH = プレ ー ン 1 (OUT 5DH) プレ ー ン 2 : A4000H~A7FFFH = ネ ジ ピ ジー ン 2 (OUTM5PB) プレ ー ン 3 : 使用 し な い 、. 8.3.2 ピク セル モー ド ピク セル モー ド と し て は 1 ビッ トノ ピ クセ ル , 4 ビッ トノ ピ クセ ルモード が 選択 可能 で ある . た だ し 4 ビッ トピ クセ ルモード で の プレ ー ン 3 の 表示 デー タ は 使用 し な いた め 画 面 ス イッ チ に より マス ク し て お く 必 要 が ある . 8.3.3 画面 分 割 表示 画面 は フレ ー ム バッ ファ 0 の み を 使用 する た め , 画面 分 割 は で き な い . スク ロー ル は 可能 で ある . 8.4 画面 合成 機能 CRT 画面 上 に は テキ スト 画面 , グラ フィ ッ ク 画 面 が 合成 され て 表示 きれる. スプ ライ ト 機 能 は 通常 使用 し な いらい が, ハー ドウ ェ ア 的 に は 特に 制限 は な い . 8.4.1 画面 構成 最終 ビデ オ 画 面 外部 ビデ オ 画 面 合成 優先 度 低 バッ ク ド ロ ッ プ 面 合成 優先 度 高 352 8.4 画面 合成 機能 9 種 の 表示 画面 の うち , 5 種 の 表示 画面 に よっ て 合成 され た 画面 が 表示 され る . た だ し VA の 表示 機能 の 一 部 を 使用 し て いる だ け で ある た め , その 他 の 表示 画面 を イネ ー ブ ル に し て 合成 表示 を 行う こと も 可能 で ある . また , V1/V2 モー ド に お いて , テキ スト 画面 で 使用 きれ る カラ ー コ ー ド は カラ ー8^15 の 8 色 で ある た め , カラ ー 判 別 レ ジス タ に は 8 を 設定 する . 透明 色 の 設定 で は テキ スト プス プラ イト の カラ ー コ ー ド 0 を 除き , すべ て の 人 色 を 不透明 と し て 設定 する . 画面 マス ク 機 能 は 使用 し な いよ うに 設定 する . バッ ク ド ロ ッ プ 面 は バッ ク ド ロ ッ プ モー ド 0 で 使用 きれ る . バッ ク ド ロ ッ プ カラ ー レ ジス タ は M/F シリ ー ズ の バッ ク グ ラン ドカ ラー レジ スタ と は 形式 が 異な る た め , バ ッ ク グ ラウ ンド レジ ス タ に 対す る CPU の アク セス は , 1 プ O0 トラ ッ プ に より ソフ トウ ェ ア 的 に エミ ュ レ ーション され る . 8.4.2 カラ ー パ レッ ト カラ ー パ レッ ト 0 は M/F シリ ー ズ の パレ ッ ト 機 能 の エミ ュ レ ーション 用 と し て 使用 し , カラ ー パ レッ ト 1 は 8 色 ダ イレ クト 指定 の た め の カ ラー 変換 テー ブル と し て 使用 する . パレ ッ ト の 形式 は M/F シリ ー ズ と 異な る た め , M/F シリ ー ズ 用 パレ ッ ト へ の アク セス は 1 ン / O トラ ッ プ に より 処理 され る . また , パレ ッ ト の ブリ ンク 機能 は 使用 し な い . ⑩ ガ デジ タル / ノ モノ クロ グン イ ッッ ン クズ レツ sk 年 王 ド 1 テキ スト キノ グラ フロ ッ ク 4 側 記 画面 "mm"… パレ ッ ト 1 (8 色 固 定 パ レッ ト ) (@222 ク ルカ ラーグ ラン 9 クック 49N レ ッ ト (に 2 テキ ス PPEEPEPEPEPPEPPPPPPPPPPPPPCPPEPPCPPPPTPPPPPCCPTOLLP パレ ッ ト 1 (8 色 固 定 パ レッ ト ) グラ フイ クス ーー ター ブー パレ シッ ト 0 (8 色 中 8 色 ) RH LAEVIS クボ ルク 80 パル クッ ドー ド 0 SR トノ グレ ウラ イツ の 0 生還 の "の や パレ ッ ト 0 (512 色 中 8 色 ) ④ 宛 大 ログ / カ ラー グラフ ネツ 次 ス VY FE モー ド 2 REA RS Si cais Ts パレ ッ ト 1 (8 色 固 定 パ ン ッ ト ) グラ フィ イッ タク スー パレ ッ ト 0 (512 色 中 8 色 ) ※ 1 : カ ラー パレ ッ ト 0 : パレ ッ ト 0 一 7 を 使用 . カラ ー パ レッ ト 1 : パレ ッ ト 8 へ 15 を 使用 。 ※ 2・ パ レッ トモ ー ド 2 に お ける 指定 画面 レジ スタ に は , テキ スト 画面 を 設定 し て 使用 する 必要 が ある . 353 PD4990 ee 10,135 LPD765 ee 46 LPD824] ee 9 uPD825] ee 8,19 uPD8255 ee 10,46,143 PD8255 サ ゴザ ゴ セッ ト er 28 PD8259 ee 9,128,129,130 PD9002 に oe 8,12 16 色 モー ド ee 66 1 バイ トト 文字 ee 63,114 1 バイ トト 文字 コー ドコ 113 2 バイ Rs tae eR RN a slain 63,114 40 文 字 表 示 FPPDCPCLPLCPPLPCLULPLLPLLULLLLLCCL EPC 65 5 イン チ フ ロッ ピー ディ スク ere 142 8214 互 換 ハ ー ド ウェ アド で eee ooo 131 8214 モ ー ド (V1/V2 モ ー ド ) ee 130 8214 モ ー ド 割 込み 制御 saneeeseeeeseeeeeeeeeeeseees 27 の に TO 7 128 8241 モ ー ド 割込み マス クー er 27 8259 モ ー ド の の ee 128,129 8 ビッ トディ ッ プ スイ ッ チ ナチ esaeseeseseseeeeseesisee 10 A ANK ドド nero 9,65,116 B BI] は es ei Sse 10,153 BEEP 周 波数 発生 器 ee 133 C CGRAM eseeeeeenesseesnenesseeereseneeneseereee: 8 CG ア ドレ スコ ーー ド に だ に に に いい 114 CPU 12 CRTT 走 査 モ ー ド eccesesseesseeeesseseereeeeeer。 117 D DMA 機 能 Navvesssseseossess easeeeeeesssesisswessseieeisiess 9 DISK BIOS 作 業 領域 ere 168 354 DMA ee 45,54 DMA( ダ イレ クト メモ リア クセ ス ) 機 能 …132 DMA イ ンタ ー フ ェ イ スス ecteeeeereterreeereree 9 DMA ュ コン トー ジラ ceeeiesisastansossie ssasseiavess 39 DMA チ ii 132 DMA 転 送 機能 ee 132 DMA モ ー ド TT 142,146 DSH RE 93 DS 93 DWID ダ プル コン トロ ー ル に の の の remtm 63 ビ EBI 92 FRB 91 FDC 強 制 レ ディ の 動作 ee 147 FDC 制 御 ボ ポート 1 で hh 45 FDC 制 御 ポ ー ト 2 oo 45 FDC タ イマ 機能 で Gee 147 FDC ボ ポー ト eerste 46 FDC モ ー ド レジ スタ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 44 FDC 害 和み ii 129 159 DID OO KT 9 FDD イ ンタ ー フ ェ イ ス に の の に … い の 142 FDD サ プシ ステ ノム eetttteerertetereeeeereereeee 143 FDD 制 御 イ ンター フェ イス の の ro 143 FDD 用 タ イ Mt 134 FSA DCCUCPPCPPPCPPPPCCPPPPPPPPPPPPPPPPPPPTPPPPCPEPPYEYE 91 G GVRAM で で で で に で に で で で 8,49,77,84,352 GVRAM ス テー タス ドド で の mm の 25 GVRAM 制 御 ポ ドー ト 1 oo oooeoeeeenrereen 22 GVRAM 制 御 ポ ー ト 2 eee 23 GVRAM 選 択 RCCPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPDCPIYPI 25 GVRAM マ ッッ ンプ oe 77.84 日 HD イ ンタ ー フ ェ イ ス ………… HOO 147 I AO ボー トブ ロウ ツク esiase sive 17 1 ノ 0 ボ ー ト マッ ンプ の に mh 17 TOCU iri 129,131 ICU/8214 互 換 ハ ー ド ウェ ア ……… の ……… 131 J JIS 第 1 水準 漢字 ee 115 JIS 第 2 水準 漢字 ee 115 JIS 非 漢字 ee 115 N NEC 非 漢字 aes eo hie pa ae ois oieie 0 ei a 0Gi0i0 i ite, 0 vai 116 NM 38 NTSC 同 期 信号 の 切換 ええ eee 121 O OCWL ii 129 OR 92 Oi 93 P PC-Engine ee 11 PORT ii 10 R RA 8 RAME エ YF eine 47,48 NO Cer 8 RGOME リ イア ee 47,49 ROM バ ンク 拡張 ポー ト ree 50 ROM バ ンク ステ ー タ スー … ee eo ー 38 RS-232C ri 8,19 RS-232C イ ンタ ー フ ェ イ スー ee 148 RS-232C 受 信 割 込み eee 131 RS-232C マ セス クー に eee 130 RS-232C 割 込み るー ドド ドド mmmnnr 129 に ) SG ii 94 SGP コ マン ド Fe 95 SGE 作 業 領域 の 設定 eerste 102 SGP ス テー タス ooo 95 SGP ッ パラ メー ee 95 SG 人 95 SGP 命 令 テ ーー ブル で eee 102 SGP 割 込み NGO つの PGI 95,129,131 T TOUO 42,133 TCU カ ウン タキ 0 で oe ee 133 TCU カ ウン タタ 1 ooo 133 TCU カ ウン タキ 2 ooo 133 TSP iii 35,71 MSP RA ies 60 TVRAM oo 8,49,350 U UINTO( Bus 失 24) ee 129,131 UINT1(Bus#25) reesesessreseee: 129,131 UINT2(Bus キ 26) ee 129 UINT4(Bus せ 28) ee 129 USART ri 19 V V1/V2 ウ モード oo 8 V1/V2 モ ー ド 拡張 RAM 選 択 ………………… 26 V30 モ ー ド oo 12 V9 モ ーー ド oo 8,9,47,58 VA 文字 コー ドド 112 VRTC 割 込み ee 129,131 0 YM2203 ee 24,150,152 の 4 アク セス プロ ッ ク の 選択 人 … の mm] 研 司 の 80 アク セ ュ ネモ キー ドド oeoeooeeererenerrnrret 79 アト リ ビ ュ ー ト コー ドド oe ememeeerrrrrrrrnr 63 アナ ログ VEO 回 路 ion 143 アニ メー ショ ン BIOS err 252 アン ダー ライ イン 63 イ イン ター レー スモ ー ド er 121 衝 影 久 王 ソ ェ イズ 26BWLooontrcT 140,142 イン ター ラプ ト ベ クタ ee 48 イン テリ ジェ ント モー ド Fe 142,143 355 索 引 462223MUS2ES2 ド BTDDEN ジ グー ジジ エ イス St28 rp/ ウド や の …ー ド ドー ドー ドー 53 ウエ イト サイ クル … に で eee 53 = 演 疫 結果 フラ グー ニ eneeessauueere 8 315 オ オー トス ター ト ROM eos 54 オペ レー ショ ンコ マン ドー… ド ドド の の 141 SSG 音 源 ……(l……i ド ーー 10 FM 音源 COCOOOOCPPCC た の に に IPCLPKLCKPYT と こと に いい 10 カ 外 衝 re 9 外部 ビデ オォ 画面 … べ 必 ご ①……… ド ーー 56 拡張 ROM syssessesssesseeeseseseeiosisseseeeeeeseeesseee 49 RRR ON oss ean 25 拡張 アク セス モー ド 00s ssiutiais tii 0 Sei i Gi sesse eos 80 拡張 アク セス 機能 DO トイ 87 拡張 グラ フィ ッ ク BIOS eiteeeeeeee・ 235 拡張 シス テム コー ド Seeseite weassesseseeseeseeecscens 48 ロン OO 11, 54 拡張 ラ イ ト 機能 essscesesesseeeeeeseneeeseeeaseee 87,87 拡張 リー ド 機 能 … 和 ーー ドー 87 画面 構成 eee 352 画面 合成 errr 56,352 画面 合成 機能 Ri 6 0&4 en eae d 352 画面 容 細 ons Nene assis es 88,352 画面 分 割 機能 DCCPLOLKLIOOODYKYYOLLXADCEYK て OPT ドコ 88 画面 マス ク 機 能 で 上 上 …… ド ドーーーー 108 画面 マス クッ パラ メー タ ・ の …i… ド ーー ドド ーー 35 画面 マス クモ ー ド レジ スタ の ひ … の 6…… ド ドー ドー 32 T= acis iidiii tt tn sa a esis 103 カラ ー 階 調 oieeesereeeeseeeeeee 103 カラ ーー パレ ツ トモ ー ド seeus soh sais oese eeeeieeee ee 105 522 コージ 2 プリ ー ジ シマ スク レジ スタ 38 カラ ー バ レッ トド ドド ooooot・ 10 353 カラ ーッ マレット モー ドレ ジス タ DD つと 32 カレ ンダ 時 計 ……… ド ーー… 10,18,135 カレ ンダ 時 計 BIOS ……… ド ドド ーー ドー 293 PDGPOSHOBRGCCGDPPC た た PE 9 356 ECOG SR 36 漢字 ROM また OCTXOCDPPLXULI つ こく CC 8,49 キ キー ボー ド BTOS ie 183 ドイ ART eeeseiete: 8 キー コー ド 方 式 eeeeeeeeeseeesssesessesereeee 140 RE ST SS Ee 46 キー ボー ドド ee 8 キー ボー ドイ ンタ ー フ ェ イ ス …… の の rme の …… 139 キー ボー ドサ ブ CPU 和 上 … 上 上 …… ロ ドド ーー…ー 140 キー ボー ドサ プ ブ CPU コ マン ド ポ ー ト ……… 42 キー ボー ド デ ー タ ポ ボード ト oooeoeoeeeoeeeet 46 キー ボー ド ュ ユニ = ニッ トド の で の ドー ドド ーー 142 キー ボー ド 割 込み ……ー ド ドド ee 129 キー マト リク スー ドド oooteeeeeeeee 18 キャ ラク タ ジ ェ ネ レ ー タ の の (ーー…… 351 ク グラ フィ ッ ク 画 面 制御 BIOS ……t ベ ベー バド … 228 グラ フィ ッ ク 画 面 制 御 / パ ラメ ー タ …………… 91 グラ フィ ッ ク 画 面 制 御 レ ジス タ ………e… 31 グラ フィ ッ ク 機 能 … 司 ……ーーーーーー…ー 76,352 グラ フィ ックス …… の it ドド ドド eee 10 グラ フィック 表示 解像度 ……… ド ーー ドー 76 グラ フィ ッ ク 表 示 禁 止 機能 ………(i………… 110 グラ フィ ッ ク 画 面 0 秀明 色 レ ジス タ ………… 34 グラ フィ ッ ク 画 面 1 透明 色 レ ジス タ ………… 34 コ 固定 ディ スク ユニ ッ ト イ ンタ ー フ ェ イ ス …… 11 に ゴー の ウッ グ ドイ ンダ ター フェ イス DOCCPDPDCCCCDCCCL こ し し しい 141 コミ ュ ニ ケー ショ ン BIOS ーー 263 ES SPORE も SOPD2SGCCEOEGOGE 112 サ 最終 ビデ オォ 画面 べ 選 つ ( 全 … ド ーーー…ー 56 サウンド ト omesonadsksesdsossiizssesss esses 10 サウ ンド BIOS…… Ss 273 サウ ンド 機能 だ 人 … つ 人 上 全 ドド ドー ドー 150 サウ ンド コン トロ ー ラ ………… 24,129,131,150 サウ ンド コン トロ ー ラ 内 タイ マ ……………… 134 サウ ンド コン トロ ー ラ 割込み マスク ………… 130 サブ 画面 … の li… の …i ド ドド ドド ドド ーーーーーーー 88 シ シー クタ レッ トー ドド ドド ドド 63 辞書 ROM PPPPPPPPPPPPPLPPPPPLPPPCCCCCPPCCCCCCCCPL 8,49 シス テム イン ター ラプ トコ ー ル ……… の …… 323 シス テム エリ ア Oe 18 シス テム ェ エリア eonet 30 シス テム 起動 プロ セス ee 12 シス テム 共通 領域 ee 48 シス テ ュ ム ュ コー ルー ドド ドド ee 329 シス テム 動作 モー ド FPPPPCPPCCPPPCPCCCPCCCCCDDCCD 8,37 シス テム ボート 1 で ……… ド ーー 21 シス テム ポ ボート DM 22 シス テム ボー ト 3 23 シス テム ボー ト 4 …… ド ドド oo 24 シス テム ボー ト 5 41 シス テム ポー ト 6, 7 8 46 テムズ メモリ ER CGC を CC 47,59 シス テム モー ドス イ ッ チ トバ 10,125 実 表示 画面 re 122 実 表示 画面 と フレ ー ム バッ フ プア " で erermn 122 シフ ト JIS コ ー ド ee 113 受信 バッ フー 130 出力 専用 ポー ト 保 存 領域 ee 321 衝突 グル ー ピ ン グモ ー ド ドド ドド ドー ビー 70 衝突 検出 機能 ii 69 衝突 検出 条件 ee 70 衝突 検出 フラ グー 70 シリ アル コマ ンド キー ドド oooeoooeenereereen 137 シン グル プア レーン モー ドー 76,84 ス スー パー グラ フィ ツ ク プ プロセッサ OPC OO 94 垂直 解像度 ee 77,118,121 スイ A Fe 10 水平 解像度 ee 77,118,122 水平 ラッ プア ラウ ンド 91 数 値 演算 BIOS ee 314 数 値 表 現 ……ー ド ドド imerrrnrrrrrrerree 314 スキ ャ ナイ インター フェイ スー 10,156 スキ ャ ナ ポ ボ ポー トニ ee 26 スク リー ン エ ディ タ BIOS ee 298 索 引 スク ロー ルー … ド ドド に mmm 88,90 スト ロー ブ ポ ボー トド ドド ドド oo 23,38 スピ ー ド スイ ッ チ ーー om 126 スピ ー ド モー ドド ドド ーーー 127 スピ ー ド モー ドス イッ チ ECDCOPCPCCCPCCLDCDCLLCCDCC 10 スプ ライ トー 9 スプ ライ ト BIOS ee 218 スプ ライ ト 画 面 …… で ee ener 57 プライ ト 制 御 テ ー ブ ル FPPLPOC ら CC い CCODDO 67 スプ ライ ト の 解像度 ee 69 スプ アラ イト の サイ ズー 68 ズブ プ フイ ト の 数 と 優先 順位 RE DE RR ER RGR 68 入 プ ラフ ライト の 表示 位置 reer 69 スプ ライ ト 表 示 機 能 … の ーー 66 スプ ライ トモ キー ド … eoeoeoeoeoeoeeenrnrrnrnnm 66 タ 第 一 水準 漢字 フォ ント 読出 し ee 28 第 二 水準 漢字 フォ ント 読出 し …… の の limit 28 タイ マ 1 割込み eee 129 タイ マカ ウン タユ ニッ ト …… emem 42 タイ マ 機 能 Slee ide os sioititis Re Geis west 0 iia it ie eae Ge 133 タイ マ 割 込み 時 明 間 PP と COCCOCKCOOLCLLCODLCCGL つ 152 縦 ペ ーー 69 ダブ プル ウィ ドス 63 チ 調歩 同期 式 cocoesssesecesesessnstese cesoees eeeeeeee esos 9 直接 色 指 定 画 面 ereeereereeeee 56 直接 色 指 定 画 面 制御 レジ スタ ee 31 直接 色 指 定 画 面 モ ー ド Fr 86 直接 色 指 定 モ ー ド Fe 86 テ ディ ジ タル VEO 回 路 ee 143 デイ スク イシ ター マツ = イイ 次 TTT 142 ディ スク サザ デシ ステム 00mm mo 143 ディ スプ レイ oo 10 ディ ッ プ スイ イッチ ee 126 テキ スト REPPPPPPPPPPCPPPPPCCCPPCPPEPCPEPPCCEPYEEEKYS で の 9 テキ スト プス プラ イト 透明 色 レ ジス タ ……… 34 テキ トノ ブス プ アプ ライト プロセッサ の 71 テキ スト BIOS er 200 357 テキ スト VRAM で で reeo ooo 59 テキ スト 画面 … の に の moe で で に に emem 57 テキ スト コン トロ ー ラ …… の の Giloereeoeoeem…… 35 テキ スト 制御 ボート に で に に に に に に …ー 36 テキ スト 表示 ーー 350 デ 次 ト 表示 機能 caveseseseesesereseeeeseeeeeeessesse 58 テキ スト 表示 禁止 機能 … 心 に じ … の met 66 AZ ラジ 位 ド 表示 機 角 に omeeetee ssi 66 テキ スト 表示 フレ ー ム バッ ファ ……………… 60 テキ スト 表示 禁止 機能 … ひ 心 司 … の lolimeie… 66 デバ イス ドラ ブイ Re 323 ト 同期 信 弱 マス の dite ne 111 Re eta ne 120 動作 モー ドコ ee 142 秀明 ii 107 独立 アク セス モー ド …… の ドド ドド oo 79 ドッ ト ア ドレ の mem に noe 122 取込み フォ ー マ ッ トト 制御 121 日 本 語 入力 フロ ント プロ セッ サ BIOS …… 303 ネ ネイ ティ ブサ ービス ルー チン ceceseseseeseseeeeees 12 年 機能 使用 モー ド …… ぐ ………… ぐ で の ーー ドー ドー 137 シス ノン イン ター レー スモ ー ド …… ぐ に つの 118 ハ ハバ ハードウェ アプ ロッ ク 図 に eeeeaaaenn soa 7 2 一 NR み mn7256 学 ヨード me 114 ハー ド デ ィ スク BIOS … の (ドー 173 ハー ド デ ィ スク (Bus 半 27) で の の 敢 … 129 ジ K を NX 人 | 伯 …eee55socaseee 26 パッ クア ッ プ メモ リー ニー 上 teeoereeeeee・ 52 2 2ERO2SZ4| dagen 56 シック ド ロッ ププ カラー レジ スタ の … の …… の の ……… 33 バッ ク ドロ ッ プ 面 … 他 ー ド ドド ーー 109 ウ ペ アッ レッ レコ マシ ド つま 文 1C7JCKOOOL AOTAO KT アス 135 2 パラ レル コマ ンド モー ド …… ド ドド ーーー 135 と コレ り 肖 CCPCTPCECCPCPPPPPCPCPPPPPPPPPPPPPFRFRETT 103,104 Ef eon a 55 358 2 パレ ッ ト 指定 画面 制御 レジ スタ ee 31 ペレット 指定 画面 モー ド ReeeeesaosesaNesanaanSaene 86 ッ パ レッ トト 指定 モー ド …… の oo 86 SZ RAN ho ed tee 48 ハン ド シ ェ イク ボート ereeeet 143 汎用 タイ マー 10,133 MIA I on ris ea eis 134 汎用 タイ ママ 2 割込み ee 131 汎用 タイ マセ 3 134 作用 クイ マヤ 3( マ ウス タイ マ ) で で 六 … の 129 汎用 タイ マ 3 割込み ime 131 州 用 タイ マ 3 制御 ポー voi re 44 ヒ 路 戦 計 員 し revgsthsretane asszdkdssesseese35 523 80 ピク セル 位置 の 指定 …… 〇 上 の (ーーー 95 ピク セル サイ Ze 78,84,122 ピク セル モー ド ……… ド ドド に た oooeeeee 352 旧 倍 時 刻 の 設定 ee 139 日 付 / 時 刻 の 設定 ・ 読 出し …… ぐ の 139 日 付 プ 時 刻 の 読出 し POLYOP て PP で 5 つ うつし 139 ビビ yk アサ イシ esos eisai io i: 87 ビデ ヂ デオ サ プレ ス 機 能 ……………… の の … 110 ビデ オデ ィ イジ タイ ズ … の の eo つ iiieeot… 121,122 ビデ オォ ボー ドド …… で ドド に 11 帆 画 機能 overeseirnireis te 10 表示 解像度 ee 117 表示 画面 制御 レジ スタ の eee 30 夷 示 機能 treoeeereeehnw プ ドウ 35 ro っ > 9 湊 示 禁 肖 幾 能 和 oe 110 宗 示 制御 回 区 00 i se 58 標準 RAM ドド oo 8 Z ファ イル アク セス …… の の ドド ーー ドド ーー 323 ファ イル シス ヌス テム 人 … で eo 323 ワ アァ ン シ ー ア フォ ント BIOS eee 296 SRT a TERE nen SS TI a 63 ブリ ンタ ク 機 能 ニ ee 106 グリ ンク グ カ レン グ 時 計 オ シタ ー フ ェ イ ズ ステ 18 ン り 且 2 5】 0 KOOCTOOOOCGRE に 259 プリ ンタ イン ター フェ イス …………… 8,18,148 フレ ー ム バッ フナ アー ドド ドド oo 89,122 プレ ー ン の 選択 ee 80 プロ セス コン トロ ー ラ ドド oe mem 329 ロッ クタ ーー 96 フロ ッ ピ ー デ ヂ ディスク BIOS ……… ド tt 159 ホ 方 形 波 発 生 ECPPPPCPPPPPPCLLPPCPCCPPCPPPCPOCCCLLPLDLL ロ 133 ボー レー ト 発 生 粗 oo 133 ホリ ゾン タル ライ ンー ドド ドド ドド ーー 63 マ マウ ス BIOS teeter 285 マタ クス イン ター フェ イズ POCPPPPPPUPPPCPCCPCCPCLCD 154 マウ スポ ー ii 11 マス クボ ドー トー ドド ドド mn 38 マッ 15 マト リク スス キャ ナイ ンク フー イズ SAS 8 マト リク スス キャ ン 方 式 PKK つつ 139 マル チ プ レー ン モ ー ド eee nt… 76,77 メ メイ ン CPU…… ド oe 140,142 メイ ン RAM…… ee 48 メイ ン ROM oo 8,49 LE Ye 47,349 メモ リア クセ ス ス eneereeeererereeeeeeeeeeeeeeee 54 メモ リオ フ セ ッ トー 25 メモ リオ フ セ ッ トイ ンク リ メ ン ト PPEPCCPPPPPFCCD 26 メモ リコ ント ロー ブル onern 50 メモ リ 常 駐 型 ソフ トス ー パ ー バ イザ …… "| 11 メモ リス イッ チー ドド oo 127 メモ リス イッ チ 書 込み 禁止 ノ 許可 …………… 42 メモ リス イッ チ ポ ー ト eee 20 メモ リス イッ チ ナチ ポート 2 21 メモ リマ ッ プ レジ スタ ee 37,50 メモ リリ レイア ウト ee 47,349 モ モー ドコ マン ドー… ド ドド ドド ドド oo mm 141 モー ドス イッ チー ドド oe 125 モー ド 設 定 で oe 142 文字 コー ド いて 63,111 文字 コー ド ・ ア トリ ビュ ー ト コー ド ……… 351 文 季 セッ ト oeoeooeooee 111 文字 フォ ント ere 111,114 文字 フォ ント アド レス ere 114 モノ カ ラー モー ド PPPCPPPCCCDPCCPDLPCPCCPCPCCCLLOLLPD 67 EE ユー ザ 定 義文 守 ニ ee 116 優先 表示 画面 ereeseeeeeeeeeeeeeeeeeereseeeeeseeeeeeeee 57 優先 順位 設定 esiee soss does vos ste nesses ceeieseese ces 57 ラ ラス ター 116 リ リセ ッ ト 動作 eat dearerwie 60/00 hi Gi 685 nin se 142 リフ レッ シュ モー ドレ ジス ター 38 2 割当 て 指定 PP で CCCPCPCCCPCLCPCDDLCCCCCCOCCCCCLDDCOO 57 制 込み me 127 割込み 機能 A 9 割込み コン トロ ー ラ ee 41,130 割込み コン トロ ー ル 回 路 制 御 ポ ー ト ………… 131 割込み テー ブル easeesesesaseseeoeseeeessesessseeeees 131 割込み ベク ター 15,130 割込み マス クボ ポ ボート 132 割込み モー ド 変 更 で ore 38 ワン ショ ッ ト タ イマ ーー ドド ーー ビー 133 359 ご 注意 1) 本 書 の 一 部 又は 全部 に つい て 個人 で 使用 する ほか は , 著作 権 上 , 帆 ビ ー・ エ ヌ ・ エ ヌ の 承諾 を 得 ず に 無断 で 複写 , 複製 する こと は 禁じ し られ て お り ま す 。 (2) 本 書 に つい て の 電話 に よる お 問合せ に は 一 切 応 し られ ませ ん 。 質 問 等 が ど ざ いま し た た ら , 往復 は が き 又 は 切手 ・ 返 信用 封筒 を 同封 の 上 , 弊社 まで お 送り 下さ る よう お 願い いた し ます 。 (3) 内 容 に 関す る 責任 は 帆 ビ ー・ エ ヌ ・ エ ヌ に あり ます の で , 内 容 に 関し て メー カー 等 に 直接 問 合 わ せる こと は 御 遠 慮 下さ い 。 乱 T, 落丁 本 は ご 面倒 で す が 上 弊社 営業 宛 に 御 送付 下さ い 。 送 料 弊 社 負 担 に て お 取 替 い た し de PC-88VA テク ニカ ル マ ニ ュ ア ル 定価 3,500 円 発行 1987 年 6 月 25 日 初版 発行 著 者 シス テム ソフ ト 監 修 ビー・ エ ヌ ・ エ ヌ 第 2 企画 部 編 発行 人 樺島 正博 発行 所 株 式 会 社 ビ ー・ エ ヌ ・ エ ヌ 〒102 東京 都 千 代田 区 麹町 4-5 紀尾井 町 レジ デン ス 5F 電話 営業 部 : 03-238-1321 編集 部 : 03-238-1322 装 。 帆 NICK 印刷 所 壮 光 舎 印刷 ⑥ 〇 BNN corp. 1987 Printed in Japan ISBN4-89369-024-8 C3055 \3500E かな で も ィ に 日 ada FE を ra ミク 4 INEC バ ー ソ ナル コン ピュ ー. PC8800 コ リー ズ ~ に 4 = 人 OO OO ll mili) ISBN4-89369-024-8 C3055 ¥3500E 定価 3,500 和 円 ーー 8 きき 計 RU II