かみはバラバラになった
アケアカNEOGEO 神凰拳のROM抽出
インストール数が10+で泣いた
タイトルがおかしいのは察してください
ザウルスのプリレンダリングされた2D格闘ゲームです
いまいちで回りが悪くて流行らなかった覚えが
レアタイトルかなってことで一つ。
え?ズパパ?
たぶん行けるんじゃないですかね?(未検証
元ネタ
必要なもの
前提条件は過去の記事を参考にしてください
当然ですが、神凰拳のバックアップが必要です
650円で買いましょう。
ちなみにUBUNTUだとBinwalkと端末に打ち込めば
未インストールでは、インストール方法教えてくれるので
そのままインストールできてWSLでも動作します(約1GB消費)
Binwalkなしの直接バイナリから抽出もできるかと思いますが
切り出してくれるのが楽なので使っています。
抽出バッチ
実行に必要なファイルは
スクラップAさんのサイトからダウンロードをお願いいたします。
Binwalk実行後のファイルを分割することで抽出しています
WSLからWindows上のローカルファイルへ実行可能です。
注意)Androidアプリは時間経過で対策され、抽出不可能になる事例も過去にありました
そのため、抽出時点における現行バージョン以外での抽出できる保証はありません。
更新され内部構造が変化した場合は、対応できない可能性があることをご了承ください。
つまり買いましょう。(ダイレクトマーケティング)
binwalk -e lib_neogeo.so
rem ragnagrd.zip
rem S ROM
copy 17DD5F0 218-s1.s1
rem V ROM
bcut 103253C 218-v1.v1 0 4194304
bcut 103253C 218-v2.v2 4194304 4194304
rem M ROM
bcut 16EEEC8 218-m1.m1 0 131072
rem P ROM #天地返し
bcut 16F841F 218-p1b.tmp 0 0x100000
bcut 16F841F 218-p1t.tmp 0x100000 0x100000
copy /b 218-p1t.tmp+218-p1b.tmp 218-p1.p1
rem C ROM ファイルの数字が小→大でCROM順になっている
BSwap.exe d B 224F50 oddeven.txt 218-c1.c1 218-c2.c2
BSwap.exe d B 5B91B8 oddeven.txt 218-c3.c3 218-c4.c4
BSwap.exe d B 8D4C74 oddeven.txt 218-c5.c5 218-c6.c6
BSwap.exe d B CB5A80 oddeven.txt 218-c7.c7 218-c8.c8
del *.tmp
mkdir ragnagrd
move 218-**.** ragnagrd\
powershell compress-archive ragnagrd/* ragnagrd
バージョンが更新されても構造が変わらなければ近似値で変換は可能です
バッチスクリプトに問題があった場合はコメントいただければ幸いです。
しめ
問題なく動作OKでした。
やーNEOGEOは抽出ファイルがほどほどで楽ですねえ(しみじみ
アケアカNEOGEOは、そろそろサンソフト物とか
天外魔境真伝とか出してくれませんかねえ。ムリかなぁ;
ガードするほうがえぐれる不動とかやりたいんですがw次回はKOF2003のDecryptROMをどうにかできないか捏ねまわしてみます
ダメでした!全然違うネタになります!
ディスカッション
コメント一覧
NeoGeo抽出ネタで思い出しましたが、海外DCにViscoのタイトルが移植されていましたね
BANG BANG BUSTERS
CAPTAIN TOMADAY
GANRYU
Breakers
BreakersはNeoGeoCDからの移植のようですが、他はオーディオトラックがないのでMVSからの移植と思われます
Ganryu
Name Size CRC32
252-c1.c1 8 MB 50ee7882
252-c2.c2 8 MB 62585474
252-p1.p1 2 MB 4b8ac4fb DC版game.dat の 0x00140000-160000 + 0x00040000-060000 2MB(200000)
252-m1.m1 128 KB 30cc4099 DC版game.dat の 0x002a0000-2C0000 128KB(20000)
252-v1.v1 4 MB e5946733 DC版game.dat の 0x002c0000-6c0000 4MB(400000)
ctomaday
Name Size CRC32
249-p1.p1 2 MB c9386118 DC版game.aes の 0x00140000-240000 + 0x00040000-040000 2MB(200000)
249-s1.s1 128 KB dc9eb372 DC版game.aes の 0x00260000-280000 128KB(20000)
249-m1.m1 128 KB 80328a47 DC版game.aes の 0x002a0000-2C0000 128KB(20000)
249-v1.v1 4 MB de7c8f27 DC版game.aes の 0x002c0000-6C0000 4MB(400000)
249-v2.v2 1 MB c8e40119 DC版game.aes の 0x006c0000-7C0000 1MB(100000)
249-c1.c1 4 MB 041fb8ee
249-c2.c2 4 MB 74f3cdf4
もうちょっとで抽出出来そうなんですけど、随分前に頓挫してそれっきりです
解析おつかれ様です。同じようにしてガンガン行進曲いけました!!
KOF94も同じ感じに見えてましたが、P romが部分的に再現できない。
お暇(とお金)がありましたらぜひ。
### aodk
mv BC4F56 074-s1.s1
bcut.exe 7FE1E4 074-v1.v1 0 2097152
bcut.exe 7FE1E4 074-v2.v2 2097152 2097152
bcut.exe B17E1C 074-m1.m1 0 131072
BSwap.exe d B 224F70 oddeven.txt 074-c1.c1 074-c2.c2
BSwap.exe d B 38C458 oddeven.txt 074-c3.c3 074-c4.c4
BSwap.exe d B 542910 oddeven.txt 074-c3.c5 074-c4.c6
BSwap.exe d B 6FA470 oddeven.txt 074-c7.c7 074-c8.c8
bcut.exe B21223 p12 0 1048576
bcut.exe B21223 p11 1048576 1048576
copy /b p11+p12 074-p1.p1
jackさんゴメンナサイ、コメントがスパム判定受けててスルーしてしまいました;
いい感じに解析できてるようですが、なかなか大変そう;
DCって変換ソフトみたいなのがあるのかNEOGEO系がベタ移植されてますね
またまたバッチの投稿ありがとうございます
KOF94はダメでしたか、Binwalkの切り出しがダメなのかもしれませんが
こればかりは触ってみないとわかりませんね;
rx様の投稿されたバッチも記事に取り上げてOkでしょうか?
問題なければ投稿文を個別記事にしたいと思います。
> rx様の投稿されたバッチも記事に取り上げてOkでしょうか?
OKですー。
ありがとうございます~!
KOF2003の件新たに判明したのでブログに書いてみました
要約すると
Prime Gaming版のPROMは全く弄られてない完全復号PROMです
ACANEOGEO版のPROMは全く弄られていない完全復号PROMです
どちらも9MBです
じゃあ、なんで動かないのよ?
ドライバがないからですw
復号化されて動作してるドライバはほとんど
PCB版をベースにハックしたものでした
なので切り出しても切り出しても絶対まともに動作しませんw
いやー、Code Mysticsさん、はむちゃんさんいいお仕事してますねー
ってとこまでですw
しげるさんコメントありがとうございます
黎明期のハックものでしたか;
そりゃMAMEや準拠してるエミュレーターでは無理ですね。
というか後期物はことごとく復号済なんですが
デコード処理省くのと処理軽くするためなんでしょうけど
めっちゃ面倒なんでこまったもんですよね;
KOF2003のPROMの暗号化に関しては家庭版、MVS版、PCB版が
全部別というめんどくささもあると思いました
なので最初のPCB版からのハックのやつのドライバばかりなのかと
一応延長戦としてメタスラ5のときに利用したiq_231氏の
PROM暗号化ツールのソースコードいじってkof2003h用に改変してみましたが
自分にそこまでのプログラミングスキルがなくP1,P2はなんとなくそれっぽいのができましたが
アドレスがズレてるっぽくて動作せず更にP3はダミーを使ってたんですが
このP3ってどうなってるんだ的に謎だったのですが
多分ですが9MBごとまとめてスワップしたらおそらく全て暗号化出来る感じはしました
参考にしたiq_231氏の復号化のコードぼーっと見てる限りそんな感じでした
もしかするとP3分がスワップされてなくてアドレスがズレてたのかと
でも、自分のスキルでは逆変換はこれ以上無理でしたw
コードキチンと書ける人が見たら多分すぐ分かるレベルなんだと思いますが
自分はポンコツなので惜しいところで完全お手上げで終わってしまいました
そんなわけで今回の場合は無駄に時間かけてちまちま復号版動かそうとするより
iq_231氏が公開されていたコード等を元にPROM暗号化ツール作ったほうが解決が早そうな気がしますー
ブログでもかかれてましたがms5と同じP暗号化っぽいですね
https://raw.githubusercontent.com/ColumPaget/gngeo-cjp/master/src/neocrypt.c
しげるさんのおっしゃるようにms5のP暗号化ツールをいじればなんとかなりそう?
問題はそのスキルが、というお話ですよね(´・ω・)、
餓狼のCもそうでしたが、一度丸ごと暗号化しないとダメだったんで
まとめて暗号化→分割のほうがよろしいかも?
あとはp_dec.zipがKOF2003の暗号化ROMを復号化するツールになってました
https://neo-source.com/index.php?topic=241.30
しかもなぜか7MBだけ必要って記載されてるのでわけわからんですな(ダミー?)
で、P_Decはソースついてないんですが
返信#37のP_DEC.zipがソースコードなので
こっちも参考になるかもしれません
このへん、日本のNMAMEなページのHalRINさんが解析されてたようです
https://web.archive.org/web/20050305065548/http://www52.tok2.com/home/foge/
WEBアーカイブもごっそり抜け落ちてるのでどーもこーも;
NMAME XII→CANAME(MAME Spirits)→NMAME32 Team(NMAME32)へと変遷したようです
NMAME32のアーカイブ
https://web.archive.org/web/20081206191239/http://nmame32.hp.infoseek.co.jp/
>Px/Cx/Sxロムの復号コードはHalRIN氏の解析データを参考にしています。
とあるので間違いないかなと。
iqさんのツールも10年から20年越しとかなので
サイトに投下されたものは遺失してたりするんですよねえ;
それでも何とか動かされてるので
しげるさん頑張ってるなあと、自分はP見て早々に諦めました。
プログラミングはやっときゃよかったなあと自分も後悔しきりです
しかし今更手を出すのも、とぐぬぬっております。
そう確かに7MB必要とは書いてるんですがDecrypted.c見る限り
暗号解除ルーチンのメインは8MBで処理していて最終的に
PROM容量はやはり1MB増えてて
なぜ9MBとかほんとによく分からんのですよ
そんなわけでP3は言われる通り9MBのベタファイルからまとめて処理
しないと出てこない気がするんですがそもそもまとめて暗号化しても
P1,P2と違って変なP3しかできなくて悩んでます
自分のコードの書き方が間違ってる可能性も大アリですが
8MBならなんか行ける感じなんですがそこでやはり残り1MBのP3って何?!な感じです
P_decのソース(きちんと拾って使ってましたよw)って確かPCB版だったので
kof2003hのに変更したらそれっぽくやはり使えるんですけど
これまた結局暗号化P3っぽいのがが同じように変なやつになります
復号化したら最後の2MBぐらいって全部FFで埋まったファイルになるんですね…
だから9MB分まとめて暗号化するのは正解だと思うんです
んで色々ソース改変してもしてもP3はそれっぽいのが全然できないんですよ
だからこの1MBのP3はどうなってるのかホントにわかんないんですよ
P2っぽい感じのにしかならないんですがこれは自分のスキルの無さですね…
多分8MBならなんとかなるんでしょうけどNEOGEOで9MBのPROMって
KOF2003だけのような気がするのでさっぱり分からんちんです
NEO-CMCだとコツコツやっていけば過去ツール等のみでなんとか出来るようですが
(餓狼MOW等)
NEO-PCM2でのPROM暗号化は当時NEOGEO解析されまくってたからなのか
必死に最後の暗号化したのか家庭版、PCB版、MVS版と別だったりもう大変でした
この辺はツールにオプションつけて作れば一つですみそうですが
iq_231氏も暗号化分P3ファイルは後で別でMAME用ドライバと
提出してたぽいので過去資料見ても暗号化P3ファイルの素性がよく分からないんですよね
ベタ9MBファイルからなにかしてるなーという感じというのも
なんとなくで自分が思ってるだけでなにか見逃してる可能性もありますし
動作に必要なのは確かに正規暗号化ドライバ見たら7MB分だけ
使用してそうな感じですがなにやらPROMファイルの途中から読んでたり
してる感じでもう分かりづらくて手に負えませんでした
自分ももっとプログラムの勉強しておいたらなって思いました…
後一息感はあったんですよね… 無念でした
分かる人がみたら多分すぐできそう感はあるんですけどね…
誰か続きやっていただきたいです…
PROM以外は全部CRC合うので悔しいです…
そうそう書き忘れましたがP_DecのソースのKOF2003はおそらくPCB版なんですが
Prime GamingのではなくACANEOGEO版のベタPROMで変換してみたところ
それこそハックされたPROMやつみたいなのが出てきたので無理のような気がしますw
でも逆にこれを組み合わせてP0を使うセットにしてみて
フランケンドライバ書いたらいけるかもしれませんね
それは未確認です
しげるさんコメントありがとうございます
後期CMCというか、Kof2003だけは
ほんとガチガチに対策された影響でめっちゃ面倒くさいですよね
しかしあっという間に解析されてしまったという。大陸パワーよ;
MAMEへの提出とかって、重大な説明や部分が抜けてたりするので
「分かってる人には、言わずもがなだよね」っていう、無言の了解みたいな
「え?それどうしてそうなったの?!」ってことがちょいちょいあります
そのため後から追いかけても、「なるほどわからん」というオチになりがち;
特に暗号化や復号化の情報は当初のサイトを
何とかあさって見つかれば御の字みたいな? 例)セガの羊羹
界隈は解析情報の蓄積と保存という点は、考慮されてない気がします
遊べりゃいいだろみたいな。しかしPROMの容量変動は、ほんと意味が分かりませんな
しげるさんの苦労と解析時間を考えると涙がでます;
そもそもNEOGEOでP3という存在そのものが、かなり異色ですし
解析から時間が相当経過してて、情報やサイト含めて遺失したものも多いですからねえ;
自分だったらモニターに画突してるかもしれません(お値段高いからしませんが)
同様に自分も学ぶ機会がなかったので今更悔やんでおります;
三種類ごとに全部違うなんてことをやるから脳がパンクしますよね!
まぁそれだけ海賊版対策がやばかったんでしょうが
それでもコピーされてしまったというのが切ない限りです
ハックされたようなのが出ちゃうってのはつらいですね;
今でこそ保存性からバッテリー物は嫌われがちでしたが
cps2って対策としてはかなりの物だったんですねえ。
別のサイトのロムセットではp3の複合化版は以下のようになってました。
https://bbs.gotvg.com/thread-2610470-1-1.html
271-p3cd.bin,800000,100000,85416A54,0
このcrcは100000~200000を切り出して出たデータが該当します。
(ブートロムセットのとき、100000分切り離してコピーした経験から着想)
なので、900000のデータを800000にカットし、
100000~200000をコピーしてp3複合化版を生成。
そして800000に生成したp3複合化版をくっつけて900000にすれば
promの複合化版ができるはずです。
あとはそのpromを暗号化すれば・・・
サイフォンさんコメントありがとうございます!
おお、まさかの回答っぽいものが!?
やはりネットは集合知ですねえ;
まさかのNebulaROMからそれっぽい情報になるとは
というかかの国はいまだにNebulaつかうんですかねぇ
問題はKOF2003用のP暗号化が・・・
しげるさんあたりが頑張ってくれるかな?
どうもですー
新情報きましたがそのセットの内容がどうにもアヤしすぎて
まともな暗号化P3が作れなさそうな気がします?
KOF2003.CPPのCRCみたら確かに存在してるP3ファイルなんですが
そうだとすればまたもターゲットドライバの変更(ハック用)に
しないと動作しない気もしてます…
KOF2003はどのドライバをターゲットにするかとか
組み合わせありすぎて大変です…
ハックものまで暗号化されてるので…
めちゃくちゃ余裕のあるときにちょっとなんとかしてみるかもしれません
KOF2003の件では何日もほぼ寝てない問題がありました…
NEO-PCM2のPROM暗号化はもう分からんちんです
色々調べてたらNEO-PCM2を通して実基板の吸い出しみたいなのもみかけたので
持ってるPCB版を生贄にしてやるほうがいいのかと思いました
チップ細かすぎてやっぱり自分には無理ですけど
そもそもそのPROM暗号化してるゲームが少ないからそうなってるんですけど
暗号化は相当厳しいとお察しします。
こちらも現時点でアケアカ版やアマゾン版の2003を動作させるには、kf2k3blのロムセット、かつFBAのエミュレータかmvspspを使えば問題なく動作することはわかっています。ただsromが文字化けするので、バイトスワップの並び順さえわかれば完全に動作するのですが。。。
唯一の妥協案だと思われます。
FBAの場合、FBAのエミュレータ内部にあるkf2k3blのロムセットを書き換える必要があり、
SromとMromの必要量を20000→80000にバイナリエディタでFBAのexeの中身を変更する。
ところが、このままだとSromが正常に表示されないので、Srom80000を20000ずつ4分割し、それぞれの不足しているバイトを統合し、統合したSrom20000を4つくっつけて80000として作成する。
(sromのみ、統合した20000のまま使用しても、文字が化けてしまう。バイトスワップを行って正常化すればいけるみたいだが、どう並べ替えればいいかがわからない。縦か横の並びを何パターンかバイトスワップで並べ替えればいけそう)
Promはmvspspなどのロムセットを見ればわかるように、0~100000をお尻に二つ連続で並べているので、
Promを700000まで切り取った後、0~100000を切り取る。そのあとそれを2つ連続で600000以降にくっつけて800000のファイルにする。そのあと、400000ずつ切り取ってp1,p2を作成すればOK。
VromとCromはエンコードが必要なので、発明の友にあるツール(neo-cmc)を使用する。
(VromのみIQ’s neogeo Toolsにあるツールでもエンコード可能)
参考;mvspspのロムセット
FILENAME( kf2k3bl, kof2003, 0, 0, 46, 0 )
REGION( 0x800000, CPU1, 0 )
ROM( 0, 2k3-p1.bin, 0x100000, 0x400000, 0x92ed6ee3 )
ROM( 0, 2k3-p2.bin, 0x500000, 0x200000, 0x5d3d8bb3 )
ROM( 1, 0x000000, 0x100000, 0x00000000 )
ROM( 1, 0x000000, 0x100000, 0x00000000 )
REGION( 0x20000, GFX2, ENCRYPTED )
ROM( 0, 2k3-s1.bin, 0x00000, 0x20000, 0x482c48a5 )
REGION( 0x30000, CPU2, 0 )
ROM( 0, 2k3-m1.bin, 0x10000, 0x20000, 0x3a4969ff )
REGION( 0x1000000, SOUND1, ENCRYPTED|SOUND_DISABLE )
ROM( 0, 271-v1c.v1, 0x000000, 0x800000, 0xffa3f8c7 )
ROM( 0, 271-v2c.v2, 0x800000, 0x800000, 0x5382c7d1 )
REGION( 0x4000000, GFX3, ENCRYPTED )
ROMX( 0, 271-c1c.c1, 0x0000000, 0x800000, 0xb1dc25d0, 1, 1 )
ROMX( 0, 271-c2c.c2, 0x0000001, 0x800000, 0xd5362437, 1, 1 )
ROMX( 0, 271-c3c.c3, 0x1000000, 0x800000, 0x0a1fbeab, 1, 1 )
ROMX( 0, 271-c4c.c4, 0x1000001, 0x800000, 0x87b19a0c, 1, 1 )
ROMX( 0, 271-c5c.c5, 0x2000000, 0x800000, 0x704ea371, 1, 1 )
ROMX( 0, 271-c6c.c6, 0x2000001, 0x800000, 0x20a1164c, 1, 1 )
ROMX( 0, 271-c7c.c7, 0x3000000, 0x800000, 0x189aba7f, 1, 1 )
ROMX( 0, 271-c8c.c8, 0x3000001, 0x800000, 0x20ec4fdc, 1, 1 )
END
サイフォンさんコメントありがとうございます。
うへえ、もう作業聞いてるだけで愕然としますが、動作OKになるのは正直すごいです。
NEO-CMCでSも暗号化・復号化できませんでしたっけ?
ASPの方だとできなくてメタスラコンプの方ならできたような?(うろ覚え
そう考えると、なんでも読み込んでくれるNEORAGEXは偉大だったんだなぁ
今やデコードROMに対応するエミュレーターは過去のものしかなくなってるので
NeoSDとかFPGA用とかにするのが一番楽なのかな?(買う気はしないけど)
Richard Roeさん
やってみましたが、うまくいきませんでした。
しげるさんのブログでも文字化けした2003のSromスワップまでは進めていたみたいです。
sromのバイトスワップさえ当たれば2003は動きます。
ただしhbmameではしげるさんのブログの通り、オープニングなどが表示されないはずです。
https://sigeshigeru.hateblo.jp/entry/2023/01/19/020422
●kf2k3blのロムセットにおける、srom生成
アケアカ版やアマゾン版の2003そのままのSromをkf2k3blのロムセットに使用しても、Sromが文字化けで正常に表示されないので、以下の方法で適応させる。
1.アケアカ版やアマゾン版の2003Srom80000を20000ずつ4分割する。
2.スターリングのバイナリエディタに4分割したsromをD&Dする。
3.比較を使って、それぞれの不足しているバイトを統合して1つのsrom20000にする
4.hbmameのエミュレータを使い、kof2k3bl2のロムセットをもとに一通りロムセット、つまりzipを構築する。そのとき、3で統合したsrom20000を使う。
5.hbmameのエミュレータでkof2k3bl2を起動する(OPが流れないが、エミュ特有のバグなので気にしなくていい。fbaのエミュレータでは何の問題もない)
6.HxDでhbmameを選択してメモリダンプを行う状態にする
7.メモリ上のsromを20000分抽出する(22 22 22 22 22とかで検索する。mromの上にあるので、それを参考にすべし)。
8.抽出したsromをkf2k3blのロムセットとして使用する。この方法なら80000にしなくても20000だけで文字化けせずに動作する
※メモリ上のsromは以下の順番にバイトスワップされている
16
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
サイフォンさんへ
すでにそこまでいってるのであれば
S1ファイルが必要なく、復号化CROM(SROM分が内部で処理されます)が
あれば使えるドライバで動作させると恐らく文字化けは解消されるように思います
ただ海賊版扱いにされるので体力ゲージが点滅しないものになると思います
しかしそれらの作業大変だったとお見受けします…
自分もやってたので…
MVSPSP等に関しては当時だったら作者の方に色々聞くこともできましたが
今はちょっと連絡が取れなくなったもので
しげるさん
sromはhbmameでkof2k3bかkof2k3bl2を起動したあと、
メモリダンプを行い、バイトスワップされたsromを抽出して解決しました!
08~15バイト分と00~07バイト分を入れ替えただけでした。
mvspspはなにもいじらずとも、アケアカ版やamazon版をそのまま使えば起動できます。専用のロムセットを組む必要がありますが。
あのhbmameがどうも同じkf2k3bl(kof2k3b)なのにopが起動しないので、
エミュレータ特有のバグか何かと思ってます。
なので、ロムセットを絞り込むのであればfbaを使うのをお勧めします。
fbaならkf2k3blのロムセットで正常に動作しますので。
サイフォンさん
素晴らしい!S1ROMが特定できましたか!
そこまで動いたとしたらhbmameの場合はKOF2003.CPPで
動作ドライバ部分を色々変更してビルドしていけば
多分OPが出るものが作れるようになるような気がします
現在公開されてるバイナリでのドライバの組み合わせだと多分無理なんだと思います
ただ、恐らく海賊版ドライバで動作するものだと
体力ゲージのところが点滅しないものになると思いますけど…
FBAだと点滅するのかな?
プレイする分にはそれでもいいですね!
実は個人的には体力ゲージ点滅しないのどうしても納得できないのは
eBayで買ったMVSのKOF2003が海賊版だったことを
未だに引きずっているのでw
時間があるときドライバの組み合わせとか色々やってみて体力がゲージ点滅する
hbmameビルド出来るかどうかやってみます!
情報ありがとうございました!
MVSPSPに関してはまぁ、アレなんですが
公式がまんまパクってるので某ミニでは完全動作してるんでしょうねw
というかそっちのコード見たらさらに参考になる気がしてきました
どこまで公開してたのかな?
しげるさん
>体力ゲージのところが点滅しないものになると思いますけど…
FBAだと点滅するのかな?
確認したのですが、どうも点滅はしてなかった感じですね。
youtubeでもアケアカ版のプレイ動画で確認したのですが、
どう点滅するのかがよくわかっていません。。。
ただfbaではエンディングまで確認しているので、動作に問題はないと思ってます。
それと、しげるさん、このブログの管理人さんともに、色々情報を得て動作まで行けたので感謝してます!
●2003をエミュレータで動かしたい人向け
以上を踏まえて、基本的に現段階で2003を動かすには、
fbaのエミュでkf2k3blを使うか、mvspspで専用のロムセットを組んでromデータをいじらずそのまま動かすかになります。
hbmameはしげるさんがおっしゃるように、動作ドライバ部分を色々変更する必要があります。
※kf2k3bl作成方法
●srom
1.Srom80000を20000ずつ4分割し、それぞれの不足しているバイトをスターリングのバイナリエディタで比較して、統合して、統合版srom20000を作成する。
2.統合版srom20000を15~08、00~07の順番でバイトスワップする。
バイトスワップが面倒ならそのまま使ってhbmameでkof2k3bのロムセットを生成したあとエミュレータを動作させ、HxDでメモリダンプするといい。mromの上にあるので、20000分切り取ればOK!
※crcが合わないが動作するので問題ない。
●prom
Promはmvspspなどのロムセットを見ればわかるように、0~100000をお尻に二つ連続で並べているので、
Prom900000を700000まで切り取った後、0~100000を切り取る。そのあとそれを2つ連続で残り600000以降にくっつけて800000のファイルにする。そのあと、400000ずつ切り取ってp1,p2を作成すればOK。
●vrom、crom
VromとCromはエンコードが必要なので、発明の友にあるツール(neo-cmc)を使用する。(VromのみIQ’s neogeo Toolsにあるツールでもエンコード可能)
●mrom
crcが異なるが、そのまま使用可能。
誤:統合版srom20000を15~08、00~07の順番でバイトスワップする。
正:統合版srom20000を08~15、00~07の順番でバイトスワップする。
サイフォンさん
KOF2003は序盤のPでけっつまずいて放棄したので
ろくなことした記憶がないのですw
少しでもお役に立てたなら幸いなのです!
余談
KOF2003の体力バーって半透明処理かかってて特殊だったような記憶が?
癖がある、と言えばギャラクシーファイトのデモで見られる
ラスタースクロールもそんなんでしたねぇ(古いエミュレーターだとガックガクになる)
自分はまたうっかり八兵衛でした
そもそも鍵開けたのにまた鍵で閉める必要なかったと思いました
PROMの処理のみファイルを適切に分割しておいて
別関数にして復号化部分のみ削って復号化後のレイアウトどおりに
そのままメモリに配置したらいいんだって思いました
多分これが一番早そうです
しかしかなり簡単なはずなんですが
プログラミングサボってたせいでできないですw
NEOGEOは半透明処理なかったので頑張った結果高速点滅ですが
ブラウン管ならまだ気にならなかったのですが
液晶+同期ズレてたら汚くなるのが難点ですw
ギャラクシーファイトとかのラスターですが日本で派生したやつは
実は実装されてましたが当時ではデフォルトでわざと切ってました
(当時のPCでは処理が重かったので)
その切ったものを理解しないまま中華の方々がソースいじり始めたので
公式の某ミニも実装されてない疑惑…
使いまわしだからあのMIPSでは結局処理できないと思いますけど
Richard Roeさん
いえいえ、crc書き換えツールなどで世話になっていたので、
今回の2003で恩返しできればと思っていました。
なんとか動作できるところまでいけましたので、参考にしていただければ!
>KOF2003の体力バーって半透明処理かかってて特殊だったような記憶が?
もしかしたらそれかもしれませんが、よくわからないですね。。。
あと
統合版srom20000を15~08ではなく
統合版srom20000を08~15ですね。間違えました。
>しげるさん
プログラミングはほんと切実ですね
自分はビルドでつまづきまくってるんでアレですけどね;
半透明は高速点滅なんですね。当時はそれが再現できるできないで
けっこう話題になってた記憶があります、海賊版だとダメみたいな?
なるほど、ラスターは某ミニでは
超貧弱MIPSなので絶対無理でしょうねぇ;
アレがZUIKIじゃなかったというのが驚きでした。
Zuikiにしたって数百円のSoCなんで
それでTAITO F3が動いてるという話ですが
かなり処理を端折ってるのかなぁと
>サイフォンさん
ささやかではありますが
参考になれて幸いです、ありがとうございます!
半透明の件、判明しました。
このサイトで手がかりがありました。
https://m.newsmth.net/article/TVGame/2767
但是不支持提取/運行 512kb s1…所以血槽沒半透,
翻訳すると
「しかし、512kb s1の抽出/実行をサポートしていない… そのため、ライフバーは半透明にはならない」
ということで、やはりロムセット自体s1romの512kb版に対応できていないと、ライフバーは半透明にならないという話みたいです。
つまりkf2k3bl(kof2k3bでもいいが、正確にはkof2k3bl2)ではs1romは128kbしか対応できないので、
ライフバーは半透明になりません。
※ライフバーの半透明はチームバトルのとき、控えのメンバーのライフバーを見れば確認できます。
サイフォンさんへ
そうなんですよー
S1そのまま使う方法は全部海賊版ドライバなので半透明モドキの動作しません
正規?ドライバでのみ有効になります
MAME系だとHBMAMEのソースのkof2003.cpp見たらどう処理してるのか分かると思います
暗号化されたCROMの後ろの方から取り出すのでS1ファイルは必要ないです
特別に用意されたkof2k3hdセットでは復号化済みCROMからでもS1無しでも動作するので
初期化ルーチンとかいじると出来そうな気はしてますが
いかんせん理解できてないのでまだ動作出来るところまで行ってません
肝心のiq_231氏はFB neoに行っちゃってるのでFB neoのコード見るほうがいいのかもしれません
結局また考えすぎでした
PROM全くいじらず
プロテクト部分の処理省いたら動きました
音は暗号化してなかったのでノイズまみれでした
これは暗号化したら直せると思います
結局新しいセット追加になりました…
半透明処理モドキも適用されてるので
もうこれでいいと思います
長かった…
FB neo用のコードも書ける(単に処理を省くのとセット追加)と思います
暗号化は諦めます…