ファイルのバイトチェックサムを表示/調整するプログラム

CHKSUM.EXE

V1.10 Copyright(C)2006 まりも

1.【目的】

 ROMのデータなどは、一般にチェックサムという仕掛によるチェック 機構がシステム側に掛けられています。チェックサムとは、バイトまたは ワード単位でデータを(桁上がり無しで)加算し、その結果をどこかに 保存しておくことで、データの誤りを検出する方法です。誤り検出法 としては最も簡単な方法ですが、小さなシステムでは今日でもよく採用 されています。

 チェックサムが掛かっているシステムでは、データを改変すると、 システムが作動しなくなるなどの問題が生じます。改変してもうまく 作動するようにするためには、チェックサム値を元どおりに合わせる 必要があります。ただしチェックサムを計算する範囲や、その値の 処理については、システムによってさまざまです。

 本プログラムは、ファイルのバイトチェックサム値を表示します。 オプションにより、チェックサム計算のアドレス範囲の指定が任意に 行なえるほか、チェックサムがゼロとなるような補数値を、指定位置 に書き込むこともできます。

2.【使用法】

 DOSプログラムですので、プログラム名 CHKSUM をタイプして起動して ください。コマンドオプション無指定の場合、実行中にファイル名を 訪ねられますので入力してください。

 コマンドラインオプションには、ファイル名(スイッチ文字無し)の 指定ができるほか、 /A (-Aでもよい) /W (-Wでもよい) があります。小文字でもかまいません。

/A を与えると、チェックサム計算のアドレス範囲(開始値と終了値) を訪ねられます。16進数で与えてください。コマンドラインでの指定が ない場合は、ファイルの最初から最後までとなります。空入力の場合も そうなります。

/W を与えると、チェックサムがゼロとなるような補数を、指定の アドレス位置に書き込みます。空入力の場合は、最後のバイトに なります。このオプションがあるときは、元のファイルのバック アップを、.ORG という拡張子で作成します。(元のファイルの リネームではないので、ファイル日付が保存されません)。 バージョン 1.10では、元のファイルの日付がコピーされます。 既に拡張子 .ORGの同名ファイルがあると上書きされます。

図1 ↓PC-98での実行例スナップショット

図2 ↓PC/AT互換機での実行例スナップショット /A オプションあり

3.【注意】

 長いファイル名の対応。長い名前にはとくに対応していませんバージョン1.10から、Windows 9xのDOS窓で長いファイル名を使用することができるように なっています。ただし長いファイル名にスペースを含む場合は、コマンドラインで 名前を指定せずに、プログラムの途中で与えるようにしてください。

図3 ↓PC-98のWindows98SEでの実行例スナップショット

  いっぽう、Windows NT/2000/XPの場合は、長い名前を使用することが できませんので、DOS互換の短い(8.3の)ファイル名にいったん変更し てから使うなどしてください。。

 扱えるファイルの最大は256キロ512キロバイトとなっています。それ以上のサイズのファイルを扱いたい場合は、Win32版のその ようなソフトをお探し下さい。

 ワード(2バイトや4バイト) ごとに、あるいは奇数バイト偶数 バイトごと(*)にチェックサムを計算するようなシステムには、 本プログラムは対応しません。 (*) 例:PC-98本体のITF/BIOS ROMのデータ

 チェックサム調整機能(/W オプション)は、サムがゼロとなる ような調整以外には使用できません。

4.【お約束】

 このプログラムはフリーソフトウェアです。著作権は 「まりも」が 保有します。不特定多数がダウンロードできる場所への転載は禁止と しますが、フラッシュ書き換えツールなどの自作フリーソフトにバンドル したいという方には、バンドル(転載)許可を致します。

 このプログラムを使用した結果について、作者は一切責任は負いません。 チェックサムが正しくなかったためにシステムの起動ができなくなるという ことは、よくあることです。データ作成の際は、システムについて熟知の うえ、十分な注意を払うようにしてください。

     2006-3-23  まりも

5.【改版履歴】

2006-3-20 1.00 新規公開
2006-3-23 1.10 DOS窓LFN対応、バックアップファイルの日付保持など

[戻る]