X



【FC】スーパーマリオブラザーズ改造しようぜ!
0467名無しさん@お腹いっぱい。垢版2018/01/13(土) 09:24:14.19ID:UqbGYntv
裏技のように自動的にお金を収集してくれる方法とは
グーグル検索⇒『稲本のメツイオウレフフレゼ』

D828Q
0470名無しさん@お腹いっぱい。垢版2019/04/01(月) 22:18:34.43ID:J/rYTiNd
SMB Utility を弄り倒して全ステージオリジナルにして遊んでたんですけど
SMB2のFDSを改造するツールはないんでしょうか?
0471名無しさん@お腹いっぱい。垢版2019/06/19(水) 15:31:50.99ID:AL8gcWGW
>>470
smb2のアイテムを追加したりしてそれっぽくする事は出来るがsmb2のツールは無いと思う
俺も最近smb2改造したくなって海外の色んなフォーラム探したんだけど無かったんだよね
0472名無しさん@お腹いっぱい。垢版2019/07/28(日) 18:21:51.96ID:45z0ObgZ
マリオメーカーもいいんだけど、
エミュで改造マリオやってた身としてはFCのシステム面での制約に縛られた中で
如何にグラフィックや配置を良く見せるかと言う工夫が出来るのが魅力だと思う
マップも単にカオスで高難易度な傾向の作品も少なくはなかったが、
中には原型をとどめてないくらい高度な改造をなさってた人がとても多かった

マリメもバイナリやグラフィックエディタみたいなのを有料でもいいから
DLCに組み込んでほしい
0473名無しさん@お腹いっぱい。垢版2019/07/29(月) 16:22:12.71ID:3WgTVDlZ
>>472
わかるわかる。
敵を置きまくると、消えちゃうから、いかにして多く見せるとか
こだわるのが楽しかった
Uの改造ツールでないかな
0474名無しさん@お腹いっぱい。垢版2019/08/18(日) 21:32:46.72ID:hNTsYYKR
マリオメーカーやった事無いんだけど
ファミコンやスーファミみたいな挙動の爽快感はあるのだろうか?

NEWスーパーマリオWiiやって
凄くモッサリしていたので…。
0475名無しさん@お腹いっぱい。垢版2019/12/12(木) 22:52:49.98ID:x4Jg+MK2
3DSのファミコン(NES)バーチャルコンソールにはTNES形式が採用されている。
ines形式では正しく表現できないギャラクシアン(Galaxian)のROMも正しく表現できる
0476名無しさん@お腹いっぱい。垢版2019/12/14(土) 20:11:24.33ID:XuX78ABq
SMBアーカイブが死んでるので念の為のURLのメモ

SMBアーカイブ掲示板
ttps://jbbs.shitaraba.net/computer/28712/
代理うpろだ
ttps://ux.getuploader.com/smbarchive/ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0477名無しさん@お腹いっぱい。垢版2019/12/17(火) 02:35:22.27ID:PiRzMqnG
SMBラボもWINIPSしか置いていないけど、任●堂法○部にやられた?
0478名無しさん@お腹いっぱい。垢版2019/12/19(木) 15:27:57.03ID:AyVVB3wN
ファミコンってPRG-ROMが8Kや16Kの場合はミラーリングしているけど、
プログラムは大抵一番高いアドレスを使用しているね。
0479名無しさん@お腹いっぱい。垢版2019/12/20(金) 08:36:13.65ID:GTfxmBkL
反応無いからもう一度いうね

ファミコンってPRG-ROMが8Kや16Kの場合はミラーリングしているけど、
プログラムは大抵一番高いアドレスを使用しているね。
0480名無しさん@お腹いっぱい。垢版2020/01/20(月) 03:15:47.32ID:f2A0UsNa
反応無いからもう一度いうね

ファミコンってPRG-ROMが8Kや16Kの場合はミラーリングしているけど、
プログラムは大抵一番高いアドレスを使用しているね。
0481名無しさん@お腹いっぱい。垢版2020/01/20(月) 07:48:22.75ID:qk+XrR16
最後にもう一度いうね

ファミコンってPRG-ROMが8Kや16Kの場合はミラーリングしているけど、
プログラムは大抵一番高いアドレスを使用しているね
0482名無しさん@お腹いっぱい。垢版2020/02/01(土) 22:22:29.88ID:O7Fs1jDv
それでも反応無いからもう一度いうね

ファミコンってPRG-ROMが8Kや16Kの場合はミラーリングしているけど、
プログラムは大抵一番高いアドレスを使用しているね。
0486名無しさん@お腹いっぱい。垢版2020/07/21(火) 06:14:30.40ID:XH1QzUkp
オールナイトニッポン版スーパーマリオブラザーズをSMB2Jのマッパー40に移植できないかと
試した所、一応動いた。しかし4-4までしか遊べない。メインプログラムの改造はほぼうまくいった
が、DETA2〜DETA4の部分は手抜きしたから駄目だったかも。
0489名無しさん@お腹いっぱい。垢版2020/07/22(水) 03:11:38.80ID:0DV1zyEz
>>486
メインプログラムに誤植がありました。ディスクシステムのファイルブロックの読み込みを
バンク切り替えで代替する部分を間違えていたのでそりゃあ動かないですね。
修正したところバンク切り替えが機能するようになりました。
とりあえずデバッグプレイ
0490名無しさん@お腹いっぱい。垢版2020/07/23(木) 23:27:29.06ID:EhrUrQ41
メインプログラムのパッチ(と更にアドレス修正)はしたのだが、
現状ワールド5移行に行こうとすると黒画面で固まってしまうのと、タイトル画面で
A+startでワールドAに行けますがソフトリセットで黒画面で固まってしまう。
ここまでやって駄目ならマッパー40の改変FDS BIOS部分が怪しい。
マッパー40はRAMが無いので書き換え必要なデータはFDS RAMではなく
メインメモリに割り当てるような処理があったのでこの辺を調査
0491名無しさん@お腹いっぱい。垢版2020/07/24(金) 04:02:11.62ID:9AkxB9xH
6502のJMP命令は直接相対と間接絶対しかないのが落とし穴だった。
それっぽい所の改変FDS BIOS部のJMP命令書き換えたけどうまくいかない。
半分匙投げかけた。もしかすると他の部分のミスもあるかも知れない。
本当にスーパーマリオーブラザース2とオールナイトニッポン版スーパーマリオ
ブラザーズはFDSの容量限界まで使ってって追加のコードを入れるのが
難しいです。なので海賊版スーパーマリオーブラザース2も奇妙なスパゲッティーな
パッチを使っているので解析は一筋縄にはいかない。
とりあえず作成途中のオールナイトニッポン版スーパーマリオブラザーズの
逆アセンブルリストを途中まで作ったがまずはこれを完成させるか。
0492名無しさん@お腹いっぱい。垢版2020/07/24(金) 04:22:14.41ID:FzW9p3H4
1022240722100710新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0493名無しさん@お腹いっぱい。垢版2020/07/24(金) 04:42:29.33ID:FzW9p3H4
2542240742250725新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0494名無しさん@お腹いっぱい。垢版2020/07/24(金) 05:02:53.55ID:FzW9p3H4
4902240702490749新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0495名無しさん@お腹いっぱい。垢版2020/07/24(金) 06:08:33.06ID:FzW9p3H4
2808240708280728新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミックの
0496名無しさん@お腹いっぱい。垢版2020/07/24(金) 07:19:22.79ID:FzW9p3H4
1819240719180718新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミックの
0497名無しさん@お腹いっぱい。垢版2020/07/24(金) 08:30:07.37ID:FzW9p3H4
0330240730030703新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミックの
0498名無しさん@お腹いっぱい。垢版2020/07/24(金) 08:35:11.18ID:FzW9p3H4
0735240735070707新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0499名無しさん@お腹いっぱい。垢版2020/07/24(金) 09:50:55.46ID:FzW9p3H4
5150240750510751新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミックの
0500名無しさん@お腹いっぱい。垢版2020/07/24(金) 09:55:58.42ID:FzW9p3H4
5455240755540754新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0501名無しさん@お腹いっぱい。垢版2020/07/24(金) 10:16:10.88ID:FzW9p3H4
0616240716060706新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0502名無しさん@お腹いっぱい。垢版2020/07/24(金) 10:36:22.76ID:FzW9p3H4
1836240736180718新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0503名無しさん@お腹いっぱい。垢版2020/07/24(金) 10:56:37.95ID:FzW9p3H4
3356240756330733新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0504名無しさん@お腹いっぱい。垢版2020/07/24(金) 11:16:50.24ID:FzW9p3H4
4616240716460746新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0505名無しさん@お腹いっぱい。垢版2020/07/24(金) 11:37:02.43ID:FzW9p3H4
5836240736580758新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミック
0506名無しさん@お腹いっぱい。垢版2020/07/26(日) 04:45:20.24ID:VGRUGLaT
>>491
バンク切り替えはうまくいきました。メモリアドレス$C046〜$C047の部分を間違えていました。
いざプレイしてみると8-4クリアでハングしてしまいました。グラフィックRAMの書き換え部分で
バグっています。そもそもmapper40はグラフィックRAMが無いのである。どうなるか気になって
試してみた結果残念な結果に。(改変FDS BIOSがグラフィック処理の部分を潰して場合は
そこにアクセスしようとすれば不具合が生じるだろう)
0509名無しさん@お腹いっぱい。垢版2020/07/27(月) 18:23:21.43ID:V3acKyx6
エンディングでバグる現象はFCEUXでは発生しましたが、VirtuaNESでは
発生しませんでした。
具体的にバグの現象、エンディングのBGMが鳴らずに、地上のBGMがなってしまう。
そしてTHANK YOU MARIOで背景が水色になるときに、ザーとノイズが鳴り固まってしまう。
念の為、FDS版オールナイトニッポン スーパーマリオブラザーズをFCEUXで動かしてみましたが、
正常作動でした。
0511名無しさん@お腹いっぱい。垢版2020/07/28(火) 04:54:41.07ID:FPgqQlgP
SMB2Jの海賊版の特徴まとめ
タイトル画面がハックされているケースが多い。
MARIOやLUIGIの名前がROMEOやRAMBOになっている場合がある。

●マッパー40
ルイージの特性(ジャンプ力と滑りと画面左上表示)が有効なもの(e.g. Lost Levels)と
無効化されているもの(e.g. Alt Levels)が存在する
●マッパー50
マッパー40の物のコードがベース
●マッパー43
マッパー40の物のコードがベース。
しかし少なくとも2つの異なったマッパーがマッパー43に割り当てられている為、
エミュレーターによって解釈が異なる。
●マッパー142
Kaiserのやつ。ワールド&ステージセレクト機能が実装されている。
●マッパー4(MMC3)
マッパー142のコードがベースになっている。ワールド&ステージセレクト機能は
無効化されているが、パッチすることにより復元可能。
0512名無しさん@お腹いっぱい。垢版2020/07/28(火) 05:12:20.57ID:FPgqQlgP
ちょっと訂正

SMB2Jの海賊版の特徴まとめ
タイトル画面がハックされているケースが多い。
MARIOやLUIGIの名前がROMEOやRAMBOになっている場合がある。

●マッパー40
ルイージの特性(ジャンプ力と滑りと画面左上表示)が有効なもの(画面左上表示が
マリオかルイージで変化するもの)と
無効化されているもの(e.g. 画面左上表示がSCORE
になっているもの))が存在する
●マッパー50
マッパー40の物のコードがベース
●マッパー43
マッパー40の物のコードがベース。
しかし少なくとも2つの異なったマッパーがマッパー43に割り当てられている為、
エミュレーターによって解釈が異なる。
●マッパー142
Kaiserのやつ。ワールド&ステージセレクト機能が実装されている。
●マッパー4(MMC3)
マッパー142のコードがベースになっている。ワールド&ステージセレクト機能は
無効化されているが、パッチすることにより復元可能。
0513名無しさん@お腹いっぱい。垢版2020/07/28(火) 13:19:35.99ID:FPgqQlgP
ルイージの特性の有効、無効はエミュレーターによって挙動が異なることが分かりました。
FCEUXではルイージを選んでも画面左上はMARIO表示で挙動はマリオのままでした。
ありますが、VirtuaNESでは画面左上はLUIGI表示になり、ルイージの挙動になりました。
謎が深まるばかりです。
FCEUXでタイトル表示が無効化されているROMでルイージ特性になるものもありますが、
タイトル表示を有効化すると、ルイージ特性が無効化するものがありました。
0514名無しさん@お腹いっぱい。垢版2020/07/28(火) 13:47:32.87ID:FPgqQlgP
>>512
●マッパー40のものは十字キーを押しながらスタートボタンを押すことで
開始ワールドが選べるものもあるようです。
0517名無しさん@お腹いっぱい。垢版2020/07/30(木) 04:08:46.09ID:TPbDIkoP
ルイージの特性問題とANNSMBのエンディングの問題はYレジスタの値が関与している
と思われます。可能性が高いのはディスクアクセス関連のコードは未パッチの部分が
多くあり、改変FDS BIOSも多くのコードが機能する状態で残っています。
そのため存在しないはずのディスクにアクセスした時の値がエミュレータによって異なる
可能性があります。マジコン等を使って実機でどのように作動するか検証する必要があります。
もしVirtuaNESと実機の挙動が同じであれば、VirtuaNESの再現性が高いことになります。
0518名無しさん@お腹いっぱい。垢版2020/07/31(金) 04:32:29.61ID:3LuwcXTn
詳しく調べてみるとマッパー40やマッパー50のSMB2JはVirtuaNESでルイージを選んでも、
どうもルイージの滑りとジャンプ力は反映されていないようです。
0519名無しさん@お腹いっぱい。垢版2020/08/01(土) 04:28:18.00ID:zZtiDJf2
マッパー142のものをマッパー40に移植しようとしたところ、バンク切り替えの処理の挙動が
謎で断念。方針転換でマッパー4(MMC3)のものをマッパー40に移植を試したところ、
すんなり作動。NESヘッダ以外は弄っていないのに1-4、5-8、9、A-D切り替えがちゃんと
動いていて、ありあんほどの驚きだ。IRQもバンク切り替えも両方対応仕様なのか?
マッパー142とマッパー4のやつのワールドセレクト機能はワールド表示部分はCHR-RAMを
直接書き換えているようだ。なのでマッパー40では1-1のままで変化しないが、ボタンを
押した数に応じてワールドセレクトはできるようだ。
0520名無しさん@お腹いっぱい。垢版2020/08/01(土) 05:39:32.07ID:zZtiDJf2
>>519は間違いだった。
マッパー変更でそんなにすんなり動く筈がなかった。ヘッダのマッパー変更がうまくいっていなかった。
ワールドセレクト化でタイトル画面の数字げ変化しなかったのはその部分のパッチが当たって
いなかったから。CHR-RAMは多分関係ないです。
0523名無しさん@お腹いっぱい。垢版2020/08/03(月) 05:28:38.53ID:20ziQVuk
>>521
やっぱりバグってますね。崩壊キャラについては仕様です。マッパー40はCHR-ROMが8KB
なので、エンゲィングのグラを正しく表示することができません。
まあNSMCHAR2のデーターにすればエンディングのグラは正常化しますが、
今度は敵キャラのグラがおかしくなります。8-4がSM2仕様でめちゃくちゃ難しいので
デバッグが大変です。しかも8-4クリアでフリーズするという絶望感。
ということでMMC3版を製作中です...(完成するまで黙っておこうと思ったが)
0525名無しさん@お腹いっぱい。垢版2020/08/03(月) 23:37:32.65ID:EHGX8jRe
私のSM2SAVEの戦闘力は
30年前時点で、20近いです。

ですが
もちろん
フルパワーでワープなしで
1Wから9Wまで多く戦った結果
少なく刻まれているだけなので
ご心配なく…
0526名無しさん@お腹いっぱい。垢版2020/08/04(火) 06:53:11.54ID:r1FsIIaD
とりあえずオールナイトニッポン スーパーマリオブラザーズのMMC3移植のテスト版が
出来ました。
https://dotup.org/uploda/dotup.org2218195.zip.html
CHRバンク切り替え実装、(デバッグ用)ワールドセレクト機能実装。
ただし8-4クリア後にタイトル画面に戻らずにエラーが出るのと、A-Dワールドで敵に
当たるとゲームオーバーになります。
0527名無しさん@お腹いっぱい。垢版2020/08/04(火) 07:13:24.09ID:VMcxXd3u
2113040813210821新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0528名無しさん@お腹いっぱい。垢版2020/08/04(火) 07:34:04.20ID:VMcxXd3u
0134040834010801新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0529名無しさん@お腹いっぱい。垢版2020/08/04(火) 08:30:30.19ID:VMcxXd3u
2730040830270827新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0530名無しさん@お腹いっぱい。垢版2020/08/04(火) 09:21:27.81ID:VMcxXd3u
2521040821250825新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0531名無しさん@お腹いっぱい。垢版2020/08/04(火) 09:36:44.18ID:VMcxXd3u
4136040836410841新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0532名無しさん@お腹いっぱい。垢版2020/08/04(火) 09:57:06.74ID:VMcxXd3u
0457040857040804新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0533名無しさん@お腹いっぱい。垢版2020/08/04(火) 11:03:21.61ID:VMcxXd3u
1903040803190819新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0534名無しさん@お腹いっぱい。垢版2020/08/04(火) 12:12:35.06ID:VMcxXd3u
3212040812320832新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0535名無しさん@お腹いっぱい。垢版2020/08/04(火) 12:49:55.13ID:CtAeNrTa
5249040849520852新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0536名無しさん@お腹いっぱい。垢版2020/08/04(火) 13:21:14.00ID:CtAeNrTa
1121040821110811新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0537名無しさん@お腹いっぱい。垢版2020/08/04(火) 14:13:27.14ID:CtAeNrTa
2413040813240824新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0538名無しさん@お腹いっぱい。垢版2020/08/04(火) 15:16:18.89ID:CtAeNrTa
1616040816160816新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0539名無しさん@お腹いっぱい。垢版2020/08/04(火) 15:21:31.42ID:CtAeNrTa
2821040821280828新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0540名無しさん@お腹いっぱい。垢版2020/08/04(火) 15:31:57.63ID:CtAeNrTa
5531040831550855新しい豚インフ人にも感染と報告 [87類終了】人間に感染する新型豚インフルエンフル701] (9)
12:インフルエン的流胞に感染する豚のインフルエンフル型インフルエンザインフルエンザ発見 「パンデミックの恐ンザが発見される パンデミ<SP
0541名無しさん@お腹いっぱい。垢版2020/08/06(木) 03:41:49.51ID:B2UN+Io+
PRG-RAMのないマッパーの海賊版SMB2Jの再現性が一部不完全だったりする場合が多いのは
本体WRAMだけじゃ変数を置ける容量が足りないのかも知れないな。
SMB2JのMMC移植版はいくつかあり再現性は高いが、PRG-RAMが$6000-$8000しかないので、
なんとか本体WRAMとPRG-RAMの空きに無理やり押し込んでいる感じだな。(ややダーティー
なコード)
0543名無しさん@お腹いっぱい。垢版2020/08/07(金) 02:19:07.89ID:1lB0M+CW
オールナイトニッポン スーパーマリオブラザーズの768Wでなく1024Wの可能性。
オールナイトニッポン スーパーマリオブラザーズは9面がありませんが、
ワールド9ならリセットする処理を潰せば、9-1に行けます。
9-1は強制移動の雲のバグ面で途中の土管でストップします。クッパも登場するので
ハンマーに当たる場合もあります。9-2,3,4は海のバグ面でプレイ可能です。
空を飛ぶプクプクが出ますが、エンディング用のCHRに変更されているので、
プクプクの場合はステルスで見えません。すべての敵キャラが表示できるように
CHRを変更するか、通常のCHRを使用した方がよいでしょう。
0544名無しさん@お腹いっぱい。垢版2020/08/07(金) 02:36:40.17ID:1lB0M+CW
ANNSMBのMMC3移植版はとりあえず遊べる程度のものは完成しました。
しかし問題点はルイージでクリアした時のテキストをLUIGIにする機能が
正常に作動しなかったのとワールドセレクト機能も実装されていますが、
ワールドA-Dを選択するとフリーズしてしまうようです。
原因はパッチするコードを間違えている可能性もありますが、
とりあえず手抜きで敵処理関係のコードは面倒なので弄っていないのですが、
これが原因で変数が衝突している可能性があります。
完全版はANNSMB逆アセンブルリストを完成させてからとなりそうです。
0545名無しさん@お腹いっぱい。垢版2020/08/07(金) 03:27:20.65ID:1lB0M+CW
とりあえず現状の試作物です。
オールナイトニッポン スーパーマリオブラザーズ(ANNSMB) MMC3移植テスト
https://www.axfc.net/u/4025895.zip

標準版とワールドセレクト版が入っています。通常のスーパーマリオブラザーズの
NESファイルにパッチを当ててください。
ルイージでクリアしたときのエンディングの文字をLUIGIにする処理とその関連
処理は未実装。ワールドセレクト版でタイトル画面でワールドA-Dを選択して
マリオが動き出すとフリーズします
0546名無しさん@お腹いっぱい。垢版2020/08/07(金) 14:46:26.14ID:1lB0M+CW
一応こちらのMMC3版のSMB2Jのコードを元にしています。
Super Mario Bros 2 Special by Jordan Bieber (SMB1 Hack).nes
これはSMB1 Hackと付いていますが、コードを見てみるとSMB1を改造したものではなく
SMB2Jを改造したものです。
あとこれはCHRが改造されていて1バンク(8kB)しかないですが、CHRのバンク切り替え
機能も実装されているようで、エンディング用のCHRを用意して、2バンク(16kB)に
すると正常に作動するようです。
0547名無しさん@お腹いっぱい。垢版2020/08/09(日) 10:54:03.03ID:T+NMfORd
ANNSMBは解析途中ですが、見た感じSMB2エンジンを使用しているというよりは、
SMB1とSMB2のハイブリッドな感じです。例えばワープゾーンの土管の処理はSMB1仕様の
ようですが、パラレルワールド用の処理が追加されているので若干複雑です。
あとANNSMBには毒キノコや嵐のコードは入っていないようです。
0549名無しさん@お腹いっぱい。垢版2020/08/19(水) 04:21:29.05ID:smh8jnE2
2821190821280828ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0550名無しさん@お腹いっぱい。垢版2020/08/19(水) 04:47:51.48ID:smh8jnE2
5047190847500850ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0551名無しさん@お腹いっぱい。垢版2020/08/19(水) 05:20:50.42ID:smh8jnE2
4920190820490849ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0552名無しさん@お腹いっぱい。垢版2020/08/19(水) 05:26:11.57ID:smh8jnE2
1126190826110811ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0553名無しさん@お腹いっぱい。垢版2020/08/19(水) 05:47:06.51ID:smh8jnE2
0647190847060806ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0554名無しさん@お腹いっぱい。垢版2020/08/19(水) 05:52:20.50ID:smh8jnE2
1952190852190819ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0556名無しさん@お腹いっぱい。垢版2020/08/19(水) 06:08:03.96ID:smh8jnE2
0308190808030803ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0557名無しさん@お腹いっぱい。垢版2020/08/19(水) 06:13:19.82ID:smh8jnE2
1913190813190819ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0558名無しさん@お腹いっぱい。垢版2020/08/19(水) 06:34:18.18ID:smh8jnE2
1734190834170817ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0559名無しさん@お腹いっぱい。垢版2020/08/19(水) 07:00:29.68ID:smh8jnE2
2900190800290829ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0560名無しさん@お腹いっぱい。垢版2020/08/19(水) 07:21:28.33ID:smh8jnE2
2721190821270827ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0561名無しさん@お腹いっぱい。垢版2020/08/19(水) 07:58:25.13ID:smh8jnE2
2458190858240824ポンペオ国務長官「反シオニズムは反ユダヤ主義!」 [195740AAS
こういうこと言うからユダヤ嫌い
5オニズムに反対しているユダヤ人たちも普通にいるんだけどな
6: (ワッチョ
こいhk3G0(1) AAS
イスラエルなんて今やただの侵略者だよね
AAS
正体表したね
0565名無しさん@お腹いっぱい。垢版2020/08/21(金) 03:08:09.98ID:+9EChMoG
オールナイトニッポンスーパーマリオブラザーズ

暫定 敵データ・マップデータ

; 自動歩行 マップデータ

C270 : 38 11 0F 26 AD 40 3D C7 ;
C278 : FD ;

; 全ブロック共通マップデータ?
: 地下・海を抜けた後のポールのあるルーム マップデータ?

C279 : 90 31 39 F1 5F 38 6D C1 AF 26 8D ;
C283 : 8D C7 ;
C285 : FD

;開始エリア
C339 : 00 05 0A 0E 13 17 1B 20 ;

;エリア開始ルーム
C341 : 25 3B C0 26 60 ;World 1
C346 : 28 29 01 27 62 ;World 2
C34B : 24 35 20 63 ;World 3
C34F : 22 29 41 2C 61 ;World 4
C354 : 2A 31 36 67 ;World 5
C358 : 2E 23 2D 66 ;World 6
C35C : 33 29 03 37 64 ;World 7
C361 : 30 32 21 65 ;World 8

; ループ戻り位置
C365 : 12 36 0E 0E 0E 32 32 32 0C 54 ;
0566名無しさん@お腹いっぱい。垢版2020/08/21(金) 03:08:50.42ID:+9EChMoG
;敵キャラコマンドアドレスヘッダ
C36F : 28 08 24 00 ;

;敵データ開始アドレス ;エリア
C373 : 45 C7 ; 1-4 (S1)
C375 : 62 C7 ; 2-4 (S1)
C377 : 7B C7 ; 3-4 (S1)
C379 : 9E C7 ; 4-4 (S1)
C37B : 2C C6 ; 7-4 (S2)
C37D : 41 C6 ; 8-4 (S2)
C37F : D0 C5 ; 6-4 (S2)
C381 : 05 C6 ; 5-4 (S2)
C383 : C7 C7 ; 3-3 (S1)
C385 : 81 C6 ; 8-3 (S2)
C387 : E8 C7 ; 4-1 (S1)
C389 : 9E C6 ; 6-2 (S2)
C38B : F8 C7 ; 3-1 (S1)
C38D : 29 C8 ; 1-1 (S1)
C38F : 47 C8 ; 1-3 (S1)
C391 : 60 C8 ; 2-3 (S1)
C393 : 67 C8 ; 2-1 (S1)
C395 : 6F C2 ; 土管
C397 : 05 C7 ; 5-1 (S2)
C399 : 96 C8 ; 天空ボーナス (S1)
C39B : 9C C8 ; 4-3 (S1)
C39D : 2F C7 ; 6-3 (S2)
C39F : 52 C7 ; 6-1 (S2)
C3A1 : C0 C8 ; 天空ワープ (S1)
C3A3 : 5B C7 ; 8-1 (S2)
C3A5 : 95 C7 ; 5-2 (S2)
C3A7 : C0 C7 ; 8-2 (S2)
C3A9 : F0 C7 ; 7-1 (S2)
C3AB : C1 C8 ; 天空ボーナス (S1)
C3AD : C7 C8 ; 3-2 (S1)
C3AF : C5 C6 ; 5-3 (S2)
C3B1 : E8 C6 ; 7-3 (S2)
C3B3 : 6F C2 ; 地下・海の出口
C3B5 : 29 C7 ; 天空ボーナス (S2)
C3B7 : 0C C8 ; 夜空ボーナス (S2)
C3B9 : EB C8 ; 土管(夜) (S1)
C3BB : EC C8 ; 1-2 (S1)
C3BD : 19 C9 ; 4-2 (S1)
C3BF : 47 C9 ; 地下室 (S1)
C3C1 : 12 C8 ; 地下室 (S2)
C3C3 : 2B C8 ; 水中ボーナス (S2)
C3C5 : 62 C9 ; 2-2 (S1)
C3C7 : 6A C8 ; 8-4 (S2)
C3C9 : 3C C8 ; 7-2 (S2)

C3CB : 6F C2 ;ワープゾーン?
0567名無しさん@お腹いっぱい。垢版2020/08/21(金) 03:09:34.08ID:+9EChMoG
;マップコマンドアドレスヘッダ
C3CD : 28 08 24 00 ;

;マップデータ開始アドレス ;エリア
C3D1 : 7B C9 ; 1-4 (S1)
C3D3 : D2 C9 ; 4-4 (S1)
C3D5 : 53 CA ; 2-4 (S1)
C3D7 : C2 CA ; 3-4 (S1)
C3D9 : 7A C9 ; 7-4 (S2)
C3Db : 05 CA ; 8-4 (S2)
C3DD : 78 C8 ; 6-4 (S2)
C3DF : ED C8 ; 5-4 (S2)
C3E1 : 2D CB ; 3-3 (S1)
C3E3 : D8 CA ; 8-3 (S2)
C3E5 : 8A CB ; 4-1 (S1)
C3E7 : 45 CB ; 6-2 (S2)
C3E9 : DD CB ; 3-1 (S1)
C3EB : 4E CC ; 1-1 (S1)
C3ED : B3 CC ; 1-3 (S1)
C3EF : 08 CD ; 2-3 (S1)
C3F1 : 85 CD ; 2-1 (S1)
C3F3 : 70 C2 ; 土管
C3F5 : 8C CC ; 5-1 (S2)
C3F7 : E8 CD ; 天空ボーナス (S1)
C3F9 : FD CD ; 4-3 (S1)
C3FB : E2 CC ; 6-3 (S2)
C3FD : 49 CD ; 6-1 (S2)
C3FF : 54 CE ; 天空ワープ (S1)
C401 : BE CD ; 8-1 (S2)
C403 : 53 CE ; 5-2 (S2)
C405 : CA CE ; 8-2 (S2)
C407 : 47 CF ; 7-1 (S2)
C409 : 85 CE ; 天空ボーナス (S1)
C40B : B0 CE ; 3-2 (S1)
C40D : D6 CB ; 5-3 (S2)
C40F : 1F CC ; 7-3 (S2)
C411 : 79 C2 ; 地下・海の出口
C413 : CD CC ; 天空ボーナス (S2)
C415 : A8 CF ; 夜空ボーナス (S2)
C417 : E7 CE ; 土管(夜) (S1)
C419 : F0 CE ; 1-2 (S1)
C41B : 91 CF ; 4-2 (S1)
C41D : 36 D0 ; 地下室 (S1)
C41F : D3 CF ; 地下室 (S2)
C421 : 2C D0 ; 水中ボーナス (S2)
C423 : C3 D0 ; 2-2 (S1)
C425 : 36 D1 ; 8-4 (S2)
C427 : 6D D0 ; 7-2 (S2)

C429 : 85 C2 ;ワープゾーン?
0569名無しさん@お腹いっぱい。垢版2020/08/21(金) 04:45:14.20ID:wHsnVH0M
1245210845120812telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0570名無しさん@お腹いっぱい。垢版2020/08/21(金) 04:50:27.55ID:wHsnVH0M
2550210850250825telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0571名無しさん@お腹いっぱい。垢版2020/08/21(金) 04:55:40.48ID:wHsnVH0M
3955210855390839telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0572名無しさん@お腹いっぱい。垢版2020/08/21(金) 05:16:59.44ID:wHsnVH0M
5816210816580858telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0573名無しさん@お腹いっぱい。垢版2020/08/21(金) 05:32:53.43ID:wHsnVH0M
5232210832520852telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0574名無しさん@お腹いっぱい。垢版2020/08/21(金) 05:38:09.32ID:wHsnVH0M
0838210838080808telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0575名無しさん@お腹いっぱい。垢版2020/08/21(金) 06:10:30.94ID:wHsnVH0M
3010210810300830telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0576名無しさん@お腹いっぱい。垢版2020/08/21(金) 06:15:48.57ID:wHsnVH0M
4815210815480848telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0577名無しさん@お腹いっぱい。垢版2020/08/21(金) 06:36:45.57ID:wHsnVH0M
4536210836450845telから流出20GBファームウェコードからbackdoorの処見つかってし913] (10ス)
Intel leak: 0GB of soure, intter.com
WannaCryはそこる ソースくらいは貼るわ
外ww.newsw
対外情報監視法
◆アメ国家的盗聴は有名IT・通信企業が協力している[2013日] ク:wpb.shha.co.jp
「マイクロソフグーグルなど、NSAは大手IT企ベッタリ
つい最ロソフトが過去3年間、自社サイトのユーザーが交換する情報を
『NSAが監視う、暗号システムを迂回させる措置を取っ
ライン上の情報蓄積サービス『スカイドライブ
0578名無しさん@お腹いっぱい。垢版2020/08/25(火) 02:35:49.99ID:xlG2VSsM
NSMDATA1のマップデータの次の領域$D13E-$D2E4が不明なデータだったが
エンディング処理の関係かな?

; 6324 : BD FA 62 LDA $62FA,X ;
; 632A : BD FA 62 LDA $62FA,X ;
62FA : 3E D1 ;
62FC : 9E D1 ;
62FE : FE D1 ;
6300 : 5E D2 ;
6302 : 4F D1 ;
6304 : AF D1 ;
6306 : 0F D2 ;

; 6331 : BD 08 63 LDA $6308,X ;
6308 : 0C 07 0E ;

; 6337 : BD 0B 63 LDA $630B,X ;
630B : D0 A0 ;

; 6344 : DD 0E 63 CMP $630E,X ;
630B : E0 30 50 60 ;
0579名無しさん@お腹いっぱい。垢版2020/08/25(火) 02:59:43.49ID:xlG2VSsM
;エンディング画面切り替え処理?
6311 : AD 5C 07 LDA $075C ;
6314 : C9 03 CMP #$03 ;
6316 : D0 39 BNE $6351 ;
6318 : AC FB 07 LDY $07FB ;
631B : D0 34 BNE $6351 ;
631D : 84 06 STY $06 ;
631F : AD 5F 07 LDA $075F ;
6322 : 0A ASL A ;
6323 : AA TAX ;
6324 : BD FA 62 LDA $62FA,X ;
6327 : 85 00 STA $00 ;
6329 : E8 INX ;
632A : BD FA 62 LDA $62FA,X ;
632D : 85 01 STA $01 ;
632F : A6 06 LDX $06 ;
6331 : BD 08 63 LDA $6308,X ;
6334 : 8D 06 20 STA $2006 ;
6337 : BD 0B 63 LDA $630B,X ;
633A : 8D 06 20 STA $2006 ;
633D : B1 00 LDA ($00),Y ;
633F : 8D 07 20 STA $2007 ;
6342 : C8 INY ;
6343 : 98 TYA ;
6344 : DD 0E 63 CMP $630E,X ;
6347 : D0 F4 BNE $633D ;
6349 : E6 06 INC $06 ;
634B : A5 06 LDA $06 ;
634D : C9 03 CMP #$03 ;
634F : D0 DE BNE $632F ;
6351 : 4C B9 63 JMP $63B9 ;
0580名無しさん@お腹いっぱい。垢版2020/08/25(火) 03:04:25.03ID:xlG2VSsM
; 6382 : B9 54 63 LDA $6354,Y ;
; 6382 : B9 54 63 LDA $6354,Y ;
6354 : 63 63 ;
6356 : 65 63 ;
6358 : 67 63 ;
635A : 69 63 ;

; 637F : BC 5C 63 LDY $635C,X ;
635C : 04 02 00 04 02 00 08 ;

;
6363 : 30 12 ;
6365 : 30 1A ;
6367 : 30 16 ;
6369 : 17 2A ;

636B : 3F DB ;
636C : 18 CLC ;
636D : 04 DB ;
636E : 0F DB ;
636F : 36 ROL $00,X ;

; 6391 : 99 70 63 STA $6370,Y ;
6370: 00 ;
6371 : 00 ;
6372 : 00 ;

; <$0772=01> クッパの橋がおちた後 (パラレルワールドの時の分岐等)A
6373 : AD FB 07 LDA $07FB ;
6376 : D0 26 BNE $639E ;
6378 : AE 5F 07 LDX $075F ;
637B : E0 07 CPX #$07 ;
637D : F0 1F BEQ $639E ;
637F : BC 5C 63 LDY $635C,X ;
6382 : B9 54 63 LDA $6354,Y ;
6385 : 85 00 STA $00 ;
6387 : C8 INY ;
6388 : B9 54 63 LDA $6354,Y ;
638B : 85 01 STA $01 ;
638D : A0 00 LDY #$00 ;
638F : B1 00 LDA ($00),Y ;
6391 : 99 70 63 STA $6370,Y ;
6394 : C8 INY ;
6395 : C0 02 CPY #$02 ;
6397 : D0 F6 BNE $638F ;
6399 : A9 1D LDA #$1D ;
639B : 8D 73 07 STA $0773 ;
0581名無しさん@お腹いっぱい。垢版2020/08/25(火) 03:05:03.57ID:xlG2VSsM
; <$0772=01> クッパの橋がおちた後 (パラレルワールドの時の分岐等)B
639E : AE 1B 07 LDX $071B ;
63A1 : E8 INX ;
63A2 : 86 34 STX $34 ;
63A4 : AD FB 07 LDA $07FB ; パラレルワールドか
63A7 : F0 0C BEQ $63B5 ; パラレルワールドでなければジャンプ
63A9 : AD 5F 07 LDA $075F ; 現在のワールド
63AC : C9 03 CMP #$03 ; ワールドDか
63AE : 90 05 BCC $63B5 ; ワールドDに達していなければジャンプ
63B0 : A9 07 LDA #$07 ; ワールド8
63B2 : 8D 5F 07 STA $075F ; ワールド8と同じ扱い
63B5 : A9 08 LDA #$08 ; 斧獲得BGM指定
63B7 : 85 FC STA $FC ; PORT_$2005_V
0582名無しさん@お腹いっぱい。垢版2020/08/25(火) 03:19:17.24ID:xlG2VSsM
なんとなくマッパー40版がvirtuanesで動いた理由がわかった。
恐らくvirtuanesだと$6000-$6FFFがROMでも書き込みできてしまう為だと
思われます。
あとMMC3のワールドセレクト版で タイトル画面でワールドA-Dにしたときにバグって
しまう原因はまだ掴めていません。>>544のは
敵処理関係のパッチは赤パックンフラワーの処理ですが、ANNSMBには登場しない
のでたぶん関係なさそうです。タイトル画面でワールドA-Dを選択すると敵データとマップデーター
の開始アドレスの部分が変わってしまって、正常に作動しないのではないかと考えられます。
SMB2ではたまたま動いてしまっているのか、それを回避するコードが入っているがSMB2用の
ままではANNSMBで正常作動しないかのいずれかかが考えられます。
0584名無しさん@お腹いっぱい。垢版2020/08/29(土) 20:51:37.41ID:KTKV6aQU
3651290851360836類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0585名無しさん@お腹いっぱい。垢版2020/08/29(土) 21:06:50.49ID:KTKV6aQU
4906290806490849類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0586名無しさん@お腹いっぱい。垢版2020/08/29(土) 21:28:19.65ID:KTKV6aQU
1828290828180818類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0587名無しさん@お腹いっぱい。垢版2020/08/29(土) 21:44:14.98ID:KTKV6aQU
1444290844140814類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0588名無しさん@お腹いっぱい。垢版2020/08/29(土) 22:05:23.51ID:KTKV6aQU
2205290805220822類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0589名無しさん@お腹いっぱい。垢版2020/08/29(土) 22:26:27.17ID:KTKV6aQU
2626290826260826類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0590名無しさん@お腹いっぱい。垢版2020/08/29(土) 22:47:36.02ID:KTKV6aQU
3547290847350835類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0591名無しさん@お腹いっぱい。垢版2020/08/29(土) 23:14:47.50ID:KTKV6aQU
4614290814460846類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0592名無しさん@お腹いっぱい。垢版2020/08/29(土) 23:46:53.92ID:KTKV6aQU
5346290846530853類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0593名無しさん@お腹いっぱい。垢版2020/08/30(日) 00:08:04.05ID:dtAshALq
0308300808030803類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0594名無しさん@お腹いっぱい。垢版2020/08/30(日) 00:29:11.92ID:dtAshALq
1029300829100810類終了】人間に感染する新型豚インフルエンザ発見 [536779938] (31)
7:豚インフルエンザ ウクライナで60人死亡 [487816701] (9)
8:人の細胞に感染する豚のインフルエンザウイルス見つかる 中国 [402859164] (21)
9:中国の豚から新型インフルエンザが発見される パンデミックの可能性 [878898748]
0596名無しさん@お腹いっぱい。垢版2020/09/04(金) 22:02:34.31ID:9ZOgjniP
3302040902330933>>○○○
こら、おまえは統一教会の工作員か?
統一教会工作員でないなら以下の文章をこのスレにコピペしてみろ。
コピペできなければおまえは統一教会工作員だ。

文鮮明はウンコでサタン
統一教会はサタニスト団体

ki
教祖は北朝鮮出身の文鮮明氏で現在の妻は韓鶴子女史 ... 韓国系宗教かつ北朝鮮とも仲
0599名無しさん@お腹いっぱい。垢版2020/11/19(木) 16:17:07.53ID:SPoLfr1z
ANNSMBのNSMDATA1の解析は一応完成した。
パソコンフリーズしたときにデーターが消えてしまって最悪な予感がしたが、
なんとか救出できた。
0604名無しさん@お腹いっぱい。垢版2020/11/22(日) 00:20:51.20ID:RtNfMbFK
ルイージの機能の事忘れてました。まだ直ってません。NSMDATA3の解析が必要だわ。
ワールドセレクト版のA-Dは何が悪いのかちんぷんかんぷん。
大体は嵐関係の処理でANNSMBには関係ないと思ってパッチしていない部分に起因
しているか、SMB2とANNSMBでフラグ関係で少し違う部分がありますが、ワールドセレクト版は
SMB2の未使用部分を使用しているがANNSMBでは衝突してしまうのかなと。
あとはアドレス修正の見落としの可能性もあるが。
0608名無しさん@お腹いっぱい。垢版2020/11/24(火) 01:40:42.44ID:GqgzVkcN
エンディングの表示問題は解決しました。原因はアドレスの値を16進数で計算すべきなのに
10進数でやってしまっていた箇所があったw
0615名無しさん@お腹いっぱい。垢版2020/11/26(木) 13:33:12.55ID:eqtM1JBj
ワールドセレクト機能の不具合判明しました。
結論から言うと、オールナイトニッポン スーパーマリオブラザーズのプログラム本体の部分に
問題がありそうです。
パラレルワールドフラグが$7FBにあるのですが、(FDSの)スーパーマリオブラザーズ2で
この部分の値を$1にしてもタイトル画面でマリオが動き出し画面スクロールしてもフリーズ
しないのに対し、(FDSの)オールナイトニッポン スーパーマリオブラザーズではマリオが動き
出し画面スクロールするとフリーズします。
こうゆう仕様のようです。
0616名無しさん@お腹いっぱい。垢版2020/11/26(木) 13:36:17.45ID:eqtM1JBj
一応フリーズ箇所のトレースログ

f617 A:00 X:00 Y:01 S:BA $61CC:AD 3F 07 LDA $073F = #$32
f617 A:32 X:00 Y:01 S:BA $61CF:8D 05 20 STA $2005 = #$02
f617 A:32 X:00 Y:01 S:BA $61D2:AD 40 07 LDA $0740 = #$00
f617 A:00 X:00 Y:01 S:BA $61D5:8D 05 20 STA $2005 = #$02
f617 A:00 X:00 Y:01 S:BA $61D8:A9 00 LDA #$00
f617 A:00 X:00 Y:01 S:BA $61DA:8D 7B 07 STA $077B = #$00
f617 A:00 X:00 Y:01 S:BA $61DD:4C E4 61 JMP $61E4
f617 A:00 X:00 Y:01 S:BA $61E4:68 PLA
f617 A:01 X:00 Y:01 S:BB $61E5:A8 TAY
f617 A:01 X:00 Y:01 S:BB $61E6:68 PLA
f617 A:00 X:00 Y:01 S:BC $61E7:AA TAX
f617 A:00 X:00 Y:01 S:BC $61E8:68 PLA
f617 A:02 X:00 Y:01 S:BD $61E9:28 PLP
f617 A:02 X:00 Y:01 S:BE $61EA:58 CLI
f617 A:02 X:00 Y:01 S:BE $61EB:40 RTI
Bad Opcode Breakpoint Hit at $22BD
0617名無しさん@お腹いっぱい。垢版2020/11/26(木) 14:26:34.44ID:eqtM1JBj
NSMDATA3の逆アセンブルリスト作成していたが、パソコンがフリーズしたときに
データー消失してしまったorz
0618名無しさん@お腹いっぱい。垢版2020/11/26(木) 14:29:00.59ID:eqtM1JBj
と思ったら見つけました。良かった。NSMMAINの逆アセンブルリストもデーター消失の
危機があったが、CHKDSKの作ったファイルの中から見つけ何とかなった。
0624名無しさん@お腹いっぱい。垢版2020/11/26(木) 20:42:54.37ID:eqtM1JBj
なんでデバッグで気づかなかったんでしょうね?
1面と8面とA面とD面ばかりやってたからかな。他の面でも、
エリア1と2は正常だったから気づくの遅れた。
0625名無しさん@お腹いっぱい。垢版2020/11/26(木) 20:44:05.97ID:eqtM1JBj
ANNSMB
;開始エリア
0000C357: 00 05 09 0E 12 17 1C 20 24


;エリア開始ルーム
0000C360: 20 29 40 21 60 ;World 1 $0
0000C365: 22 23 24 61 ;World 2 $1
0000C369: 25 29 00 26 62 ;World 3 $2
0000C36E: 27 28 2A 63 ;World 4 $3
0000C371: 2B 29 43 2C 64 ;World 5 $4
0000C376: 2D 29 01 2E 65 ;World 6 $5
0000C37B: 2F 30 31 66 ;World 7 $6
0000C37F: 32 35 36 67 ;World 8 $7
*0000C383: 38 06 68 07 ;World 9 $8

SMB2(J)
;開始エリア
C339 : 00 05 0A 0E 13 17 1B 20 ;

;エリア開始ルーム
C341 : 25 3B C0 26 60 ;World 1 $0
C346 : 28 29 01 27 62 ;World 2 $1
C34B : 24 35 20 63 ;World 3 $2
C34F : 22 29 41 2C 61 ;World 4 $3
C354 : 2A 31 36 67 ;World 5 $4
C358 : 2E 23 2D 66 ;World 6 $5
C35C : 33 29 03 37 64 ;World 7 $6
C361 : 30 32 21 65 ;World 8 $7
0626名無しさん@お腹いっぱい。垢版2020/11/26(木) 20:45:32.18ID:eqtM1JBj
なので
FB8B LDA $75F
FB8E LDX $7FB
FB91 BNE loc_FBAA
FB93 CMP #1
FB95 BEQ loc_FB6A
FB97 CMP #3
FB99 BEQ loc_FB6A
FB9B CMP #6
FB9D BEQ loc_FB6A
FB9F CMP #7
FBA1 BEQ loc_FB6A
FBA3 CMP #8
FBA5 BEQ loc_FB6A



FB8B LDA $75F
FB8E LDX $7FB
FB91 BNE loc_FBAA
FB93 CMP #2
FB95 BEQ loc_FB6A
FB97 CMP #4
FB99 BEQ loc_FB6A
FB9B CMP #5
FB9D BEQ loc_FB6A
FB9F CMP #7
FBA1 BEQ loc_FB6A
FBA3 CMP #8
FBA5 BEQ loc_FB6A

のように修正
0627名無しさん垢版2020/11/28(土) 12:41:42.14ID:C18EiUZ1
解析お疲れ様!なんだけどプレイしてみると1-4.2-4と各キノピオが当時のオールナイトのMCに代わってなかったから完全にオールナイトベースじゃなくて既にカセット変換された2ベースにオールナイトにタイトルとか書き換えたパッチだったのね8-4クリアーしても☆マークはタイトルに付かない仕様の
0628名無しさん@お腹いっぱい。垢版2020/11/29(日) 02:44:48.09ID:sADoUlqN
>>627
エミュレーターは何を使ってますか?それとも実機?
当方ではfceux 2.2.3とVirtuaNES 0.97でピノキオがMCに置き換わっているのを確認しています。
プログラムはANNSMBをベースにMMC3版SMB2JのパッチをANNSMBに合わせて適用しています。
☆マークが付かないのは元にしたMMC3版SMB2Jの仕様ですが、☆マークの付く仕様も
作成可能です。
0631名無しさん@お腹いっぱい。垢版2020/11/29(日) 03:07:30.08ID:sADoUlqN
8-4クリアで☆マークの付く仕様は、セーブ機能付きMMC3版SMB2Jのコードを使うことにより
可能ですが、パッチ箇所が思ったよりも多いのでしばらく時間がかかりそうです。
0632名無しさん@お腹いっぱい。垢版2020/11/29(日) 03:52:41.44ID:tenJgFlJ
改造やってるバカは死ね
てめえらは生きる価値がねえゴミだ
0633名無しさん@お腹いっぱい。垢版2020/12/03(木) 15:17:51.85ID:zDM11Aoy
smb2j-glitchedworldsをANNSMBに移植しようとしたがうまくいかなかった。
試行錯誤メモ

625B : A9 60 LDA #$60 ;lda #>(GL_ENTER - 1) *
625D : 48 PHA ;pha
625E : A9 31 LDA #$31 ;lda #<(GL_ENTER - 1) *
6260 : 48 PHA ;pha
6261 : A9 C2 LDA #$C2 ;lda #>(LoadAreaPointer - 1) *
6263 : 48 PHA ;pha
6264 : A9 A3 LDA #$A3 ;lda #<(LoadAreaPointer - 1) *
6266 : 48 PHA ;pha

62D1 : D2 C0 ;.word DiskIDString *

62FD : A0 03 LDY #$03 ;ldy #$03
62FF : 8C 09 C1 STY $C109 ;sty ListPointer+1 *
6302 : A0 00 LDY #$00 ;ldy #$00
6304 : 8C 08 C1 STY $C108 ;sty ListPointer *

6313 : 4C 03 C1 JMP $C103 ;jmp LoadFilesDirect *



GL_ENTER 6032 6035
LoadAreaPointer C2A4 C286
DiskIDString "D2C0" "E8C0"
ListPointer C108 C11D
LoadFilesDirect C103 C119
0634名無しさん@お腹いっぱい。垢版2020/12/03(木) 16:40:40.74ID:zDM11Aoy
ANNSMBでエンディングになるステージの設定を弄れば、バグった9面もプレイ可能で、
理屈の上では768Wではなく1024Wも可能だが、NSMDATA3にステージ情報が入っていない
ので遊べる面が少ないのと、CHRセットがMC用に変わっているので、プクプクなどの
敵キャラが表示されないので、ステルス攻撃に注意が必要。CHRを弄ればいいけど。
0635名無しさん@お腹いっぱい。垢版2020/12/04(金) 04:51:33.90ID:qh0SJq8B
MMC3版SMB2Jが$6000-$7FFFのRAMに依存しない仕様っぽかったのですが、
MMC3版ANNSMBではエンディング処理でこの部分に書き込みしています。
早速RAMに依存しないはすぐに出来るだろうと思ってやってみたのですが、
おもったよりも複雑で失敗。NSMDATA2とNSMDATA4を含む全解析が必要だと確信
0636名無しさん@お腹いっぱい。垢版2020/12/04(金) 13:22:37.07ID:qh0SJq8B
NSMMAINだけで大体わかったけど、
"(Indirect), Y"使ってるのか。複雑だな

;$00 = #$636B
6DC4:B1 00 LDA ($00),Y @ $6370 = #$30;
6DC4:B1 00 LDA ($00),Y @ $6371 = #$12;

;$00 = #$6372
6DED:B1 00 LDA ($00),Y @ $6372 = #$00
0638名無しさん@お腹いっぱい。垢版2020/12/04(金) 22:28:33.64ID:m26s2YWy
こういうのってバイナリでできる?
マリオ2のfds版でA〜D面行くのを
8回クリアでなくても1回とか
何なら0回でもタイトルでB押しながらスタートで
可能にするっていうの
0639名無しさん@お腹いっぱい。垢版2020/12/05(土) 01:03:25.69ID:3S/lIgel
>>638
出来ます。このケースだと8回クリアしているかチェックしていルーチンがあるので
そこを8から任意の値にするだけなので、たった1バイトの変更でできます。
0640名無しさん@お腹いっぱい。垢版2020/12/05(土) 01:16:10.99ID:3S/lIgel
マリオ便利改造コード集
http://k1ilove.yu-nagi.com/mariocod.html

↑ここにいろいろある。
ただ実際にパッチを当てようと思ってもFDSファイルの構造を理解していないと
難しい。バイナリエディタの外にFDS Studyとかのツールは必要かも。
あと16進数の計算できる電卓。(Windowsの電卓とか)
0642名無しさん@お腹いっぱい。垢版2020/12/05(土) 02:34:17.86ID:3S/lIgel
MMC3版でパラレルワールド(A-D)の途中開始地点が落下する理不尽な場所になっていて
ミスってると思ったけど、そうゆう仕様のようですね。
開始同時にAボタン押せば突破できるので
0646名無しさん@お腹いっぱい。垢版2020/12/06(日) 03:30:00.35ID:Y+nepdQp
アドレスサーチでやりたいなら一応詳しく書くと
次のような例では、
ワールドAに行ける条件となっているワールド8のクリア回数8回の変更
●マリオ2
FILE No.03 C484番地 08 ...とありますが、

FDSstudyでSMB2のファイルを開くと
//////////////////////// Side-A ////////////////////////

No LoadNo FileName LoadAdd Size Type

00 00 KYODAKU- 2800 E0 2 (NT)
01 01 SM2CHAR1 0 2000 1 (Chr)
02 10 SM2CHAR2 760 40 1 (Chr)
03 05 SM2MAIN 6000 8000 0 (Prg)
04 20 SM2DATA2 C470 E2F 0 (Prg)
05 30 SM2DATA3 C5D0 CCF 0 (Prg)
06 40 SM2DATA4 C2B4 F4C 0 (Prg)
07 0F SM2SAVE D29F 1 0 (Prg)
-------------------------------------------------------
FDS Study ( Ver.0.8f )

まあこんな感じになっているでしょう。

FILE No.03なのでSM2MAINですね。
LoadAddが$6000でサイズが$8000ということは終端は、
$6000+$8000-$1=$DFFFとなります。
FDSのデーターはFile Header BlockとFile Data Blockで構成されており、
File Header Blockは10バイトです。

バイト
1 $03
1 File Number
1 File Indicate Code (ファイル識別コード)
8 File Name
2 File Address
2 File Size
1 Kind of File
次にFile Data Blockが続きます。
1 $04
それ以降がデータとなっています。
簡単にはSM2MAINの部分から14バイト先からデータが入っています。
FDSファイルにはFDSヘッダのあるものとないものがあります。
FDSヘッダは16バイトです。
手元にあるFDSヘッダ付きSMB2のFDSファイルをバイナリエディタで開くと21A0番地から
SM2MAINの文字列があります、その14バイト先が21AE番地です。
FDSファイルの$21AE番地が実記では$6000番地にマップされます。

ワールド8のクリア回数8回の変更だと
$C484-$6000+$21AE=$8624
ということでFDSファイルの$8624番地ということになります。

すごい説明が下手でスマン。
0647名無しさん@お腹いっぱい。垢版2020/12/06(日) 03:40:47.30ID:Y+nepdQp
ちょっとミスったので訂正
アドレスサーチでやりたいなら一応詳しく書くと
次のような例では、
ワールドAに行ける条件となっているワールド8のクリア回数8回の変更
●マリオ2
FILE No.03 C484番地 08 ...とありますが、

FDSstudyでSMB2のファイルを開くと
//////////////////////// Side-A ////////////////////////

No LoadNo FileName LoadAdd Size Type

00 00 KYODAKU- 2800 E0 2 (NT)
01 01 SM2CHAR1 0 2000 1 (Chr)
02 10 SM2CHAR2 760 40 1 (Chr)
03 05 SM2MAIN 6000 8000 0 (Prg)
04 20 SM2DATA2 C470 E2F 0 (Prg)
05 30 SM2DATA3 C5D0 CCF 0 (Prg)
06 40 SM2DATA4 C2B4 F4C 0 (Prg)
07 0F SM2SAVE D29F 1 0 (Prg)
-------------------------------------------------------
FDS Study ( Ver.0.8f )

まあこんな感じになっているでしょう。

FILE No.03なのでSM2MAINですね。
LoadAddが$6000でサイズが$8000ということは終端は、
$6000+$8000-$1=$DFFFとなります。
FDSのデーターはFile Header BlockとFile Data Blockで構成されており、
File Header Blockは10バイトです。

バイト
1 $03
1 File Number
1 File Indicate Code (ファイル識別コード)
8 File Name
2 File Address
2 File Size
1 Kind of File
次にFile Data Blockが続きます。
1 $04
それ以降がデータとなっています。
簡単にはSM2MAINの部分から14バイト先からデータが入っています。
FDSファイルにはFDSヘッダのあるものとないものがあります。
FDSヘッダは16バイトです。
手元にあるFDSヘッダ付きSMB2のFDSファイルをバイナリエディタで開くと21A0番地から
SM2MAINの文字列があります、その14バイト先が21AE番地です。
FDSファイルの$21AE番地が実記では$6000番地にマップされます。

ワールド8のクリア回数8回の変更だと
$C484-$6000+$21AE=$8632
ということでFDSファイルの$8632番地ということになります。
$8632に$08の値があれば正解です。FDSヘッダの無い奴だと$8622番地です。
すごい説明が下手でスマン。
0648名無しさん@お腹いっぱい。垢版2020/12/06(日) 03:47:56.84ID:Y+nepdQp
更に訂正
アドレスサーチでやりたいなら一応詳しく書くと
次のような例では、
ワールドAに行ける条件となっているワールド8のクリア回数8回の変更
●マリオ2
FILE No.03 C484番地 08 ...とありますが、

FDSstudyでSMB2のファイルを開くと
//////////////////////// Side-A ////////////////////////

No LoadNo FileName LoadAdd Size Type

00 00 KYODAKU- 2800 E0 2 (NT)
01 01 SM2CHAR1 0 2000 1 (Chr)
02 10 SM2CHAR2 760 40 1 (Chr)
03 05 SM2MAIN 6000 8000 0 (Prg)
04 20 SM2DATA2 C470 E2F 0 (Prg)
05 30 SM2DATA3 C5D0 CCF 0 (Prg)
06 40 SM2DATA4 C2B4 F4C 0 (Prg)
07 0F SM2SAVE D29F 1 0 (Prg)
-------------------------------------------------------
FDS Study ( Ver.0.8f )

まあこんな感じになっているでしょう。

FILE No.03なのでSM2MAINですね。
LoadAddが$6000でサイズが$8000ということは終端は、
$6000+$8000-$1=$DFFFとなります。
FDSのファイル部分はFile Header BlockとFile Data Blockで構成されており、
File Header Blockは10バイトです。

バイト
1 $03
1 File Number
1 File Indicate Code (ファイル識別コード)
8 File Name
2 File Address
2 File Size
1 Kind of File
次にFile Data Blockが続きます。
1 $04
それ以降がゲームデータとなっています。
簡単にはSM2MAINの部分から14バイト先からデータが入っています。
FDSファイルにはFDSヘッダのあるものとないものがあります。
FDSヘッダは16バイトです。
手元にあるFDSヘッダ付きSMB2のFDSファイルをバイナリエディタで開くと21A0番地から
SM2MAINの文字列があります、その14バイト先が21AE番地です。
FDSファイルの$21AE番地が実記では$6000番地にマップされます。

ワールド8のクリア回数8回の変更だと
$C484-$6000+$21AE=$8632
ということでFDSファイルの$8632番地ということになります。
$8632に$08の値があれば正解です。FDSヘッダの無い奴だと$8622番地です。
すごい説明が下手でスマン。
0649名無しさん@お腹いっぱい。垢版2020/12/06(日) 17:20:43.35ID:Roafl1wH
>>646-648
いや、とても丁寧にありがとう
今日夜の2交代シフトだから
明日の朝にでも試してみるよ
0651名無しさん@お腹いっぱい。垢版2020/12/07(月) 04:32:11.94ID:FPDRm3FA
ANNSMBでNSMDATA3を読み込んだ面(いわゆる9面)はエリアコードを直接指定することでかなり
ユニークなステージが登場することがわかりました。9-1ならエリアコードの場所は$C266番地です。
(この部分は$C265から始まるループ戻り位置指定となっております。)
0652名無しさん@お腹いっぱい。垢版2020/12/07(月) 04:42:32.87ID:FPDRm3FA
9-1だとミスすると自動歩行雲面に飛ばされてしまうので9-2以降の方がいいかも。
9-2はのエリアコードの場所は$C267番地です。
0654名無しさん@お腹いっぱい。垢版2020/12/07(月) 22:43:42.54ID:FPDRm3FA
FDSのゲームはエミュレーターがセーブファイルとしてFDSそのままか独自形式で保持している
のでそれを削除するか、ファイル名を変更して保存しないと、パッチが適用されていない
状態になるとので注意。
0655名無しさん@お腹いっぱい。垢版2020/12/10(木) 15:54:30.37ID:g7VCwzLS
>>627-628
1-7で城クリアの時に出るピノキオ(MC)がA-D面のものになっていますね。
これには気づいていなかった。もしかしてCHR-RAMが必要かな?
0657名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:15:24.35ID:g7VCwzLS
>>636
とりあえずアドレス指定箇所調べたメモ

;色指定やテキストのアドレス指定

6063 : 01 03 ; <00>
6065 : 1F 6C ; <01> 海のパレット
6067 : 43 6C ; <02> 地上のパレット
6069 : 67 6C ; <03> 地下のパレット
606B : 8B 6C ; <04> 城のパレット
606D : E6 C5 ; <05> タイトルコード
606F : 41 03 ; <06>
6071 : 41 03 ; <07>
6073 : C7 6C ; <08> 斧以降の場合のパレット
6075 : AF 6C ; <09> 緑色を白色に変更する場合のパレット
6077 : B7 6C ; <0A> 緑色を白色、背景を黒に変更する場合のパレット
6079 : BF 6C ; <0B> 雲足場面の場合のパレット
607B : CF 6C ; <0C> [THANK YOU MARIO!]
607D : E3 6C ; <0D> [BUT OUR PRINCESS IS IN] [ANOTHER CASTLE!]
607F : 8D C8 ; <0E>
6081 : 96 C8 ; <0F>
6083 : AA C8 ; <10> [THANK YOU MARIO!]
6085 : C2 C8 ; <11> [PEACE IS PAVED]
6087 : D8 C8 ; <12> [WITH KINGDOM SAVED]
6089 : EE C8 ; <13> [HURRAH TO MARIO]
608B : 02 C9 ; <14> [OUR ONLY HERO]
608D : 13 C9 ; <15> [THIS ENDS YOUR TRIP]
608F : 2A C9 ; <16> [OF A LONG FRIENDSHIP]
6091 : 42 C9 ; <17> [100000 PTS.ADDED]
6093 : 5A C9 ; <18> [FOR EACH PLAYER LEFT.]
6095 : 5F C1 ; <19> ゲーム途中のディスク読み込み時エラー表示?
6097 : 21 C1 ; <1A>
6099 : 83 C9 ; <1B>
609B : CB C4 ; <1C> PLAYER選択キノコ
609D : 6B 63 ; <1D> ?
609F : 73 C9 ; <1E>[YOU'RE A SUPER PLAYER!] [WE HOPE WE'LL] [SEE YOU AGAIN.] [MARIO AND STAFF.]
0658名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:16:18.47ID:g7VCwzLS
---------
; BG制御
60ED : AD 73 07 LDA $0773 ;
60F0 : 0A ASL A ;
60F1 : AA TAX ;
60F2 : BD 63 60 LDA $6063,X ;
60F5 : 85 00 STA $00 ;
60F7 : E8 INX ;| 構造体アドレスをストア
60F8 : BD 63 60 LDA $6063,X ;
60FB : 85 01 STA $01 ;
60FD : 20 E8 6D JSR $6DE8 ; sub: 描画コードをレジスタへ
6100 : A0 00 LDY #$00 ;
6102 : AE 73 07 LDX $0773 ;
6105 : E0 06 CPX #$06 ;
6107 : D0 01 BNE $610A ;
6109 : C8 INY ;
610A : BE A1 60 LDX $60A1,Y ;
610D : A9 00 LDA #$00 ;
610F : 9D 00 03 STA $0300,X ; VRAM_BUFFER
6112 : 9D 01 03 STA $0301,X ; VRAM_BUFFER
6115 : 8D 73 07 STA $0773 ;
6118 : AD 79 07 LDA $0779 ;
611B : 8D 01 20 STA $2001 ; PPUコントロールレジスタ2

611E : 58 CLI ;
0659名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:16:57.66ID:g7VCwzLS
---------
; 6382 : B9 54 63 LDA $6354,Y ;
; 6382 : B9 54 63 LDA $6354,Y ;
6354 : 63 63 ;
6356 : 65 63 ;
6358 : 67 63 ;
635A : 69 63 ;

; 637F : BC 5C 63 LDY $635C,X ;
635C : 04 02 00 04 02 00 08 ;

;60F2 : BD 63 60 LDA $6063,X ;
;60F8 : BD 63 60 LDA $6063,X ;
6363 : 30 12 ;
6365 : 30 1A ;
6367 : 30 16 ;
6369 : 17 2A ;

;6391 : 99 70 63 STA $6370,Y ;
636B : 3F 18 ;
636D : 04 0F ;
636F : 36 00 ;
6371 : 00 00 ;
0660名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:18:04.51ID:g7VCwzLS
; <$0772=01> クッパの橋がおちた後 (パラレルワールドの時の分岐等)
6373 : AD FB 07 LDA $07FB ;
6376 : D0 26 BNE $639E ;
6378 : AE 5F 07 LDX $075F ;
637B : E0 07 CPX #$07 ;
637D : F0 1F BEQ $639E ;
637F : BC 5C 63 LDY $635C,X ;
6382 : B9 54 63 LDA $6354,Y ;
6385 : 85 00 STA $00 ;
6387 : C8 INY ;
6388 : B9 54 63 LDA $6354,Y ;
638B : 85 01 STA $01 ;
638D : A0 00 LDY #$00 ;
638F : B1 00 LDA ($00),Y ;
6391 : 99 70 63 STA $6370,Y ;
6394 : C8 INY ;
6395 : C0 02 CPY #$02 ;
6397 : D0 F6 BNE $638F ;
6399 : A9 1D LDA #$1D ;
639B : 8D 73 07 STA $0773 ;

639E : AE 1B 07 LDX $071B ;
63A1 : E8 INX ;
63A2 : 86 34 STX $34 ;
63A4 : AD FB 07 LDA $07FB ; パラレルワールドか
63A7 : F0 0C BEQ $63B5 ; パラレルワールドでなければジャンプ
63A9 : AD 5F 07 LDA $075F ; 現在のワールド
63AC : C9 03 CMP #$03 ; ワールドDか
63AE : 90 05 BCC $63B5 ; ワールドDに達していなければジャンプ
63B0 : A9 07 LDA #$07 ; ワールド8
63B2 : 8D 5F 07 STA $075F ; ワールド8と同じ扱い
63B5 : A9 08 LDA #$08 ; 斧獲得BGM指定
63B7 : 85 FC STA $FC ; PORT_$2005_V

63B9 : EE 72 07 INC $0772 ;
63BC : 60 RTS ;

63BD : AD 70 07 LDA $0770 ; A=$0770
63C0 : D0 F7 BNE $63B9 ; タイトル描画の必要なしならjump
63C2 : A9 05 LDA #$05 ;
63C4 : 4C 28 66 JMP $6628 ;
0661名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:18:49.07ID:g7VCwzLS
----------
; $0300-$03??の描画コードをレジスタへ出力
6D9D : 8D 06 20 STA $2006 ; VRAM_ADD
6DA0 : C8 INY ;
6DA1 : B1 00 LDA ($00),Y ; JSR1/DAT_L/PT_L
6DA3 : 8D 06 20 STA $2006 ; VRAM_ADD
6DA6 : C8 INY ;
6DA7 : B1 00 LDA ($00),Y ; JSR1/DAT_L/PT_L
6DA9 : 0A ASL A ;
6DAA : 48 PHA ;
6DAB : AD 78 07 LDA $0778 ;
6DAE : 09 04 ORA #$04 ;
6DB0 : B0 02 BCS $6DB4 ; 縦向き描画ならjump
6DB2 : 29 FB AND #$FB ;
6DB4 : 20 F8 6D JSR $6DF8 ;
6DB7 : 68 PLA ;
6DB8 : 0A ASL A ;
6DB9 : 90 03 BCC $6DBE ;
6DBB : 09 02 ORA #$02 ;
6DBD : C8 INY ;
6DBE : 4A LSR A ;
6DBF : 4A LSR A ;
6DC0 : AA TAX ;
6DC1 : B0 01 BCS $6DC4 ;
6DC3 : C8 INY ;
6DC4 : B1 00 LDA ($00),Y ;
6DC6 : 8D 07 20 STA $2007 ; VRAM_DATA
6DC9 : CA DEX ;
6DCA : D0 F5 BNE $6DC1 ;
6DCC : 38 SEC ;
6DCD : 98 TYA ;
6DCE : 65 00 ADC $00 ;
6DD0 : 85 00 STA $00 ;
6DD2 : A9 00 LDA #$00 ;
6DD4 : 65 01 ADC $01 ;
6DD6 : 85 01 STA $01 ;
6DD8 : A9 3F LDA #$3F ;
6DDA : 8D 06 20 STA $2006 ; VRAM_ADD
6DDD : A9 00 LDA #$00 ;
6DDF : 8D 06 20 STA $2006 ; VRAM_ADD
6DE2 : 8D 06 20 STA $2006 ; VRAM_ADD
6DE5 : 8D 06 20 STA $2006 ; VRAM_ADD
; サブルーチンとしての最初の呼び出しはここから
6DE8 : AE 02 20 LDX $2002 ; PPU_STATUS
6DEB : A0 00 LDY #$00 ;
6DED : B1 00 LDA ($00),Y ;
6DEF : D0 AC BNE $6D9D ;
6DF1 : 8D 05 20 STA $2005 ; PPU_BG_SCROLL
6DF4 : 8D 05 20 STA $2005 ; PPU_BG_SCROLL
6DF7 : 60 RTS ;
0662名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:30:48.18ID:g7VCwzLS
$6000-7FFFをROM化するためには、
適当なところに$636B-6372の8バイトをWRAMの開き領域に転送するプログラムを書く、
$609D-607EにWRAMに転送したアドレスの値を入れる
$6392-6392に転送したアドレスの値+$6を入れる
0663名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:37:35.88ID:fR5qjgfD
>>654
一応ファイル名を変更したり
セーブデータの.sdkファイル消したりしたけど
Bボタン押しながらスタートでも00でA面に行かない
アドレス違ってんでしょうか?
0664名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:46:20.51ID:g7VCwzLS
ピノキオ(MC)の処理関係

;ピノキオ(MC)切り替え処理?
6311 : AD 5C 07 LDA $075C ;
6314 : C9 03 CMP #$03 ;
6316 : D0 39 BNE $6351 ;
6318 : AC FB 07 LDY $07FB ;
631B : D0 34 BNE $6351 ;
631D : 84 06 STY $06 ;
631F : AD 5F 07 LDA $075F ;
6322 : 0A ASL A ;
6323 : AA TAX ;
6324 : BD FA 62 LDA $62FA,X ;
6327 : 85 00 STA $00 ;
6329 : E8 INX ;
632A : BD FA 62 LDA $62FA,X ;
632D : 85 01 STA $01 ;
632F : A6 06 LDX $06 ;
6331 : BD 08 63 LDA $6308,X ;
6334 : 8D 06 20 STA $2006 ; VRAM_ADD
6337 : BD 0B 63 LDA $630B,X ;
633A : 8D 06 20 STA $2006 ; VRAM_ADD
633D : B1 00 LDA ($00),Y ;
633F : 8D 07 20 STA $2007 ; VRAM_DATA
6342 : C8 INY ;
6343 : 98 TYA ;
6344 : DD 0E 63 CMP $630E,X ;
6347 : D0 F4 BNE $633D ;
6349 : E6 06 INC $06 ;
634B : A5 06 LDA $06 ;
634D : C9 03 CMP #$03 ;
634F : D0 DE BNE $632F ;
6351 : 4C B9 63 JMP $63B9 ;

----------
; 画面のモードによる分岐? アドレス指定
7AAD : 5E C0 ;
7AAF : C9 6E ; RAMリセットやハードモード設定など
7AB1 : 11 63 ; ピノキオ(MC)切り替え処理?
7AB3 : 4C 65 ; 画面切り替え総合管理(イントロ作成, 表示)
7AB5 : 48 6F ; BGM指定や0爆弾ストアなど
7AB7 : B9 7A ; 通常のゲームプレイ
0665名無しさん@お腹いっぱい。垢版2020/12/10(木) 17:47:52.90ID:g7VCwzLS
>>664 飛ばしてしまった

; 6324 : BD FA 62 LDA $62FA,X ;
; 632A : BD FA 62 LDA $62FA,X ;
62FA : 3E D1 ;
62FC : 9E D1 ;
62FE : FE D1 ;
6300 : 5E D2 ;
6302 : 4F D1 ;
6304 : AF D1 ;
6306 : 0F D2 ;

; 6331 : BD 08 63 LDA $6308,X ;
6308 : 0C 07 0E ;

; 6337 : BD 0B 63 LDA $630B,X ;
630B : D0 A0 E0 ;

; 6344 : DD 0E 63 CMP $630E,X ;
630E : 30 50 60 ;
0666名無しさん@お腹いっぱい。垢版2020/12/10(木) 21:59:23.00ID:g7VCwzLS
>>656
一応CHR-RAMmmmmじゃなくて、CHR-ROMのバンク切り替えでもいけそうだが、
768W(1024W)の城クリアでバグMCが登場する挙動が再現できないのでNG
0668名無しさん@お腹いっぱい。垢版2020/12/10(木) 23:43:34.54ID:g7VCwzLS
CHR-RAM使うのは凄い面倒いなぁ。
普通には
PRG-ROM→CHR-RAM
と転送しないといけない。
特殊なマッパー使えば
CHR-ROM→PRG-RAM→CHR-RAM

バグ挙動の再現を諦めれば、
CHR-ROMのバンク切り替えが一番楽だな。
も可能だが画面が出るまでにラグが出る
0669名無しさん@お腹いっぱい。垢版2020/12/10(木) 23:49:21.62ID:g7VCwzLS
>>663
正しくパッチすれば、$00にした場合はstart+Aでディスクロードの為に黒画面が出てから
A-1からスタートすると思いますが。
0670名無しさん@お腹いっぱい。垢版2020/12/10(木) 23:55:27.77ID:g7VCwzLS
>>668
CHR-RAM使うのは凄い面倒いなぁ。
普通には
PRG-ROM→CHR-RAM
と転送しないといけない。
特殊なマッパー使えば
CHR-ROM→PRG-RAM→CHR-RAM
も可能だが画面が出るまでにラグが出る

バグ挙動の再現を諦めれば、
CHR-ROMのバンク切り替えが一番楽だな。しかし余分に容量食う
0671名無しさん@お腹いっぱい。垢版2020/12/11(金) 01:10:15.40ID:phDjQXHG
kaiserのマッパー142のSMB2JはCHR-RAMだが8-4クリア時のドア→ピーチになるのを
上手く再現している。PRG-ROMには32KBのCHRデータが入ってた。
ドア8KB+ピーチ8KB+ドア8KB+ピーチ8KBの構成。
作動の軽快だったからCHR-RAM方式でもスムーズに作動するようだ
0672名無しさん@お腹いっぱい。垢版2020/12/11(金) 03:11:38.34ID:phDjQXHG
海賊版SMB2Jのマッパー40、43、50のものは8-4クリア(エンディング)の挙動に問題がある
ようです。エンディングのBGMが流れない、黒画面で固まる。9-1に行けない等。
(VirtuaNESはエンディングのBGMは流れるが他の問題は発生する。これは恐らく
VirtuaNESが$6000-7FFFがROMであるべき時でも書き換え出来てしまう為でしょう。)
(※また、マッパー43は異なる仕様ものが重複して割り当てられている為にエミュレーターに
よって解釈が異なります。)
マッパー142のおのは比較的良い移植ですが、ソフトウェアリセットで固まってしまうようです。
MMC3版はマッパー142をベースに作られているでしょう。マッパー142はVRC3をベースにした
拡張版で$6000-7FFFにもROMが割り当てられるようにした物の用です。
0673名無しさん@お腹いっぱい。垢版2020/12/11(金) 03:13:54.87ID:phDjQXHG
海賊版SMB2Jのマッパー40、43、50のものは8-4クリア(エンディング)の挙動に問題がある
ようです。エンディングのBGMが流れない、黒画面で固まる。9-1に行けない等。
(VirtuaNESはエンディングのBGMは流れるが他の問題は発生する。これは恐らく
VirtuaNESが$6000-7FFFがROMであるべき時でも書き換え出来てしまう為でしょう。)
(※また、マッパー43は異なる仕様ものが重複して割り当てられている為にエミュレーターに
よって解釈が異なります。)
マッパー142のものは比較的良い移植ですが、ソフトウェアリセットで固まってしまうようです。
MMC3版はマッパー142をベースに作られているでしょう。マッパー142はVRC3をベースにした
拡張版で$6000-7FFFにもROMが割り当てられるようにした物のようです。
0674名無しさん@お腹いっぱい。垢版2020/12/11(金) 08:39:41.96ID:Sj0jm/hI
>>669
ごめん、いけた
BボタンじゃなくてAボタン押しながらスタートだったのね
黒い画面だったから一瞬データ壊れたかと思ったけど
あれは読み込み中だったのね
0675名無しさん@お腹いっぱい。垢版2020/12/12(土) 08:55:08.69ID:RBHAtuFv
マッパー43は実際には少なくとも3種類の異なるマッパーが重複して割り当てられているので
非常に厄介です。
TONY-I CHR-ROM IRQ制御$4122
YS-612 CHR-ROM IRQ制御$8122
Mr. Mary 2 CHR-RAM IRQ制御$4122
0676名無しさん@お腹いっぱい。垢版2020/12/12(土) 09:00:06.26ID:RBHAtuFv
マッパー43は実際には少なくとも3種類の異なるマッパーが重複して割り当てられているので
非常に厄介です。
TONY-I NESファイル88KB CHR-ROM IRQ制御$4122
YS-612 NESファイル88KB CHR-ROM IRQ制御$8122
Mr. Mary 2 NESファイル80KB CHR-RAM IRQ制御$4122
0677名無しさん@お腹いっぱい。垢版2020/12/13(日) 02:15:02.62ID:M7ZpEFHi
PRG-ROMからCHR-RAMに転送するルーチンは
LDA ($?),Y
STA $2007
INY
BNE
が基本のようです。
ループさせて$2007に8192回書き込みます。
8bitCPUなので256×32回という処理になります。
海賊版SMB2Jの場合、$C000-DFFFにCHRデーターを出現させて転送するようですが、
×32回の部分はどうやっているかっていうと、アドレス$E000になったらループから抜けるか、
$20回(32回)を超えたらループから抜けるみたいな処理になっているようです。
0678名無しさん@お腹いっぱい。垢版2020/12/13(日) 02:30:10.72ID:M7ZpEFHi
ファミコンは$2007に読み込みまたは書き込みで自動でインクリメントされる仕様でこれを
使っているようです。
($2006で初期アドレスを指定します。2バイトなので二回書き込みです。)
CHR-ROMからCHR-RAMに転送しようと思うと一旦8K全部PRG-RAMに転送してからCHR-RAMに
転送するようにしないと凄く複雑(かつ遅い)コードになってしまいます。
1バイトづつCHR-ROM→本体WRAM→CHR-RAMやろうと思うと、$2007が読み込みで
インクリメントされ、書き込みでインクリメントされる為うまくいきません。
素直にやろうとすると一々$2006でアドレス指定する複雑かつ重いコードとなって
しまいます。読み書きでインクリメントされてズレるのを悪用する方法も出来なくはないです
が、高速バンク切り替えでバグってしまう可能性はあります。
0680名無しさん@お腹いっぱい。垢版2020/12/13(日) 04:14:53.81ID:M7ZpEFHi
マッパー142のSMB2Jは比較的良く出来た移植です。
ただしソフトウェアリセットにバグがあるようです。
Yung-08をベースにしているかどうかは分かりません。がYung-08系列じゃない可能性が
高いです。
MMC3移植版はマッパー142をベースにしている可能性が極めて高いです。
0685名無しさん@お腹いっぱい。垢版2020/12/13(日) 11:35:18.66ID:M7ZpEFHi
MMS3版ANNSMBはセーブ機能を搭載する予定なので、セーブ関連のコードを入れた
開き領域にCHR-RAM関連のコードを入れる予定
0687名無しさん@お腹いっぱい。垢版2020/12/16(水) 01:46:13.31ID:AWmkrysY
PPUDATA読み取りバッファー(フェッチ後)

VRAMアドレスが0〜 $ 3EFFの範囲にあるとき(つまり、パレットの前)に読み取ると、読み取りは内部読み取りバッファーの内容を返します。 この内部バッファは、PPUDATAを読み取るときにのみ更新されるため、フレーム間で保持されます。 CPUが内部バッファの内容を読み取って取得した後、PPUはすぐに現在のVRAMアドレスのバイトで内部バッファを更新します。 したがって、VRAMアドレスを設定した後、最初にこのレジスタを読み取ってパイプラインを準備し、結果を破棄する必要があります。

$ 3F00〜 $ 3FFFからのパレットデータの読み取りは動作が異なります。 パレットデータはデータバスにすぐに配置されるため、プライミング読み取りは必要ありません。 パレットを読み取ると、内部バッファは更新されますが、そこに配置されるデータは、パレットの「下」に表示されるミラーリングされた名前テーブルデータです。 (PPUメモリマップを確認すると、これがより明確になるはずです。)
PPU registers
https://wiki.nesdev.com/w/index.php/PPU_registers#The_PPUDATA_read_buffer_.28post-fetch.29
0688名無しさん@お腹いっぱい。垢版2020/12/16(水) 02:05:48.71ID:AWmkrysY
CHR-ROM→PRG-RAM→CHR-RAMに転送する適当に書いたコード

A5 FE LDA $00FE
29 E7 AND #$E7
8D 01 20 STA $2001
AE 02 20 LDX $2002
A0 00 LDY #$00
8C 06 20 STY $2006
C 06 20 STY $2006
84 0A STY $000A
A9 A0 LDA #$A0
85 0B STA $000B
A2 20 LDX #$20
:_A
B1 0A LDA ($0A),Y
8D 07 20 STA $2007
C8 INY
D0 F8 BNE _A
E6 0B INC $000B
CA DEX
D0 F3 BNE _A
0689名無しさん@お腹いっぱい。垢版2020/12/16(水) 02:06:38.44ID:AWmkrysY
A5 FE LDA $00FE
29 E7 AND #$E7
8D 01 20 STA $2001
AE 02 20 LDX $2002
A0 00 LDY #$00
8C 06 20 STY $2006
8C 06 20 STY $2006
84 0A STY $000A
A9 60 LDA #$60
85 0B STA $000B
A2 20 LDX #$20
AD 07 20 LDA $2007
:_B
AD 07 20 LDA $2007
91 0A STA ($0A),Y
C8 INY
D0 F8 BNE _B
E6 0B INC $000B
CA DEX
D0 F3 BNE _B

A5 FE LDA $00FE
29 E7 AND #$E7
8D 01 20 STA $2001
AE 02 20 LDX $2002
A0 00 LDY #$00
8C 06 20 STY $2006
8C 06 20 STY $2006
84 0A STY $000A
A9 60 LDA #$60
85 0B STA $000B
A2 20 LDX #$20
:_C
B1 0A LDA ($0A),Y @ $8000
8D 07 20 STA $2007
C8 INY
D0 F8 BNE _C
E6 0B INC $000B
CA DEX
D0 F3 BNE _C
4C 00 80 JMP $8000
0692名無しさん@お腹いっぱい。垢版2020/12/17(木) 02:18:19.32ID:zRD+8KOj
一旦ソフトウェアリセットしないとグラフィックがバグってしまう不具合がありましたが、
解消できました。原因は改変FDS BIOS部に$2007に書き込みするルーチンが
残っていあした。無意味な上に起動ラグの原因なのでカットしました。
0693名無しさん@お腹いっぱい。垢版2020/12/17(木) 02:52:38.53ID:zRD+8KOj
ということでMC正常表示できるようにしました。しかしMMC3でCHR-RAMを使いたいって
事で変態なマッパー195を採用しました。ということで古いエミュレータでは動かない可能性
大です。
FCEUXとVirtuaNES Plusで作動確認。
https://www.axfc.net/u/4030465.zip
0694名無しさん@お腹いっぱい。垢版2020/12/17(木) 03:23:25.82ID:zRD+8KOj
ただ$6000-7FFF部の書き換え部分はまだ修正していません。がSMB2J(改変BDS BIOS部)の嵐部分
のコードが不要なのでそこにコードを配置することは可能でしょう。
PRG-RAMかつ$6000-7FFF部にコードが置けるマッパーは$6000-7FFFがROMの場合が
多いのでマッパー移植性を考慮するとROMでも作動するようにする必要があります。
0700名無しさん@お腹いっぱい。垢版2020/12/18(金) 02:51:03.30ID:CVYjnRim
マッパー142のSMB2Jのソフトウェアリセットがエミュレーターによってはうまくいかないのが
謎だな。同じマッパー142のバブルボブルはソフトウェアリセットは正常なので
0701名無しさん@お腹いっぱい。垢版2020/12/18(金) 14:09:39.98ID:CVYjnRim
問題の箇所をトレースログを追って特定しました。
($FFFA:8B E1 24 EE C7 E1)
$EE9E:58 CLI
$EE9F:6C FC DF JMP ($DFFC) = $6000


FCEUXの場合、
$EE9E:58 CLI
$EE9F:6C FC DF JMP ($DFFC) = $6000
$E1C7:2C 01 01 BIT $0101 = #$80
...(略)
$E1F6:68 PLA
$E1F7:40 RTI
$E1C7:2C 01 01 BIT $0101 = #$80
...
↑無限ループ
0702名無しさん@お腹いっぱい。垢版2020/12/18(金) 14:10:47.42ID:CVYjnRim
VirtuaNESの場合、
$EE9E:58 CLI
$EE9F:6C FC DF JMP ($DFFC) = $6000
$E1C7:2C 01 01 BIT $0101 = #$80
$6000:A5 FA LDA $00FA = #$00
$E1C7:2C 01 01 BIT $0101 = #$80
...(略)
$E1F6:68 PLA
$E1F7:40 RTI
$6002:29 F7 AND #$F7
......(略々)
$E1F6:68 PLA
$E1F7:40 RTI
$604F:8D 01 01 STA $0101 = #$C0
$E1C7:2C 01 01 BIT $0101 = #$C0
$E1CA:30 1E BMI $E1EA
$E1EA:50 03 BVC $E1EF
$E1EC:6C FE DF JMP ($DFFE) = $61A2
$61A1:40 RTI
$61A2:78 SEI
$61A3:08 PHP
$61A4:48 PHA
$61A5:8A TXA
$61A6:48 PHA
$61A7:98 TYA
$61A8:48 PHA
...

とりあえずIRQ割り込みが1命令ごとに発生し、$6000からゆっくりとプログラムが
進むが$604Fまで行くとIRQ割り込みから抜け正常作動。
0703名無しさん@お腹いっぱい。垢版2020/12/18(金) 14:13:28.86ID:CVYjnRim
とりあえず、$EE9EをNOP($EA)で潰してしまえばFCEUXでもソフトウェアリセットが
働くのを確認。VirtuaNESでもソフトウェアリセット時の遅延がなくなります。
0704名無しさん@お腹いっぱい。垢版2020/12/18(金) 14:18:03.98ID:CVYjnRim
>>702 訂正

VirtuaNESの場合、
$EE9E:58 CLI
$EE9F:6C FC DF JMP ($DFFC) = $6000
$E1C7:2C 01 01 BIT $0101 = #$80
...(略)
$E1F6:68 PLA
$E1F7:40 RTI
$6000:A5 FA LDA $00FA = #$00
$E1C7:2C 01 01 BIT $0101 = #$80
...(略)
$E1F6:68 PLA
$E1F7:40 RTI
$6002:29 F7 AND #$F7
......(略々)
$E1F6:68 PLA
$E1F7:40 RTI
$604F:8D 01 01 STA $0101 = #$C0
$E1C7:2C 01 01 BIT $0101 = #$C0
$E1CA:30 1E BMI $E1EA
$E1EA:50 03 BVC $E1EF
$E1EC:6C FE DF JMP ($DFFE) = $61A2
$61A1:40 RTI
$61A2:78 SEI
$61A3:08 PHP
$61A4:48 PHA
$61A5:8A TXA
$61A6:48 PHA
$61A7:98 TYA
$61A8:48 PHA
...

とりあえずIRQ割り込みが1命令ごとに発生し、$6000からゆっくりとプログラムが
進むが$604Fまで行くとIRQ割り込みから抜け正常作動。
0705名無しさん@お腹いっぱい。垢版2020/12/18(金) 14:25:09.90ID:CVYjnRim
VirtuaNES以外のエミュレーターだと
$EE9F:6C FC DF JMP ($DFFC)の
後にIRQ割り込みで$E1C7:2C 01 01 BIT $0101に行き、$E1F7:40 RTIで
$E1C7に行ってしまうからデッドロックしてしまうんやな。
ちょっとNESや6502の仕様を調べてみないと分からんな。
0706名無しさん@お腹いっぱい。垢版2020/12/18(金) 21:03:04.12ID:CVYjnRim
マッパー142のSMB2Jのバンク構成を解析してみた。

prg
$6000 0B
$8000 0C
$A000 0D
$C000 00 01 02 03
$E000 last bank(0F)

chr
04 05

残りのバンクはミラーのようです

04 05
↓ ↓
06 07

00 01 02 03
↓ ↓ ↓ ↓
0E 08 09 0A
0707名無しさん@お腹いっぱい。垢版2020/12/18(金) 21:08:10.52ID:CVYjnRim
マッパー50は複雑怪奇で解析する気力が出ない。
バンク指定がスクランブルされていて次のようになります。

実際のバンク → 指定する数値
0 (0000) → 0 (0000)
1 (0001) → 6 (0110)
2 (0010) → 1 (0001)
3 (0011) → 7 (0111)
4 (0100) → 8 (1000)
5 (0101) → E (1110)
6 (0110) → 9 (1001)
7 (0111) → F (1111)
0708名無しさん@お腹いっぱい。垢版2020/12/18(金) 23:41:35.16ID:CVYjnRim
SMB2Jの$6000-$7FFFを完全にROM化して、本体WRAMで処理しようとすると
空き容量が足りない。ひとつ思いついた方法は1バイト(8bit)単位ではなくて1bit単位で
記録するようにすればなんとかなるかも知れない。しかしコードを書くのが面倒だな
0710名無しさん@お腹いっぱい。垢版2020/12/19(土) 00:14:38.77ID:sWX/fqZb
まあわざわざ書かなくても大丈夫だと思いますが、IPSファイルはNTSC版のSMBの
NESファイルに適用してください
0713名無しさん@お腹いっぱい。垢版2020/12/19(土) 02:38:45.83ID:sWX/fqZb
逆にROMカセットをFDSに容易に変換するには、
PRG-ROMが16KBかつプログラムが$8000からスタートするようにコードされていること。
しかし、PRG-ROMが16KBのソフトは$C000からスタートの場合が多い。
上記の条件に適合するのは例えばキン肉マン マッスルタッグマッチが該当するようです。
0718名無しさん@お腹いっぱい。垢版2020/12/22(火) 03:47:47.47ID:693xiBKa
>>627
>>685
結果的にCHR-RAM化が先となってしまいました。このあとセーブ機能の導入にあたって、
問題が発生(後述)することが判明したので結果的に良かったです。

CHR-RAM化する為にCHR-ROMのデータを$6000-$7FFFの領域に書きこんで、
それからCHR-RAMに書き込む方式としました。そのあと$C000-$DFFFに
"$6000-$7FFFのデータ"の入ったバンクを出現させて$6000-$7FFFに書き込みます。
ところがセーブ仕様のSMB-2Jは$6000にセーブデータを置く仕様になっており、
$6001-$7FFFに書き込む仕様となっており、CHR-RAM初期化ルーチンと
衝突すると思ったわけです、なのでCHR-RAMのPPU$0000の部分だけ本体WRAMに
一旦転送するようにすれば解決はできます。ところがわざわざこんな処理をしなくても
大丈夫な事がでした。城クリア時のMC(ピノキオ)表示のために必要な
CHR-RAMは4KBで十分な事が分かっていたので、上位アドレスから使ったほうが
無難ということで最初からCHR-ROMのデータを$7000-$7FFFに転送する仕様に
していたので、セーブに使われる$6000と衝突しないので大丈夫のようです。
もしセーブデータを一旦WRAMに退避させてからCHR-RAMの初期化で$6000を使用する
ような仕様とした場合は、電源投入直後にリセットとかリセット連打でセーブデータが
壊れてしまうことは容易に分かるでしょう
0719名無しさん@お腹いっぱい。垢版2020/12/22(火) 04:00:51.94ID:693xiBKa
あとなぜPRG-ROM→CHR-RAMとせずにCHR-ROM→PRG-RAM→CHR-RAMのように
面倒な構成としたのは、主に容量の問題です。ROMチップの容量は一般的に2の累乗です。
CHR-ROM16KB + PRG-ROM64KBなら計72Kですが、CHRのデーターをROMに置こうとすると
PRG-ROMが最低でも72KB必要ですがそんな半端なROMチップは一般的に無いので
128KBとなってしまいます。しかし余分に容量を消費するのは美しくない。
容量の異なるROMチップを組み合わせてアドレスを割り当てる方法もありますが、
余計にコストがかかります。ということでこのようになりました。
0721名無しさん@お腹いっぱい。垢版2020/12/22(火) 13:48:27.63ID:693xiBKa
SMB2JのMMC3版をテストしていたら赤パックンフラワーの所はパッチされているが、
赤パックンが出現しなかった。修正版パッチもあるけど、ちょっと調査してみる。
0722名無しさん@お腹いっぱい。垢版2020/12/23(水) 01:21:14.58ID:1z/wL4aw
赤パックンフラワーの処理を正常化しようと思うと結構パッチが必要なようだ。

本家FDS SMB2J
; 赤パックン切り替え(パックンフラワー初期設定)
9398:A9 22 LDA #$22
939A:85 00 STA $0000 = #$02
939C:A9 13 LDA #$13
939E:85 01 STA $0001 = #$03
93A0:AD FB 07 LDA $07FB = #$00
93A3:D0 0D BNE $93B2
93A5:AD 5F 07 LDA $075F = #$04
93A8:C9 03 CMP #$03
93AA:B0 06 BCS $93B2
93AC:C6 00 DEC $0000 = #$02
93AE:A9 21 LDA #$21
93B0:85 01 STA $0001 = #$03
93B2:A5 00 LDA $0000 = #$02
93B4:8D 17 B5 STA $B517 = #$21
93B7:A5 01 LDA $0001 = #$03
93B9:8D FE 9F STA $9FFE = #$21
93BC:A9 01 LDA #$01
93BE:95 58 STA $58,X @ $005F = #$00
93C0:4A LSR
93C1:95 1E STA $1E,X @ $0025 = #$00
93C3:95 A0 STA $A0,X @ $00A7 = #$00
93C5:B5 CF LDA $CF,X @ $00D6 = #$00
93C7:9D 34 04 STA $0434,X @ $043B = #$00
93CA:38 SEC
93CB:E9 18 SBC #$18
93CD:9D 17 04 STA $0417,X @ $041E = #$00
93D0:A9 09 LDA #$09
93D2:4C 10 94 JMP $9410
0723名無しさん@お腹いっぱい。垢版2020/12/23(水) 01:22:32.73ID:1z/wL4aw
kaiser版とMMC3版赤パックン処理未対策
9398:A9 22 LDA #$22
939A:85 00 STA $0000 = #$02
939C:A9 13 LDA #$13
939E:85 01 STA $0001 = #$03
93A0:AD FB 07 LDA $07FB = #$00
93A3:D0 0D BNE $93B2
93A5:AD 5F 07 LDA $075F = #$04
93A8:C9 03 CMP #$03
93AA:B0 06 BCS $93B2
93AC:C6 00 DEC $0000 = #$02
93AE:A9 21 LDA #$21
93B0:85 01 STA $0001 = #$03
93B2:A5 00 LDA $0000 = #$02
93B4:EA NOP
93B5:EA NOP
93B6:EA NOP
93B7:A5 01 LDA $0001 = #$03
93B9:EA NOP
93BA:EA NOP
93BB:EA NOP
93BC:A9 01 LDA #$01
93BE:95 58 STA $58,X @ $005F = #$00
93C0:4A LSR
93C1:95 1E STA $1E,X @ $0025 = #$00
93C3:95 A0 STA $A0,X @ $00A7 = #$00
93C5:B5 CF LDA $CF,X @ $00D6 = #$00
93C7:9D 34 04 STA $0434,X @ $043B = #$00
93CA:38 SEC
93CB:E9 18 SBC #$18
93CD:9D 17 04 STA $0417,X @ $041E = #$00
93D0:A9 09 LDA #$09
93D2:4C 10 94 JMP $9410
0724名無しさん@お腹いっぱい。垢版2020/12/23(水) 01:24:03.20ID:1z/wL4aw
MMC3版赤パックン処理対策版
9398:A9 21 LDA #$21
939A:85 50 STA $0050 = #$00
939C:85 51 STA $0051 = #$00
939E:AD FB 07 LDA $07FB = #$00
93A1:D0 07 BNE $93AA
93A3:AD 5F 07 LDA $075F = #$04
93A6:C9 03 CMP #$03
93A8:90 06 BCC $93B0
93AA:E6 50 INC $0050 = #$00
93AC:A9 13 LDA #$13
93AE:85 51 STA $0051 = #$00
93B0:A9 01 LDA #$01
93B2:95 58 STA $58,X @ $005F = #$00
93B4:4A LSR
93B5:95 1E STA $1E,X @ $0025 = #$00
93B7:95 A0 STA $A0,X @ $00A7 = #$00
93B9:B5 CF LDA $CF,X @ $00D6 = #$00
93BB:9D 34 04 STA $0434,X @ $043B = #$00
93BE:38 SEC
93BF:E9 18 SBC #$18
93C1:9D 17 04 STA $0417,X @ $041E = #$00
93C4:A9 09 LDA #$09
93C6:4C 10 94 JMP $9410
93C9:B9 0A B5 LDA $B50A,Y @ $B50A = #$01
93CC:C0 0D CPY #$0D
93CE:D0 02 BNE $93D2
93D0:A5 50 LDA $0050 = #$00
93D2:60 RTS
93D3:FF UNDEFINED
93D4:FF UNDEFINED
0725◆WDf3anU6k2 垢版2020/12/23(水) 01:35:20.43ID:1z/wL4aw
マッパーのレジスタと干渉しないように$EA(NOP)で潰したのでしょうな。当然緑パックンの
ままになります。
0726名無しさん@お腹いっぱい。垢版2020/12/23(水) 02:05:13.31ID:1z/wL4aw
ただ赤パックン作動をさせる為には>>724のパッチだけでは駄目で他の部分の修正も必要
のようです
0727名無しさん@お腹いっぱい。垢版2020/12/23(水) 02:53:50.75ID:1z/wL4aw
セーブ化はそんなに多くの変更を行わなくてもいけそうですが、赤パックン処理関係で
結構エグい変更が必要になる模様。
0728名無しさん@お腹いっぱい。垢版2020/12/23(水) 04:59:10.99ID:1z/wL4aw
本家FDS SMB2J
;パックンフラワー動作処理付近
A01F:A5 09 LDA $0009 = #$22
A021:4A LSR
A022:90 19 BCC $A03D
A024:AD 47 07 LDA $0747 = #$00
A027:D0 14 BNE $A03D
A029:B5 CF LDA $CF,X @ $00D6 = #$00
A02B:18 CLC
A02C:75 58 ADC $58,X @ $005F = #$00
A02E:95 CF STA $CF,X @ $00D6 = #$00
A030:C5 00 CMP $0000 = #$00
A032:D0 09 BNE $A03D
A034:A9 00 LDA #$00
A036:95 A0 STA $A0,X @ $00A7 = #$00
A038:A9 40 LDA #$40
A03A:9D 8A 07 STA $078A,X @ $0791 = #$00
A03D:A9 20 LDA #$20
0729名無しさん@お腹いっぱい。垢版2020/12/23(水) 04:59:56.27ID:1z/wL4aw
kaiser版とMMC3版赤パックン処理未対策
A01F:A5 09 LDA $0009 = #$C4
A021:4A LSR
A022:90 19 BCC $A03D
A024:AD 47 07 LDA $0747 = #$00
A027:D0 14 BNE $A03D
A029:B5 CF LDA $CF,X @ $00D4 = #$00
A02B:18 CLC
A02C:75 58 ADC $58,X @ $005D = #$00
A02E:95 CF STA $CF,X @ $00D4 = #$00
A030:C5 00 CMP $0000 = #$00
A032:D0 09 BNE $A03D
A034:A9 00 LDA #$00
A036:95 A0 STA $A0,X @ $00A5 = #$00
A038:A9 40 LDA #$40
A03A:9D 8A 07 STA $078A,X @ $078F = #$00
A03D:A9 20 LDA #$20
0730名無しさん@お腹いっぱい。垢版2020/12/23(水) 05:00:36.68ID:1z/wL4aw
MMC3版赤パックン処理対策版
A01F:C9 21 CMP #$21
A021:90 3C BCC $A05F
A023:B5 58 LDA $58,X @ $0058 = #$00
A025:49 FF EOR #$FF
A027:18 CLC
A028:69 01 ADC #$01
A02A:95 58 STA $58,X @ $0058 = #$00
A02C:F6 A0 INC $A0,X @ $00A0 = #$00
A02E:BD 34 04 LDA $0434,X @ $0434 = #$00
A031:B4 58 LDY $58,X @ $0058 = #$00
A033:10 03 BPL $A038
A035:BD 17 04 LDA $0417,X @ $0417 = #$00
A038:85 00 STA $0000 = #$FF
A03A:AD 17 B5 LDA $B517 = #$21
0731名無しさん@お腹いっぱい。垢版2020/12/23(水) 05:05:54.62ID:1z/wL4aw
本家FDS SMB2Jとkaiser版とMMC3版赤パックン処理未対策
; 敵キャラ色指定
B5ED:B9 0A B5 LDA $B50A,Y @ $B50A = #$01

MMC3版赤パックン処理対策版
B5ED:20 C9 93 JSR $93C9
0734名無しさん@お腹いっぱい。垢版2020/12/23(水) 05:36:04.97ID:1z/wL4aw
そんなに大げさに変更しなくても良いことが分かりました。
とりあえず懸念事項が解決したのでセーブ機能付きの製作に取り掛かります。
0735名無しさん@お腹いっぱい。垢版2020/12/23(水) 06:17:40.58ID:1z/wL4aw
>>733
削除しました。なんか8-4クリアでドアのままでした。
inesヘッダ修正しわすれていて、CHRが8KBのままでしたorz.
今日は眠いので寝ます。
あとルーイジクリアでW9に行くとなぜかマリオになってしまったので要調査です
0737名無しさん@お腹いっぱい。垢版2020/12/24(木) 15:47:33.46ID:cSGpxikA
スーマリの音をVRC6で鳴らすハックがあるね
まだ出来はヒドいけどw
でも行動に移すってスゴいなぁと思う
今後のブラッシュアップに勝手に期待してる
0740名無しさん@お腹いっぱい。垢版2020/12/25(金) 00:20:59.21ID:v9cqMMqu
(赤)パックンの修正はbeneficii氏によるもののようです。
8-4またはD-4クリア時の修正は誰が行ったのか謎です。
0741名無しさん@お腹いっぱい。垢版2020/12/25(金) 00:22:32.84ID:v9cqMMqu
loopy氏の改造版を見ると(緑)スーパージャンプ台の為にコードが大幅に変更された
可能性があります。
0742名無しさん@お腹いっぱい。垢版2020/12/25(金) 04:24:06.33ID:v9cqMMqu
>>733
再うpします。
https://www.mediafire.com/file/34p445eaifh2uu8/Super_Mario_Bros_2_J_%2528Lost_Levels%2529__MPR4_turbo4.zip

赤パックンの他に、エンディング処理の問題も見つかったので修正しました。
(改変FDS BIOS部分の無駄なルーチンの削除も含まれています。
あと以前うpしたファイルはNESヘッダのCHRサイズが間違っていましたorz)
0745名無しさん@お腹いっぱい。垢版2020/12/25(金) 04:38:25.31ID:v9cqMMqu
ソースのファイルがバイナリエディタで間違って変更したものだったり、NESヘッダが
間違えていたりで、訳の分からない状態となっていたorz.
とりあえず、>>742-744のファイルはその辺を見直したつもり...
0748名無しさん@お腹いっぱい。垢版2020/12/26(土) 16:56:15.95ID:2n9LIoTP
エンディング処理関係のコード

本家FDS SMB2J SM2DATA3
C759:A9 07 LDA #$07
C75B:20 39 E2 JSR $E239
C75E:D2 C0 UNDEFINED
C760:48 C7 UNDEFINED

kaiser版とMMC3版エンディング処理未対策
C759:A9 58 LDA #$58
C75B:8D 6F 01 STA $016F = #$00
C75E:4C 6A C7 JMP $C76A
C761C7 UNDEFINED

MMC3版エンディング処理未対策済
C759:4C 6A C7 JMP $C76A
C75C:A9 58 LDA #$58
C75E:8D 6F 01 STA $016F = #$00
C761C7 UNDEFINED
0751名無しさん@お腹いっぱい。垢版2020/12/26(土) 22:52:54.49ID:2n9LIoTP
実態は赤パックン処理のコードに少し手を加えただけ

93C9:B9 0A B5 LDA $B50A,Y @ $B50A = #$01
93CC:C0 0D CPY #$0D
93CE:D0 02 BNE $93D2
93D0:A5 50 LDA $0050 = #$00
93D2:4C 20 E0 JMP $E020

E020:C0 1B CPY #$1B
E022:B0 06 BCS $E02A
E024:C0 18 CPY #$18
E026:90 02 BCC $E02A
E028:A5 52 LDA $0052 = #$02
E02A:60 RTS
0752名無しさん@お腹いっぱい。垢版2020/12/26(土) 22:55:05.79ID:2n9LIoTP
; ジャンプ台色切り替え
B52C:A9 02 LDA #$02
B52E:AC 5F 07 LDY $075F = #$00
B531:C0 01 CPY #$01
B533:F0 08 BEQ $B53D
B535:C0 02 CPY #$02
B537:F0 04 BEQ $B53D
B539:C0 06 CPY #$06
B53B:D0 01 BNE $B53E
B53D:4A LSR
B53E:85 52 STA $0052 = #$02
B540:EA NOP
B541:EA NOP
B542:EA NOP
B543:EA NOP
B544:EA NOP
B545:EA NOP
B546:EA NOP

; 敵キャラ描画
B82E:0D 52 00 ORA $0052 = #$02
0754名無しさん@お腹いっぱい。垢版2020/12/26(土) 23:25:17.58ID:2n9LIoTP
理由は些細な事なのですが、改造ANNSMBでCHR-RAM初期化コードを最初$E040に置こう
としていたのですが、誤って$E030に置いてしまいました。とくに問題は無かったので
放置していたのですが...、そのため$E0C0にコード置ける領域が余ってるのを思い出したので
そこに配置しました。メンテナンス性を考えてANNSMBとSMB2Jの追加コードを別アドレスに
配置しています。このためANNSMBではスーパージャンプ台は赤色ですが、緑色に変更する
ということも可能になります。
0755名無しさん@お腹いっぱい。垢版2020/12/26(土) 23:27:21.74ID:2n9LIoTP
>>751は次のようになりました。

93C9:B9 0A B5 LDA $B50A,Y @ $B50A = #$01
93CC:C0 0D CPY #$0D
93CE:D0 02 BNE $93D2
93D0:A5 50 LDA $0050 = #$00
93D2:4C C0 E0 JMP $E0C0

E0C0:C0 1B CPY #$1B
E0C2:B0 06 BCS $E02A
E0C4:C0 18 CPY #$18
E0C6:90 02 BCC $E02A
E0C8:A5 52 LDA $0052 = #$02
E0CA:60 RTS
0756名無しさん@お腹いっぱい。垢版2020/12/26(土) 23:28:47.62ID:2n9LIoTP
ちょっと間違えました。
>>751は次のようになりました。

93C9:B9 0A B5 LDA $B50A,Y @ $B50A = #$01
93CC:C0 0D CPY #$0D
93CE:D0 02 BNE $93D2
93D0:A5 50 LDA $0050 = #$00
93D2:4C C0 E0 JMP $E0C0

E0C0:C0 1B CPY #$1B
E0C2:B0 06 BCS $E0CA
E0C4:C0 18 CPY #$18
E0C6:90 02 BCC $E0CA
E0C8:A5 52 LDA $0052 = #$02
E0CA:60 RTS
0757名無しさん@お腹いっぱい。垢版2020/12/26(土) 23:52:19.10ID:2n9LIoTP
ゼロページの未使用領域に割り当てたデーターはこのようになっています。
$50 パックンフラワーの色
$51 パックンフラワーの作動
$52 ジャンプ台の色
0758名無しさん@お腹いっぱい。垢版2020/12/27(日) 03:57:26.79ID:Xqa9QroM
セーブ機能付けようとしたところ、8-4クリア回数の星が付かないことが判明。
原因はタイトルコード書き換えて★を付けているようで、結構大幅なコード変更が必要な事が
判明
0761名無しさん@お腹いっぱい。垢版2020/12/27(日) 13:33:15.53ID:Xqa9QroM
★表示がかなり鬼門だったとは。
タイトルコードだけで312バイトもあります。
★表示に関係ある部分でもざっと52バイトもあります。
SRAMセーブ機能が付いたSMB2Jは大幅にコードの再配置が行われていますが、
理由はこれでしょう。
0762名無しさん@お腹いっぱい。垢版2020/12/27(日) 13:53:30.65ID:Xqa9QroM
こんな空き領域は本体WRAMにはありません。スタック領域に置こうとしても
厳しい。となるとRPG-RAMを使うことになりますが、プログラムの最初の方を
$E000-$FFF9に移動させる必要が生じてきます。MMC5でやればこんなに
苦労しない。
0763名無しさん@お腹いっぱい。垢版2020/12/28(月) 03:16:38.17ID:PK8+WmiS
改造ANNAMBに★表示を実装しているのですがバグちゃって駄目だった。
ワールドセレクト版でパワレルワールド選択してマリオが動き出すとバグるのと関連しているのかな?
0764名無しさん@お腹いっぱい。垢版2020/12/28(月) 18:09:24.61ID:PK8+WmiS
>>763
61E8: 40 RTIの次で変なアドレスに行っちゃってるみたいです。
0765名無しさん@お腹いっぱい。垢版2020/12/29(火) 00:43:53.08ID:gm6JJBOb
Programming with unofficial opcodes
https://wiki.nesdev.com/w/index.php/Programming_with_unofficial_opcodes

SKB #i ($80 ii, $82 ii, $89 ii, $C2 ii, $E2 ii; 2 cycles)
These unofficial opcodes just read an immediate byte and skip it, like a different address mode of NOP. One of these even works almost the same way on 65C02, HuC6280, and 65C816: BIT #i ($89 ii), whose only difference from the 6502 is that it affects the NVZ flags like the other BIT instructions. Use this SKB if you want your code to be portable to Lynx, TG16, or Super NES. Puzznic uses $89, and Beauty and the Beast uses $80. Also called DOP, NOP (distinguished from the 1-byte encoding by the addressing mode).

【まだ】単品CPU Z80とか6809/6502 (【現役】
http://science4.5ch.net/test/read.cgi/denki/1150952925/

110 :774ワット発電中さん:2006/10/01(日) 21:01:30 ID:tYTmehRZ
BRN:Branch Neverって命令あったよね。
最初NOPと何が違うのかと思ってた。
オペランドに何を入れておいても良いので、データを隠しておいて
解析されにくくするのに使ってた。

117 :774ワット発電中さん:2006/10/04(水) 01:24:38 ID:hcYn7IPe
>>110
BRNは、ハンドアセンブルみたいにコード追加でのアドレス再計算が
困難なときに所々にはさんでおいて、コード追加時にBRA等に書き換える、
みたいなことをどこかで読んだ記憶がある。

でも、実際は6809をハンドアセンブルしようなんて言う強者はそうそう
いなくて、1byte skipにしか使われていなかったのではないだろうか。

118 :安田某:2006/10/05(木) 23:27:58 ID:/lpvVcZC
BRNは手作業でパッチを当てる時に,Bxxをとりあえず分岐しないように
使うんだろう.(オフセットはいじらないですむように)

ところでC級トラ擬で6502連載してるな.C-MOS版じゃない,ノーマル(N-MOS)の
6502欲しいんだがどっかで売っているか? ついでに6521も・・・
0766名無しさん@お腹いっぱい。垢版2020/12/29(火) 04:44:46.52ID:gm6JJBOb
ひとつ謎が解決しました。手元にあるSRAMセーブ付きのMMC3移植のSMB2Jが出所不明
だったのですがloopy氏のSMB2Jの2007年5月2日バージョンであることが分かりました。
他のハッカーがloopy氏のコードを真似て作ったものと思っていたのですが、loopy氏が
作ったものそのものです。
0768名無しさん@お腹いっぱい。垢版2020/12/29(火) 05:30:52.56ID:gm6JJBOb
手元に用意できたloopy氏のものは、
2007年5月2日版と2014年12月11日版と2015年6月19日版があります。

2007年5月2日版は★表示機能はの為のコード再配置が行われている。
緑のジャンプ台は未修正。赤パックンフラワーとエンディングのルイージテキストは
正常表示。
2014年12月11日版は大幅に大改修。赤パックンフラワーと緑のジャンプ台関連の
コードも再配置された。しかしエンディングのルイージテキストの修正を忘れています。
2015年6月19日版はルーイジテキストの部分を再配置して修正。

の模様
0774名無しさん@お腹いっぱい。垢版2021/02/20(土) 23:13:32.65ID:i66KfdcK
個人的なメモ
ANNSMBを$6000-$7FFFがROMでもエンディング正常作動するように改造したい。
あとはPCエンジン版SMBは出来は良いががPALのNESベースでスピードが速いので
NTSCのNESのように作動するようになんとかしたい
0776ふっかつのじゅもん らしい垢版2021/06/12(土) 19:55:08.82ID:am7h9RbD
かきかえて かいぞうまりお あのむずい ですね (ら−めす レベル10)
書き換えて 改造マリオ あの…… ムズいですね
0777名無しさん@お腹いっぱい。垢版2021/06/14(月) 19:34:07.74ID:Nb8uQy/m
777
0778名無しさん@お腹いっぱい。垢版2021/06/14(月) 21:32:08.52ID:Nb8uQy/m
>>580,636,657

$6370〜$6372は
書き込み時のアドレス指定は$6370+Yレジスタ、
読み込み時のアドレス指定は$6B63+Yレジスタ
という感じかな?
0779名無しさん@お腹いっぱい。垢版2021/06/20(日) 01:37:12.07ID:F1uevumf
>>694,778

試しにマッパー40でやってみたけどうまくいかなかった。
更に解析が必要なのと、すでにパッチ当てまくって訳の分からんやつで試したってのもあるけど。
0782名無しさん@お腹いっぱい。垢版2021/07/20(火) 21:37:48.74ID:fRrix/Dj
自分が持ってるのロムはゲームは1のままで絵が3風になってたやつだったw
これはコースも違うのか
元はハドソンソフトの移植版みたいだけど
あとGB版のスパマリランドDX+ドクマリDXも探して入れといたw
カラー化してたんでな
0785名無しさん@お腹いっぱい。垢版2021/08/25(水) 20:58:13.41ID:6Ko2Iya2
チビマリオ状態でスーパーマリオと同じ判定サイズ(左右端は判定がない)だからクリアは保証されてる。
ノーワープで全エリア踏破はできた。
何でもなかった場所がハマりトラップとなり別ルートを余儀なくされるなど新たなゲーム性も提供している。
スーパーマリオ状態を維持するにはしゃがみジャンプやしゃがみ滑り込みを当然のように使うことになる。

数多のマリオハックと互換性があるためそれらも新たに楽しめるね。
0787名無しさん@お腹いっぱい。垢版2021/09/06(月) 01:22:38.82ID:9b+4g1su
前にマリオ2のバイナリ改造で
A〜D面行きのクリア回数いじれるってのあったけど
これオールナイトニッポンスーパーマリオブラザーズでもできるかな?
0788名無しさん@お腹いっぱい。垢版2021/09/22(水) 22:41:46.61ID:lNpOv+f4
>>787
はい。ほぼ同じルーチンです
0789名無しさん@お腹いっぱい。垢版2023/05/22(月) 21:26:24.15ID:vpNx1rNH
hoshu
0790名無しさん@お腹いっぱい。垢版2023/05/29(月) 18:52:59.92ID:sKAndaiZ
SMB2Jで$6000-$8000をROMで構成する場合、FDSのコードをそのまま持ってきた場合、
ルイージ(LUIGI)がうまく機能しない。しかし$6000-$8000をバンク切り替えを使えば
うまくいくのではないか...
0791名無しさん@お腹いっぱい。垢版2023/05/29(月) 18:54:51.81ID:sKAndaiZ
>>290
エンディングのテキストも同様にバンク切り替えで行けそうやな...
0792名無しさん@お腹いっぱい。垢版2023/05/29(月) 19:59:42.39ID:sKAndaiZ
>>290
$6000-$8000をROMでかつバンク切り替えしない場合だと
MARIO、LUIGIの表示部分は比較的修正し易いと思うが、
ジャンプ力と滑りの部分が面倒臭い。FDSの場合はマリオ・ルイージの動きの部分ルーチンの
そばに係数のテーブルがあるけど、ルイージの場合はその係数を書き換えている。
エレガントじゃない実装としてはマリオ用とルイージ用のルーチンを2つ用意して、
例えばルイージの時は$E000〜に飛ばしてやるという方法も考えられるがあまりエレガントじゃないな...
0793名無しさん@お腹いっぱい。垢版2023/06/14(水) 20:18:09.26ID:MnFi4hDP
欧州(PAL)版スーパーマリオブラザーズは一部のバグ修正と一部の敵の動きの簡略化が行われえて
いるらしいが、これはバグ修正の為に一部の敵の動きの簡略化して空き容量を確保したのかな?
あとVS.スーパーマリオブラザーズは明らかにステージデータと音楽データが増加しているけど、
PRG-ROMは32KBで通常のスーパーマリオブラザーズと同じ。ということは何らかのコードの簡略化または最適化が
行われているのかな?まあCHR-ROMは16KBで通常のスーパーマリオブラザーズ倍あるから
こっちにコード置く方法も考えられるが。この辺の詳細があまり詳しく解析した情報があまりないので謎
0794名無しさん@お腹いっぱい。垢版2023/06/14(水) 20:51:22.34ID:MnFi4hDP
>>393
ROM覗いてみるとCHR-ROMの最初の8Kが通常のタイルで、後ろの8Kがタイルじゃないもので、
試しに後ろの8Kを除去したらタイトルがバグって、ステージもバグったので、後ろの8Kに
コードが入っているのは確定
0795名無しさん@お腹いっぱい。垢版2023/06/16(金) 11:32:52.87ID:Qy5gvR2e
>>774
なんか出来そうな気がしたのでやってみたら、2時間でパッチが完成した。
0797名無しさん@お腹いっぱい。垢版2023/06/16(金) 14:39:00.10ID:Qy5gvR2e
IPSファイル
https://www.a%78fc.net/u/4066523.zip

このパッチは64KBのPCエンジン版Super Mario Bros.用です。
0798名無しさん@お腹いっぱい。垢版2023/06/16(金) 19:16:21.89ID:Qy5gvR2e
NTSC版をPCエンジンに移植した人は既にいるようだが、肝心のパッチとかがぐぐっても出てこないんだよな

Super Mario Bros Image Conversion NTSC Version NINTENDO NES TO PC ENGINE CONVERTION HACK TAYLOR EVE
https://www.youtube.com/watch?v=aScgDA8wTaI
0800名無しさん@お腹いっぱい。垢版2023/06/17(土) 01:29:25.78ID:UU3yA0HY
>>786
何でもない夜の事 二度とは戻れない夜~
0801名無しさん@お腹いっぱい。垢版2023/06/17(土) 19:56:13.71ID:MELhXxqV
>>796の別のエミュレータで動かした版

PCエンジン版スーパーマリオブラザーズが正しい速度で動作するようにしてみた(その2)
https://www.nicovideo.jp/watch/sm42365989
0802名無しさん@お腹いっぱい。垢版2023/06/27(火) 20:08:36.68ID:xLclKrCx
>>793
欧州(PAL)版スーパーマリオブラザーズは甲羅で無限1UPできないらしいぞ。
0804名無しさん@お腹いっぱい。垢版2023/06/29(木) 18:50:04.48ID:Qa+4KtTk
>>662
この部分はフリーズとはあまり関係ないようだ。
アドレス$6370-$6371は城クリア時のMC(ピノキオ)のパレット。
$6371は常に0。0以外にするとグラフィックの書き換えがバグる。
0805名無しさん@お腹いっぱい。垢版2023/06/29(木) 18:56:41.16ID:Qa+4KtTk
>>680
マッパー142の奴も8-4やD-4クリア時にBGMがバグったりフリーズするぞ。(但し$6000-$7FFFが
常に書き込み可能なエミュレーターの場合は上手く動作してしまいます。)
0806名無しさん@お腹いっぱい。垢版2023/06/29(木) 19:18:17.66ID:Qa+4KtTk
SMB2(J)とANN-SMBは
$6000-$7FFFがROMの場合、
エンディング時に音楽がおかしくなって、大抵フリーズします。とうのが結論。
次の箇所にサウンドサブルーチンのアドレスを指定している箇所ががあります。
SMB2(J)
611C: 20 A0 D2 ;JSR $D2E5
ANN-SMB
611F : 20 E5 D2 ;JSR $D2E5
エンディング時は直接そこのアドレスを書き換える箇所があります。
サウンドエンジンはプログラムメインループに組み込まれていますから、
不正な値やアドレスが入ってしまうとフリーズするのは無理もありません。
0807名無しさん@お腹いっぱい。垢版2023/06/29(木) 19:21:41.57ID:Qa+4KtTk
ミスった

SMB2(J)とANN-SMBは
$6000-$7FFFがROMの場合、
エンディング時に音楽がおかしくなって、大抵フリーズします。とうのが結論。
次の箇所にサウンドルーチン(サウンドエンジン)のアドレスを指定している箇所ががあります。
SMB2(J)
611C: 20 A0 D2 ;JSR $D2A0
ANN-SMB
611F : 20 E5 D2 ;JSR $D2E5
エンディング時は直接そこのアドレスを書き換える箇所があります。
サウンドルーチン(サウンドエンジン)はプログラムメインループに組み込まれていますから、
不正な値やアドレスが入ってしまうとフリーズするのは無理もありません。
0808名無しさん@お腹いっぱい。垢版2023/06/29(木) 19:39:35.78ID:Qa+4KtTk
書き換えてる部分は(SM2DATA3またはNSMDATA3)

SMB2(J)
C623: A9 CC ;LDA #$CC
C625: 8D 1E 61 ;STA $611E
C628: A9 5F ;LDA ##$5F
C62A: 8D 1D 61 ;STA $611D

C76A: A9 D2 ;LDA #$D2
C76C: 8D 1E 61 ;STA $611E
C76F: A9 A0 ;LDA #$A0
C771: 8D 1D 61 ;STA $611D

ANN-SMB
C600: A9 CC ;LDA #$CC
C602: 8D 21 61 ;STA $6121
C605: A9 B1 ;LDA #$B1
C607: 8D 20 61 ;STA $6120

C760: A9 D2 ;LDA #$D2
C762: 8D 21 61 ;STA $6121
C765: A9 E5 ;LDA #$E5
C767: 8D 20 61 ;STA $6120
0809名無しさん@お腹いっぱい。垢版2023/06/29(木) 20:07:20.35ID:Qa+4KtTk
パッチ案としてはサウンドサブルーチンサウンドサブルーチンのアドレスを指定箇所を
$E000〜の開き領域に飛ばして、本体内蔵RAMに一つ変数つくって分岐させるって考えられるが、
命令サイクルが変わって動作や音楽にどのような影響があるかは未知数。
0811名無しさん@お腹いっぱい。垢版2023/06/29(木) 22:36:12.93ID:Qa+4KtTk
>>809
これ結構うまくいかないぞ。
サブルーチン入れ子、フラグ破壊、レジスタ破壊、スタック破壊。メインループだから超高難易度。
もとのFDS Convertionに採用されていないのはこのためか...
一から書き直すつもりで作らないと無理っぽい。匙投げました。
0813名無しさん@お腹いっぱい。垢版2023/07/04(火) 14:35:05.40ID:klmboEcf
>>706
訂正

chr
04 05 06 07

詳細はRAM $07f7に連動
04 (ワールド1〜4; 0)
05 (ワールド5〜8; 1)
06 (エンディング、ワールド9; 2)
07 (ワールドA〜D; 3)

CHRを8KB全部書き換えているようです。
0815名無しさん@お腹いっぱい。垢版2023/07/04(火) 22:11:28.35ID:klmboEcf
変更点
v0.9→v0.9a
ワールドセレクト版じゃない方に盆ミスが判明。それを修正。一応動いていたが...
v0.9a→v0.9c
ワールドセレクト版で8-4をクリアするとタイトル画面に戻ったときに画面が点滅して操作不能になる。
どうもパッチした箇所が不適切なようでした。ワールドセレクト版じゃないほうにも同じコードが入っていましたが、こちらは
タイトル画面に戻っていたので、見落としていた。(但し状況によっては同様のバグが発生する可能性有り。)
の修正。
0816名無しさん@お腹いっぱい。垢版2023/07/04(火) 22:58:18.59ID:klmboEcf
理論上はマッパー142でも動くと思っていたので作業を行っていた所、バグを発見したというヲチ。
いろいろ試してみるものですね...
https://i.imgur.com/vEJ1m3C.jpg
0817名無しさん@お腹いっぱい。垢版2023/07/05(水) 23:08:33.83ID:8WYVt27R
>>816
マッパー142版ANNSMBはMMC3またはマッパー195版のコードを殆どコピペしただけですんなり動きました。
それならばと、再現性の高いMMC版SMB2Jをマッパー142でもすんあり動くんじゃねと、上記の手順でやって
みた所、う動かない...
コピペで手抜きではいけないのかも。
こちらは、嵐のコード、赤いパックンフラワー、ワールド9用コードがあるので、
こちらは手抜きコピペではなく、慎重にマッパー142版SMB2Jにパッチを当てる必要があるかも。
0818名無しさん@お腹いっぱい。垢版2023/07/05(水) 23:28:52.30ID:8WYVt27R
>>816
マッパー142版ANNSMBは$6000-$7FFFはROMになっていますがエンディングでフリーズしない
事を確認。但しエンディングの音楽はバグっています。エンディングの音楽がちゃんと鳴るように
$6000-$7FFFをバンク切り替えするバージョンも作って見ましたが、こちらは完璧な動作です。
0819名無しさん@お腹いっぱい。垢版2023/07/06(木) 11:56:13.08ID:Sb6s1RC9
>>819
SMB2Jが動かなかったのは手抜きし過ぎたのが駄目だった。ANNSMBの方は丁寧にパッチしてあったわ。
仕切りなおしで、SMB2J Keiser(マッパー142)版に赤パックンと緑ジャンプ台のコードを移植したら
問題なく動作しました。
嵌まった箇所としては
● Keiser(マッパー142)版とMMC3版はタイトル画面でスタートボタンを押したときと、ゲームオーバーに
なった時の処理がそれぞれ異なるパッチが当てられていた。しかも$E000-FFFFにパッチコードを
置いているが同じアドレスを使っていてややこしい。(keiser版は残機が減らないモードがついている?)
要調査。

● 赤パックンと緑ジャンプ台も空き容量の関係で$E000-FFFFにパッチコードを置いていますが、
赤パックンと緑ジャンプ台のパッチコードが全然違う場所に配置されていた。そのためにメンテナンス性が
悪化していた。どうしてこんなことに...
0820名無しさん@お腹いっぱい。垢版2023/07/06(木) 12:07:08.76ID:Sb6s1RC9
備考

E0C0: C0 1B CPY #$1B
E0C2: B0 06 BCS $E0CA
E0C4: C0 18 CPY #$18
E0C6: 90 02 BCC $E0CA
E0C8: A5 52 LDA $52 = #$02
E0CA: 60 RTS

FBD0: B5 1E LDA $1E,X @ $0025 = #$00
FBD2: 4C 00 A0 JMP $A000

関連するコードだから隣接して配置すべき。
0822名無しさん@お腹いっぱい。垢版2023/07/06(木) 19:56:31.10ID:Sb6s1RC9
>>819
メモ程度に
FDS
701B: CE 5A 07 DEC $075A

702B: AD 5F 07 LDA $075F

7FF9: F0 11 BEQ $800C

Kaiser(マッパー142)版
701B: 20 00 FC JSR $FC00

702B: 4C A0 F8 JMP $F8A0

7FF9: 4C 00 FC JMP $FC00

MMC3版
701B: 20 00 FC JSR $FC00

702B: 4C A0 F8 JMP $F8A0

7FF9: F0 11 BEQ $800C

FDS
701B: CE 5A 07 DEC $075A
7020: A9 00 LDA #$00
7022: 8D 72 07 STA $0772
7025: A9 03 LDA #$03
7027: 8D 70 07 STA $0770
702A: 60 RTS
702B: AD 5F 07 LDA $075F

Kaiser(マッパー142)版
701B: 20 00 FC JSR $FC00
701E: 10 0B BPL $702B
7020: A9 00 LDA #$00
7022: 8D 72 07 STA $0772 = #$04
7025: A9 03 LDA #$03
7027: 8D 70 07 STA $0770 = #$00
702A: 60 RTS
702B: 4C A0 F8 JMP $F8A0

MMC3版
701B: 20 00 FC JSR $FC00
701E: 10 0B BPL $702B
7020: A9 00 LDA #$00
7022: 8D 72 07 STA $0772 = #$04
7025: A9 03 LDA #$03
7027: 8D 70 07 STA $0770 = #$00
702A: 60 RTS
702B: 4C A0 F8 JMP $F8A0
0823名無しさん@お腹いっぱい。垢版2023/07/06(木) 20:03:32.02ID:Sb6s1RC9
続き

Kaiser(マッパー142)版とMMC3版 共通
F8A0: AD FB 07 LDA $07FB = #$00
F8A3: C9 00 CMP #$00
F8A5: D0 06 BNE $F8AD
F8A7: AD 5F 07 LDA $075F = #$00
F8AA: 4C 2E 70 JMP $702E
F8AD: AD 5F 07 LDA $075F = #$00
F8B0: 0A ASL
F8B1: AA TAX
F8B2: AD 5C 07 LDA $075C = #$00
F8B5: 29 02 AND #$02
F8B7: F0 01 BEQ $F8BA
F8B9: E8 INX
F8BA: BC C0 F8 LDY $F8C0,X @ $F8CD = #$EF
F8BD: 4C 3B 70 JMP $703B

Kaiser(マッパー142)版
FC00: AD E7 01 LDA $01E7 = #$FF
FC03: C9 5A CMP #$5A
FC05: F0 03 BEQ $FC0A
FC07: CE 5A 07 DEC $075A = #$02
FC0A: 60 RTS

MMC3版
FC00: F0 0B BEQ $FC0D
FC02: AD 04 07 LDA $0704 = #$00
FC05: F0 03 BEQ $FC0A
FC07: 4C 00 80 JMP $8000
FC0A: 4C 88 80 JMP $8088
FC0D: 4C 0C 80 JMP $800C
0825名無しさん@お腹いっぱい。垢版2023/07/06(木) 20:21:16.71ID:Sb6s1RC9
>>822
コード長いから最小限だけ貼ろうとしたら余分に貼ってしまった。
ついでなので
メモ程度に
FDS
7FF7: A5 1D LDA $1D
7FF9: F0 11 BEQ $800C
7FFB: AD 04 07 LDA $0704
7FFE: F0 F4 BEQ $7FF4


Kaiser(マッパー142)版
7FF7: A5 1D LDA $1D = #$00
7FF9: F0 11 BEQ $800C
7FFB: AD 04 07 LDA $0704 = #$00
7FFE: F0 F4 BEQ $7FF4


MMC3版
7FF7: A5 1D LDA $1D = #$00
7FF9: 4C 00 FC JMP $FC00
7FFC: EA NOP
7FFD: EA NOP
7FFE: F0 F4 BEQ $7FF4
0826名無しさん@お腹いっぱい。垢版2023/07/06(木) 20:49:45.56ID:Sb6s1RC9
>>822-825
アドレス$FC00-FC0F及び
$701B、$702B、$7FF9のパッチすれば、相互変換できます。(MMC3版のコードをマッパー142に
導入して動作確認。)
MMC3版のコードの方が洗練されている気がするが、Kaiserの方が$FE00-FFFFのアドレスパッチが
多少なく済むかな...
でなんでこのようなパッチが当てられているかというと、ルイージのジャンプ力と滑りの為に導入されていると
思われる。
0827名無しさん@お腹いっぱい。垢版2023/07/06(木) 21:34:50.08ID:Sb6s1RC9
>>706 >>813
keiser(マッパー版SMB2J)のバンク配置の詳細

バンク
0($00000) PRG $6000 #0
1($02000) PRG $6000 #1
2($04000) PRG $6000 #2
3($06000) PRG $6000 #3
4($08000) CHR #0
5($0A000) CHR #1
6($0C000) CHR #2
7($0E000) CHR #3
8($10000) 未使用(PRG $6000 #1の未パッチデータ?)
9($12000) 未使用(PRG $6000 #2の未パッチデータ?)
A($14000) 未使用(PRG $6000 #3の未パッチデータ?)
B($16000) PRG $6000
C($18000) PRG $8000
D($1A000) PRG $A000
E($1C000) 未使用(PRG $6000 #0の未パッチデータ?)
F($1E000) PRG $E000

バンク切り替えにはメモリー$7F7を使っている。
CHRには$7F7を#$4とORした値。(CHR-RAMに転送)
PRG $6000には$7F7をそのまま指定するようになっている。この処理はセットで行われます。
CHRは無駄に使用しているように見えるがシンプルなバンク切り替えコードの為にこのようになっているようです。
PRGの他の部分はAND $FFFFした値がCPUアドレスと一致するように配置されています。
意外と合理的な配置でした。
0828名無しさん@お腹いっぱい。垢版2023/07/06(木) 21:45:29.32ID:Sb6s1RC9
>>827
ミスってたorz

>>706 >>813
keiser(マッパー版SMB2J)のバンク配置の詳細

バンク
0($00000) PRG $C000 #0
1($02000) PRG $C000 #1
2($04000) PRG $C000 #2
3($06000) PRG $C000 #3
4($08000) CHR #0
5($0A000) CHR #1
6($0C000) CHR #2
7($0E000) CHR #3
8($10000) 未使用(PRG $C000 #1の未パッチデータ?)
9($12000) 未使用(PRG $C000 #2の未パッチデータ?)
A($14000) 未使用(PRG $C000 #3の未パッチデータ?)
B($16000) PRG $6000
C($18000) PRG $8000
D($1A000) PRG $A000
E($1C000) 未使用(PRG $C000 #0の未パッチデータ?)
F($1E000) PRG $E000

バンク切り替えにはメモリー$7F7を使っている。
CHRには$7F7を#$4とORした値。(CHR-RAMに転送)
PRG $C000には$7F7をそのまま指定するようになっている。この処理はセットで行われます。
CHRは無駄に使用しているように見えるがシンプルなバンク切り替えコードの為にこのようになっているようです。
PRGの他の部分はAND $FFFFした値がCPUアドレスと一致するように配置されています。
意外と合理的な配置でした。
0829名無しさん@お腹いっぱい。垢版2023/07/06(木) 21:58:38.46ID:Sb6s1RC9
そういばMMC3(マッパー4)版では、

PRGバンク
0($0000) PRG $6000(PRG-RAM)
1($2000) PRG $8000
2($4000) PRG $C000 #0
3($6000) PRG $C000 #1
4($8000) PRG $C000 #2
5($A000) PRG $C000 #3
6($C000) PRG $A000
7($E000) PRG $E000

CHRバンク
0($0000) CHR #0
1($2000) CHR #1

という構成だった希ガス。
PRG-RAM($6000)に転送するバンクは先頭。
バンク切り替えを行う$C000はメモリ$7F7を#$2とORした値。
最終バンクはやはり$E000。
$8000と$A000は残りのバンクに昇順に配置という感じか
0830名無しさん@お腹いっぱい。垢版2023/07/07(金) 00:10:03.07ID:lIZo6ub+
女装深夜徘徊してくるわ、いつものとこ(ダークウェブ)で配信するから良かったら見にきてくれ!
0831名無しさん@お腹いっぱい。垢版2023/07/07(金) 14:45:47.60ID:r6gMLgZZ
>>829
MMC3だと$C000-DFFFをバンク切り替えできるモードにした場合、
$8000-9FFFは最後から2番目のバンクに固定されるので、

PRGバンク
0($0000) PRG $6000(PRG-RAM)
1($2000) PRG $A000
2($4000) PRG $C000 #0
3($6000) PRG $C000 #1
4($8000) PRG $C000 #2
5($A000) PRG $C000 #3
6($C000) PRG $8000
7($E000) PRG $E000

CHRバンク
0($0000) CHR #0
1($2000) CHR #1

仕様上、変な配置になっているようだ
0833名無しさん@お腹いっぱい。垢版2023/07/09(日) 14:41:58.17ID:QbECVKa+?PLT(12060)

>>832
これは凄いな
0835名無しさん@お腹いっぱい。垢版2023/07/10(月) 16:33:08.58ID:FAt0ygiN
マッパー142(kaiser)のIRQ Acknowledgeについて、

レジスタ$C000-$CFFFにbit0=1の値を書き込んでから、レジスタ$D000-$DFFFに何か書き込むとIRQ Acknowledgeするらしいが(VRC3ほぼ互換)、そうではなく、
レジスタ$E000-$EFFFにbit0=1かつbit4=1の値を書き込んでから、レジスタ$F000-$FFFFにbit4=1の値を書き込んむとIRQ Acknowledgeする可能性あり...
0839名無しさん@お腹いっぱい。垢版2023/07/10(月) 21:22:27.68ID:FAt0ygiN
試しにマッパー142版を作ってみました。LUIGIの表示がMARIOになってしまいますが、
そこはまだ直していません。(SMB2JとANNSMB) 
エンディングの音楽はちゃんと鳴ると思います。(手抜きバンク切り替え)
動作検証用として
斧 /u/4067211.zip
0840名無しさん@お腹いっぱい。垢版2023/07/12(水) 15:56:39.44ID:mCLpMrSk
>>792
>MARIO、LUIGIの表示部分は比較的修正し易いと思うが

そんなこと無かったわ。
確かにスコアの上の所をLUIGI表示にするのは比較的簡単だが、エンディングの所のLUIGI表示は
糞面倒臭い。
FDSだとTHANK YOU MARIOの文字列のMARIOを直接LUIGIに書き換えてる。
MMC3版ではその領域はROMなので書き換えられないので、空き領域にLUIGI用の文字列"群"を
用意して、THANK YOU MARIO処理のポインタを書き換えている。(その領域は$6000-$7FFFでRAM)
つまりメインプログラム書き換えるか、バンク切り替えしかないな。
だから海賊版でLUIGI処理に手を加えてものが無い。
0841名無しさん@お腹いっぱい。垢版2023/07/12(水) 16:23:03.49ID:mCLpMrSk
MARIO・LUIGI表示に関連する部分は
●スコア上部
●通常城クリア
●エンディング
とある。
通常城クリアとエンディングは
ポインタ(構造体)からポインタ(構造体)を読むような処理で複雑です。
ポインタ(構造体)を本体RAMに入れてしまうって方法も考えられますが、
これも容量食う上に面倒臭い上にダーティになります。
0842名無しさん@お腹いっぱい。垢版2023/07/12(水) 16:30:00.86ID:mCLpMrSk
バンク切り替えでなんとかする場合は、トータルで考えてMMC3版をベースに$6000-$7FFFを
通常MARIO、通常LUIGI、エンディング音楽MARIO、エンディング音楽LUIGIと4バンク用意するのが
シンプルとなります。
0843名無しさん@お腹いっぱい。垢版2023/07/12(水) 21:38:30.03ID:mCLpMrSk
>>841
もう少し整理してみると、
斧取得後のスクリプトへのポインタ(構造体)とスクリプトがある。
その"どちらか"を書き換えれば、メインプログラムへの変更は最小限に抑えられる。
ポインタ(構造体)は60バイト、スクリプトはLUIGIに対応させる必要のあるのは
6078: 3D 6C :<0C> [THANK YOU MARIO!] →6C3D 20バイト
6080: 93 C8 :<10> [THANK YOU MARIO!] →C8D7 24バイト
6086: D7 C8 :<13> [HURRAH TO MARIO] →C8D7 20バイト
の計64バイト
本体RAMはスタック領域の未使用部分を使用に連続で64バイト確保できる場所がある。
(嵐用で使っている部分を考慮しても64バイト確保可能たぶん)
スクリプトを置く場合でも工夫すれば24バイトで済む。ただしプログラム難易度は上がるでしょう。
0846名無しさん@お腹いっぱい。垢版2023/07/13(木) 20:09:04.06ID:LA1r8eub
マッパー195のANNSMBは4KBのCHR-RAMを使っているが、2KBに削減は可能。
しかしベースのMMC3版SMB2Jが$8000.D7=0の設定で作られている。
$8000.D7=1の設定にするにはCHRバンクを設定している所を弄らないといけないが、コードサイズが
増えるんだよね...
0847名無しさん@お腹いっぱい。垢版2023/07/13(木) 20:22:21.37ID:LA1r8eub
Sunsoft FME-7( + CHR-RAM)に移植は面白いかなと考えていた所、
Namco 163が結構イイ感じだと思った、これはマッパー195のCHR-ROM + CHR-RAMが再現できます。
0848名無しさん@お腹いっぱい。垢版2023/07/13(木) 20:34:02.36ID:LA1r8eub
CHR-RAMを2KBに削減した場合は
マッパー194(MMC3ベース)
マッパー252(VRC4ベース)
マッパー253(VRC4ベース)
で利用可能です。
0849名無しさん@お腹いっぱい。垢版2023/07/13(木) 20:49:09.06ID:LA1r8eub
あとFDSのIRQを再現するにはスキャンラインIRQよりもサイクルIRQの方が再現性が高くなります。
またSMB2JまたはANNSMBの場合はスキャンラインIRQよりも12bit固定タイミング サイクルIRQの
方が再現性が高くなります。
0851名無しさん@お腹いっぱい。垢版2023/07/13(木) 20:57:34.59ID:LA1r8eub
あとメモとして
マッパー40はサブマッパー1を使用した場合アウターバンクレジスタでCHR-ROMのバンクが変更可能です。
0854名無しさん@お腹いっぱい。垢版2023/07/17(月) 13:41:24.17ID:mrWLU6LX
理論上、マッパー142(kaiser)のやつをマッパー40に移植することは可能。
利点は
ちゃんとルイージのジャンプ力と滑りになる。(但し表示はLUIGIにならない)
エンディングでフリーズしない。9-1に行ける。(但し音楽は変)
という感じでやや微妙な感じで作成熱意が...
0856名無しさん@お腹いっぱい。垢版2023/07/24(月) 08:03:32.39ID:StEAzIXD
ANNSMBまだバグあるな。パワレルワールド行ってから、ゲームオーバーになってRetryを選択して
1-1からスタートして遊んでみたところ1-3の中間地点で乙る事が判明orz
0857名無しさん@お腹いっぱい。垢版2023/07/24(月) 10:51:20.53ID:StEAzIXD
>>856
ベースにしたMMC3版SMB2Jも同様にパラレールワールドクリア後にRetryして、2-1を遊んだら、
中間地点で乙りました。
つまりパラレルワールド用の途中開始ページ(中間地点)指定の値がそのままになってしまっている。
0858名無しさん@お腹いっぱい。垢版2023/07/24(月) 11:33:14.05ID:StEAzIXD
>>822-826
この処理部でkaiser版とMMC3版の違いの肝要なところは、
FDS版では
[SM2MAIN]
; 7038: BC FD 6F LDY $6FFD,X ; 途中開始ページ(2バイトで1ワールド分)
6FFD: 66 60 World 1
6E00: 88 60 World 2
6E02: 66 70 World 3
6E04: 77 60 World 4
6E06: D6 00 World 5
6E08: 77 80 World 6
6E0A: 70 B0 World 7
6E0C: 00 00 World 8
6E0E: 00 00 World 9

; 死亡処理(リトライ 途中開始ページ)
702B: AD 5F 07 LDA $075F ; A=ワールド
702E: 0A ASL A ; A=A*2
702F: AA TAX ; X=A
7030: AD 5C 07 LDA $075C ; A=エリア
7033: 29 02 AND #$02 ; A=A AND 00000010
7035: F0 01 BEQ $7038 ; 3,4以外のエリアならjump
7037: E8 INX ; X++

7038: BC FD 6F LDY $6FFD,X ; Y=途中開始ページ

[SM2DATA4]
; 途中開始ページ
C3CE: 76 50
C3D0: 65 50
C3D2: 75 B0
C3D4: 00 00

; BFEE: 20 D6 C3 JSR $C3D6
C3D6: A0 07 LDY #$07
C3D8: B9 CE C3 LDA $C3CE,Y
C3DB: 99 FD 6F STA $6FFD,Y
C3DE: 88 DEY
C3DF: 10 F7 BPL $C3D8
C3E1: 60 RTS
となっており、
0859名無しさん@お腹いっぱい。垢版2023/07/24(月) 12:04:06.44ID:StEAzIXD
つまりFDS版ではパラレルワールドの時は$6FFDの値を$C3CEの値に書き変える処理があります。
kaiser版では$6000-$7FFFがROMで書き変えられないので、まだコードじっくり見ていないので推測だが、
パラレルワールドの時は$6FFDでは無く$C3CEの値参照するようにコードが変更されていると思われる。
MMC3版は$6000-$7FFFがRAMなので再びFDSと同様の処理を行うように変更されました。
しかしそこに落とし穴がありました。パラレルワールドでゲームオーバー時にRetryでタイトル画面に
戻った時、アドレス$6FFD(途中開始ページ)の初期化が行われていない為に問題が発生するようです。
FDS版はSM2DATA2、SM2DATA4(、SM2DATA3)が読み込まれた状態でRetryするとSM2MAINを
再ロードする為問題ありません。
0860名無しさん@お腹いっぱい。垢版2023/07/24(月) 12:16:35.22ID:StEAzIXD
MMC3版の途中開始ページ問題の対処法はいくつか考えられるが、
一つはkaiser版コードを使用する。
もう一つはRetry時に$6FFD(途中開始ページ)を初期化するコードを導入する。
MMC3版SMB2Jは改良派生版がいくつかあるので要調査。
個人的にはkaiser版コードで問題ないと思う。
0861名無しさん@お腹いっぱい。垢版2023/07/24(月) 12:20:51.98ID:StEAzIXD
>>819
>keiser版は残機が減らないモードがついている?

おそらく、途中開始ページの処理の関係でそうなっているのかも。
確かに特定の値を入れると残機が減らないけど
0862名無しさん@お腹いっぱい。垢版2023/07/24(月) 13:11:21.13ID:StEAzIXD
>>860
>MMC3版SMB2Jは改良派生版がいくつかあるので要調査
SRAMセーブ付きのやつで、途中開始ページ対処したのあるけど、
コード変更されすぎていて変更部追えない...
海外のスレッド徹底的に調べてみる?古いサイトとか見つけにくかったりするからな...
0864名無しさん@お腹いっぱい。垢版2023/07/24(月) 18:12:08.01ID:StEAzIXD
>>826
>MMC3版のコードをマッパー142に導入して動作確認

逆も試してみました。全く問題ないようです
0866名無しさん@お腹いっぱい。垢版2023/07/24(月) 19:39:56.22ID:StEAzIXD
>>852
途中開始ページ問題修正版。
kaiser版コードを使用することにしました。
https://www.%61x%66c.net/%75/
4067697
0867名無しさん@お腹いっぱい。垢版2023/07/24(月) 19:45:03.05ID:StEAzIXD
Super Mario Adventures - Hack of Tiny Toon Adventures [NES] 
おすすめ。
なんかTiny Toon Adventures [NES]の動きがマリオ3とそっくりじゃね(意味深)
と話題になり、それで作られたハックロム
0868名無しさん@お腹いっぱい。垢版2023/07/24(月) 20:28:26.95ID:StEAzIXD
>>866
これで考えられるカセット化で発生するバグは全て潰せた気がします。(
画面上部は実機や精度の高いエミュでは少し境界がブレるかも知れませんがMMC3 IRQの仕様です...)
検証してくれる人大募集。
あとはFDS版にもともとあるバグはそのままです。(特にANNSMBのワールドセレクト版の方は
タイトル画面でワールドA-Dにしてマリオが動き出すとクラッシュします。)
あとは通常プレイではあり得ないが、マリオかルイージの変数は$0か$1ですが、FDS版では$2以上にすると
バグった名前と変な色のキャラになりますが、その挙動までは再現されません。
それを再現するにはMMC5(A)が必要。)
0869名無しさん@お腹いっぱい。垢版2023/07/25(火) 13:53:14.51ID:57vlINST
>>868
>画面上部は実機や精度の高いエミュでは少し境界がブレるかも知れませんがMMC3 IRQの仕様です...)
まあMMC3でもSRAM版とかは適切に表示できるようなので、修正は可能でしょう
0870名無しさん@お腹いっぱい。垢版2023/07/25(火) 21:20:35.12ID:57vlINST
>>809 >>811-812
サウンド部分は適切な処置を行えば、割合ゲームの他の部分への影響を与えずに弄ることができます。
で追加のコードやデーターの為にサウンドエンジンを別バンクに移動させることもしばしば行われます。
エンディングの音楽の部分は$6000-$7FFFをバンク切り替えさせる方法が手っ取り速いですが、
他の事にも$6000-$7FFFのバンク切り替えも使う場合に厄介であるうえにシンプルさを損ないます。
そこで、$6000-$7FFFのバンク切り替えを使わずかつ元のサウンドエンジンに手を加えずに対処する方法、
@本体電源ON時に本体RAMにサウンドエンジン用2バイトのポインタを初期化、
Aサウンドエンジンに飛ぶJSR命令の飛び先を適当なROMの空き領域に指定、
Bそこにインダイレクトジャンプ命令[JMP (IM16)]で本体RAMにサウンドエンジン用2バイトのポインタを指定
これでいける筈...
0871名無しさん@お腹いっぱい。垢版2023/07/25(火) 21:29:25.44ID:57vlINST
これでルーイージテキスト表示のみに$6000-$7FFFのバンク切り替えができるぞと思ったところ、
インダイレクトジャンプ命令[JMP (IM16)]を二段活用すれば同様にけるのではないかと思った。
クール&ダーティーな方法ですねぇ
0873名無しさん@お腹いっぱい。垢版2023/08/19(土) 12:26:23.23ID:O7Swcr0W
■夏のつべら第6弾
『視聴者が創りしUNKマリオ2 完全攻略放送』
▽マリオメーカー2/創作ステージ
「SUPER MARIO 2 UNK WORLD」
1-1『デコボコへいげん』~8-4『最終決戦』
36時間放送(12:00~)

ttps://www.youtube.com/live/RxQf-J8qGKw

1以降の配信

ttp://youtube.com/@junchannel
08763136626974e381a7e4bc9ae8a9b1e38197e381abe69da5e3819fe38288垢版2023/09/13(水) 14:27:15.89ID:m5BlIg7i
3136626974e381a7e4bc9ae8a9b1e38197e381abe69da5e3819fe38288
レスを投稿する