テク = 才 マ ニュ
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