孤独へ向って突っ走れ (40) [ PC-98x1(補完計画)]
この一連の記事は、もうずいぶん長いこと孤独へ向かって突っ走っている。いまさら誰が見向くわけでもない大昔のゲームの、それもレビューではなくプログラムの解析を延々と。今日も私はヘロヘロしつつ、それでも頑張った。
同名で中身が異なるpicファイルがあるとわかったので、私はまず自作のpic展開プログラムを修正しなければならなかった。その修正が終わり、私以外に誰が使うわけでもないこの自作プログラムの使用説明書を書いた。まさに孤独へ向かってひたすら突っ走るわが人生。でも、この説明書は実は私自身のために必要だ。プログラムを組んでから1年も経つと、どんな動作をするプログラムだったか忘れてしまうんだ。後から自分のプログラムのコードをたどって動作を知るのも二度手間だから、今のうちに説明書を書いておくのは実は正しい。
ただし、その説明書をこのブログ記事に載せるのは、「いったい何のため?」と言われても仕方がない。社会に向かっての「私はまだ生きていて、頑張っているぞ」という自己主張だと理解していただけたら有り難い。
そういうわけで、今日はこの後に自作プログラムの動作説明が続く。
目的
PC-9801シリーズ用ゲーム「めざせトッププレイヤー テニス・テニス2」(以下「テニス・テニス2」と略記)のすべての絵をGIFファイルに変換し、Windows上で見られるようにする。実際には、このプログラムで変換する絵は*.PICファイルだけであり、メッセージウィンドウと試合中のボールを描くための*.Gファイルは変換しない。
使用法
(概略)まずこのプログラムと同じ場所に「テニス・テニス2」の3枚のフロッピーディスクから*.picファイルと*.palファイルをコピーするが、一部のファイルは同名で内容が異なるので全部を同じフォルダに入れられない。そこで次のようにする。
Windows上に、3つのフォルダ"1"、"2"、"PAL"を用意する。
「テニス・テニス2」のBディスクの"TENNIS\PIC4"ディレクトリ内の全ファイルを"1"にコピーする。
"1"の中の、ファイル名が"C??.PIC"のファイルだけを"2"へ移動する。
「テニス・テニス2」のBディスクの"TENNIS\PIC2"ディレクトリ内の全ファイルを"1"にコピーする。
"1"の中の"MAS1.PIC"だけを"2"へ移動する。
「テニス・テニス2」のAディスクの"PIC"ディレクトリ内の"*.PIC"を"1"にコピーする。
「テニス・テニス2」のAディスクの"TENNIS\PIC3"ディレクトリ内の"*.PIC"を"1"にコピーする。
「テニス・テニス2」のAディスクの"PAL"ディレクトリ内の全ファイルを"PAL"にコピーする。
「テニス・テニス2」のCディスクの"TENNIS\PIC1"ディレクトリ内の"*.PIC"を"1"にコピーする。この時、"TITLE2.PIC"だけはすでに"1"に存在しWindowsがメッセージを出すが、両方の"TITLE2.PIC"はまったく同じデータなので上書きまたは処理をスキップしてよい。
"1"、"2"、"PAL"を、このプログラムがあるフォルダに入れる。
このプログラムを実行する。
(プログラムの動作)プログラムは、すべての*.PICファイルを順に読み込み、画像データを展開し、対応する*.PALファイルを読み込んでパレットを実現し、*.gifのファイル名で同じフォルダに書き出す。
GIFファイルはプログラムのあるフォルダではなく、そのサブフォルダである"1"および"2"の中に書き出される。
対応するパレットが未調査の(プログラム内部のpic-pal対応テーブルでヌル文字列になっている)picファイルがあれば、警告の意味で赤色で出力する。ただしこのゲームでは妙なことにパレット番号0の色はパレットファイルのデータに関係なく黒にする仕様で、このプログラムでもそれを踏襲しているので、パレット番号0の部分だけは赤でなく黒になってしまう。
自作プログラムの動作説明は、ここまでだ。次に、現在までの解析結果を画像で見てほしい。赤い所は、まだパレットが見つかっていない絵だ。
"1"の絵
"2"の絵
これからの私は、この赤い所のパレットを見つけるべく、毎日少しずつ逆アセンブルしては解析する。何か特別なことがあったり、作業の区切りに到達したら、また記事を書きたい。
同名で中身が異なるpicファイルがあるとわかったので、私はまず自作のpic展開プログラムを修正しなければならなかった。その修正が終わり、私以外に誰が使うわけでもないこの自作プログラムの使用説明書を書いた。まさに孤独へ向かってひたすら突っ走るわが人生。でも、この説明書は実は私自身のために必要だ。プログラムを組んでから1年も経つと、どんな動作をするプログラムだったか忘れてしまうんだ。後から自分のプログラムのコードをたどって動作を知るのも二度手間だから、今のうちに説明書を書いておくのは実は正しい。
ただし、その説明書をこのブログ記事に載せるのは、「いったい何のため?」と言われても仕方がない。社会に向かっての「私はまだ生きていて、頑張っているぞ」という自己主張だと理解していただけたら有り難い。
そういうわけで、今日はこの後に自作プログラムの動作説明が続く。
目的
PC-9801シリーズ用ゲーム「めざせトッププレイヤー テニス・テニス2」(以下「テニス・テニス2」と略記)のすべての絵をGIFファイルに変換し、Windows上で見られるようにする。実際には、このプログラムで変換する絵は*.PICファイルだけであり、メッセージウィンドウと試合中のボールを描くための*.Gファイルは変換しない。
使用法
(概略)まずこのプログラムと同じ場所に「テニス・テニス2」の3枚のフロッピーディスクから*.picファイルと*.palファイルをコピーするが、一部のファイルは同名で内容が異なるので全部を同じフォルダに入れられない。そこで次のようにする。
Windows上に、3つのフォルダ"1"、"2"、"PAL"を用意する。
「テニス・テニス2」のBディスクの"TENNIS\PIC4"ディレクトリ内の全ファイルを"1"にコピーする。
"1"の中の、ファイル名が"C??.PIC"のファイルだけを"2"へ移動する。
「テニス・テニス2」のBディスクの"TENNIS\PIC2"ディレクトリ内の全ファイルを"1"にコピーする。
"1"の中の"MAS1.PIC"だけを"2"へ移動する。
「テニス・テニス2」のAディスクの"PIC"ディレクトリ内の"*.PIC"を"1"にコピーする。
「テニス・テニス2」のAディスクの"TENNIS\PIC3"ディレクトリ内の"*.PIC"を"1"にコピーする。
「テニス・テニス2」のAディスクの"PAL"ディレクトリ内の全ファイルを"PAL"にコピーする。
「テニス・テニス2」のCディスクの"TENNIS\PIC1"ディレクトリ内の"*.PIC"を"1"にコピーする。この時、"TITLE2.PIC"だけはすでに"1"に存在しWindowsがメッセージを出すが、両方の"TITLE2.PIC"はまったく同じデータなので上書きまたは処理をスキップしてよい。
"1"、"2"、"PAL"を、このプログラムがあるフォルダに入れる。
このプログラムを実行する。
(プログラムの動作)プログラムは、すべての*.PICファイルを順に読み込み、画像データを展開し、対応する*.PALファイルを読み込んでパレットを実現し、*.gifのファイル名で同じフォルダに書き出す。
GIFファイルはプログラムのあるフォルダではなく、そのサブフォルダである"1"および"2"の中に書き出される。
対応するパレットが未調査の(プログラム内部のpic-pal対応テーブルでヌル文字列になっている)picファイルがあれば、警告の意味で赤色で出力する。ただしこのゲームでは妙なことにパレット番号0の色はパレットファイルのデータに関係なく黒にする仕様で、このプログラムでもそれを踏襲しているので、パレット番号0の部分だけは赤でなく黒になってしまう。
自作プログラムの動作説明は、ここまでだ。次に、現在までの解析結果を画像で見てほしい。赤い所は、まだパレットが見つかっていない絵だ。
"1"の絵
"2"の絵
これからの私は、この赤い所のパレットを見つけるべく、毎日少しずつ逆アセンブルしては解析する。何か特別なことがあったり、作業の区切りに到達したら、また記事を書きたい。
2016-07-26 23:59
コメント(0)
コメント 0
コメントの受付は締め切りました