67home  →69
68 2002年1月21日

郷愁のきゅーはち(2)Windows98のMS-DOS
 

さて、エミュレータ編です。

取り上げるのは、T98-NEXT。 http://www.pc98x1.net/%7Et98next/ にあります。

おしゃれなサイトなのでわかりにくいですが、小さな文字でDownLoadとあると思います。

2001年12月5日現在でnext_rb122.lzhです。

これを解凍して、起動すると、
 
 










ここで左上の「電源」を入れます。
 
 

上がT98-NEXTのエミュレーション情報です。T98-NEXTはPC-9821のエミュレータです。
 
 

BIOSのエミュレートもしているので、実機のBIOSが無くてもメモリの容量を量っています。
しかし、システムディスクはないので、前回なら

となるとことですが、実機ROMが無いので










と表示されます。

で〜問題はDOSが無い!
 

さて、実機を持っている人は当然、MS-DOSも持っているはずなので問題ないんですが、実機を持っていない人は、ここで何らかの手段でMS-DOSを入手する必要があるわけで〜。。。。しっかし、いまさらMS-DOSをお金を出して買うか?という話もあったりして・・・・
 

で、Windows98のUpgrade版CDを持っている人に朗報です。Upgrade版はAT互換機、NEC PC98ともに共通の1枚のCDに納められています。
 
 


@@@@@@@@






ということで〜。Upgrade CDからNEC98用のDOSを取り出します。

Upgrade版CDをパソコンに挿入しましょう。

win98nというフォルダ(ディレクトリ)があります。これがNEC PC-98用のファイル群です。
(win98というディレクトリがAT互換機用です)

エクスプローラでwin98nのフォルダを開き、その中の

Base5.cab

というファイルをダブルクリックします。
 
 

このような画面が現れます。(現れなかったら場合は後で。。。)
 

その中のというファイルを再びダブルクリック。すると
 


 

と表示されますので、適当な場所を指定します。ここではC:\tempに保存することにします。
そして、保存した

winboot.sysをio.sysとリネーム
 

します。(MS-DOSに詳しい人は後は言わずもがな、でしょう)

同様に、Base5.cabにある、command.comをC:\tempに「抽出」。

さらに、Windos98(無印)なら、Win98_23.cab、Windows98 2nd EditionならWin98_22.cabにある、sys.comをC:\tempに抽出。
 

ブートFD作成には、上の3つのファイルでOKです。
 

さて、フロッピィを用意します。フォーマットされているブランクなものを1枚です。

NECのフロッピィは1.2Mだというのは有名ですが、後期きゅーはちは1.4Mでもブートします。

それをフロッピィドライブに入れます。

そしてMS-DOSプロンプトを立ち上げます。
 

cd \temp と入力してリターン(=エンター)
 

ちょっと確認のため dir でリターン

command.com, sys.com, io.sysの3つがあるはずです。

そこで、sys c:\temp a: と入力してリターン。

めんどうだ!という人は、c:\temp\sys c:\temp a: ←この部分を選択してコピー。

「ファイル名を指定して実行」(スタートボタンから)をクリックし、
 

名前のところに張り付けて、OK! フロッピィに書き込む音ががちゃがちゃし、

と表示されればOKです。

(sysは必ず、win98nのsysを使って下さい。Windows\commandにあるsysではbootしません)
 
 

@@@@@@@@




このような画面が現れます。現れなかったら場合は後で。。。をここでします。
 

それは、多分、マシンのOSが、Windows98のSecond Editionじゃない、1st Edition(?)(あるいはWin95)だろうと思われます。1st Editionでは、cabファイルの処理がエクスプロアラーからはできません。その場合、各自cabを処理することができるソフトを探して下さい。

わたしはLHUT32を愛用しております。(エクスプロアラーで抽出すると、ファイルのタイムスタンプが抽出した日付となりますが、LHUT32なら元の日付を保持します)

そんなの面倒だ!という人は、DOSプログラムでExtract.exeというのがありますので、それをご使用下さい。

DOSコマンドで困った時は /?をつけてエンターです。(Extractの場合は/?をつけてもつけなくてもヘルプを表示します。ということで

Extract /? + Enter(キーを押す)しても、Extract + Enterでも、
 
 

Microsoft (R) Cabinet Extraction Tool - Version (16) 1.00.603.0 (08/14/97)
Copyright (c) Microsoft Corp 1994-1997. All rights reserved.

EXTRACT [/Y] [/A] [/D | /E] [/L dir] cabinet [filename ...]
EXTRACT [/Y] source [newname]
EXTRACT [/Y] /C source destination

  cabinet  - Cabinet file (contains two or more files).
  filename - Name of the file to extract from the cabinet.
             Wild cards and multiple filenames (separated by
             blanks) may be used.

  source   - Compressed file (a cabinet with only one file).
  newname  - New filename to give the extracted file.
             If not supplied, the original name is used.

  /A         Process ALL cabinets.  Follows cabinet chain
             starting in first cabinet mentioned.
  /C         Copy source file to destination (to copy from DMF disks).
  /D         Display cabinet directory (use with filename to avoid extract).
  /E         Extract (use instead of *.* to extract all files).
  /L dir     Location to place extracted files (default is current directory).
  /Y         Do not prompt before overwriting an existing file.

というヘルプが表示されます。(ふつうは日本語表示されますが、extract.exeは日本語化されていないです)

このヘルプをじっくり読みます。何かよう分からんヘルプですが、1行目の書式でいいのでしょう。
 

extract base5.cab command.com エンター。
 

で基本的にはいいのですが、これではbase5.cabが存在するフォルダに抽出されてしまい、そこはCD-ROMなので書込できません。

(extract.exe はwindows\commandフォルダに存在するので、絶対パスを指定する必要はありません)

ということで、書き込む場所を指定します。上のヘルプでは /L オプションを使います。

extract /l c:\tmp d:\win98n\Base5.cab command.com

のようにします。(MS-DOS,Windowsは大文字小文字は区別しません)

他の、winboot.sys, sys.comも同様にやっていただければOKです。
 

え?

面倒だ?

。。。。

う〜ん。

じゃ
 
 
 

@echo off

if "%1"=="/?" goto help
if "%1"=="" goto help
if "%2"=="" goto help

extract /l %2 %1\win98n\Base5.cab winboot.sys
ren %2\winboot.sys io.sys
extract /l %2 %1\win98n\Base5.cab command.com
extract /l %2 %1\win98n\Win98_23.cab sys.com

echo.
echo フォーマットされたブランク・フロッピィディスクを挿入して下さい
echo.
pause

%2\sys %2 a:

goto exit

:help
echo.
echo CD-ROMのドライブ文字と抽出先を指定して下さい。
echo 例)ext d: c:\temp
echo.

:exit

上をコピーしてメモ帳等のテキストエディタで、ext.batの名前で保存して下さい。
(左端と最初の文字の間にスペースが入りますが、問題なく動作しました)
 

(これはWin98用です。Win98 Second Editionをお持ちの方は、Win98_23.cabをWin98_22.cabと書き換えて下さい)
 
 

@@@@@@@@







batは「バッチファイル」の拡張子で、「一括処理」プログラムです。
 

前回の雑記で書きましたが、実行ファイルはcom, exe, batのいずれかの拡張子を持っています。com, exeファイルは「プログラム言語」が無いと書けませんが、batは上のようにテキストファイルで、素人でも容易に書けます。
 

素人でも容易に書けるように、高度なことはできませんが、単純なぶん使いやすくて好きです。

久しぶりだったので、ifの書き方とか、goto文が飛んでいくところを「:」で始めるとか、忘れていましたが・・・・。

ちょっと解説すると、%1 %2 は「パラメータ」=「引数(ひきすう)」と呼ばれます。
 

if "%1"=="/?" goto help
if "%1"=="" goto help
if "%2"=="" goto help

のところは、パラメータが「/?」だったり、無かったり、出力の指定(2番目のパラメータ)
が無かったりしたら「:help」の所へ飛んでいけ、という意味です。
 

で、パラメータが入力されていれば、%1 %2が実際に入力された情報に置き換わるわけです。

つまり上のバッチファイルで、例のように、ext d: c:\tempと入力されると
 
 
 

@echo off

extract /l c:\temp d:\win98n\Base5.cab winboot.sys
ren c:\temp\winboot.sys io.sys
extract /l c:\temp d:\win98n\Base5.cab command.com
extract /l c:\temp d:\win98n\Win98_23.cab sys.com

echo.
echo フォーマットされたブランク・フロッピィディスクを挿入して下さい
echo.
pause

c:\temp\sys c:\temp a:
 

のように置き換わるわけです。

単純でしょ?
 
 

@@@@@@@@








さて、これでNEC用のブートフロッピィができました。

まずは、お試し。

T98Nextを立ち上げて、FD DRIVEの"New"のところをクリックします。
 

そして、1.44Mです。


 

フロッピィを書込禁止にしてくれというメッセージが流れますが、Windows98で作成したフロッピィなので書込禁止にしなくても無事です。

終了したら、T98-NEXTの「電源」をクリックして下さい。
 


 

のように表示されたらOKです。おめでとうございます。
 
 

ちなみにヴァージョンは
 

なんだそうです。
 
 

@@@@@@@@







MS-DOSの基本の使い方も少し解説しましょうか?

今回はcommand.comについて。
 

前回の雑記で

    DOSの基本は「実行ファイルのファイル名を入力してリターン」です。

と書きましたが、正確に言うと上は「外部コマンド」の場合です。

コマンドには「内部コマンド」と「外部コマンド」があります。

内部コマンドとは、command.comの内部に含まれているコマンド、という意味です。
外部コマンドとは、command.comの外部、つまり他の.exe, .comという実行ファイルです。

このブート用のフロッピィ・ディスクには、実行ファイル(com,exe,batの拡張子を持つファイル)は、command.comしかありません。ということは、「外部コマンド」は一切存在しません。

しかしcommand.comの使い方は?

ドスのコマンドで困ったときは「/?」でした。command /?でリターン。すると
 
 

Windows コマンド インタープリタを新たに起動します.

COMMAND [[ドライブ:]パス] [デバイス] [/E:nnnnn] [/L:nnnn] [/U:nnn] [/P] [/MSG]
        [/LOW] [/Y [/[C|K] コマンド]]
  [ドライブ:]パス    COMMAND.COM ファイルの含まれているディレクトリを指定します.
  デバイス          コマンドの入出力に使うデバイスを指定します.
  /E:nnnnn        環境変数領域の初期サイズを nnnnn バイトで設定します.
                  (nnnnn は 256 から 32,768 の間でなければなりません.)
  /L:nnnn         内部バッファのサイズを指定します.(/P スイッチと共に使います.)
                  (nnnn は 128 から 1,024 の間でなければなりません.)
  /U:nnn          入力バッファサイズを指定します.(/P スイッチと共に使います.)
                  (nnn は 128 から 255 の間でなければなりません.)
  /P              新しいコマンド インタープリタを常駐させます.(終了できません.)
  /MSG            メモリ内にすべてのエラーメッセージを記憶します.(/P スイッチと
                  共に使います.)
  /LOW            COMMAND の常駐データを下位メモリに読み込みます.
  /Y              /C か /K でバッチファイルを実行したときに 1 行ずつ確認します.
  /C コマンド        指定されたコマンドを実行し, 戻ります.
  /K コマンド        指定されたコマンドを実行し, そのまま戻りません.
 

なんや、わけわかりません。私もわかりません。(最後の2行は以前、雑記24で話題にしましたが。。)
 

command.comは別名shell programともいいますが・・・というより正確には、MS-DOSの純正シェル・プログラムがcommand.comで、私は試してませんが、フリーソフトでcommand.com以外のシェルプログラムも存在します。

話、ややこしくなりましたが、ドス・プロンプトで(何もない真っ黒な画面で)、例えば

giggle + return (giggleとタイプしてリターンキーを押すという意味です)

とすると、

まずgiggleという情報がシェルプログラムのcommand.comに伝わります。シェル=貝殻プログラムとは、command.comを介さなければ貝殻の内側の貝には到着しない、みたいなニュアンスのネーミングのようです。人間がキーボードで入力した情報はまず、command.comという「貝殻」にぶつかるのです。

command.comはgiggleというコマンドがcommand.comの内部にあるかどうか調べます。あれば実行します。

なければ、command.comはgigle.com, giggle.exe, giggle.batという実行ファイルが存在するかどうか、調べます。

あればそのファイルを実行します。見つからなければ、「コマンドまたはファイル名が違います.」というメッセージを出す。

という仕組みです。
 
 

@@@@@@@@






さて、私が覚えている「内部コマンド」は。。。

dir   ファイル・ディレクトリを表示します。

よく使うのはこれだけ。

まずまず使うのが

cd    ディレクトリを移動します。change directoryの略です。

ときどき使うのが

cls   画面をクリアします。
del   ファイルを削除します。deleteです。ワイルド・カードつきで時々使います。
   拡張子がbak(バックアップファイル)を削除するときに、del *.batとか。
   これは時としてGUIより段違いに便利です。
 

ほとんど使わないのが

copy  文字通り複写ですが。ファイル名の入力が鬱陶しくて、もっぱらファイラに頼ります。
md    make directory。新しいディレクトリを作ります。これもファイラ頼み。
rd    remove directory。ディレクトリを削除します。このコマンド忘れてました。
path  ふつうはautoexec.bat内で使いますが、時にプロンプトで使ったりします。
type  ファイルの内容を表示します。
date  日付を設定します。
time  時間を設定します。
ver   versionを表示します。
 

バッチファイルの中だけで使うものもあります。
上で使ったgotoとかecho,pause、callとか。shiftやforって何のこと?
 

break, verify, lock, unlockは一度も使ったことがありません。
 
 

@@@@@@@@

さて、めでたく


 

のような画面が出たとはいえ、ほとんどすることはありません。

md are + return (areというディレクトリを作り)

cd are + return (areというディレクトリに移動)

とかしても、すぐに飽きます。

dir /?して、パラメータの使い方とか練習しても、最初は(人によったら)感動するかもしれませんが、これも飽きます。
 
 


@@@@@@@@




う〜ん、何すんの?

って言うと、ふつうの人はもちろん、プログラムを動かすのです。

OSだけあったって、何もできない。(ま〜最近のOSはインターネットブラウザなんかが付属していたりしますが。。。)

NECのプログラムって言ったって、私みたいに実用ソフトを使い続けている人はのぞき、これからきゅーはちをつついて見ようかという場合には、当然
 

ゲームじゃ、ゲームじゃ!
 

ということで〜、ベクターのdosのゲームでもダウンロードして見て下さい。
 

 http://www.vector.co.jp/vpack/filearea/dos/game/index.html

がゲームの場所です。
 

青海とか、おすすめです。(http://www.vector.co.jp/soft/dos/game/se001370.html
(ゲームをクリアしたとたん画面が凍りますがNext98は生きているんで。。。)

他には、UNIX原産のさめがめとか(これマック版もあります)

あ〜。DOS版のLHA解凍方法が分からない方はwindows上で解凍してからご使用いただければ。。。。
 
 

@@@@@@@@






まあ、腕に覚えのある人は、後はcabファイルの中からdosで使うファイルを抽出していけばそれでいいのですが、そんな人は元々NECのDOSを持っているはずなので、そもそもWinodws98のDOSなんか必要ないはず。。。。
 

ということで、次回は、そのほかのファイル群をcabから抜き出す話になる予定でございます。

ではでは
 
 


67home  →69