(升)祝12周年

ついに干支一周するところまで経ってしまいました。
更新頻度は落ちる一方な気もしますが、なんとか続いています。
で、12周年記念を公開。

一応MAMEでもピンボールが対応したので、その流れで。
まあ、数はかなり少ないですが。
(先日の日記で紹介した動画は密かにフラグという。)

でも正直、ピンボールの知識は皆無といっていいレベルです。


更に、チートデータをVer.0.146に更新しました。
先日の日記でwip公開していたものからバグ修正しています。


で、長い解説。

スラップファイト / Slap Fight

今回の更新で、一番力を入れたチートです。完全に需要無視な気もしますが…。

「Display Area Count」
右下に現在のエリアを表示します

全体のエリアをカウントしているアドレスが2エリア毎に1増える仕様で、
そのアドレスだけでは表示が2エリアづつカウントされてしまう。

1づつカウントするアドレスのほうは死んだりする事でリセットされてしまい、
そのアドレスを利用して計算をさせるよりは、割り込みアドレスを利用して、
奇数分を足すほうが楽そうなので、その方法に切換えて作ってみたのだが…

単純に80毎に数値を足すだけだとハイスコア一覧のエリア表示とズレていて、
微調整して誤魔化したが、厳密なチェックではないので、まだズレがあるかも。

あと、ラスボス位置がエリア80で、82になる前にリセットされ、エリア82~99は
存在せず、2周目からはループのカウンタを加え100になります

100の位は、999でストップさせる処理は入れていないので、11周目からは
数値ではなくA00~、B00~…と表示が増えていくと思います。


「Display Player Count」
残機数をスコア下に数字で表示します

通常だと、残機が5機以上貯まると何機いるかわからなくなるので、
残機を数値化しました。

表示をこの位置にしたのは、残機のキャラクターは背景が黒ベタで、
数字のキャラクターは背景が透過になっていて、本来の位置である
左下だと、数字だけ透過されて、見た目が悪くなるのでやめました。

100の位用意していないので、100機以上は数値ではなく、エリアと同様
A0~、B0~…と増えていきます。ちなみに、256機まで増やすと0機になり、
もちろん、その時に死ねばゲームオーバーになる。


「Skip Blank Gauge Mode」
☆を取った時に、ゲージが空白だった場合は
ゲージをスキップし、次のゲージに移ります

グラディウスシリーズでも応用が効きそうなので、
気が向いたら作ってみようかと思います。


「Remove Wing Gauge Mode」
ウイングがフル装備の時でもWINGゲージが残り、
そのゲージを選ぶと、全てのウイングが外れます

せっかくのウイングシステムも、付けると当たり判定がでかくなるので、
付けないのがセオリーだけど、これで安心して付けられます。


「Repair Shield Gauge Mode」
シールド装着中であっても、SHIELDゲージが復活し、
シールドが切れる前に張替えが可能になります

これも、グラディウスシリーズで応用が出来ればしてみたいところ。


「Select Speed」
自機のスピード変更します(32段階)
ゲージでのスピードアップよりも細かく調節出来ます
チートを立てている間、SPEEDゲージは空白になります

実質、スピード5速にするのがデフォなので、遅くする意味は
あまり無いですが、5速よりも速くすることも出来ます。

ちなみに、選択出来る範囲の数値より大きくすると、制御不能になる。


「Select Side Shot」
サイドショットを装備します
「Normal」は射程が通常の長さのサイドショットになり、
「Long」は画面の端まで届くサイドショットになります

以前からあるチートですが、装備自体もセットにし、選択方式に変更。


「Select Wing」
ウイングを装着します
チートを立てている間、WINGゲージは空白になります

本家にも同様のチートがありますが、本家のチートは本来足すべき
フラグが足りす、当たり判定など、いろいとおかしい状態です。


「Select Weapon」
任意の武器を装備します
チートを立てている間、武器ゲージは全て空白になります

こちらも、本家にある武器選択チートは、属性などのフラグが足りない。
更に弾が画面上に残っている状況で武器を変えるとフリーズを起こすバグ
があり、下手するとソフトリセットも不可になる状態でバグる。


「Long Shot」
ショットが画面の端まで届くようになります
但し、着弾しない為、?ボックスは出せません

以前のチートは、ウイングやヘルパーの事を考慮していませんでした。


「Remote Bomb」
ボタンを押している間は弾が爆発せずに飛び続け、
ボタンを離した位置で爆発します
画面最上部まで行くと押しっ離しでも爆発します

以前、「Shield Bomb」という、いまいち意味のわからないチートを
作っていましたが、それの発展系。


「High speed H.Missile」
ウイング無しでも、ホーミング弾の速度が速くなります

これも含めた上記3つのチートは、その武器を装備したときのみ
有効になるよう、フラグを追加しています。


「Always All Enemies Attack Stops Mode」
敵が弾を撃たなくなり、実質無敵状態となります
但し、シールドを貼った瞬間のみ撃ってきます

シールドを貼った時、このアドレスが一瞬リセットされるので、
このアドレスを止めただけでは対応できません。
幸い、シールドを貼る瞬間なので、突然死の可能性は低いし、
シールド貼る必要もないので、直せるか調べていません。


「Always have Secret Attribute」
全ての武器の隠し属性を同時に有効にする事が出来ます
「Without Laser」はレーザー以外の属性が付きます
「All Attribute」はレーザーも含む全属性が付きます
但し、レーザー属性は一部の敵に耐性が付いてしまいます

前回と比べて変更が全く無かったのは、結局このチートだけだった。


「Select Helper」
ヘルパーが常に付くようになります
(都合により、ヘルパーは無敵状態になります)

「Normal」は通常のヘルパーが登場します
「Quick」は高速で移動するヘルパーが登場します
「Front」はヘルパーが常に自機の頭位置に付きます
「Trace」は自機をトレースするオプションが付きます

種類によってキャラを変えています。
元からあるヘルパー2種類と、あとは適当にそれっぽいモノ。
でも、オプション1個しか付かないし、ショット以外弾出せないし、
バリエーション増やす意味があまり無いとう根本的な問題が…。



怪傑ヤンチャ丸 / Kid Niki - Radical Ninja

「Unlimited Jump」
無限にジャンプし続ける事が出来ます

ジャンプ効果が残って、着地した瞬間に誤爆ジャンプしてしまう事が稀にあります。
ジャンプは画面外でも無限に上昇し続けるので、画面外に上限を設けています。


ザ・ネクストスペース / The Next Space

「Select Speed」
自機の速度を10~24の間で変更出来ます
(10がスタート時の速度と同じになります)

ちなみに、25(19h)以上にすると制御不能になります。


「Rapid Fire」
メインショット/サブショットを連射にします。

連射速度を最大にすると、ボタン同時押しでメインかサブのどちらかしか
弾が出なくなるので、連射速度を1フレーム遅らせています。


「Select Sub Weapon」
サブウェポンを9種類から選択できます。

ウェポンの名前がわからなかったので、選択肢はA~Iになっています。



雀神伝説 / Jyanshin Densetsu - Quest of Jongmaster

「Maximum Parameter」
内部パラメーターを最大にします

レベルは40が最大ですが、40で固定すると、レベル上がった時に
バグってレベルアップのメッセージ無限ループしてしまうので、
39(27h)で固定しています。


「Infinite ~」
それぞれのパラメータが減らなくなります

Infinite Moneyは以前からあったチートと同じものです。


「Select ~」
武器や防具を選択できます


「Always have ~」
それぞれのアイテムを常に持った状態になります。


「Always have Death-Pai」
デスパイの魔法がレベルに関係なく使えるようになります。



ジョイフルロード / Munch Mobile

「Damage Recovered Immediately」
腕が障害物にあたってダメージを受けても、すぐに回復します



シルバーミレニアム / Silver Millennium

「Invincibility」
無敵

「Infinite Energy」
エネルギー減らない


没の予定だったが、一応作った分だけ公開。

隠しキャラ?を選択するチートも作ってみたものの、ゲーム選択画面では
ステータス表示部分がバグり、コンティニュー画面でフリーズするので没。

一応ゲーム中はキャラグラフィックも変わり、弾が貫通弾になっていて、
既存キャラにはいないキャラだったが、実際に隠しで使えるのかは不明。



スケーター / Skater

「Infinite Lives」
残機減らない

そういえば2P側作ってなかった。まあ本家で入るであろう。


「Infinite Skate」
スケートの持数減らない


「Always have Power boots」
常にパワーブーツ装着


他に、ネーム入れをし易くする改造も作ってみたが、問題が発生したので保留。



ゼビウス / Xevious

「Area Count Display」
画面右下に現在のエリアが表示されます

残機の表示エリアに重ねているので、残機表示がエリア表示まで達すると、
エクステンドした一瞬だけ、ちらつきが起こります。



タイムトンネル / Time Tunnel

「Infinite Fuel」
燃料が減らなくなります

単純に固定すると、面クリア時にカウントが止まらなくなるので、
面クリア時にチートが無効になるようにしています。



ダッシュ野郎 / Rally Bike

「Select Turbo」
ターボアイテムを取った状態(2段階)を選択できます


「Infinite Helper」
無敵のヘルパーが付きます
但し、ゲーム中にチートを有効にしても、ヘルパーが付かない
場合があるので、ゲーム開始前からチートを有効にして下さい



ダライアス / Darius

「Display Arm Counter」
アームの耐久力をステータス画面のARMの横に表示します

しかし、1P側の表示位置はゲームオーバー時に表示されるテキストと
被ってしまうので、その部分の修正も必要に…。

被らない位置にずらそうかとも考えたが、修正に必要な箇所は
conditionに1つ足すだけで解決するので、今の位置にした。


「Immediate Revival Mode」
一人プレイでも戻り復活をせず、その場復活になります

これを管理しているアドレス自体はすぐに見つかるアドレスなのだが、
単純に立てるだけだと、全機死亡してもゲームオーバー処理にならず、
そのまま進行不能になってしまう。

しかし、全機死亡のフラグを参照して値を戻しても処理が間に合わず、
どうするか試行錯誤していたが、考えてみれば全機死亡まで待たずとも
残機が0になった時点で機能させればいいので方針を転換。

それで、dariusjはちゃんとゲームオーバーに出来た。が、それ以外の
クローンはそれだけではダメで、改善策がどれも微妙に違う。

dariusoは同じ方法で数値を戻しても固定だとゲームオーバーにならず、
マスクで該当のフラグのみオンオフする形式にして対応。

で、dariusjはどちらの方法を使っても動作してアドレスも同じなので、
dariusoのチートをそのままdariusjに使いまわし。

次にdariuse。こっちは逆にフラグのオンオフの方式では動作せず、
最初のdariusjで使った方式だと動作する。
しかし、アドレスは異なるので、結局新しく作り直す事にした。

そして問題はdarius。実はこのバージョンだけ、2P側からでも単独で
スタート可能で、そのため死亡フラグも先に開始したプレイヤーから
順に割り振られる仕になっていた。
(ちなみに、他のクローンは2P同時スタートの場合と1P単独スタート
 した後に2Pが途中参加した場合では、2P側のアドレスがズレる。)

結果、他のクローンのように単純な方法では無理なので、最終的には
テンポラリ使って新たなフラグを用意する方法に変更。
(アドレスシフトを使えば対応可能かも知れないが試していない。)

で、一通りの死に方を検証して大丈夫そうなので一応完成。

と、思いきや、更にエンディングでもこのフラグを使う事がわかり、
該当するビットをマスクして今度こそ完成。

予想以上に手間がかかってしまった…。



ちゃっくんぽっぷ / Chack'n Pop

「Always High Jump」
足場が半分しかない場所でも通常の高さのジャンプが可能になります


「Always have Speed up」
スーパーハートを取った状態の速度と同じ速度になります



怒首領蜂Ⅱ / DoDonPachi II

「Infinite Combo Gauge」
コンボゲージが減らなくなります

他の首領蜂シリーズで作っているので、これもついでに作った。

ちなみに、同じPGMのデーモンフロントでもコレを作ろうとしたのだが、
作ってはみたものの数値固定だけでは完全に固定出来ていなかった事が
後になってわかり、調べたらかなり特殊なアドレス位置の変更が必要で
チートサーチ機能だけでは厳しい状況なのでやめました。



忍者じゃじゃ丸くん / Vs. Ninja Jajamaru Kun

「Always have Red gem」
常に赤玉の効果が持続


「Always have Super syuriken」
常にスーパー手裏剣の効果が持続


「Always have Truck」
常にトロッコに乗った状態になる


「Always have Phial」
常に薬ビンの効果が持続

アイテムは同時使用が可能ですが、トロッコと薬ビンを同時に使用した場合、
トロッコ自体も当たり判定がなくなるので、敵を轢く事は出来なくなります


トロッコのチートのみをオフにした時に、キャラクターのゴミが残るので、
トロッコをオフにした時にゴミを消す処理を別に入れた。

トロッコは表示する時、じゃじゃ丸のキャラをトロッコのキャラに置き換え、
じゃじゃ丸のキャラを新たに別のメモリに表示するという謎な仕様だった。
で、単純にオフにすると、じゃじゃ丸が2人表示された状態になるという…。



VS.マイティボンジャック / Vs. Mighty Bomb Jack

「Always have Mighty coin」
常にマイティコインを持った状態になります

枚数を9で固定した状態で、マイティコイン取るとGREEDYになってしまうので、
画面表示のみ9にして、内部では8枚にしてます。


「Always have Mighty power」
常にマイティパワーの効果が付いた状態になります
「Level 2 and more」でレベル2を維持、マイティコインでレベル3に出来ます
「Level 3」でレベル3固定、但し、敵をコインにする事も出来なくなります



ベイルート / Bay Route
「Rapid Fire」
入力アドレスを使った連射チートで、ネーム入力時の連射制限もしていません
(ネーム入力時はショットボタン以外で入力して下さい)


「Maximum Fire Power」
全ての武器の火力を最大(2段階)にします


「Ultimate Grenade」
グレネードの同時発射リミットを解除します


リミット解除しても、通常2発の上限が4発になるだけです。
更に、グレネード以外は問題が起こるので、他の武器を使用中は
チートを無効にしています。

他に乗り物チートも作ったが、問題があったので没。



ミスター・ドゥ! / Mr.Do!

「Power Ball Revival」
敵の当てたボールの復活を早めます

「Fast」で破裂後、すぐに復活します
「Fastest」破裂するエフェクトもカットします




データ修正・削除

悪戯天使 / Itazura Tenshi

「Always have Arrow」
本家でも作られたので削除



グラディウスⅡ / Vulcan Venture

「Select Missile」
無駄な処理を抑えて、チートを短縮



スーパーゼビウス / Super Xevious

「Always Found Special flag」
スーパーゼビウスで、このチートを有効にしていると、エリア14のヘリコプターも
勝手に破壊してしまうので、エリア14ではチートが無効になるように変更



ダライアス / Darius

「Infinite Arm」
dariusのみ動作していなかったので修正

このチートはアームの耐久力が99に固定をしますが、
アームアイテムを取らないと効果はありません。

スポンサーサイト

コメント

非公開コメント

ねこ自慢

Wayder

Author:Wayder
 
ねこ自慢
http://wayder.web.fc2.com

ニコニコ動画マイリスト
nicovideo.jp/mylist/52529218


※FC2ブログの仕様で非公開コメントに
 対して非公開での返信ができません
 予めご了承下さい

Counter
Category
Calendar
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
New Article
Form