inu goya - 一覧 - wnctools ( 紹介 )

wnctools紹介

■wnctoolsについて
1990年代後半に製作していたツールをプログラムソースと一緒に提供します。
ソースは2条項BSDスタイルライセンスです(各ソースのはじめに記載)。
■動作確認
MS-DOS 6.2
FreeDOS 1.1
■収録内容
CHKCPU.COM   使用しているCPUを判別
COM2HEX.COM  バイナリファイルからHEXファイルを作成します
COMPACK.COM  exeファイルをcomファイル形式で包みます(exeに再配置ルーチン付加)
DDUMP.COM    ファイルをDUMP
EXE2COM.COM  EXE2BINの代わりになる
HEX2COM.COM  HEXファイルをバイナリファイルに変換
WNCFIND.COM  ファイルを検索
◇各ソフトウェアのソース(オールアセンブラ)*開発にはLASM 2.35を使用

使用上の注意・重要事項

各ソフトウェアは現状のまま提供しています。潜在的なバグがあるかもしれません。
また、WNCFINDの削除機能を使用した場合壊滅的なダメージを与えることがあります。
1990年代に動作確認したものなので2013年に著作権表記だけ修正を加えて再アセンブルしていますが、厳密に動作テストを行っていません。
開発当時はPC-9801シリーズ上で開発しておりエラーメッセージは日本語表示を前提としていたり、説明書の中に半角のカナを使用しています。説明書でもPC-9801上で動作させているような表記が一部そのまま使用しています。
各ソフトウェアは開発を完了しておりバグが発見された場合でも修正したバージョンを公開する予定はありません。
(できる人はソースから修正版を作ってください)

各ソフトウェアの説明

◇CHKCPU.COM
使用しているCPUを判別するソフトウェアです。現在主となっているパソコンでは意味をなさないと思いますが、参考程度にご使用ください。
(C)1997,2013
----------
◇COM2HEX.COM
マシン語ファイルからHEXファイルを作成します。
使用法は、DOS のコマンドプロンプトから下記のように指定するだけで変換が行われます。  例えば、COM2HEX.COM というファイルからCOM2HEX.HEX というファイルを作成するとき(COM2HEX.COMが現在のディレクトリに存在するとき)、

COM2HEX COM2HEX.COM

と、入力してエンターキーを押してください。

変換完了.

と表示し、'COM2HEX.HEX' というファイルが作成されれば成功です。エラーがあれば違うものが表示されます。
 この場合、変換されたファイルの開始番地は'0100h' となります。開始番地を指定するときには下記のようにオプション指定することで任意の番地にすることができます。

COM2HEX COM2HEX.COM /A0000

 上記の例であれば、変換処理番地が'0000h' からとなります。番地指定は16進数で指定します。'/AABCD','/A0A00' といった具合にです。
 また、'/L'を指定することにより桁あふれ(0FFFFhを越えたとき)を無視することができます。

>COM2HEX COM2HEX.COM /AFF00 /L

上記の例では、変換処理番地を'0FF00h'としていますが、このまま変換すると桁あふれをおこしてしまいます。しかし、'/L'が指定されていますので桁あふれが起こったことを表示し、処理を続けます。このとき、'0FFFFh'を越えると'00000h'から続行となります。'/L'を指定しない と、

処理中に処理番地が0FFFFhを越えました.
直前の番地まででファイルを作成しますが, そのままでは使用で
きません. 変換可能にするには最終行に終了宣言が必要です.

と、表示されます。このとき終了宣言とは以下に示す文字列です。

:00000001FF

 これがファイルの最終行にないと'HEX2COM'などは翻訳時にHEXファイルではないと認識してしまいます。

 一応、'COM'ファイル からの作成を前提としていますが、どんなファイルからでも作成できます。テキストファイルからも作成できます。そして、逆の処理を行うプログラム'HEX2COM'で全く同じものが復元されます(桁あふれが起こっているものは同じものが復元されません)。
(C)1996,2013
----------
◇COMPACK.COM
exeファイルをcomファイル形式で包みます(構造はexeのまま再配置ルーチンを付加)。
業務用に製作したソフトウェアですが都合により使用することがなかったので今回ソースと一緒に公開します. 著名な方が作られているものと同じ働きをしますが、別物です。
□使用方法
exeファイルの名前と出力したいcomファイル名を入力してください
COMPACK SOFT.EXE SOFT.COM
上記のように入力して実行するとSOFT.EXEからSOFT.COMを出力します.
(C)1999,2013
---------
◇DDUMP.COM
ファイルをDUMPします。NEC製MS-DOSのDUMPとは違い、アセンブラ(C言語)用に出力します。これにより、アセンブラプログラムにはりつけてアセンブルすることが可能になります。データをシフトする機能も搭載しています。
  また、NEC製MS-DOSのDUMPと似た動作をさせることができます.
DDUMPには直接変換結果をファイルに出力することはできませんので、以下のようにします。
DDUMP DUMPTEST.TXT > ABC.TXT
 このようにするとABC.TXTというファイルが作成され、その中に変換結果が入ります。これは、MS-DOSの機能です。くわしくはMS-DOSの解説書をお読みください。
 使用法は、DOS のコマンドラインから下記のように指定するだけで変換が行われます。
あらかじめ、DUMPTEST.TXTというファイルをテキストエディタで作成しておきます。以下に、DUMPTEST.TXTの中身を記述します。
ABCDEFGHIJKLMNOPQRSTUVWXYZ
以上が、DUMPTEST.TXTの中身です。
例えば、DUMPTEST.TXTというファイルの中身をDDUMPで見るとき、
(DUMPTEST.TXTが現在のディレクトリに存在するとき)、

DDUMP DUMPTEST.TXT
と、入力してリターンキーを押してください。

;DDUMP
           DB      041H,042H,043H,044H,045H,046H,047H,048H ;SHIFT        
           DB      049H,04AH,04BH,04CH,04DH,04EH,04FH,050H ;SHIFT        
           DB      051H,052H,053H,054H,055H,056H,057H,058H ;SHIFT        
           DB      059H,05AH,01AH  ;SHIFT        
;
と、いうふうなデータが画面に表示されたはずです。アスキーコードできちんと表示されていることがわかります。一番最後の01AHはファイルの終了コードです。エラーがあれば違うものが表示されます。
シフトデータを作成するには、/Sオプションを指定します。
DDUMP DUMPTEST.TXT /S012
実行すると以下のように出力されます。
;DDUMP
        DB      071H,073H,075H,074H,076H,078H,077H,079H ;SHIFT 01201201
        DB      07BH,07AH,07CH,07EH,07DH,07FH,081H,080H ;SHIFT 20120120
        DB      082H,084H,083H,085H,087H,086H,088H,08AH ;SHIFT 12012012
        DB      089H,08BH,04CH  ;SHIFT 012    
;012
 上のデータはシフトされています。どのようにシフトされたかというと、'A'+'0','B'+'1','C'+'2','D'+'0','E'+'1'...'Z'+'1',1AH+'2'というふうになっています。
 もとに戻すには、逆にすればよいのです。071H-'0',073H-'1',075H-'2',074H-'0',076H-'1'...08BH-'1',04CH-'2'
計算すると元のシフトする前のデータになったと思います。(アスキーコードを16進数で表すと'0'=30H,'1'=31H,'2'=32H,'A'=41H)
 このオプション'/S'で指定できる文字の数は16バイトです。それを越えて指定してもはじめから16バイトまでが有効です。

またオプション'/C'でC言語用のデータを作成することができます。

オプション '/D'では NEC MS-DOSに付属のDUMPコマンドの実行結果のような表示を行います( '/S'と同時に使用できません)。
(C)1997,2013
----------
◇EXE2COM.COM
EXE2BIN(MS-DOSに付いている)がDOSのバージョンによって作動しないので製作しました。
[*注]MS-DOS後期のSETVERコマンドを使えば関係ないのですが
[*注]私の使用しているLASM付属のリンカは'EXE2BIN' がなくても'COM'ファイルが作成できるので全く意味が無いです。
使用法は、DOS のコマンドプロンプトから下記のように指定するだけで変換が行われます。
  例えば、SAMPLEX.EXEからSAMPLEX.COMを作成するとき(SAMPLEX.EXEが現在のディレクトリに存在するとき)、

        EXE2COM SAMPLEX
又は    EXE2COM SAMPLEX.EXE
と、入力してリターンキーを押してください。

変換完了.

と表示し、'SAMPLEX.COM'が作成されれば成功です。エラーがあれば違うものが表示されます。
 この場合変換されたファイルは'COMモデル' という形式になっており、情報領域がありません( LASMやMASMなどの8086用アセンブラでアセンブルするときはorg0100hとし、スタックセグメント(SS)を指定しないでください)。
 'BINイメージ' を作成するときには下記のようにオプション指定することで先頭のPSP を削除しません (もちろん実行できません)。
 EXE2COM SAMPLEX /B
変換が完了すると、'SAMPLEX.BIN'が作成されているはずです。
例えば、変換前に'SAMPLEX.COM' が存在した場合、前にあったものは名前を変えて保存し ('SAMPLEX.!OM')、新規に 'SAMPLEX.COM'を作成します。同様に、'SAMPLEX.BIN'の場合'SAMPLEX.!IN'となります。
(C)1996,2013
----------
◇HEX2COM.COM
ソフトベンダーTAKERUでMS-DOS上で動くZ80用アセンブラを買いましたが、そのソフト’XA80’はインテルHEXしか出力されません。MSX-DOS用に変換するソフトを開発することにしました。
[*注]1995年のことです.2013年現在TAKERUは営業を終了しています。またXA80を販売していたシステムロードも会社を解散してしまったようです
□説明
MSX用のソフトウェアを作成するときに、XA80でアセンブルするとHEXファイルで出力されます。これでは、すぐにMSX上で使用することはできません。これを解決するのが’HEX2COM’です。使用法は、MS-DOSのコマンドラインから
下記のように指定するだけで変換が行われます。
SAMPLE1.HEX というファイルからSAMPLE1.MSX というファイルを作成するとき(SAMPLE1.HEXが現在のディレクトリに存在するとき)
HEX2COM SAMPLE1.HEX SAMPLE1.MSX
と、入力してリターンキーを押してください。
completed.
と、表示されれば完了です。エラーがあれば違うものが表示されます。
指定したファイルの’ORG’が0100Hでない場合や、通常のBINファイルを作成したい場合は下記のようにオプションを付け加えてください。
HEX2COM SAMPLE1.HEX SAMPLE1.BIN /N
このようにすれば、0000H番地から00FFHまでを削除せずにファイルに作成します。このオプションが無い場合、0000H番地から00FFHまでの256バイト分ファイルの先頭が削除されます。
(C)1995,1996,2013
----------
◇WNCFIND.COM
ファイル名を指定するだけですべてのディレクトリを検索し、表示します。
*ただし、すべてルートディレクトリから調べるのでファイル名のみ指定可能
・ワイルドカードを使用することが可能です( * および ? )
*DOSのワイルドカードと同じ動作
・同じファイル名もみつかれば連続で表示します
・検索されたファイルを直接削除できます(選択式および自動式が選べます)
*使用するときは十分な注意が必要.(連続削除できるため).
・検索した日時や削除したファイル名をファイルに記録できます
*'/R'オプションにより可能(DOSバージョン3.0以上のときのみ使用可)
□使用方法
検索したいファイルの名前をコマンドのあとに続いて入力してください
WNCFIND COMMAND.COM
上記のように入力して実行するとCOMMAND.COMを検索します
また、以下のようにするとドライブ指定ができます.
WNCFIND A:COMMAND.COM
WNCFIND A: COMMAND.COM
WNCFIND COMMAND.COM A:
上記の例であれば、AドライブのCOMMAND.COMを検索します.
*ドライブは複数指定できません.

/?を指定すると簡易的な説明が画面に出力されます(英語の説明).
WNCFIND /?
WNCFIND             ←コマンドだけでも英語の説明が現れます.
WNCFIND /!
*'/!'を指定すると日本語で簡易的な説明が画面に現れる.
/Sを指定するとサブディレクトリのみ検索・表示します.
WNCFIND /S
WNCFIND A: /S
WNCFIND /S A:
上記の例のようにドライブ指定も可能です.
□その他のオプション
[記録]
/R    検索を実行した日時や削除したファイル名を記録できます.
 指定すると'WNCFIND.COM'と同じディレクトリに'WNCFIND.REC'を作成します。テキストデータですので自由に見ることが可能です。DOS v3.0以上が必要です. (v2.??では,/R検出直後エラー終了します).
 *v3.0以上では自分の実行位置を正確に知ることができるため.
 *検索したファイル名は記録されません(削除のみ記録).
WNCFIND /R *.*
WNCFIND *.* /R

[ファイル情報]
/I    検索したファイルの情報を出力します(情報のみ)
/IP   検索したファイルの情報とそのファイルのフルパスを出力します.
    */Iでサイズ,作成日時,属性,ファイル名を出力.
    */Iと同等の表示をした次の行にそこまでのパス名+ファイル名を出力
WNCFIND /I *.COM
WNCFIND *.COM /I
WNCFIND /IP *.COM
WNCFIND *.* /IP

[画面表示規制]
/M    著作権などを表示しません.
/MF   検索したファイルの名前を出力しません.
    */Mと/MFを指定した場合はエラーがないかぎり無表示.
/P    20行ごとに一時停止します.
    *<PRESS ANY KEY>と出力し,何かキーを押すと解除.
WNCFIND /M *.COM
WNCFIND *.EXE /M
WNCFIND /MF *.EXE
WNCFIND *.EXE /MF
WNCFIND /M /MF *.*
WNCFIND /MF *.* /M
WNCFIND /P *.*
WNCFIND *.* /P

[ファイル削除]
/D    検索したファイルを削除します(消すか消さないか選択できます)
/DG   検索したファイルを無条件に削除します(使用する時は注意が必要)
    */DでDELETE FILE[Y/N]と出力.消すときは Yキーを,Nキーで無削除.
    */DでYキー以外を押すとすべてNキーを押したと判断する.
    */D,/DGでファイルを削除するとき/Rを指定すると削除したことを記録.
WNCFIND /D XXXXXXXX.BAK
WNCFIND XXXXXXXX.BAK /D
WNCFIND /DG XXXXXXXX.BAK
WNCFIND XXXXXXXX.BAK /DG

[属性指定]
/A    属性がないものを指定します.
/AR   読み込み属性を指定します.
/AH   不可視属性を指定します.
/AA   アトリビュート属性を指定します.
/AS   システム属性を指定します.
/AX   属性のあいまい検索を指定します(/ARなどの属性が2つ以上必要)
    */Aは RHAS属性が無いものを指定./AXと同時に指定すると無効.
    */AR,/AH,/AA,/ASと同時に使用しないと無効果.
    */AXを指定すると属性OR条件として処理 (無いとAND条件).
WNCFIND /A *.*
WNCFIND /AR *.*
WNCFIND /AR /AH *.*
WNCFIND /AX /AR /AH *.*

[日時指定]
/W    条件としてこの日付のみ検索します(/W19980202 など)
/WS   条件として開始の日付を指定します(/WS19980201 など)
/WE   条件として終了の日付を指定します(/WE19980220 など)
    */W19980202は1998年2月2日を指定したことになる.
    */WSだけ指定すると、指定の日付以降をすべて対象.
    */WEだけ指定すると、指定の日付以前のものをすべて対象.
WNCFIND /W19970101 *.*
WNCFIND /WS19970101 *.*
WNCFIND /WE19980101 *.*
WNCFIND /WS19970101 /WE19980101 *.*

/C    条件としてこの時間のみ検索します(/C170000 など)
/CS   条件として開始の時間を指定します(/CS083000 など)
/CE   条件として終了の時間を指定します(/CE220000 など)
    */C170000  は 17時 00分 00秒を指定したことになる.
    */CSだけ指定すると、指定の時間以降をすべて対象.
    */CEだけ指定すると、指定の時間以前のものをすべて対象.
WNCFIND /C130000 *.*
WNCFIND /CS083000 *.*
WNCFIND /CE175030 *.*
WNCFIND /CS083000 /CE175658 *.*

    */W,/WS,/WEで指定できる日付は1980年1月1日から2079年12月31まで.
    */C,/CS,/CEで指定できる時間は0時00分00秒から23時59分59秒まで.
    *オプションは重複指定可能.
WNCFIND /R XXXXXXXX.BAK /DG
WNCFIND /WS19970401 /CS133000 *.BAS
    *組み合わせによって,どちらか一方のみ作動.
    */Sを指定すると他のオプションは無効.
WNCFIND *.* /I /S
(/Sのみ有効になります)
指定されたファイルがみつからないときも正常に終了します.
>WNCFIND COMMAND.EXE
[DFIND,WNCFIND(FFIND) V0.01]
- DFIND - COMPLETION.
= FFIND = COMPLETION.[             0 FILE ,             0 BYTE]
(C)1998,2013
 

曖昧回避のための項目(2013年11月02日)

※1:商用利用可・wnctools添付説明書をご覧ください
※2:商用利用には学校・塾・企業・パソコンスクールでの使用、 雑誌・書籍の付録を想定しています(連絡不要)
※3:画面のハードコピー・キャプチャも使用可(連絡不要)
※4:犯罪になることはダメです
*この項目は都合により変更する場合があります
 

wnctoolsで使用している2条項BSDスタイルライセンス(2013年11月10日)

□2条項BSDライセンスのテンプレートを使用して年と著作権表示のみ変更したものです。修正BSDライセンスの二条項版と同等(年はソフトウェアの製作開始により異なります)
;Copyright (c) 1995-2000,2013 wnc / t.w.
;All rights reserved.
;
;Redistribution and use in source and binary forms,
; with or without modification, are permitted provided that
;the following conditions are met:
;
;1. Redistributions of source code must retain the above copyright notice,
;   this list of conditions and the following disclaimer.
;2. Redistributions in binary form must reproduce the above copyright notice,
;   this list of conditions and the following disclaimer in
;   the documentation and/or other materials provided with the distribution.
;
;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
; IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---------------------------
日本語版ライセンス(参考用)
---------------------------
Copyright (c) 1995-2000,2013 wnc / t.w.
All rights reserved.

ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満たす場合に限り、再頒布および使用が許可されます。

1. ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項を含めること。
2. バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作権表示、本条件一覧、および下記免責条項を含めること。

本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。
 

ソースはWeb頁でも公開します(都合により掲載を終了する場合があります)

wnctools_source.zip
実行ファイルが必要な場合はベクターからダウンロードしてください。
wnctools[ベクターのwnctoolsへリンク]

一覧
先頭頁に戻る
[20240130]
©wnc develop