ACA抽出分 KOF99ka用 DC/EVO+αの修正MODIPS byサイフォンさん
お待たせしました
サイフォンさんに長期にわたり投稿いただいた
Android版ACANEOGEOから抽出したKOF99(Kof99Ka)の修正&改良パッチのIPSです
関連記事
今回は既存分へのパッチではなく
素の抽出分にあてるパッチになります(注意)
今回はCとP1/P2にM1も同梱してあります
問題ないと思いますが、もし何かあった場合はコメントまで
ちなみにCはDC10→DC12Fと当てれば、同じものが生成されます。
M1のIPSはFBNeoのナイトリー版における表示不良を解消するパッチです
解析:しげるさん、この場を借りてお礼申し上げます
事後承諾ですみませんが、配布に問題があったらゴルァしてください。
パッチ後のCRC
152-p1.p1 dd09ac6c
152-p2.sp2 8604ea3a
251-m1.m1 1535e817
251-c1.c1 56adec5f
251-c2.c2 883492ec
251-c3.c3 03bd5cd5
251-c4.c4 824fb11c
251-c5.c5 3d9f57a4
251-c6.c6 e1fb7f44
251-c7.c7 11bd7a83
251-c8.c8 caf0f9bc2025/12/12 朝の時点までパッチ済
大きな変更点
通常投げ(つき飛ばし)→コマンド投げ(既存の投げ)→通常投げ(既存の投げ)
投げ外し不可能だったウィップの投げを
モーションと挙動修正で投げ抜け可能に
元々の投げを新規コマンド投げとして追加されています。
(ヨガフレイムコマンド+D)
マキシマ(ノーゲージ)がストライカー慎吾で敵を拘束時に
マキシマリベンジャーコマンド成立でゲームがリセットかかるのを修正
追加修正分・未反映(サイフォンさん投稿感謝です)
まだIPSには反映されていないバグ修正分です、後日適応する予定です。お急ぎの人は手動でパッチを当ててください。ダウンロードはこちら
香澄STで飛び蹴り→投げで相手を倒すと、起き上がって静止→勝利ポーズなしでラウンドが以降するバグ修正
(任意)
上記を修正するとこういった香澄ST絡みのコンボが潰れてしまうので
挙動は変更せずにとどめを刺せないようにダメージを0に変えるための修正はこちら。
ジョンの↓↓+Bで猟虎陣を維持したあと、Dで太極避(無駄ですよ)を行った後
スーパーキャンセルして鳳凰裂爪脚を行うと、ぶつかり判定が消えるのを修正。
ファイティングEXレイヤー ベータ版無償公開へ
PS5のベタポートになるようですがお祭りですね
アップデートはしないそうなので新作で出ると…いいですねえ。
〆
これ以後の小変更はこちらに追記する予定です
今回の件でKOF99をテストプレイしまくったんですが
今だと自分的にアンディ、香澄、ラルフ、チョイ、チャンあたりが使いやすい感じ
基本的に投げが弱くなってて(大門不在の理由)
点滅時の根性値が低くなってるように思います。
今回のサイフォンさんのお陰で、クリザリッドも使えるようになりましたし
バグ取りも既存よりも改善しているのでとても良い感じです
長期にわたり投稿いただきありがとうございました、投稿が遅くなりすみません;


























ディスカッション
コメント一覧
あんこさん
こちらこそ、デバッグ作業に付き合っていただき、ありがとうございます!!
脳をうねうねさせてしまってすみませんでした。。。
99evolutionの調整+バグ修正+我々の調整でだいぶまともになりましたね!
ようやくマキシマリベンジャーバグが直せたはずなので、ホッとしてます。
ウィップのコマンド投げは仕組みが分からず、徹夜だったんですが、仮眠のあと、今日の朝にようやく仕様がわかったので、スムーズに解決できました。これで元々の投げも失わず、投げ抜けと両立できました。
98で裏テリーとジョーの技を追加した経験が生きました。
あとはジョンのぶつかり判定が消えるバグだけですが、
2000の処理において、だいぶ絞り込めてきていまして、
2000の超必殺技の処理内でぶつかり判定を復活させているのを確認できてます。
(超必殺技の処理の遷移先をほかの技へ変えたうえで、無駄ですよキャンセルを出した場合、ぶつかり判定が消えたままだった)
あとはどこで復活させているかの場所さえ突き止めれば99に応用して取り入れ、修正まで行けると思われます。
ここが最後の修正箇所なので、頑張ります!
あんこさん
まだバグや確認事項が2〜3件ありました。
1.クリザリッドのピヨリモーションが正常なものかどうかの確認
2.ストライカー香澄でキック+投げで止めをさすと、相手が起き上がり、こちらが勝利ポーズを取らないまま次のラウンドへ進む
3.アテナと舞の三角跳びで浮いたままいなくなるバグ(98に修正パッチがあるので、それを応用できれば行けるかも)
お疲れ様です!
今回はサイフォンさんが一番お疲れかと思われます
とりあえずm1のは全然いいですよ
アレってIQさんのところ見たら何となく分かると思いますが
0x08,0x09のところ0x80,0x99とか0x88,0x90やら
色んな組み合わせでもおkと思われます
もうちょっと色々調べたかったのですが頭痛くなったので
雑なやり方で妥協しました(三作品だけだし
どっちにせよ逆変換してMAME用のファイルができる
なんてことはないような気はしてます
で、IPSですがFBneoだとりーどみー.txtの前に
152-p1.p1 152-p1
152-p2.sp2 152-p2
251-c1.c1 251-c1
251-c2.c2 251-c2
251-c3.c3 251-c3
251-c4.c4 251-c4
251-c5.c5 251-c5
251-c6.c6 251-c6
251-c7.c7 251-c7
251-c8.c8 251-c8
[ja_JP]
ACA抽出分 KOF99ka用 DC/EVO+αの修正MOD
を追加してりーどみー.txtの拡張子をdatにして
ipsと一緒にips\kof99kaに放り込んだら
サクッとIPSマネージャーでおkと思います(雑
dc-12fパッチの再利用ですが自分で使う分にはまぁいいかと
配布用だと再利用の件きちんと書いておかないとダメそうです
(真ボスがめっちゃ怒るやつ
Libretro版でromdataとips使えるかどうかは未だに不明です
(もう諦めた
色々書きたいことはあったのですが長くなりそうなのでまた今度です!
サイフォンさん、あんこさんお疲れさまでした!
しげるさんコメントありがとうございます。
本当にサイフォンさんの技術力には感謝です
>0x08,0x09のところ0x80,0x99とか0x88,0x90やら
>色んな組み合わせでもおkと思われます
>もうちょっと色々調べたかったのですが頭痛くなったので
>雑なやり方で妥協しました(三作品だけだし
旧版使うか旧ルーチンぶち込もうと思ってました!
あれは本当に困ってたので助かりました、感謝です
MAMEへの実装はクソ揉めるのでないんじゃないかなぁとか思ってます
IQさんがFBNにだけ投げたのもそこら辺が理由かなって
>dc12f
とりあえず怒られないように再利用の旨とクレジットの記載を追加しておきました!
ご指摘ありがとうございます。
>Libretro版でromdataとips使えるかどうかは未だに不明です(もう諦めた
内部仕様を開発陣だけが内々で知ってるのホント困りますね…
ねぎらいの言葉ありがとうございます!
サイフォンさんへ
>脳をうねうねさせてしまってすみませんでした
いえいえ、後からジョーの部分をすっ飛ばして先に進めば良かったなあと反省してます;
>ようやくマキシマリベンジャーバグが直せたはずなので、ホッとしてます。
何回か試しましたが発動しないようなのでたぶん大丈夫かなと!
クラークからの移植は他機種でも修正されてなかったので偉業ですね!!
>ウィップのコマンド投げは仕組みが分からず、徹夜だったんですが
ひええええ;あまり無理はなさらずに…
>これで元々の投げも失わず、投げ抜けと両立できました。
>98で裏テリーとジョーの技を追加した経験が生きました。
投げ抜け不可をコマンド投げに技追加は目から鱗でした
そもそもウイップの投げモーションは中割が不自然なので
つき飛ばしの方が自然でいいなって思ったりしてます
>ここが最後の修正箇所なので、頑張ります!
無理のない範囲でがんばってください!
まだ未知のバグや確認事項があるんですねえ;
後で確認できそうなクリザリッドとか香澄は試してみようと思います
あとネットの海を泳いでたらKOF99のバグまとめみたいなの見つけてそっ閉じしました…
あんこさん
★1ラウンド目、カスミストライカーでとどめをさす。そのときとびげりで浮いた相手を投げると、相手がむくっと起き上がり、こちらは勝利ポーズに遷移しないまま2ラウンド目へ進むバグが起きるので、
とびげりの性質を奈落落としと同じにする。
【P2】
2901E8
4C
→50
これで相手がジャンプ中にカスミストライカーのとびげりを食らうと、
浮き上がることはなくなってしまいますが、そもそものバグが起きなくなるので、これにします。
というのも、対戦中タイミング良く相手がジャンプ中にカスミのとびげりを当てる機会が少なく、
仮に当たったとしても、浮いた相手をそのまま投げる機会もまずないので、バグが起きるよりはいいかなあと。
通常の横に吹き飛ばしたいなら、50でなくて40や48でもOKです。
しげるさん
ありがとうございます。
少しでもネタを提供できればと思ったというか、kof99自体バグが多いので、なんとかしようとしたら、あれもこれも直してしまったという。。。
あとちょっとで終わるので、もう少しですね。
あんこさん
★三角飛び浮遊バグ修正
E5B8~E5D5
00 67 2C 00 B9 4E 01 00 42 32 00 67 22 00 40 0C FF FF 00 66 0E 00 16 0C 09 00 00 66 12 00
→2C 67 B9 4E 01 00 42 32 24 67 6C 0C 00 00 20 00 1C 67 40 0C FF FF 0A 66 16 0C 09 00 10 66
98用のパッチでしたが、内容が一緒だったので、互換性はあると思います。
サイフォンさんへ
さっそくの修正ありがとうございます
実用性ないコンボがおそらく潰れますが、バグ修正のが利点ありますね
https://x.com/majinemui7638/status/1999512137899573647
https://youtu.be/mEDhvs_lYi8?t=29
未反映分としてまとめておきます~
おお、あの空中にいるのに地上になるとかいう謎が!
KOF98でも発生してたんですねえ。
二つ合わせて記事掲載→後日反映でいこうと思います。
あんこさん
ついにやりました!
2000の同領域をノップで無効にしながら、場所を絞り込んで確定させ、
それを99に移植させて修正できました。
これで一通りバグは片づけたと思います。
★ジョンの↓↓+Bで猟虎陣を維持したあと、Dで太極避(無駄ですよ)を行った後
スーパーキャンセルして鳳凰裂爪脚を行うと、ぶつかり判定が消えるのを修正。
【P1】
796E4~9
3C 20 C8 00 C8 00
→B9 4E 0A 00 00 A4
AA400~D
FF FF FF FF FF FF FF FF FF FF FF FF FF FF
→7C 19 01 00 A4 00 3C 20 C8 00 C8 00 75 4E
あんこさん
★三角飛び浮遊バグ修正はP1
★カスミストライカーでとどめをさし、ケリで浮いた敵を投げるとバグが起きるので、
ケリの性質を奈落落としと同じにする。はP2
のデータが対象です。
忘れていてすみません。
サイフォンさんへ
おおお!すごい!という速度もはやすぎますよ;
これでバグ取りは完璧って感じですかね
本当に長いことありがとうございました
後日IPSに統合して更新しておきます。
補足説明ありがとうございます!
あんこさん
香澄ストライカーですが、元のまま正常な動作にできるか挑戦してます。
(2000の挙動を目指す)
あとちょっとで行けそうなんですが、そのちょっとが難しいですね。
サイフォンさんへ
はーい、と言うかさらっと仰られてますが
めっちゃ大変そうなので適宜休息は入れてくださいね~
ちょっとが思い通りになると脳汁ドバドバしますよね
いやハックは不得手なのですけども。
あんこさん
現状、そのままの状態を維持する場合、香澄ストライカー攻撃の飛び蹴りの威力を0にするしかないですね。。。
処理自体はマリーダイナマイトスイングと一緒なんですが、ストライカーには処理内容が反映されないのでしょう。
さて、どうしよう
サイフォンさんへ
なるほど、死なないように威力ゼロにするしかない感じですかね?
コンボ再現したい人がどれだけいるかってのと即死はなくなりそうですね
それなら奈落落とし化をメインにして、威力0を別に添付すればいいかなあとか
何という欲張りセット
あんこさん
なので
1.奈落落とし仕様50に変更
2.威力0だけど元の処理(4C)を維持する
のどちらを取るかで悩みますね。。。
なお2000だと飛び蹴りでHPを0にしても止めをさせないように改善されてました。
ただP2で変更するのは分かってても、内部のプログラムのどこを変えればいいかが不明なので、2000仕様は厳しいですね。
あんこさん
威力はP1の
B9306〜7と
B9316〜7がそうです。
06 0C
06 0C
となっているので、これらを0にすればOKです。
サイフォンさんへ
奈落落としを基準にして
既存挙動と0ダメージ化は別IPS当ててもらうようにしましょうか
あの曲芸コンボやるならオリジナルで遊ぶでしょうし…
さすがに2000仕様(とどめさしてもしなない)は
ルーチン追っかけないといけないでしょうからね;
ダメージ修正部分の投稿ありがとうございます!
あんこさん
はい、それでお願いします!
まあコンボ目当でない、通常プレイなら威力ある方がいいですからねえ。。。
これで一通りバグ修正は終わりました。
長かった戦いもこれで終わったんだぁ!
貴様、SVC様がお呼びだぞ!!
なにィ!!SVCだとぉー
来年やります。
2000は体力次第ですかねえ。。。
今回でだいぶ身体を酷使したので。。。
2001はやりません。
サイフォンさんへ
長期にわたり大変ありがとうございました!
全体的に中庸なバランス狙った割にはKOF99ってクソバグ多すぎませんか;
次に控えるSVCや他も相当だとおもいますが
来年もムリしない程度でやっていただければ幸いです。
重ねて長期にわたりお疲れさまでした、また投稿いただきありがとうございました!
あんこさん
いえいえ、ちょっと直すはずが、とことん向き合いましたよ!!
>全体的に中庸なバランス狙った割にはKOF99ってクソバグ多すぎませんか;
ストライカーを導入したことで、本来起こらないバグが出てきたのもあるんでしょうねえ。。。
SVCはP2の調整だけで済むので、今までよりは楽ですから、大丈夫でしょう。
今まではバグを突き止め、修正したり技を追加したり、難易度の高いことをやってましたから。。。
もっとP1の処理の意味がわかってくれば全然違うと思いますねえ。。。
誰も情報を残していないので、謎のままやってましたから。
2000はバグ修正もあるので、ここに備えて行ければと思います。
個人的にまずクーラの技を2001から逆輸入したいですね。
気が付いたらすべて潰しましたからねえ;
ストライカーが初実装だったのが影響大きかったと、なるほど
マーヴルパクった代償ですか。
何かそれっぽいツール見つけても電話番号よこせとかいわれるんすよねえ
https://blog.csdn.net/2503_90997290/article/details/148227951
大陸はこれだからやりにくい;
P1はKOF94TEを作った方がアセンブラやってたって話なので
つきつめるとP1弄りはそういう感じになるかもです;
KOF2000はジョーのストライカー削除で対応する位に壊れてましたからね…
おお!技移植はロマンですね。
>何かそれっぽいツール見つけても電話番号よこせとかいわれるんすよねえ
これは画像を移植するツールですね。
E3 FF C4 FF とかってのが座標です。
で、そのあとに01 00とか02 00 とか続いてますが、
これは隣の25 00 XX XXで登録した画像IDを参照しているって感じですね。
1.画像データ(バラバラ)なのをCromに保存
2.Cromから1枚絵にするためのデータを登録
3.1枚絵の座標を登録
って流れです。
あれば便利ではありますが、そもそも画像登録数にリミッターが設定されているので、そこのリミッターを解除しないといけないんですが、場所がまだわからないんですよね。。。
98でジョーの技を追加したときは通常ハリケーンアッパーのエフェクト枠を潰して移植できたので。
大陸はこういう閉鎖的だからダメなんでしょうねえ。。。
やっぱりP1は16進数から意味を理解しないと無理っぽいですね。。。
このあたりがもっとわかれば、他シリーズからキャラ移植とかできそうです。
>おお!技移植はロマンですね。
クーラのくるくると回ったあとの派生技系は、グラフィックを流用しているだけなので、あとはP1を2000に適応できればいけるはず。
サイフォンさんへ
なるほど、画像関係のツールですか
そうなんですよね、大陸は二言目には登録要求してくるんで
オープンにやってくれないから困りもんです;
あと知識の継承とか共有の感覚が、大陸は薄いんですよね
カスタムビルドのMAMEもオープンソースなんで
改造版はソース出すのが当たり前なんですが
彼らは平気でクローズソースでやってますし;
文革で知識層が消し飛んでから、そういう感覚がなくなったのかもしれません…
>やっぱりP1は16進数から意味を理解しないと無理っぽいですね。。。
x86だと90でNOPにするとか、ルーチンを強制的にジャンプさせるとかそういうやつですね
NEOGEOだと68kだと思うんでAIに読んでもらってもいいかもですが
開発周りの情報はあってもハックの情報そのものはないんですよねえ;
https://wiki.neogeodev.org/index.php?title=Development_tools
https://wiki.neogeodev.org/index.php?title=68k_program_header
あんこさん
98アニバーサリーエディションから、真吾の琴月未完成とか移植してます。
その際、C1,C2に画像が追加されているので、それを丸々頂いて、それを参照するときにP2をカスタマイズします。
C9,10に画像が追加されている場合は今はまだちょっと理解不足なので無理ですね。そこからC1,2に移して参照しないと。。。参照する方法を確立すれば自由に空き領域に移植して参照できるようになるので。
>文革で知識層が消し飛んでから、そういう感覚がなくなったのかもしれません…
研究者は共有するんですけどねえ。。。
彼らは例外か。
140000に各キャラにつき、1枚絵に編成するためのオフセットがあるので、それをもとにオフセット一覧を確認しつつ、アニバーサリーエディションの追加オフセットは130000よりちょっと先に新規追加分があるので、そこから引っ張っています。
100000移行はさっき言ったように座標なので、140000で追加し、紐付けたIDをもとに座標を移植すればいけます。
これでP2のモーション処理でIDが使えるようになります。
まあ、AIも使いつつ、独学で勉強中です。。。
一応98アニバーサリーエディションから技やグラフィックは移植できています。。。
C9,10からC1,2に移してアドレス参照するという課題がありますが。。。
各追加した技もパッチ化しようかなあ。
せっかく実装できているので、ちょっと考えてます。
基準は元のバランスを崩さない技ですかねえ。。。
それこそ裏テリーにバスターウルフ入れるとかは、ちょっとコンセプトからずれるので、不採用でしょうね。。。
せいぜい99の技を移植するのが、時期的にちょうどいい感じです。
サイフォンさんへ
C9とかC10は変態の所業だと思ってます…
バンク切り替えとかなんだろうか。琴月未完成の移植はアツイですね!
研究者は留学で外に出てる人間も多いので
割と既存の価値観が破壊されてるようですし
「そう言うもの」ってのが植えつけられるのかなと
これが大陸だけだとそうもいかないようで。
>まあ、AIも使いつつ、独学で勉強中です。。。
>一応98アニバーサリーエディションから技やグラフィックは移植できています。。。
>C9,10からC1,2に移してアドレス参照するという課題がありますが。。。
FBNだとまだIPSにまとめてくれてるんでマシですけども、過程が残ってねえという
10年以上経過すると消えてることも多いですから;
>せいぜい99の技を移植するのが、時期的にちょうどいい感じです。
お!他作では全く見なかったパワードライブとかパワーシュートが?!(無茶言うな
KOF99のストライカー抜きだそうで(優先度低め)
https://github.com/city41/kof99v
ご存じでしょうけどもご参考までに~
あんこさん
バンク切り替え、そうです。
それと画像配置の仕組みがわかればいけるんですが、
いかんせんスプライトの登録を拡張する方法が不明なので、それが課題ですね。。。
パワードライブとかパワーシュートは裏テリーに実装済みです。
あと琴月未完成も実装できました。
次は柞爪櫛です。
>KOF99のストライカー抜きだそうで(優先度低め)
https://github.com/city41/kof99v
ご存じでしょうけどもご参考までに~
これって普通にオプションでストライカーボムをOFFにすればいいんじゃないか?と思ってますね。。。
サイフォンさん
C12までの拡張は他で実装されてなかったように思うので
そこら辺、完全にロストテクノロジー感があります
逆アセンブラ経由でどうやって読み込んでるのか
リバースエンジニアリングするしかなさそう…
パワー系実装済みでしたか!もうしわけない;
KOF99のSMA暗号化解除>改変>再暗号化がメインみたいなもんだと思います
恐らく他にやりたいことはあるんでしょうけども、優先度低いそうなんで;
GROK君に聞いたらやっぱバンク切り替えのようですが
どう見てもリバースエンジニアリングした上で
アセンブラで切り替えのプログラムを書かないとダメっぽいように思います;
https://x.com/i/grok/share/jGvc6S7QDdnoVUsxLd40GwIXE
あんこさん
さすがにc9,10以上増やすと、エミュレータの相性が限られるので、やりたくはないですよねえ。。。
スプライトテーブルを拡張
これこれ。これができないと追加したスプライトIDを指定してもループして0からカウントして参照するんですよ。
これのループを解除できればもっと色々できるんですがねえ。。。
サイフォンさんへ
そもそも実機はC8までですからね;
P3まで拡張してたり魔改造すぎます。2003ですら実態はダミーだそうですし。
スプライトテープル叩くとなるとPを逆アセンブルして
コードに強そうなAIに読ませてみるとか位でしょうか?
claude辺りは無料でも有能で頑張ってくれますが、制限がかなりきついんで
各種AIに相談して良さそうなのを採用する感じかなぁとか
実際にやってもまともに動かないのもザラですしね;
あんこさん
P1、P2どっちがスプライトIDの制限をかけているかがわかればいいんですけど、、、
まあこっちでも色々試してみるつもりです。
ここを解放できればもっと技の移植がしやすくなりますんで。。。
Kof99AE/Kof98Ultimate/kof98ae2016あたりがC拡張してるのかな?
中国系ハックチームのEGHT/EGCGがハックしたようですが、他のチームはやってない手法っぽいですね
https://bbs.gotvg.com/archiver/?tid-1655578.html
この辺のPを解析して調べるくらいしかなさそうかなぁ…と;
あんこさん
C拡張もそうなんですが、そのCを一枚絵にしてIDに登録する箇所があるんですよ。
で、そのIDの数にリミッターが設定されているので、ここを解除しないと、数を増やそうにも0に戻されます。
つまり、スプライトIDが240までになっているとして、241を登録して241を使用したところで、0扱いになります。
これが地味に厄介です。。。
サイフォンさんへ
なるほどオフィシャルだとC8までなので
増やすにはそこもいじらないとダメですね
例えばKof99AE/Kof98Ultimate/kof98ae2016のPROM diffを取って
書き換え場所の差分からアタリを付けるみたいなアプローチしかなさそうです;
後は正規ROMとHACKの逆アセンブルを比較して
ID制限の部分を見つけるっていう感じかなぁとめちゃくちゃ泥臭い感じですが
リバースエンジニアリングする位しか手立てがないかなと
(当のハックチームも2016年くらいに解散しちゃってますし)
このへんしげるさんならわかるのかなぁ?