━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    BASICチェックサム            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ファイル名:BASCHECK.BAS  BASICチェックサムは,Oh!FM掲載プログラムを入力する際に打ち込 みミスのある行を発見するためのツールです。  Oh!FM掲載プログラムがたとえば "TEST.BAS" という名前だとすると,ま ずBASICを立ち上げてそれを入力し,ASCIIセーブします(F-BASIC386 のファイルをクリックすると「保存 (アスキー) 」とあるものです) 。  さて,BASICチェックサムのプログラムを起動します。このCDに入って いる"BASCHECK.BAS"を読み込み,実行します。すると,チェックサムを見たいフ ァイル名を聞いてきますので,ファイルディスクリプタ( "A:TEST.BAS" など。 カレントディレクトリの場合はダブルクォーテーションは不要ですが,それ以外 の場合はディレクトリ名などが必要)を答えてください。  次に,1.画面上に表示するか,2.プリンタに出力するかを聞いてきますの で,番号で答えてください。Oh!FM誌上の「BASICチェックサム」と書 かれたものと同じ形のものが出力されるでしょう。これは,BASICプログラ ムの各行について,文字をASCIIキャラクタとしてとらえ,その値を足し算 した結果です。ですから,たとえば "TEST.BAS" が100 行から始まり,10行間隔 で350行まであるとすると,     LINE +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 SUM 100 nn nn nn nn nn nn nn nn nn nn :NN 200 nn nn nn nn nn nn nn nn nn nn :NN        300 nn nn nn nn nn nn 00 00 00 00 :NN 00 00 00 00 00 00 00 00 00 00 00 :00 --------------------------------------          NN NN NN NN NN NN NN NN NN NN :NN と出力されます。nnに当たるところが各行のSUM で,NNに当たるところがさらに そのSUM のSUM(合計値) です。ですから,もし一番右下のNNが本誌のものと違え ば確実に打ち込みミスがあるということになります。その場合,次にどの段,ど の行のNNが違うかを調べていきます。もし,+3の段,LINEが200 の行のnnが違っ ていたなら,230 行に打ち込みミスがある,ということです。なお,nnやNNは00 からFFまでの16進数で表記されています。  ただし,このBASICチェックサムは,万能ではありません。単に文字の値 を足し算しているだけですから,たとえばPRINT をPRITN と打ち間違えていても, SUM は合ってしまいます。音楽プログラムのデータなどではL8O11 をL81O1 など と順番を間違えて打ち込むことも少なくないので,注意してください。  なお,このBASICチェックサムは, 1.REM およびシングルクォート (' ) が出てきたら,REM およびシングルクォ  ートを含めてそれ以降を計算しない 2.スペース記号(空白)は基本的に加算しない。ただし,ダブルクォーテショ  ン(" )中のスペースは加算の対象とする 3.ダブルクォーテーションそのものは加算しない 4.行番号そのものは計算しない(プログラム内で GOTO 150 などと使われてい  るものは加算する) という仕様に従って作られていますので,ご注意願います。 なお,この本チェックサムは,TownsFOS対応になっていますので,T ownsFOSからパラメータとしてファイルディスクリプタを受け渡せばその まま実行されます(TownsFOSについてはそちらのディレクトリに入って いるドキュメントファイルをお読みください)。 このプログラムの著作権はOh!FM編集部が保持しておりますが,著作権法 の定める「個人的な利用」の範疇であれば自由に利用してくださってけっこうで す。また,転載・配布についても事前の許諾なしに自由に行ってくださってかま いません。ただし配布時に, 1. Oh!FM掲載プログラムであること 2. 自由転載許可に基づいて転載・配布したものであること の旨を,説明用のテキストに明記してください。