EXCEEDの同人ソフト開発日記という名の備忘録

趣味のゲームソフト開発人。プロなのかアマなのかは不明(不定)らしい。

任天堂のソフトはいつも予定通りに出てこないって言われるけど、
ソフト作りっていうのは、そういうもの。
ゲームソフトは、期限までにやれと言われて、徹夜したり死に物狂いでやったからといって、
期待通りのものにはならない。そういうふうにすると、
結局、チームは妥協しなければならなくなる。
妥協させられて、できたものは、粗くなってしまう。
ユーザーは目が肥えていますから、受け付けてもらえない

山内 薄

デコカセットシステムのテープデッキ(マイクロテープ版)の完動品を貸していただける方を募集いたします。
私どもに貸しても良いと思われる方は、コメントにてご連絡(書き込み)ください。
追ってメールアドレス等の連絡先をご連絡いたします。



お陰様でなんとかなりそうです。ありがとうございました。

第13回オリゲーフェスタ68

今更ながらですが、去る5月4日に秋葉原の損保会館で開催されたイベント「オリゲーフェスタ68」の手前味噌なブースレポートです。

公式サイト→http://xps.jp/festa68/


1983年にデコカセットシステム(業務用ビデオゲーム基板)でリリースされた隠れた名作「ゼロイゼ」をX680x0に完全移植したものをプレイアブル展示しました。非売品ではありますが、入手不可能というわけでもありません。








「あの、素晴らしい をもう一度/再装版」「サンダーストーム for Windows/X68030/060」
今回は、あのすばの方でプログラマーとして参加させていただきました。





ロードブラスター&バーニンラバーのプラモデル(非売品)




業務用完全移植、X680x0版「バーニンラバー」
こちらも非売品ですが、入手できないというわけではありません。





なんとか抜け出して撮影できた「ラキッ!さんのブース」にて歴代のネレイドの展示



とりあえず、来年の開催は未定らしいですが、また開催して欲しいですね。

デコカセ吸出し完了

テープ破損の「東京見栄診療所」「スーパーダブルステニス」を除く手持ちのデコカセソフトすべての吸出しが完了し、自作エミュレータ上で動作を確認した。

「大相撲」のドングルは、幸運にもひょんなことから入手できてしまったので、それを吸出し。

記事は友人のブログを拝借(笑)
http://d.hatena.ne.jp/fslasht/20100619

ちなみに、以前「芸能人資格試験」の吸出しに成功したという記事を書いたことがあるが、実は完全に吸い出せていなくて、今回無事に吸い出すことに成功した。

吸出し

その1

某所で入手した「DSテレジャン」の吸出しを行ったのだが、何度吸い出しても特定のセクタでCRCが合わない。しかも、吸い出されたデータすべてをバイナリdiffにかけても、すべて同一内容。仕方がないのでBIOS ROMを再度解析してみたら原因が分かった。なぜだか知らないが、このソフトの場合はCRCを無視する構造になっていて、それが原因でCRCが合わないセクタがあっても正常に起動することが判明した。

しかし、私は麻雀のルールはよく知らないのだが、この頃の麻雀ゲームは素朴で罪が無くて見ているだけでも飽きなくて、非常に好きだ。

その2

吸出し基板によるテープデータの吸出しは出来ているのだが、どうしても吸い出せないソフトが1つだけある。それは「大相撲」。なぜ吸い出せないかというと「ドングルが欠品」だから。当然ながら、ドングルはセキュリティーパスの役目を果たしているので、これがないとハード的アプローチで電子回路に割り込んでもプロテクトの外れたデータを吸い出すことができない。しかし、テープの寿命も年々来ており、悠長な事も言ってられないので、急がないとならない。

そこで、考えたのが「別のゲームのドングルを使って吸い出す」という方式。要は「合わない鍵で無理矢理ドアをこじ開ける」ということで、合わない部分をソフトウェアで補うという方法なのだが、これが理論上うまく行くはずが、成功しない。もしかしたら「大相撲」は新手のプロテクト方式を採用しているのかもしれない。

ただし、仮に大相撲の吸出しに成功したとしても、これが動くかどうかは正直言ってバクチに等しい。なぜならばドングルはセキュリティーキーの役割の他に、データROMの役割も持っているため、データROM内のデータを読み出す作りの場合、ドングル(のROMデータ)が無いと、完全にアウトということになる。

あともう一つ怖いのが、「実はもう大相撲のテープは死んでいる」という状態にも関わらず、ドングル無しの吸出しを行う行為を試行錯誤するという状態。こうなるともう永遠に吸い出すことは不可能になる。

まだここには書かないが、もう1つだけ最後の望み(方法)があるので、それを試してみようと思う。

ゲームレジェンド11

plastic さん(サークル名:1COIN 1CREDIT)と AC-YOUCH さん(サークル名:ミッドナイトブラックパピヨンズ)のご好意により、急遽私もブースを間借させていただきました。



主な展示内容は


独自研究に基づき、
アーケードゲームX680x0 および Nintendo DSに移植する


というものです。(※販売および配布はしておりません。)

AC-YOUCH(わたなへ)さんの方では、

plasticさんの方では、

私の方は、

  • スケーター for X680x0(未完成)
  • ゼロイゼ for X680x0(未完成)

を展示させていただきました。


源平討魔伝」と「ベラボーマン」



「きれいだろ、これ・・・60フレームで動いてるんだぜ」(上杉達也風に)

D
D


ティーコネクション


X680x0 に移植した作品は、WindowsX68000 エミュレータ「けろぴー」の改造版(改造は plasticさん)でデモを行いました。主たる改造内容は「正確な VSync の取得」だそうで、31KHz 画面でも、滑らかな画面表示が可能になっています。

ちなみに、「ねこひいちゃった」は全ユーザーの積年の恨みらしいです(笑)

マッピー


実はこれ、サウンド再生に驚きの仕組みが・・・
元々の基板はナムコ独自の波形音源なので、X680x0 のFM音源で再現するとなると、厳密には同じ音にはならないのですが、これを ADPCM でリアルタイム周波数変換+合成処理を行い再生するというズームのオーバーテイクも驚きの超荒業を行っています。(FM音源版も用意されたとのこと)ちなみに、リアルタイム合成を行うには、X68030 クラスのMPUパワーが必要だとか。

D
D

スーパーパックマン


こちらも ADPCM 再生に対応しています。モンスターが若干引きこもりがち(?)とのこと


パック&パル


こちらも ADPCM 再生に対応しています。個人的にはかなり思い入れのあるタイトルなので、実は私も過去に移植しかけたことがありました。

しかし、数ある移植版パック&パルの中では1,2を誇る移植度のようです。私もいままで気が付かなかったのですが、実は画面中央下のオレンジ色の部分にモンスターが隠れる際に、目だけ透けて表示されるのですが、実は、これの表現はかなり手の込んだことをやらないといけないようです。私的には、モンスターの上に、さらに「目だけ」のスプライトを重ねて、プライオリティーを「目‐オレンジ‐モンスター」としておけばいいだけのことと思っていたのですが、実際はそうではなく、

オレンジ色領域に隠れた部分は「目以外」はオレンジ色になる。

というものらしいです。なので、たとえばモンスターが団子状になった状態でオレンジの領域に入ってくると、モンスター間でプライオリティーの低い方の目が欠けたように見えるわけです。ちなみに plasticさんはここの再現にかなりの時間を割かれたそうです。

D




スケーター(画面右)

デコカセ吸出し移植第一弾です。一応プレイアブルですが、サウンドが鳴らない、ネームエントリーが動かないなどの不具合がまだあります。あまり有名ではないようで、ゲームレジェンドに訪れる人でさえ知らない方の方が多いみたいなので、ちょっとだけ説明します。

ローラースケートを履いた巨大なピエロ(プレイヤー)が、ビルとか木を跨ぐというよくわからないルールのゲームです。縦スクロール方のゲームで、レバーを上に入れると加速、下に入れると減速、そしてボタンを押すと足を開くという寸法で、ビルや木やトラックなどを跨ぐとポイントです。ただし、ローラースケート部分が弱点なので、ここに障害物や敵(蛇や丸太など)が当たるとミスになります。足を開くと跨ぎやすいが、ローラー部分が背景にぶつかるリスクも高くなるという、よく考えられたバランスで、遊んでいると結構面白いです。

ゼロイゼ

こちらもデコカセのゲームです。まだデモが回るだけで、プレイアブルではありません。こちらもあまり有名では無いらしいので、簡単な説明をば。

宇宙ステーションらしき場所で、近未来的な自動車がビリヤード(?)をするようなゲームです。プレイヤーは赤い車で、8方向に自在に操作できますが、アクセルを押すと、瞬間的に加速し、ブレーキを押し続けると減速します。これで敵の車といわゆる「おしくらまんじゅう」をします。敵(や自分)は、壁に激突したり、穴(ブラックホール)に落ちたりすると負けです。ゲーム中、巨大キャラ(と、いっても、16x32ピクセル)が出現することもあり、これらには勝てないので、逃げ回るしかなかったりします。



と、以上のような感じで私も展示させていただきました。

閉会後、OFF会に参加するのを非常に楽しみにしていたのですが、会場で体調が悪くなり断念してしまいました。次回こそは必ず!

以上、ご心配をお掛けして申し訳ありませんでしたが、おかげさまで今は健康で、AC-YOUCHさんに教えてもらった、アレ版のアレのことを知り、焦ってアレの Windowsエミュレータの製作中です(笑)


今回も楽しい時間を本当にありがとうございました>皆様

通称「Z」の罠

デモで敵が死亡すると「おかしな命令」エラーで落ちる。WinX68k高速版の Debug Trace 機能でさがしたら・・・・ リターンアドレスを PUSH して強制的に rts で抜ける(ジャンプする)ルーチン発見。こんな初歩的な罠にはまるとは・・・まだまだ修行が足りないな・・・

ちなみに 6502 にはバグがあって、JSR 命令でスタックに格納される復帰先アドレスの値は「実際の値マイナス1」の値が格納されて、RTS 時に(自動的に)復帰先アドレスをプラス1することで整合性を保っている。


例)

A000:
JSR $1234 →スタックには $02,$a0 が積まれる。
A003:
次の命令

それで、デモループが一通り正常に回るようになったので、11/1 バージョンとして、ここで本当に一旦〆。ここまでで、ざっと二週間程度。残作業は横画面(ローテート)対応とサウンドCPU対応かな?その辺はバーニンラバーのノウハウがあるので、スムーズに進行すると思う(思いたい・・)。

通称「Z」

EXCEED2009-10-27


一応デモループが周るようになったが、主人公が一瞬で自爆するというとんでもないバグがあるので、なんとかしないといけないな・・・あんまり無理しても何なので11/1 のネタとしては、このくらいで一応〆ておくかな・・・