Nanashi-softプログラマ専用TSXBINマクロ


◇TSXBINマクロ 〜マクロ解説〜

◎解説書はちゃんとある

本体にちゃんとヘルプが付属しています。
ですが、なぜかメニューからでは開く事ができません(謎)
どっかいってしまった人は、もう一度ダウンロードしてファイル群を見てみましょう。
MACROHLP.HLPがそれです。

◎基本をおさえる

C言語をベースに作成したと書いてあります。
構造体を宣言して、そこにデータを読み込んで、処理を行うのが基本です。
宣言した構造体に $を付けて記述するだけで、データと共に表示されます。
構造体宣言で記述した文字列がそのままシンボル表示されますので、printf等は不要です。
この辺りは、ヘルプを見た方が分かり易いですね(^^;

◎データをシンボル表示する

このツールの最大の特徴である、シンボル表示をやってみましょう。

1. インクルード定義を記述する

 最初に型が宣言されたインクルードファイルを宣言します。
#include "typedef.h"

2. 構造体を宣言する

 先頭の1バイトを表示する宣言をしてみます。
struct KOUZOUTAI{
BYTE atai;
};

3.表示する

 この1行で、構造体にデータを読み込んで表示されます。
$KOUZOUTAI hensuu;

まとめて書くと、このようになります。

#include "typedef.h"
struct KOUZOUTAI{
  BYTE atai;
};
$KOUZOUTAI hensuu;

4. ファイル名を決めて出力

『拡張子.SYM』にてテキスト形式で出力して下さい。
ここでは分かり易いように『SYM.SYM』としてみて下さい。
そして、作成した『SYM.SYM』をTSXBINで表示して見て下さい。
すると、一番先頭にシンボル表示された‘#’があるはずです。

◎全データをシンボル表示する

先程のマクロでは、先頭の1バイトだけがシンボル表示されました。
これを全部シンボル表示してみます。
$KOUZOUTAI hensuu;行でシンボル表示しているので、これを何回も実行すれば良いのです。

C言語に準拠しているはずですので、whileでループさせてみましょう。
while(1){
$KOUZOUTAI hensuu;
}
ですね。

まとめて書くと、このようになります。

#include "typedef.h"
struct KOUZOUTAI{
  BYTE atai;
};
while(1){
  $KOUZOUTAI hensuu;
}

これを上書きして、TSXBINで開くと、全部シンボル表示されます。

◎ファイルサイズを把握する

先程のマクロを実行すると『最大ループ数に達しました』と言うワーニングが表示されます。
ファイルの最後に達するとエラーで完了するようです。
これを防ぐ為の方法として、ファイルサイズを取得して、そのサイズ分だけループする方法があります。

long FileSize=GetFileSize();
while(GetCurrentOffset() < FileSize){

}

GetCurrentOffset()が現在のファイル読み込み位置を示します。
これを踏まえて、先程のマクロを書き直してみます。

#include "typedef.h"
struct KOUZOUTAI{
  BYTE atai;
};
long FileSize=GetFileSize();
while(GetCurrentOffset() < FileSize){
  $KOUZOUTAI hensuu;
}

これでエラーを出すことなく、全てのデータが表示されます。


TOPプログラマ専用TSXBINマクロ