-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpc9801.htm
213 lines (164 loc) · 15.5 KB
/
pc9801.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<HTML>
<HEAD>
<TITLE>fnami: PC-9801</TITLE>
</HEAD>
<BODY>
<H1>NEC PC-9800シリーズに関するQ&A</H1>
PC-9800シリーズに関する疑問をQ&A形式でまとめてみました。まだまだ少ししかありませんが、間違いや補足、追加してほしい項目などがありましたらお知らせください。
<UL>
<LI><A HREF="#1">PC-9801またはPC-9821の後についている英数字の意味は?</A>
<LI><A HREF="#2">固定ディスク起動メニューを出すには</A>
<LI><A HREF="#3">ハードディスクをドライブCにするには</A>
<LI><A HREF="#4">SCSIハードディスクのドライブ名を先にするには</A>
<LI><A HREF="#5">^Pの禁止</A>
<LI><A HREF="#6">PC-9821とは何か?</A>
<LI><A HREF="#7">ディップスイッチ3-1と3-2の役割は何か?</A>
<LI><A HREF="#8">ディップスイッチ1-3の役割は何か?</A>
<LI><A HREF="#9">16Mバイトシステム空間とは</A>
<LI><A HREF="#10">なんとか+リセットはどれくらいあるのか?</A>
<LI><A HREF="#11">Windowsキーとアプリケーションキーのキーコードを取得する方法</A>
</UL>
<HR>
<H2><A NAME="1">PC-9801またはPC-9821の後についている英数字の意味は?</A></H2>
最近(1995年春以降)の機種は、シリーズ名、CPUのクロック周波数(10MHz単位)、「/」の後にハードディスクの容量(100MB単位)となっており、比較的わかりやすい。「/」の直後に英大文字が入っていることもあるが、これの意味はよくわからない。PC-9821Xaシリーズでは、C→K→R→Wと変化している。また、PC-9821Ra,Rv,Rsシリーズでは、NがWindows NTインストールモデル、WがWindows 95インストールモデルとなっている。ノート型では、Sが800×600ドット、Xが1024×768ドット、DがDSTN液晶を意味するようだ。
<P>例: PC-9821Xa10/C12は、クロック100MHz、ハードディスク1.2GB
<P>シリーズ名は、英字で1または2文字だが、PC-9801だと全部大文字、PC-9821だと2番目だけ小文字になる。これの意味の解釈はここでは触れない。
<P>もし「/」の前の数値が3桁なら、CPUはMMX対応Pentumであり、数値はMHz単位のクロック周波数を表す。また、CPUがPentiumIIの機種は、シリーズ名の後にIIがついていたが、いつの間にかMMX対応Pentiumと同様の表記になってしまった。
<P>PC-9821VとPC-9821Xcは例外で、「/」の後の英字は、Sがデスクトップ、Mがミニタワーを意味し、その後がZならディスプレイなし、5なら15インチディスプレイ付き、7なら17インチディスプレイ付きである。
<P>それより前で1993年以降の機種は、シリーズ名、世代(なし、2、3)、「/」の後にFDDの大きさとCD-ROMドライブの有無を表す英字(M: 5.25インチ、U: 3.5インチ、C: 3.5インチでCD-ROMドライブつき)、FDDの数とハードディスクの容量を表す数字(後述)となっていた。この後にWがつくと、それはWindowsインストールモデルであり、TがつくとMatrox社製のウィンドウアクセラレータボード内蔵である。なお、ノート型は、ハードディスクの容量がMB単位ではいるなど、特殊である。
<P>例: PC-9821Ap2/U8Wは、Ap無印の後継、3.5インチFDD、ハードディスク340MB、Windowsインストール済み
<P>さらに前は、シリーズ名、FDDの数とハードディスクの容量を表す数字(後述)、世代(なし、1、2)であった。細かく見ると、FDDの大きさがシリーズ名に含まれていた1989年以前と、3.5インチの場合はシリーズ名と数字の間に「/U」をはさむ1990年以後に分けられる。
<P>例: PC-9801FA/U2は、3.5インチFDD×2<BR>
例: PC-9801VX21は、VXの後継、5.25インチFDD×2<BR>
<P>FDDの数とハードディスクの容量を表す数字の意味は次の通りである。
<PRE>0 ディスクなし
1 FDD×1
2 FDD×2
3 FDD×1 HDD:10MB
4 FDD×2 HDD:20MB
5 FDD×2 HDD:40MB
6 FDD×1 HDD:80MB
7 FDD×1~2 HDD:100~210MB
8 FDD×1 HDD:240~340MB
9 FDD×1 HDD:510~540MB
10 FDD×1 HDD:1GB
</PRE>
<P>PC-8800シリーズには、PC-88VA3という、5.25インチFDD×2と9.5MBのFDD×1という機種もあった。
<H2><A NAME="2">固定ディスク起動メニューを出すには</A></H2>
自動起動にしてしまったなどで、固定ディスク起動メニューが出なくなってしまったら、TABキーを押しながらリセットすればよい。押し方のコツは次の通り。
<DL>
<DT>ルーズな人向け
<DD>ピピピピと音がするまでTABキーを押し続ける。
<DT>几帳面な人向け
<DD>メモリチェックが終わった後、ハードディスクを読むまでの間にTABキーを一回押す。
</DL>
ただし、ハードディスクに起動可能な領域を複数作る必要がある。
<H2><A NAME="3">ハードディスクをドライブCにするには</A></H2>
MS-DOSの場合は、フリーソフトの<A HREF="http://www.vector.co.jp/vpack/filearea/dos/util/disk/index.html">PATCH IO</A>を使って、IO.SYSを書き換えるとよい。Windows 95の場合は、SETUP /ATとしてインストールすると、ドライブAになっていたハードディスクの領域が、Windows 95起動後はドライブCになる。フリーソフトの<A HREF="http://www.vector.co.jp/vpack/filearea/win95/util/disk/index.html">Win95ドライブ割付順序の変更</A>を使うと、インストール後でも変更できる。
<P>MS-DOSの場合には、IO.SYSのオフセット00B5hを書き換える方法もあるが、SCSIハードディスクが認識されなくなるなどの問題が出る。
<H2><A NAME="4">SCSIハードディスクのドライブ名を先にするには</A></H2>
IDEハードディスクとSCSIハードディスクを同時に使っていると、どちらのハードディスクで起動しても、IDEハードディスクのほうが早いドライブ名がつく。SCSIを優先するには、フリーソフトの<A HREF="http://www.vector.co.jp/vpack/filearea/dos/util/disk/index.html">PATCH IO</A>を使えばよい。Windows 95では、フリーソフトの<A HREF="http://www.vector.co.jp/vpack/filearea/win95/util/disk/index.html">Win95ドライブ割付順序の変更</A>を使えばよい。
<H2><A NAME="5">^Pの禁止</A></H2>
準備中
<H2><A NAME="6">PC-9821とは何か?</A></H2>
PC-9821と名がつけば必ず拡張グラフアーキテクチャ(Windowsなしで、640×480ドット256色を表示する機能)を持つかというと、そうではない。PC-9821Be,Bs,Bp,Bf,Ts,Ne2,Ndは拡張グラフアーキテクチャを持っていない。逆に、PC-9801BX4は持っている。あまりはっきりしたものではなさそうだが、Windows用に設計したら9821ということか。
<H2><A NAME="7">ディップスイッチ3-1と3-2の役割は何か?</A></H2>
このディップスイッチを切り替えると、最初は「自動」になっている内蔵FDDを、1MBモード固定または640KBモード固定として使える。しかし、MS-DOS3.1以降やWindowsを使っている限り、モードを固定していても、1Mバイトタイプ(2HD)と640Kバイトタイプ(2DD)のどちらのフロッピーディスクからも起動できるし、起動後にどちらのフロッピーディスクも読み書きできる。
<P>では、自動とは何が自動なのかというと、フロッピーディスクで起動したときに、ディスクの種類によって、FDDのつながるインターフェースを自動で切り替えるのである。これは、2DDと2HDの両用ドライブがなかった頃のソフトを使うためで、ソフトが640KBインタフェースや1MBインタフェースを直接操作しても、正しく動作するようになっている。
<P>もともとPC-9800シリーズには、640KBタイプと1MBタイプの2種類(320KBを含めると3種類になるがこれは除外)のFDDインタフェースボードがあって、それぞれに4台までのFDDをつなぐことができた。もちろんこの二つは、I/Oポートや、割り込み番号、DMAチャンネルが異なり、BIOSに与えるデバイスアドレスも違う(表参照)。両用ドライブを持つ機種(PC-9801VM2以降)では、これらのインタフェースボードと互換性のあるインタフェースを内蔵し、起動時にどちらか一方が有効になるようになっている。起動後は切り替わらない。どちらのインタフェースでも、ソフトが対応していれば、両方のタイプのディスクを読むことができる。MS-DOSだと、Version 2.0(文節変換対応)以降が両用ドライブに対応している。</P>
<TABLE BORDER>
<TR>
<TH>インタフェース</TH>
<TH>FDCのI/Oポート</TH>
<TH>DMAチャンネル</TH>
<TH>割り込み</TH>
<TH>デバイスアドレス</TH>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=3>1MB</TD>
<TD ROWSPAN=3>90h,92h</TD>
<TD ROWSPAN=3>2</TD>
<TD ROWSPAN=3>IRQ11(INT42)</TD>
<TD>9xh(1MBタイプ)</TD>
</TR>
<TR ALIGN=CENTER>
<TD>1xh(640KBタイプ)</TD>
</TR>
<TR ALIGN=CENTER>
<TD>3xh(1.4M)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=2>640KB</TD>
<TD ROWSPAN=2>C8h,CAh</TD>
<TD ROWSPAN=2>3</TD>
<TD ROWSPAN=2>IRQ10(INT41)</TD>
<TD>7xh(640KBタイプ)</TD>
</TR>
<TR ALIGN=CENTER>
<TD>Fxh(1MBタイプ)</TD>
</TR>
</TABLE>
<P>モードを自動でなく固定にするメリットは次の通りである。
<UL>
<LI>使用していないほうのDMAや割り込みを開放することができる。
<LI>使用していないほうのフロッピーディスクインタフェースボードを拡張スロットに取り付けることができる。
<LI>フロッピーディスクからの起動が少し速くなる。
</UL>
最後について少し補足する。自動(スイッチは両方OFF)のときに2DDのフロッピーディスクで起動すると、2HDでブートセクタ読み込み(失敗)→2DDでブートセクタ読み込み(成功)→モード切り替え→ブートセクタのコードが引き続くセクタを読み込む、という動作をする。モード切り替えには1秒ほど時間がかかる。2HD固定にしておくと、モード切り替えがなくなるぶん速くなり、2DD固定にしておくとさらに、読み込み失敗がないぶん速くなる。
<P>この機能が不完全な機種もある。98ノートでは、調べた機種ではすべて、ディップスイッチ3-1と3-2は未使用となっていて、ONにすることはできなかった。また、2DDのフロッピーディスクで起動すると、FDDのインタフェースが640KBモードになるものと、1MBモードのままのものがあった。
<PRE>PC-9801NA 自動
PC-9821Lt2 自動
PC-9821La10 1MB固定
PC-9821St15 1MB固定
PC-9821Xv13 1MB固定
PC-9821Xc13 1MB固定
</PRE>
<H2><A NAME="8">ディップスイッチ1-3の役割は何か?</A></H2>
ディップスイッチの1-3は、PC-9801U2以降でプラズマディスプレイを使用するときにONにするものだが、98ノートなどでは未使用となっている。しかし、これには別の働きもあり、プラズマディスプレイを使わなくても有効である。PC-9800シリーズのテキスト画面は、グラフィック画面と重ねて表示したときに1ドット左にずれているが、これをONにして(未使用の機種でもONにできる)起動すれば、テキスト画面は正しく重なる。
<P>なお、ポート6Ahに41hを出力しても、テキスト画面を正しく重ねることができる。ずれた状態に戻すには、40hを出力する。
<H2><A NAME="9">16Mバイトシステム空間とは</A></H2>
15~16Mの間のメモリ空間(物理アドレス00F00000h~01000000h)をいうようだ。HELPキーを押しながらリセットすると出るメニューで、16Mバイトシステム空間を「使用する」にしておくと、使えるメモリが1MB減少する。このメモリ空間には、拡張グラフアーキテクチャのVRAMや、純正のウィンドウアクセラレータボードB(Aもか?)のVRAMが出現する。Windowsでこれ以外のグラフィックボードを使っているときは、16Mバイトシステム空間を「切り離す」にしても、たいていは問題ない。
<P>問題になるのは次の場合である。
<UL>
<LI>拡張グラフアーキテクチャを使うプログラムのうち、16Mバイトシステム空間を利用するものは動作しない。
<LI>Windows 95のMS-DOSプロンプトで、拡張グラフアーキテクチャを使うプログラムを走らせているときに、MS-DOSプロンプトをウィンドウ表示からフルスクリーン表示に切り換えると、例外が発生し、さらに、Windows 95に復帰できずにハングアップしてしまう。
</UL>
<H2><A NAME="10">なんとか+リセットはどれくらいあるのか?</A></H2>
98本体に関するものだけでこれくらいある。
<DL>
<DT>[STOP]+リセット
<DD>ウォームブート
<DT>[CTRL]+[SHIFT]+[STOP]+リセット
<DD>[COPY]キーを押すと、メモリイメージをフロッピーディスクに書き出す。(PC-9801VX以降)
<DT>[HELP]+リセット
<DD>システムセットアップメニュー、または98NOTEメニューを表示する。(PC-9801RX以降)
<DT>[COPY]+リセット
<DD>オートモード(RAMドライブのある機種のみ)
<DT>[CTRL]+[SHIFT]+リセット
<DD>初期状態に戻す。(PC-9801RX以降?)
<DT>[CTRL]+[CAPS]+[カナ]+[GRPH]+リセット
<DD>動作クロックなどを表示する。(PC-9801RX以降)
<DT>[GRPH]+[1]+リセット
<DD>水平周波数24kHz(拡張グラフアーキテクチャを持つ機種)
<DT>[GRPH]+[2]+リセット
<DD>水平周波数31kHz(拡張グラフアーキテクチャを持つ機種)
<DT>[ESC]+[HELP]+[1]+リセット
<DD>BIOSのバージョンを表示(フラッシュメモリのBIOS ROMを持つ機種?)
<DT>[ESC]+[HELP]+[8]+リセット
<DD>BIOSの書き換え準備(フラッシュメモリのBIOS ROMを持つ機種?)
<DT>[ESC]+[HELP]+[9]+リセット
<DD>BIOS状態初期化?
</DL>
<H2><A NAME="11">Windowsキーとアプリケーションキーのキーコードを取得する方法</A></H2>
Windows 95で追加されたWindowsキーとアプリケーションキーのあるキーボード(PC-9801-119)を接続して、追加のキーのキーコードを通常の方法で取得しようとすると、キーを押しても何も送られて来なくて、うまくいかない。実は、このキーボードにはモードがあって、最初は追加のキーが無効になっている。UNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編の<A HREF=https://www.webtech.co.jp/company/doc/undocumented_mem/io_kb.txt>キーボードインタフェース</A>に載っている、拡張キー設定コマンドを使う必要がある。
<P>このコマンドを、キーボードへの下りコマンドの送信方法に従って送ると、追加のキーが有効になる。さらに、左右のシフトキーを区別できるようになる(右SHIFTのキーコードが変わる)。キーコードは以下のとおりである。
<TABLE BORDER>
<TR ALIGN=CENTER><TH>キー<TH>キーコード
<TR ALIGN=CENTER><TD>左Windows<TD>77h
<TR ALIGN=CENTER><TD>右Windows<TD>78h
<TR ALIGN=CENTER><TD>アプリケーション<TD>79h
<TR ALIGN=CENTER><TD>左SHIFT<TD>70h
<TR ALIGN=CENTER><TD>右SHIFT<TD>7Dh
</TABLE>
</BODY>
</HTML>