スターソルジャーの圧縮がドラえもんの圧縮だった話

過日、スターソルジャー30周年の時、スターソルジャーのマップの圧縮に関する記事を書いた。

それが上。結構、当時にしては複雑な圧縮してたんだなあと思った。ところが、もう去年の話なのだけど、突然facebookで野沢さんからメッセージが飛んできた。

■野沢さん
うー、ブログ訂正希望。 
スタソルのマップのデータ構造が、間違って覚えてた。 
2×2セルで20セルが横ラインで変則ランレンで圧縮してた。
はー、ダメだおれ。

んで、ちょっと聞いてわかったのが、自分でスタソルのソースを作ろうとざっとディスアセンブルしたらなーんと解凍ルーチンが違った、というのである。
それで野沢さんいわく「あれはドラえもんだと思う」と。

■僕
wwww
まあ用意しとくw
あれはドラえもんなわけねw
■野沢さん
そうなんだ。
スターソルジャーのディスアセンブルはほぼ成功してるしね。 仮ソース作ったよ。
ドラえもんもディスアセンブルしようかな?
専用デイスアセンブラも有るし、暇つぶしには良いかも。 
でも、プログラムの書き方が、三人とも違うんで、読みにくいんだよね。
最後に実機で作ったマップエディタだからかな?
うむー、最終記憶が・・・・・

というわけで僕もドラえもんの中身に興味が出てきて、ちゃっちゃとダンプしたらスタッフロールのテキストが非圧縮のベタ持ちであまりにひどいのでビックリしてfacebookに書いたら、なんと面白いエピソードが山のように出てきた。

■僕
スタッフロールの文字列の持ち方がひどいぞ!!!
wwww
■野沢さん
う、勘弁して、俺一人じゃないし。
まあ、急に決まって、尻カッチンなんですよ。
そりゃ、プログラマーの大量投入以外の方法論が無いのよね。
取り敢えず、サンキュー。
■松浦さん(当時アート)
時間が無くて、中本さんもこの時、コード打ったんですよね。
各ワールド毎に別々のプログラマーが寄ってたかって頑張った記憶が・・・スタッフクレジットなんか、もぉーギリギリで入れたんじゃ無かったかな。
ちがいましたっけ野沢さん。
そして四角いタコになったのは、僕のせい。ごめんなさい。
■僕
大炎上プロジェクトになったとw
■松浦さん
いやーん、言わないでぇー!

と、こんな会話があり、当時、ケツかっちんもいいところのプロジェクトで、書けるプログラマで手分けして力任せに書く…具体的には、野沢さん・中本さん・菊田さんの3人でステージを手分けして書くムチャをしたことが判明したのだけど、ここにスタッフロールに載っている4人目のプログラマが登場した。

■奥野さん
スタッフロールだけで1バンク使えたんだから別にいいじゃろ
■僕
なに!? 奥野さんなの!?w
■奥野さん
あ、あとワープシーンも同じバンク とか言ってみるテスト(笑)
■僕
まあ、イースⅠ・Ⅱでも天外2でもスタッフロールのテキスト「だけ」は圧縮してないけどさあw 空白までベタ持ちはないやろおおおおお!?w
lda [] sta [] が目に浮かぶぞw
■奥野さん
32KB使い放題 !
■僕
バンク単位で管理してたわけねw まだas/lkがない時代かw
■奥野さん
1MbitROM を上位2ビットでバンク切り替えするMMUいぜんの基板だからね。割り込みベクタとか共用コードは共通バンクとかないから同じ論理アドレスに同じ物置かないとならんし(笑)
PROGRAMED BY の4番目に俺の名前がえらそうに!
しっかし 水増しするのも大変だったんだぞ(笑)
今思うと ミニゲームの一つや二つ入れとけば良かったのに!
以上です

奥野さんの最後のセリフは、ファミコンの初期メガROM開発の貴重な証言なのだ。わかる人にはわかる。
なお、5人目のプログラマの板垣さんは当時の彼の仕事から考えると多分何かツールを作ったんだろうと思う。

奥野さん渾身のワープシーン

というわけで、実はあの記事はスターソルジャーの圧縮ではなく『ドラえもん』の圧縮だったという話であった。

どうして野沢さんが間違ったのかはわかる。
86年は3月あたりに『スターソルジャー』のマスターがあって、半年ほどで『ドラえもん』のマスターだ。
おまけにケツカッチンで余裕が全くなく、メインプログラマ3人体制でコードを手分けして書くようなムチャなプロジェクトだ。ルーチンもかなり流用しただろうし、締め切りも近い。
さらに野沢さんによると、実機の上で動くレベルエディタの最終版だったりと、いろいろあって覚えていたのは、実は『ドラえもん』の方だったという話なのだろう。

近いうちに本当の『スターソルジャー』の圧縮についての記事はまた掲載する予定である。

LinkedIn にシェア
Pocket