*** ジャンクプログラムとは ***

 ここでは、プログラムを練習するために書いたような自作ツール(要するにテストプログラム)を置いておこうと思います。どれもわざわざ公開するほど有用なものではありません。・・・にもかかわらず、説明にはえらそーなことも書いてあります(汗)。
 本来、プログラムの公開にはバグ修正などのリスクがあり、よほど有用でもないものをわざわざ公開するのは危険かもしれません。しかし単純なものであれば、同レベルのプログラミング初心者には有用かもしれませんし、ちょっとした提案を熟練者に示す場となるかもしれません。そうした所以から、本プログラムの無保証・無責任を理解して使ってほしいというものです。こんなんだったら自分のほうがもっといいもん公開できるぞ、などと思っていただければ幸いです。(汗;
 実際、一応ソースもつけていますが、コメントなどは無いかもしれません(殴)。
 もちろん将来的には、今では役に立たないような特定の古いPCで役立つようなツール類を(記事連動で)充実できたらいいな、と思っています。
 現時点では、昔作った関係ないものも、コンテンツが充実するまでは、試しに置いておきます。
 結局のところBASICやDOSバッチからちょっとした機械語ルーチンを呼び出す程度のプログラミング技術しかないことは、見ればわかると思います。(^^;;)


対象

名称

Ver.

更新日

概要

・DOS専用

DOS/V

OtriKey/V

1.00

2009/05/27

フリーFEP『鳳』用キーチェッカ

・DOS用(IPL-DOS対応)

DOS汎用

DCX

0.02

2020/11/18

DC.COM用CPU判別ヘッダ

PC-98

HEXP

1.01

2004/05/16

EIF-98AW用ForceHDDパラメータチェッカ

PC-H98

H98C

1.05

2003/07/18

H98用標準CPUキャッシュコントロール

DOS汎用

IOR

1.02a

2003/07/18

バッチファイル用 I/Oポートリーダ

→IOR付属(PC-98・DOS専用)

SND.BAT

PC-98サウンド種別判定

・DOS/IPLware兼用

DOS汎用

ROMSKIP C3

0.08b

2019/11/26

C3/CyrixIII/WinChip用ツール FDローダ対応

DOS汎用

PCIPL

0.22a

2007/03/02

PCIレジスタ書換えツール

DOS汎用

ROMSKIP MMX

0.02

2020/11/07

MMX Pentium用分岐予測無効/有効化ツール

DOS汎用

Under386IPL

0.00

2021/09/21

386未満での実行回避

PC-98

KBNEW

0.01

2020/05/25

PC-98のキーボード種別を偽装

PC-98

WaPiCo

0.06b

2020/05/23

PC-98ワークエリアCPU情報修正

PC-98

TiMod

0.06

2020/05/26

5/10MHz系・8MHz系のタイマー設定を修正

PC-98

HDDreset

0.01b

2017/12/08

HDD認識チェック・再起動

PC-98

COLIPL

1.08d

2010/04/16

パズルゲーム

PC-98

PX98IPL

0.02

2007/02/09

メモリ容量書換えツール(条件あり)

PC-98

Force31

-

公開終了

PC-98グラフィック24/31kHz切替

・IPLware専用

PC-98

IPL-DOS

0.11b

2020/03/30

IPLware用 擬似DOS

PC-98

IPL-DOS A/B/C

A.14
B.14
C.14

2020/01/17
2020/01/17
2020/03/30

IPLware用 擬似DOS(用途別バリエーション)

PC-98

IPLCLS

0.01b

2019/06/07

IPL画面テキスト消去ツール

PC-98

TIMEDATE

0.01e

2006/06/21

IPL用DATE/TIMEコマンド

PC-98

IDEPATUP

-

公開終了

REIをIPLware化して共存させる



DOS用(IPLware含む)


 まりも様作製のIPLwareにつきましては再頒布可能なものですが、ご存知の方なら既にお持ちであろう事と、これから98を使い始めるような人であれば是非一度は新まりものページを訪れるべきですので、あえてリンクだけとさせていただきました。なおIPLwareはPC-98シリーズ専用です。
 なお、言うまでもありませんが下記アーカイブ内のEXEファイルはIPLwareモジュールではありませんのであわてて直接組み込まずに、使い方をご熟読ください。

IPL-DOS11b12 IPLwareで一部のDOSファンクションが使える支援ツール。当然ながらIPLware専用

ご注意!! 古いバージョンとの互換性はありませんので、IPLwareに異なるバージョンで複数登録している場合は異なるバージョンの実行のたびに画面クリアを行います。CLS.BINとEXIT.BINは直前に実行されたIPL-DOSと同じバージョンのものでないと動作しません。

● 本プログラムを介してCOMファイルをIPLware登録することにより、IPLware上でごくごく一部のDOS互換ファンクションが使えるようになります(別途まりも氏のIPLwareローダも必要です)。ただしDOS相当部は100h未満のヘッダ領域に常駐(?)する程度の貧相なサイズの自作プログラムですので過度な期待はしないでください。
● ちょっとしたハードウエア設定プログラムで必要なDOSファンクションは終了処理と文字表示くらいですので、本プログラムはINT21hのファンクション02hと09h(06hの出力モードのみにも暫定対応)、1文字入力のファンクション01h/07h/08h、それに終了処理(00h,4Ch等)だけを提供しています。また20文字までのコマンドラインオプションスイッチにも対応。これによりIPLwareモジュールの作り方をご存知ない方でも(COM形式の)DOSプログラムが書ける方なら簡単にIPLware対応プログラムを作ることができます(正確にはIPLwareモジュールである「IPL-DOSに対応したDOS用COMファイル」ですが)。
● 一部の既存のドライバCOMファイルの中にもそのまま適用できるものが存在するようです。本作はIPLware上で動作するDOSのサブセット(下位互換)と見なせるため、市販ソフトを適用してもライセンス的には問題ないと考えられます。動作報告がありましたらお寄せください。
● 複数プログラム連続実行時にはAUTOEXEC.BATのようにスクロールしながら表示できます。WindowsNT/2000がDOSから立ち上がるような錯覚を楽しむことができるかもしれません。
● 漢字表示には大熊猫のぺぇじを参考にいたしました。これらの作者に感謝です。
● ハイレゾモードにも対応しているつもり(動作環境の問題で未確認)。
● SHIFTキーによる表示待ちにも対応した常駐解除ツール(EXIT)や画面クリアを行うCLS機能も搭載。
● 簡易コマンドライン入力コンソールを搭載し、組み込むCOMファイルに与えるオプションスイッチが適宜変更可能。
● 別途INT21h-0Ahに対応した別バージョンもありますので、用途に応じてそちらもご利用ください。
● コマンドラインオプション文字数が足りない場合は、文字数を増やした別バージョンもご利用ください。

22-08/14 ver0.12 試しにスタックセグメント(SS)退避・復帰に対応させました。…が、データセグメント(DS)の退避・復帰に対応していないので、セグメント変更するプログラムは動作しない可能性が高い点は相変わらずです。テスト目的であって充分な動作確認をしていないバージョンであるため、念のため旧バージョン(0.11b)のリンクも残してあります。(汗
20-03/30 ver0.11b ドキュメントを少々修正。ソースをよく見たらPUSH SP命令は使っていなかったようです。(汗
20-01/16 ver0.11b 通常のIPLwareとIPLWUNIのそれぞれでIPL-DOSを使い、両者を何度も行き来すると互換性の判定が正しく行われなくなるバグを修正。
20-01/14 ver0.11a コマンドプロンプトや常駐メッセージを表示しない機能を追加(EXITを除く)。異なるバージョンのIPL-DOSを検出した際の上書き常駐に失敗していたのを修正。コマンドライン入力モードでデフォルトのオプションスイッチを8文字設定したときの不具合を修正。
19-12/23 ver0.11 オプションスイッチを20文字→23文字に増やす。それだけの変更ですが、0.10xと比べてバージョンチェックに引っ掛かるようになったことを考慮して、念のためバージョン番号を更新。
19-12/18 ver0.10c 組み込み時にオプションスイッチが文字数オーバーだったり個数オーバーだった場合に警告を表示するようにした。ドキュメントにIPLDOS A/Bの存在を記載。
19-12/05 ver0.10b 若干バグ修正したのですが、たぶん修正しなくても問題は出ない部分だと思います。(汗;
19-12/04 ver0.10a INT 21h-ファンクション01/07/08hの1文字入力に暫定対応。容量捻出のためにオプションスイッチを20文字に減らし、字数オーバー時の警告表示(!)も廃止。ついでに非対応ファンクションのうち03/04/05hだけは無視して続行としました。
19-11/25 ver0.09a INT 21h-ファンクション06hの出力モードのみに暫定対応。入力モードは使えません。
19-11/24 ver0.09 大幅改訂。0.08x以前とは互換性が無いのですべてのモジュールを入れなおす必要あり。PSP常駐部の追加機能として、INT 21h-02での文字表示に対応・JMP 0での終了に対応・行頭でのBSで前行末尾への移動に対応。ローダ部の機能として、IPLWUNIでモジュール名が正しく表示されるようにしてみた(IPLWUNIを使うにはIPLware3.50で追加された吸出し機能が必要)。インストーラ部の機能として、COMファイルなしでもPSP領域にIPL-DOSが常駐できるようにした。内蔵モジュール部の機能として、CLS機能では画面下部のIPLwareのメッセージ領域を消さないようにした。

Under386IPL 強制的に386命令を使うCOMファイルやIPLwareモジュールにCPU判別機能を追加するヘッダ。

 80386未満の環境で実行を回避する機能の無いCOMファイルやIPLwareモジュールに、COPY/B でヘッダとして追加するだけで、CPU判別機能を追加するバイナリ。386以上前提のCOMファイルがAUTOEXEC.BATに記述されていたり、386以上前提のIPLwareがHDDに登録されていた際に、CPUをV30に切り替えたり、286以下のPCにHDDを繋ぎ換えたりした場合に、HDDから立ち上げられなくなるという不具合を回避します。

● COMファイル用と、IPLware(Type I)用の、2種類のバイナリが付属(くれぐれも間違えないように)。
● あらかじめ80386以上CPUであることを判別したうえで、COMファイルまたはIPLwareプログラムを実行するようにできます。
● 恐らくですが、DOS汎用だと思います。
● デフォルトでは56000バイトまでのプログラムにしか対応していませんのでご注意を。

21-09/21 ver 0.00 新規作成。



DCX DC.COM ver0.2にCPU判別機能を追加するヘッダ。

 ベクターにあるCx486SLC/DLC用キャッシュ設定プログラムDC02.LZHに含まれるDC.COM ver0.2やDCR.COMに、COPY/B でヘッダとして追加するだけで、CPU判別機能を追加するバイナリ。DC ver0.2がHDDに登録されていた際に、CPUを交換したり他のPCにHDDを繋ぎ換えたりした場合、HDDから立ち上げられなくなるという不具合を回避します。

● あらかじめ16/32ビットCPUを判別したうえで、CR0のNEビットを参照して通常の486系CPUと区別して386ベースの486CPUを検出。さらにDIV命令のフラグの挙動からCx486SLC/DLCまたは互換CPUを同定します。
IPL-DOSにも対応。IPLware登録することにより、様々な環境でCx486SLC/DLCのCPUキャッシュを有効化できる可能性があります。ただし起動後にEMM386などでプロテクトモードに移行するとキャッシュ制御はできないようですので、動作を中止します。
● Cx486DRx2でも動作確認済。
● 恐らくですが、DOS汎用になったと思います。

20-11/18 ver 0.02 CPU判別方法を見直し、PC-98依存部分を無くした(つもり)。したがってWaPiCoも不要に。
20-04/11 ver 0.01 あらかじめWaPiCoの実行などで、既にワークエリアのCPU情報があればCPUリセットしないように変更。これによりDCR.COMなどにも適用可能になりました。
20-04/11 ver 0.00 新規作成。



ROMSKIP MMX MMX Pentium専用分岐予測有効/無効化ツール3点セット。DOS汎用/IPLware/FDローダ兼用

主な特徴
● EMM386.EXEの無い純粋なリアルモード環境で、MMX Pentiumの分岐予測を有効化・無効化するだけのツール。
● IPLware Type2対応。NT系OSでも使用可能。
● FDローダ対応(無効化のみ)。PC起動前から分岐予測オフが可能。
● MMX Pentiumと相性のよくないPC-98において分岐予測の無効化で対応し、問題点を通過したら再びオンにしたい場合なんかに使えるかも。
● ただしその目的では他に良いソフトがあるので、あくまで自分でいろいろ試したい場合のツールセットという位置付け。
● DOS上であればPC-98以外でも使用可能(FDローダ専用プログラムを除く)。
● MMX Pentium以外のCPUでは使えません。

20-11/07 ver0.02 CPUID設定のバグ修正。FDローダ時にもCPUID可否を確認するように変更。V30/286機のIPLware上でもハングしないように修正。
18-10/28 ver0.01a リアルモードでないときは分岐予測の設定を変えずにエラー終了とした。

TiMod 5/10MHz系・8MHz系のワークエリア設定を書き換える。

 PC-98のインターバルタイマの速度はシステムワークエリアの設定によって変化します。本ツールはこの値が正しくない時に、修正します。
 たとえばPC-9801VM21やVX前期に、VX後期のCPUボードを差すと80286を10MHzで運用できますが、8MHz系と誤認されてタイマー速度が狂うことが知られます。本ツールをIPLware登録することでタイマー設定を修正することができます。ただしI/Oポートから読み出せる設定を変えることはできません。
 デフォルトのbeep音程も修正します。

● カレンダ時計とタイマーを比較し、ワークエリアの5/10MHz系・8MHz系の設定の不正を自動感知して修正します。このためとりあえずHDDに入れっぱなしでも他機種で誤動作する心配は無いと思われます。
● オプション設定により、手動でワークエリアの5/10MHz系・8MHz系の設定を強制指定することもできます(この場合はHDDを他機種に繋ぎ替えるときに気を付けて下さい)。
● 5/10MHz系・8MHz系を誤認するとデフォルトのbeep音程も狂うので、これも修正します(オプション指定により修正しないことも可能)。
● 一応IPLware Type2にも対応ですが、その場合は文字表示を行わず、オプション設定もできません。できるだけIPL-DOSでの使用を推奨します。
● MS-DOS上であれば、エラーレベルにも対応。ワークエリアの5/10MHz系・8MHz系の判断ツールとしてDOSバッチファイルでも利用可に。

20-05/26 ver 0.06 エラーレベルに対応(「Z」オプション追加)。タイマー測定のマージンを広く取る「X」オプションを追加。
20-05/04 ver 0.05a デフォルトのbeep音程を修正するようにした。ハイレゾ対策(強制指定時だけ対応しているつもり)。
20-04/30 ver 0.04 初公開版。



KBNEW キーボード種別情報の強制指定ツール。

 PC-98のシステムワークエリア(メモリ上の作業領域)0000:0481hにあるキーボード種別の情報が正しくない場合のために、キーボード種別のフラグを任意の値に書き換えます。
● これにより、メカロックキーボードの本体でも、ソフトロックキーボードしか想定していないOS (Windows 2000など) でキーボードが動くようになる場合があります。
● IPLware Type2(ただし、この場合は文字表示なし)、およびIPL-DOSにも対応(文字表示あり)。IPLware登録することにより、様々なOSに対応すると思われます。

20-05/25 ver 0.01 初公開版。



WaPiCo(Working-area's Processor-information Corrector) ワークエリアCPU情報修正。

 PC-98のシステムワークエリア(メモリ上の作業領域)にあるCPU情報が正しくない場合に、実際のCPUの情報に書き換えます。0000:0480(CPU種別)と0000:0486〜0487(プロセッサ・シグネチャ)、0000:0501(CPUタイプ)に対応。

● CPUリセットもしくはCPUID命令により、ワークエリアのCPU-IDを自動で設定可能(優先順位はCPUID>手動指定>CPUリセット)。
● IPLware Type2(ただし、この場合は文字表示なし)、およびIPL-DOSにも対応(文字表示あり)。IPLware登録することにより、386以上のCPUアクセラレータを搭載した80286機で、Windows95/98が直接起動可能になると思われます(とりあえずFD起動を確認)。
● かつてベクターにあったNISE386の代替にもなると思われます。

20-05/23 ver 0.06b そのままでもIPLware Type2に対応(文字表示は無しになります)。文字表示を行う場合はIPL-DOSをご利用ください。
20-04/09 ver 0.06a 80286以下でワークエリア書き換えが起きたときに表示が乱れるバグを修正。ただし表示順は前後します。
20-04/07 ver 0.06 8086/V30/20286の識別を細分し、80286以下でもワークエリアを修正することにした。0000:0501-bit6(x86かV30系か)に対応。
20-04/02 ver 0.05 新規作成。



IPL-DOS A/B/C IPL-DOSの別バージョン。 (IPLware)

 IPL-DOSはCOMファイルの手前のメモリ256バイトの領域にDOSファンクションコール代替の独自プログラムを置く仕様ですので、DOS互換ファンクションには大した機能は組み込めません。本バージョンは文字列入力(INT21h-0Ah)の互換機能を実現するためや、記述できるオプションスイッチ文字数を増やすために、他の機能を削ったバージョンとなります。目的に合わせたバージョンをお使いください。

ご注意!! 一部の旧バージョン(ver 0.06以前・0.10〜0.11a・B.13以前・A13以前)について、異なるバージョンのIPL-DOSをIPLwareに複数登録している場合は、異なるバージョンの実行の前に、直前に実行されたIPL-DOSと同じバージョンのEXIT機能を必ず実行してください。同じバージョンであってもIPLWAREとIPLWUNIの両方で実行する場合は同様にEXIT機能を挟んでください。異なるバージョンを検出した際の上書き常駐の処理にバグがあるためです。EXIT機能実行後の新規常駐であれば問題ありません。0.11b・A14・B14で修正しました。

● A (0Ah簡易対応)バージョンは、従来機能と文字列入力(INT21h-0Ah)機能をできるだけ両立させたバージョンです。BSキーで後退した際に画面上の文字が消えませんが、実用上は問題無いと思います。その代わりにコマンドラインオプションは12文字まで利用可能です。常駐時のメッセージやコマンドプロンプトを隠すこともできるようになりました。
● B (BS対応)バージョンは、コマンドラインオプション機能をまるごと削ったバージョンです。既存のCOMファイルを流用するというよりも、自作IPLware作成に特化したバージョンと言えます。文字表示(02h/09h)と文字列入力(0Ah)さえ使えればよいのであれば、こちらでしょう。オプションスイッチを設定する必要が無いですので、手動でIPLwareに組み込めるバイナリ(COMファイルをIPLware化するヘッダ)を同梱しました。そのためIPLWUNIなどと併用しやすいのも利点です。常駐時のメッセージやコマンドプロンプトを隠す機能も付けましたので、純粋にIPLware/IPLWUNIでのテキスト表示だけを担う補助ツールとしても使いやすくなりました。
● C (コマンドライン増量)バージョンは、コマンドラインオプションに記述できる文字数を大きく増やしたバージョンです。ファンクションは文字表示(02h/09h)と終了処理しか対応しません。常駐時のメッセージやコマンドプロンプトを隠す機能は共通で利用できます。オプションスイッチのやたら長いCOMファイルを使う場合にご検討ください。

●各バージョンの比較表●

ver

入力ファンクション

表示ファンクション

画面スクロール

その他のファンクション

オプションスイッチ

付属ツール

0.11b

−01/07/08

02/06/09

○対応

03-05(ダミー)

○23文字

A.14

△0A(簡易版)

02/09

×非対応

なし

△12文字

B.14

○0A

02/09

×非対応

なし

×非対応

手動組込用ヘッダ

C.14

×非対応

02/09

×非対応

なし

◎59文字


●A/BバージョンのINT 21h-0Ahによる文字列入力の制限
・AバージョンではBSキーでカーソルが後退した際に(画面上は)文字が表示されたままになります。
・CTRL+Cなどによる中断機能もありません。入力内容を間違えてもEnterで入力を完了するしかありません。
・入力できる文字列は、キーボードから直接入力できる半角文字だけです。

●IPL-DOS 0.10bから削減された機能は以下の通り。
・ 画面スクロール機能の廃止。表示が下端(18行目くらい)に来たら上端に戻り上書きします。
  (既存の表示は消しませんので、見づらければCLS機能をご利用ください)
・ DOSファンクションは文字表示02h/09h(A/Bは入力0Ahも)と終了処理だけです。
・ 1文字入力のファンクションコールには対応していませんので、1文字入力にはBIOSコールINT18h-00hをお使いください。

20-03/30 ver C.14 先頭のスペースを含めて60文字(実質59文字)ものコマンドラインオプション文字列に対応させたバリエーションを新規作成。入力ファンクションや画面スクロールは無し。
20-01/17 ver A.14 「@」オプションによりコマンドプロンプトを隠す機能を追加(EXIT機能を除く)。また従来のver A.13との互換性を維持したまま、以下のいくつかの不具合を修正。バージョンチェック方法を見直し(割り込みベクタを参照するようにした)、異なるバージョンのIPL-DOSが常駐していたり、IPLWUNIを併用していると止まってしまう不具合を修正。コマンドラインオプションがスペース区切りを含めて8文字(先頭スペースを入れれば9文字)のときに不具合が起きていたのを修正。
20-01/17 ver B.14 従来のver B.13との互換性を維持したまま、以下の不具合修正。バージョンチェック方法を見直し(割り込みベクタを参照するようにした)、異なるバージョンのIPL-DOSが常駐していたり、IPLWUNIを併用していると止まってしまう不具合を修正。また「@」オプションまわりの書式の見直し、0.11bの書式とある程度共通化。
19-12/23 ver B.13 付属のEXITBB.COMでバージョンチェックの安全対策にバグがあったので修正・差し替え。本体とは独立したファイルなので本体のバージョン番号は変更せず。
19-12/23 ver A.13 オプションスイッチを12文字まで可能にしました。それだけ。肝心な部分はあまり変わっていないが、互換性チェックが厳しくなっていたため、前バージョンとは惜しくも非互換と判定。orz (まあそれはそれで正解だったが)
19-12/22 ver B.13 コマンドプロンプトや開始メッセージを表示しない機能を追加。EXITを組み込まなくても使いやすくするため、終了処理でカーソルが消えるように変更。自作プログラム向けに、アドレスに依存しないEXITモジュール(EXITBB.COM)を添付。
19-12/16 ver A.12 ほぼB.10に相当するBS機能(ただしゼロクリアは省略)を実現したうえで、オプションスイッチ10文字を確保。組み込み時に10文字を超えた場合にはその場で警告表示するように変更。
19-12/13 ver B.12 BSを押した際のゼロクリアを復活させ、B.10とB.11の機能を両立。
19-12/12 ver B.11 BSを押した際のゼロクリアを省略し、画面上の文字が消えるようにした。
19-12/06 ver B.10 新規作成。
19-12/05 ver A.10 新規作成。



ROMSKIP C3 PC-9821RaシリーズでVIA C3/CyrixIIIのGenuineIntelチェックを無理矢理回避! DOS/IPLware/FDローダ兼用


↑PC-9821Ra40で1GHz超え記念ショット。
私の個人所有のPCでは初の1GHz超え達成です。(^-^)

CPUチェックが厳しい事で知られるPC-9821RaII23でも本ソフトでVIA C3を動作させることができました。
・Raシリーズであれば同じ方法で動作させられる可能性は高いと思われます。
・ただし(Nehemiah以外では)64MB以上の漢SIMM(しかもパリorECC付き)を併用する必要があります。
・Rvシリーズの場合はピポすら言わない可能性があるらしいので望み薄かもしれません(未確認)

ご注意
・上記の通り、本ページのソフト利用はあくまで使用は自己責任でお願いします。使用の結果生じたいかなる損害についても当方は一切責任を負えません。
・いくら消費電力の低いC3であっても、あまり高いクロックで運用するとVRMの負担が存外に大きいようで、確実にPCや下駄の寿命を縮めます。高クロックで常用すると数か月以内に限界が来るようですので、ご注意ください。
・ver0.08よりC3SET.COMのサイズが増えています。FDローダ用の運用FDに上書きすると断片化のおそれがありますので、必ずフォーマットからやり直してください。

IDT WinChipシリーズはCPUID変更だけ対応(動作確認はWinChip2A)。
・WinChipを載せるとエラーが出る機種の場合、CPUIDを変えて挙動の違いが出るかどうかを調べることができると思います。意味があるかどうかは分かりませんが。(汗

主な特徴

● C3/CyrixIII/WinChipのCPUID偽装機能に対応。ベンダID/ファミリID/モデルID/ステッピングIDを一時的に変更可能。
● PC-9821RシリーズのFDローダ機能を介してGenuineIntelチェックを回避し、C3/CyrixIIIの起動を試みます(RaII23とRa40で動作確認)。
● これにより、まさかのBIOS無改造PC-98で簡単に1GHz超えを実現(C3 Ezra-T, Nehemiahの場合)。
● C3/CyrixIIIの動作倍率変更と簡易CPUクロック測定機能を搭載。もしOS起動できなくてもCPUクロックだけは確認することができます。
● もしC3/CyrixIIIが動いたとしてもパフォーマンスが低く、不安定な可能性もあるので、過度な期待はしないでください。また(再)起動時には毎回FDローダのキー操作が必要になります。
● FDローダの最中にPCが不安定になるのは何かと危険ですので気を付けて下さい。本プログラムでは念のためITF-ROMに掛かる電圧を危険の無い平時電圧に下げるようにしています。
● 他の機種での動作確認をお願いする意味で公開中。くれぐれも使用は自己責任でお願いいたします。
● 環境によってはCPU下駄や64MB以上の大容量SIMMが必要です。
● AT互換機では単なるDOS用ツールです(いちおう下手なEnglish説明あり)。
● リアルモードに限り、P6機以上のBFビット表示機能もあります。
● EMM386組込時は一部機能が利用できません。CPUクロックは測定できますが、K6-2ではEMM386組込時ハングするようですので、原則リアルモードで測定してください。
● 対話型セットアップメニュー搭載でオプションスイッチが簡単に設定できます。
● サンプルとして、すぐに使えるベンダ名変更プログラムを同梱しました。
1) TO_INTEL.COM (FDローダ向け:GenuineIntelチェックを偽装し、FD取出し時リセット)
2) BACK_VIA.COM (IPLware向け:ベンダ偽装を解除するIPLware Type2モジュール)

19-11/26 ver0.08b BATCPの使い方を微妙に忘れていたようで、0.03a以降でMS-DOS 5.0未満だと余計なエラーメッセージが出ていたのを修正。
19-11/16 ver0.08a CPUID使用可否チェックのバグ修正。ドキュメント構成を少々変更。
18-10/30 ver0.08 EMM386常駐時の暴走対策。P6機で/Bが効かなくなっていたバグ等を修正。補助メッセージのレイアウトを若干変更。C3SET.COMが5KBに増加。
18-10/26 ver0.07b IPLwareでの表示位置の自動判断がいいかげんだったので修正。
18-08/15 ver0.07a これまで拡張命令(AIS)を常に有効にしていたが、脆弱性が報告されたので、有効であれば無効化するように変更。
18-08/13 ver0.07 IDT WinChipのCPUID変更機能に対応(BFビット表示には非対応・倍率変更も不可)。細かいバグ修正。

IPL CLS IPLware表示改善補助プログラム。 (IPLware)

 テキスト画面をスペースで埋めてまっさらに戻す(アトリビュート込み)、それだけのIPLwareです。こういうシンプルなツールが意外と便利なのです。

 複数のIPLwareを使っていると、どうしても表示が入り交じって読みにくくなります。実際のところ環境によってはSCSIやSATAボードのBIOS表示すら残ってしまうことがあるのでIPLwareの表示が重なると訳が分からない表示となってしまうこともあります。そんなときはこのプログラムをIPLwareの最初や各IPLware間に挟んで登録しなおすことで、だいぶ見てくれが改善されます。

 特に、まりも氏のiplwuni.exeで他のIPlwareと結合すると使いやすいと思われます。

 さらに付加機能として行単位で消去範囲も設定できるので、表示の重ならないIPLwareはそのまま表示し続けるようにすることもできます。

19-06/07 ver0.01b 表記ミス修正。出力されるバイナリに変更はありません。
19-06/06 ver0.01a デフォルトでは下4行(IPLwareのメッセージ部分)は消さないようにしました。そのほうがiplwuniでも見やすいです。以前のバージョンでも「1-20」とオプション指定すれば同じことができます。本バージョンで画面全体をクリアする場合は「1-25」を指定してください。
07-02/10 ver0.01 カンマ/スペース区切りで複数の行範囲指定に対応。旧バイナリ削除前にPAUSE。



HDD RESET 指定のHDDが起動時に認識できていないとき再起動するツール。PC-98用/IPLware兼用

主な特徴
● HDDのスピンアップが遅いときやSATAケーブルの取りまわしが良くないときは起動時にHDDがBIOS認識できないことがあります。このツールはHDD認識をチェックして指定のHDD番号を認識していないときにPCにリセットをかけることができます(無視して起動することも可能)。
● IPLware Type2対応。NT系OSでページファイルを別ドライブに確保している場合などは起動時にページファイルのドライブが認識に失敗しているとOS起動後に認識しても(IDE系HDDの場合は)CHSフォーマットが異なってページファイルにアクセスできなくなることがありますので、起動時にIPLの段階でチェックしておくと便利です。
● 当然ながら本ツールを動かすHDDが認識されていなければ意味を持ちませんので、確実に認識できるドライブに入れてください。
● 汎用化したIPLware設定バッチファイルを添付。(意味は無いですが)拙作COLIPLにも流用できます。
● LASM体験版にて作られた、久々にシンプルなツールです。チェックが通れば何も行いません。
● ハイレゾモードにも対応ですが、V30機以下には対応していません。
● FDローダとの相性を強化。どれかキーを押せばリセットという状態で[ESC]+[8]+[HELP]を押せるようになりました。

17-12/08 ver0.01b 手動Reset時は[I]で無視、それ以外のキーで再起動に変更。DOS上か否かの判断をINT21hの割込みテーブル参照に変更。
09-10/31 ver0.01a 空き行が無いときでも警告表示を行うように変更。

COLIPL 起動時の[カナ]ロックをチェックするツール。ゲーム付き(逆や)。PC-98用/IPLware兼用

主な特徴
● PC-98用DOSゲーム(DOS以外にもRET命令で終了できるOSなら動く可能性があります)。よくある色合わせのパズルゲームです。テキストベースの専用ウィンドウで動作する小さなゲームなので画面の片隅での気分転換に最適。
● ハイレゾや40桁・20行モードにも対応。8086命令とBIOSファンクションしか使っていないので、様々なPC-98環境に対応(LT/HAを除く)。V30機やEPSON機、WindowsのDOS窓でも動作確認済み。
● 各種オプションが充実で、様々な設定変更が可能。もちろんゲームバランスも様々なパターンを構築できます。
● IPLware Type2対応。その場合は[カナ]ロック時のみゲームが起動します。ディスクのデータ領域も使用しなくなるので、起動時カナロックの警告ツールとしてとりあえず入れておきましょう。
● IPLware上で表示が見にくい場合は拙作IPLCLSを併用してください。

[基本ルール]

ダットジャパン社『カラフル』やフリーゲーム『Jewel Box(リンク切れ)』に似た(相当の?)ゲームです。3x3〜8x8に並んだブロックがあります。カーソル位置と上下左右の5箇所のブロックの色が同時に変化しますので、うまくやって全てのブロックを同じ色に揃えてください。
DOS窓でのスクリーンショット: 第3面(5x5-4色)第4面(6x6-5色)第5面(7x7-6色)

10-4/16 ver1.08d ウインドウ両端に半角スペース追加など。
 ウインドウが全角文字と重なっても見やすくなりました。また"/Q"オプション指定時のエラーレベルに意味を持たせてみました。
10-4/14 ver1.08b いくつか修正。
 FM-TOWNS用PC-98エミュレータ「V98」に対応("/Q"オプション)。デフォルトで6x6(第4面)クリアでエンディングとした。IPLSETUP.BATを汎用版に置き換え。その他細かい修正。
09-9/24 ver1.08a CAPSロック表示機能(単なるオマケ)。キー配置大幅変更。バグFIX。
 カーソルキー・[Z][X]キーでもゲーム可能に。スペースはPANIC機能に変更。

OtriKey/V 『鳳』用キーチェッカ。DOS/V専用

フリーソフトのFEPである『鳳』(「おおとり」と読むらしい)をDOS/V環境で利用する際のキーカスタマイズ機能を支援するツールです。押されたキーについて『鳳』互換のキーコードを表示しますので、その値を『鳳』のキーカスタマイズオプションとして利用できます。『鳳』は98用・DOS/V用の両方がありますが、本ツールはDOS/V専用です。PC-98では該当の問題は起きないかと思われますので・・・。

『鳳』は市販FEP『風』にルーツを持つFEPで、同様のフリーFEPに『嵐』というのもあります。しかし適当にやってみると正常動作しないことがあるようです。その原因の1つとして、どうも環境によって応答しないキーがあったり、意図しないキーコードを返すことがあるらしいのです。うちでは英数キーが常にCapsLockとして動作してしまい、FEPでは利用できませんでした。またAltキーも特定の特殊キーとの組み合わせで応答しなかったり、Alt+Spaceとして機能したりで利用できませんでした。Alt+半角/全角が利用できないのでFEPにとっては致命的でした。このへんはOSやBIOSに依存するのだと思います。ちなみに「うちの環境」とはテラドライブのROM DOS(内蔵HDDに転送して使用)にフリーのドライバ類でDOS/V化を施したものだったりします。(ぉぃ

『鳳』にはキーカスタマイズ機能がありますので、キーコードを指定してやれば意図したように動作しないキーをその他のキーに割り当てなおすことができます。しかしどのキーが使えるかは環境次第ですし、使えるキーのキーコードも調べなくてはなりません。結局のところ利用者の環境ごとにキーコードを調べる必要がありそうなのです。『鳳』はソースコードが公開されていますので、『鳳』互換のキー設定コードを返すツールを作ってみました。『鳳』を導入したのにうまく動かない、という時は本ツールでキーのチェックを試してみてはいかがでしょうか。

もともと『鳳』はOMRONのMassifというDOS/Vもどきで開発されたものだそうですので、一般的なDOS/V機とはキーコードが結構違うようでデフォルトでは使い物にならないかと思われます。これについては『鳳』設定例のページが参考になるでしょう。それらを参考に、実際にその設定のキーが意図したキーコードを返すかどうかを確認するバッチファイルを付属させましたので、よろしければご利用ください。

09-5/27 ver1.00 新規作成。このページでDOS/V専用ソフトは恐らく初か。というか今時「DOS/V」をまだ使っている人間がどれだけいるのでしょうか。


PCIPL Rel2 intelsatもどきというか単純なPCIレジスタ設定プログラム。DOS汎用(たぶん)/IPLware兼用

主な特徴
● 設定内容を記憶したCOMファイルを生成できます( → 特定のPCIレジスタを書き換えるツールを簡単に作成できる)。
● コマンドラインだけでなく設定テキストファイル(PCIPL.INI)に記述した内容も実行できます( → 他人に説明が難しいPCIレジスタ設定も、設定ファイルでやり取りができる)。
● 読み込んだPCIレジスタの値をリダイレクトでファイルに保存すればそのファイルをそのまま設定ファイルとして他のPCで利用可能。
PC-9821であればIPLware ver3.xxによりIPL組み込み可能なので、OSを選ばずにWindowsNTやWindows2000などのDOSコマンドの使えないOSでも有効です。IPLware上で表示が見にくい場合はIPLCLSを併用してください。

[付属サンプル一覧]

・I440FX.INI・・・PC-9821Raシリーズ用メモリチューン(P698ACC2相当)
・CACHELIN.INI・・・PCIデバイス番号12、13のPCIスロットのCacheLineSizeを設定
・AGP2PCI.INI・・・ELO氏のページにあるAGP2PCI用サンプルIPLwareのPCIPL版、カスタマイズして使います
(いずれも各環境ごとにカスタマイズして使うことをお勧めします。)

2009-06-20追記: AGP2PCI相当品(自作)にてAGP2PCI.INIを動作確認しました。

07-3/02 ver0.22a IPL組み込み以外の機能はDOS汎用としてHELP/DOC改定。READ時の出力書式をPCIPL.INI互換に変更(リダイレクトで利用可)。
07-2/12 ver0.22 DOS実行時にも内蔵オプションやINIファイル設定を使えるようにした。Type2ファイルを出力するとき旧ファイルは削除するように変更。
07-2/09 ver0.21 表示内容を見やすく変更(書込前の値も必ず表示)。IPLwareのDOSファンクションコールチェック対策。サンプルINIファイル追加。
07-1/13 ver0.20 イチから作り直したリニューアル版。バス/デバイス/ファンクション指定に対応。INIファイル対応。COMファイル生成機能(IPLware Type2として手動組み込み可能)

追記: このプログラムはPCIコンフィギュレーションメカニズム#1を使用しています。

PX98/IPL PC-98用プロテクトメモリ容量強制指定ツール(機種/用途限定)。人柱専用試作版 DOS/IPLware兼用。

と言っても、単にDOS/BIOSのワークエリアの総容量設定を書き換えるだけなので、PCI機には使えません、というか普通の(JEDEC仕様)SIMM搭載機には使えません(減らすことはできます)。それ以前の機種で動作する可能性があります(下記参照)。ただし、いろいろ制限がありますので、説明を良くお読みください。なお、IPLware上で表示が見にくい場合はIPLCLSを併用してください。

主な動作確認済の用途

・ 単にメモリ容量を減らす。それだけなら大抵のPC-98系機種で可能と思われます。
・ ハイパーメモリCPU(末期のものを除く)上のメモリを認識する。
・ H98/FA/FS/FXにて、完全には切離せない15-16MBメモリのうち0.5MBぶんをプロテクトメモリに追加認識させる。
・ メモリ16MB未満のPC-H98にて、システム空間を空けたまま16MB以降に配置したNESAバスメモリを認識する。
・ EPSON PC互換機で16MBシステム空間を空ける(ただし動作不安定になる可能性あり)。
・ CPUのL1キャッシュ有効化。

07/02/09 ver0.02 WindowsNT/2000動作(一応)確認、CPUキャッシュ制御ルーチンをベクターのcache.com相当に変更(P5/P6機でも動作の可能性)。


TIME DATE for IPL IPLware用TIME/DATEコマンド(そのまんまや) DOS/IPLware兼用

 PC-98においてOSによらず、三太郎時代のDOSソフトさながらに、毎回起動時にいちいちTIME/DATE(相当)を実行するというしょうもないものです。古き良き時代を模して作ってみました。初代PC-9801(無印)さながらに、電池の切れたPC-98には良いかも(ただし電池切れのまま放置は危険かもしれません)。ごく一部のジャンク活用のために、役に立たないものでも作ってみるということでご勘弁を。
 とは言っても、設定次第で日時表示だけという使い方もできます。そういう意味ではK.Takata氏のSETRTCとよく似たプログラムですが、今回はたまたまSETRTC発表時にTIMEDATEのソースがひと通りできていたのです。比べられてしまうと欠点だらけではありますが、いろいろ設定できるのが救いかもしれません。というより、本プログラムが何かの参考に役立てば幸いです。

06-06/21 ver0.01e(β) ハイレゾHOMEキー対応の修正



HEXP/98 PC-98 SCSI HDD用16進パラメータビューア/接続チェッカ。

また、こんなしょうもないものを作ってしまいました。しかし、ごく一部のジャンク活用のために、役に立たないものでも作るのがこのページの方針です。ForceHDDパラメータを調べられるので、エレコムのEIF-98AWシリーズを持っていると有用かもしれませんが、そうでない場合でも、一応単なるSCSI-HDD存在チェック用バッチファイルツールとして、あるいは解析用ダンパとして使えます。

追記:IPL-DOS対応。

04-05/16 ver1.01 バッチファイル対策強化。



Force31 9800シリーズ専用(H98は除く)400ライン31KHz/24KHz切替えツール。DOS/IPLware兼用。

本ツールの公開は終了とさせていただきます。拙作IPL-DOSを使えばベクターにある中嶋宏一氏のSCAN31に付属するS31.COMとS24.COMがIPLware上で使えるようになります。以後そちらをお使いください。



IDEPATUP REI付属のIDEPAT.COMをIPLwareに対応させる差分パッチ。IPLware専用。

もともと一部のBBSでのみ試験的に紹介していたものでリンクはしていなかったのですが、パッチというスッキリしない形での公開は終了とさせていただきます。拙作IPL-DOSを使えばIDEPAT.COMがそのままIPLware上で使えるようになりますので、以降はそちらをお使いください。もともとREIはIPL対応ですが、他のIPLwareと併用できるようになりますし、IPLwareのFD起動機能を利用することもできます。ただし通常の手続きではIPLwareにうまく置きかえられないことがありますので、もともと544MB超対応機でIPLware登録を済ませたHDDを適用すると良いでしょう。またREIはAMIwareですので、その件は別途対策をしてください。



IOR 指定したI/Oポートを読んでエラーレベルに返す、それだけのバッチファイル用ツール。たぶんDOS汎用。

undoc2などの技術資料を組み合わせて、バッチファイルでいろんなことをしよう!!

追記:IPL-DOS対応(IPL-DOSでバッチファイル機能は使えませんので、単なるIPL環境の解析ツールとなります)。

  付属サンプル SND.BAT・・・PC-98用サウンドID判別 (こちらはIPL-DOSでは動作しません)

03-7/18 ver1.02a (初公開版のまま)



H98C H98の標準CPUキャッシュ(386機の場合は外部キャッシュ)を、特権命令を用いずにコマンドラインからON/OFFする。

H98専用。当時、386機用として作ったものですが、486系のH98でもL1キャッシュについてはたらくようです。

追記:IPL-DOS対応。

03-7/18 ver1.05 NESAビット判別してH98以外では必ずHELP表示することにした。




KAZZEZ
戻る