┌────────────────────────────────────┐ │ │ │ X68000 環境選択プログラム chgsys.x Version 1.1 │ │ │ │ 22 May 1994 中村高弘 │ │ 改定 27 Oct 2000 │ │ │ └────────────────────────────────────┘ ◎はじめに  みなさんはX68000をどういう環境で動かしていますか。い つも同じ環境でCONFIG.SYSとAUTOEXEC.BATは1つで十分という人は 少ないでしょう。多くの人は使用目的に合わせて複数のCONFIG.SYS とAUTOEXEC.BATを使い分けているのではないでしょうか。では、そ の使い分けはどのように行っているのでしょう。HDを複数の領域 に分けてそれぞれにシステムを入れる人もいれば環境を切り替える 都度CONFIG.SYSとAUTOEXEC.BATを書き換える人もいるでしょう。私 の場合は "sysmenu.x"(いろもの物理学者氏作)をこれまで使って いました。  しかしながら"sysmenu.x"はデバイスドライバではないため、 Shiftkeyモードで使った場合どうしてもシステムを切り替えるのに 時間がかかります。そこで、デバイスドライバとして登録できるも のを作りました。なお、本バージョンより "sysmenu.x"のALWAYS モードに相当する機能も追加しました。 ◎何をするプログラムか  このプログラムは複数のCONFIG.SYSとAUTOEXEC.BATの内容をある 一つのファイルにまとめておくことによりCONFIG.SYS/AUTOEXEC.BAT の切り替えをスムーズに行うためのものです。早い話、"sysmenu.x" のまねっこです。 ◎インストール (1) A:\SYSにchgsys.xをおきます。 (2) A:\chgsys.datというファイルを作ります。chgsys.datの記述 形式は後述します。 (3) 現在のconfig.sysの先頭行に DEVICE = \SYS\CHGSYS.X の1行を付け加えるか、コマンドラインからchgsys.xを -n オ プションをつけて実行します。 これで完了です。 また、必要に応じてA:\chgsys.optを作ることもできます。 ◎使用方法  電源ON時またはリセット時に起動キー(デフォルトではシフト キー)を押し続けるか、コマンドラインからchgsys.xを直接実行し ます。すると環境選択画面が現われますので希望する環境を選択後、 リターンキーかスペースキーを押してください。CONFIG.SYSと AUTOEXEC.BATを選択した環境に書き換えた後、リセットをかけます。 ◎オプション  デバイスドライバとして使用する場合、以下のオプションを指定 できます。 /S :環境選択画面を出すための起動キーとして  SHIFTキーを指定します。 /C :起動キーとしてCTRLキーを指定します。 /H :起動キーとしてHELPキーを指定します。 /XF1 :起動キーとしてXF1キーを指定します。 /XF2 :起動キーとしてXF2キーを指定します。 /XF3 :起動キーとしてXF3キーを指定します。 /XF4 :起動キーとしてXF4キーを指定します。 /XF5 :起動キーとしてXF5キーを指定します。 /A :必ず環境選択画面を出します(Alwaysモード)。 ★無指定時はchgsys.optでの指定に従います。  コマンドラインから実行した場合、以下のオプションを指定でき ます。 -r :環境を選択してCONFIG.SYSとAUTOEXEC.BATを書き換えた  後、リセットをかけます。デフォルト指定です。 -n :環境選択後、リセットをかけずにそのままコマンドライ  ンに戻ります。 -d :CONFIG.SYSを書き換える際に、先頭行(正確には2行目)に DEVICE = \SYS\CHGSYS.X  の一行をいれます。デフォルト指定です。 -c :-d オプションの処理を禁止します。 -mn :CONFIG.SYS/AUTOEXEC.BATをchgsys.datのn番目の環境に  書き換えます。(n=0〜9) -h,-? :オンラインヘルプを表示します。 -ks :/SオプションをつけてCONFIG.SYSに登録します -kc :/CオプションをつけてCONFIG.SYSに登録します -kh :/HオプションをつけてCONFIG.SYSに登録します -k1 :/XF1オプションをつけてCONFIG.SYSに登録します -k2 :/XF2オプションをつけてCONFIG.SYSに登録します -k3 :/XF3オプションをつけてCONFIG.SYSに登録します -k4 :/XF4オプションをつけてCONFIG.SYSに登録します -k5 :/XF5オプションをつけてCONFIG.SYSに登録します -ka :/AオプションをつけてCONFIG.SYSに登録します ★-kオプションを指定しない場合、起動キーのオプション  をつけずにCONFIG.SYSに登録します。 ★デバイスドライバとして使用時に環境を切り替えた場合、起動  キーのオプションは現在のものがそのまま継承されます(つま  り/XF1で起動したのなら環境切り替え後も/XF1が指定されると  いうこと)。したがって、起動キーのオプションを変更したい  場合は直接CONFIG.SYSを書き換えるかコマンドラインから実行  して下さい。 ◎chgsys.datの記述形式について  chgsys.datはsysmenu.cnfと同一の形式ですので現在sysmenu.xを 使っている人はsysmenu.cnfをそのままリネームするだけでよいで す。  chgsys.datは各環境を1ブロックとして記述します。1ブロック あたりの形式は以下の通りです。 -----------------------ココカラ---------------------- *デバイスドライバなしの環境 |行頭に*があるとタイトルです。 FILES = 20 |2行目からconfig.sysの BUFFERS = 30 |内容です。 BELL = \SYS\BEEP.SYS | SHELL = \COMMAND.X /P /E:10 | ~ |区切り文字です。 PATH = A:\;A:\bin;A:\usr\bin |ここからautoexec.batの PROMPT = $p$g |内容です。 ~ |ブロックの終了区切りです。 -----------------------ココマデ--------------------- 要は、 *1番目のタイトル 1番目のCONFIG.SYS ~ 1番目のAUTOEXEC.BAT ~ *2番目のタイトル 2番目のCONFIG.SYS ~ 2番目のAUTOEXEC.BAT ~ : : : *最後のタイトル 最後のCONFIG.SYS ~ 最後のAUTOEXEC.BAT ~ [EOF] となっていればいいわけです。chgsysでは行頭に*、~が書かれてい る場合は区切り文字とみなしますので注意してください。  登録ブロック数の上限は10ブロックです。それ以上登録しても 最初の10ブロックしか認識しません。 ◎chgsys.optについて  chgsys.xではデフォルトのオプション指定がオプション記述ファ イルによって変更可能になってます。デフォルトオプションはルー トディレクトリのchgsys.optによって設定されます。  chgsys.optでは、 keyword = parameter のように記述します。keywordは大小文字を区別しません。また、行 頭が"#"である行はコメント行とみなします。 Hotkey : デフォルトの起動キーを定義します。 Shift Control Help XF1 XF2 XF3 XF4 XF5 Always のいずれかを指定します。未定義の場 合はShiftキーです。 Reset : -r,-nオプションのデフォルトを定義します。  ONかOFFを指定します。ON時は-rオプション、  OFF時は-nオプションをデフォルト指定にしま  す。未定義の場合はONです。 Device : -d,-cオプションのデフォルトを定義します。  ONかOFFを指定します。ON時は-dオプション、  OFF時は-cオプションをデフォルト指定にしま  す。未定義の場合はONです。 Reset2 : デバイスドライバとして起動した場合に、環境を  書き換えた後リセットするかどうかを定義します。  ONかOFFを指定します。未定義の場合はONです。  これにより、制限つきながらリセットをかけるこ  となしに環境を変更することができます。 Default : 起動キーを押さない場合に立ち上げる環境を定  義します。0〜9のいずれかを指定します。未定  義の場合は現在の環境で立ち上げます。 Timer : タイマー起動した際に立ち上げる環境を定義しま  す。-1〜9のいずれかを指定します。-1を指定した  場合や未定義の場合は何もしません。  この項目を設定する場合には"Default"も一緒に  指定した方が使いやすいでしょう。  また、拙作「小人さん」と併用すると更に便利に  なると思います。 ◎リセットなしでの環境変更について  chgsys.opt中に、"Reset2=OFF"を記述することでリセットをかけず に環境を変更することができます。ただし、これには非常に制約が伴 いますのでおまけ程度に考えてください。  HUMAN.SYSはCONFIG.SYSの定義文を読み込む順番が決まっており、 FILES,BUFFERS,LASTDRIVE,TITLE,KEY,USKCG BREAK,VERIFY,NEWFAT,BELL,SHARE,COMMON,PROCESS DEVICE,ENVSET,PROGRAM SHELL の順に処理されます。従って、本機能によって環境を変更した場合、 FILES〜PROCESSまでは処理されません(変更前の環境で処理されてい ます)。変更されるのはDEVICE文、ENVSET文、PROGRAM文、SHELL文の みです。  逆に言えば、FILES〜PROCESSまではどの環境も共通で、DEVICE〜 SHELLのみが異なるという人にとっては本機能を使うことで環境変更 後のシステム立ち上げを早くできます。 ◎デフォルト環境の指定について  chgsys.opt中に、"Default=n"(nは0〜9のいずれか)を記述するこ とで起動キーを押さない場合の環境を指定することができます。処理 シーケンスは以下の通りです。   起動キーが押されていない場合 A:\chgsys.$$$が存在するかどうかチェックする。 ・存在しない場合:環境が既にデフォルト環境になっている場  合はそのまま処理を続行。なっていない場  合は環境をデフォルト環境に変更後、  A:\chgsys.$$$を作成してリセットをかける。 ・存在する場合 :A:\chgsys.$$$を削除して処理を続行。   起動キーが押された場合 環境を指定の環境に変更後、A:\chgsys.$$$を作成してリセッ トをかける。  なお、環境がデフォルトの環境になっているかどうかについては CONFIG.SYS先頭のREM行の文字列をCHGSYS.DAT内の文字列と比較し、 一致しているかどうかで判定しています。従ってREM行は書き換えな いようにして下さい。 ◎Alwaysモードについて  本バージョンより起動時に必ず環境選択メニューを出すモードを追加 しました。ただし、タイマー起動した場合はこの機能は無効です。 ◎無保証  このプログラムは正しく動作することを期待して作られています が、何らかの原因で不具合いを生じる可能性があります。このプロ グラムを使用したことによって、もしも何らかの損害が生じたとし ても作者は一切の責任を負いません。 ◎ライセンス GPL2に従います。 ◎謝辞  本プログラムの開発には以下のソフトウェアを使用しました。作 者諸氏に深く感謝致します。 X68000 XC コンパイラ ライブラリVer 2.00 SHARP/Hudson GCC Ver 1.13 Tool#1(X68) Based on 1.42 真里子さん EDT.X v1.54 いろもの物理学者さん High-speed Assembler v2.35sx Y.Nakamuraさん X68k SILK Hi-Speed Linker v2.24 SALTさん  また、本プログラムについて様々なご要望やご意見を下さったす べての方々に深く感謝致します。 ◎連絡先 E-Mail: harrier@mwe.biglobe.ne.jp