■過去スレ
ファミコンのプログラム
http://pc8.2ch.net/test/read.cgi/gamedev/1013696305/
ファミコンのプログラム2
http://pc11.2ch.net/test/read.cgi/gamedev/1135099156/
ファミコンのプログラム3
http://toro.2ch.net/test/read.cgi/gamedev/1214210285/
■関連サイト
MagicKit Homepage
http://www.magicengine.com/mkit/
すずめ愛好会
http://web.archive.org/web/*/http://vsync.org/ns/index.html
ギコ猫でもわかるファミコンプログラミング
http://gikofami.fc2web.com/
わいわいの巣
http://www.geocities.jp/yy_6502/
mck hogehoge
http://takamatsu.cool.ne.jp/dutycycle/
NES info, programs, and demos
http://nesdev.parodius.com/
pgate1@crystal
http://crystal.freespace.jp/pgate1/
cc65 @ wiki
http://www34.atwiki.jp/cc65/
探検
ファミコンのプログラム4
2012/07/29(日) 14:19:03.64ID:a5QeqSA0
539名前は開発中のものです。
2022/03/15(火) 21:29:28.09ID:+prqqqiR ハード側のイメージができないので質問させてください。
mapper 206のCHRバンク切り替えは400byte毎に小分けで切り替えられますが、
市販ゲームのプログラムを覗くと、例えばAのシーンでは$0000-$1FFFまで毎フレーム同じバンクを指定し続けています。
ゲームとして必要なタイミングでのみバンクを切り替えればいいのに毎フレーム同じバンクを指定して負荷ってかからないのでしょうか?
エミュとかでPPUのメモリを覗くとCHA-ROMのデータが$0000-$1FFFに展開されていますが、
これはCPUに命令されたタイミングで1byteずつコピーしているのでしょうか?
メモリに展開?されたなら、CHA-ROMを引っこ抜いてもバンク切り替えが起きない限りグラフィックはバグらなさそうなイメージがあります。
ここら辺が全くイメージできません。
拙い文章で申し訳ございませんがよろしくお願いします。
mapper 206のCHRバンク切り替えは400byte毎に小分けで切り替えられますが、
市販ゲームのプログラムを覗くと、例えばAのシーンでは$0000-$1FFFまで毎フレーム同じバンクを指定し続けています。
ゲームとして必要なタイミングでのみバンクを切り替えればいいのに毎フレーム同じバンクを指定して負荷ってかからないのでしょうか?
エミュとかでPPUのメモリを覗くとCHA-ROMのデータが$0000-$1FFFに展開されていますが、
これはCPUに命令されたタイミングで1byteずつコピーしているのでしょうか?
メモリに展開?されたなら、CHA-ROMを引っこ抜いてもバンク切り替えが起きない限りグラフィックはバグらなさそうなイメージがあります。
ここら辺が全くイメージできません。
拙い文章で申し訳ございませんがよろしくお願いします。
540539
2022/03/15(火) 21:51:26.58ID:+prqqqiR 物は試しとゲーム動作中にCHAROMを引っこ抜いたところグラフィックがバグりました。
エミュではPPUメモリ$0000-$1FFFにコピーされているように見えるけど、
実際のハードでは、メモリは無くPPUとCHAROMのアドレス線が接続されているだけなんでしょうか?
バンク切り替えというのもアドレス線の接続先をコントロールするICに信号を送っているだけなので
仮に毎フレーム同じバンク番号を指定し続けても負荷はかからないと…。
エミュではPPUメモリ$0000-$1FFFにコピーされているように見えるけど、
実際のハードでは、メモリは無くPPUとCHAROMのアドレス線が接続されているだけなんでしょうか?
バンク切り替えというのもアドレス線の接続先をコントロールするICに信号を送っているだけなので
仮に毎フレーム同じバンク番号を指定し続けても負荷はかからないと…。
541540
2022/03/15(火) 22:18:10.46ID:+prqqqiR 連投すみません。
ROM領域と言われるチートコードでは干渉不可な場所と
RAM領域と言われる干渉可な場所があることを思い出しました。
PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。
常にCHA ROMと同期しているイメージな気がしました。
自己解決してしまったと思います。お騒がせしました。
ROM領域と言われるチートコードでは干渉不可な場所と
RAM領域と言われる干渉可な場所があることを思い出しました。
PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。
常にCHA ROMと同期しているイメージな気がしました。
自己解決してしまったと思います。お騒がせしました。
542名前は開発中のものです。
2022/03/15(火) 22:31:36.87ID:AYr/3bBN543名前は開発中のものです。
2022/03/15(火) 23:00:02.57ID:+prqqqiR >>542
お騒がせします。あまり理解は出来て無いと思います。
エミュのメモリビューワでPPUメモリを覗くと、$0000-$1FFFまでずらっと展開されてるので
あたかもCHAROMのデータをPPUがコピーして記憶しているかのように錯覚してました。(エミュ上なので書き換えられるし)
実際のハードでは、PPUが記憶してるとかではなくアドレス線A0〜A12線($0000-$1FFF)がCHAROMに直結してるだけというイメージと理解しました。
悪魔城ドラキュラはPRGからグラフィックを「RAM」にデータをコピーしているというワードを見て気がつきました。
プロアクションリプレイを使ってメモリとかを書き換えて我流で学んで来たため知識がぐちゃぐちゃです。
ROMとRAMの意味から学び直してきます。
お騒がせします。あまり理解は出来て無いと思います。
エミュのメモリビューワでPPUメモリを覗くと、$0000-$1FFFまでずらっと展開されてるので
あたかもCHAROMのデータをPPUがコピーして記憶しているかのように錯覚してました。(エミュ上なので書き換えられるし)
実際のハードでは、PPUが記憶してるとかではなくアドレス線A0〜A12線($0000-$1FFF)がCHAROMに直結してるだけというイメージと理解しました。
悪魔城ドラキュラはPRGからグラフィックを「RAM」にデータをコピーしているというワードを見て気がつきました。
プロアクションリプレイを使ってメモリとかを書き換えて我流で学んで来たため知識がぐちゃぐちゃです。
ROMとRAMの意味から学び直してきます。
544名前は開発中のものです。
2022/03/16(水) 13:34:55.29ID:J5q3FABN CHRROMに直結で良いよ
(CHAではなくCHR)
ROMではなくRAMになってるのもあるけど
(CHAではなくCHR)
ROMではなくRAMになってるのもあるけど
545名前は開発中のものです。
2022/03/20(日) 20:58:52.24ID:i5c4FQLq546名前は開発中のものです。
2022/03/29(火) 22:57:50.51ID:SFxLAwoX >>543
こういう風に繋がっているけど、どのように動作するかイメージわく?
PPUのアドレス線 PA0 〜PA9 → CHR-ROMのアドレス線 A0〜A9 に接続
PPUのアドレス線 PA10〜PA12 → Mapperのチップに接続(バンクレジスタの選択)
PPUのアドレス線 PA13 → CHR-ROMのCEに接続(PPUアドレス $0000-$1fffの時にCHR-ROMの出力が有効になる)
Mapperのチップのバンクレジスタの出力 6bit → CHR-ROMのアドレス線 A10〜A15 に接続
PPUのデータ線 PD0〜PD7 → CHR-ROMのデータ線 D0〜D7 に接続
こういう風に繋がっているけど、どのように動作するかイメージわく?
PPUのアドレス線 PA0 〜PA9 → CHR-ROMのアドレス線 A0〜A9 に接続
PPUのアドレス線 PA10〜PA12 → Mapperのチップに接続(バンクレジスタの選択)
PPUのアドレス線 PA13 → CHR-ROMのCEに接続(PPUアドレス $0000-$1fffの時にCHR-ROMの出力が有効になる)
Mapperのチップのバンクレジスタの出力 6bit → CHR-ROMのアドレス線 A10〜A15 に接続
PPUのデータ線 PD0〜PD7 → CHR-ROMのデータ線 D0〜D7 に接続
547名前は開発中のものです。
2022/03/30(水) 09:45:09.02ID:8uCqZbnF >>546
別人だけど、難しすぎる
別人だけど、難しすぎる
548名前は開発中のものです。
2022/03/30(水) 17:00:46.31ID:k60dhdk1549540
2022/10/02(日) 11:40:37.85ID:jA1jUXrd >>546
今気づきました。ありがとうございます。
あの後、勉強&ファミコンの分かりやすい回路図を見つけて理解できました。
バンク切り替えは、PRG命令でCPUのデータバスとアドレスバスからhi/loが出る→ロジックICが受ける→ロジックICがEPROMのA15等をhiに固定し見たいデータに切り替える。
ファミコンは無いけどROMが複数個で構成されてるタイプであればOEをうまく切り替えて見たいデータに切り替える。
今気づきました。ありがとうございます。
あの後、勉強&ファミコンの分かりやすい回路図を見つけて理解できました。
バンク切り替えは、PRG命令でCPUのデータバスとアドレスバスからhi/loが出る→ロジックICが受ける→ロジックICがEPROMのA15等をhiに固定し見たいデータに切り替える。
ファミコンは無いけどROMが複数個で構成されてるタイプであればOEをうまく切り替えて見たいデータに切り替える。
550名前は開発中のものです。
2022/10/03(月) 00:36:52.02ID:rpanlh78 半年越えのレスで草
551名前は開発中のものです。
2022/12/16(金) 14:34:38.90ID:ehqDzjMY 書けるかな?
552名前は開発中のものです。
2023/02/07(火) 00:00:31.88ID:osuKUvL9 今年はファミコン発売40周年だぞ
7月は何かイベントしないとね
7月は何かイベントしないとね
553名前は開発中のものです。
2023/02/09(木) 23:54:06.26ID:dE2T0xrU PALTEST.NES( http://nesdev.com/paltest.zip)をディスクシステム用fdsに変換しました。
プログラムはc000から少しだけなのでそのままコピペして、nmi等アドレスをdffa~に入れるだけで動くはずです。
実際動かすと、数秒間正常動作するのですが、約5秒後フリーズしてしまいます。
どうしてフリーズしてしまうのか全く分かりません。
原因と対策方法が分かる方ご教示お願いします。
プログラムはc000から少しだけなのでそのままコピペして、nmi等アドレスをdffa~に入れるだけで動くはずです。
実際動かすと、数秒間正常動作するのですが、約5秒後フリーズしてしまいます。
どうしてフリーズしてしまうのか全く分かりません。
原因と対策方法が分かる方ご教示お願いします。
554名前は開発中のものです。
2023/02/17(金) 23:33:48.29ID:hIJVoStd >>553
いろいろ条件不明
その書き方だとダンプ部分をずらしただけ?じゃ全然無理だね
*.nes用のソースコードをそのままコピペで.orgずらして
*.nesファイル作ってくれる簡易アセンブラでアセンブルしたとしても
*.fdsじゃ到底動かないよ
*.fds形式内部のファイル群と開始アドレスなどとブートの仕組み理解しないとね
https://www.nesdev.org/wiki/Family_Computer_Disk_System
block01 *NINTEND○-HVC*等が記載されたディスク情報
block02 ファイル数
block03 ファイルヘッダ(ブートに必要なKY○DAKU-ネームテーブルファイル、CHR、PRG、PRGのセーブデータ)
block04 block03の直後のファイルの実データ
CC65(CA65アセンブラ)用のサンプルコード
Github repository: Simple FDS example for ca65
裏技か
Forum post: Skipping the FDS license screen
いろいろ条件不明
その書き方だとダンプ部分をずらしただけ?じゃ全然無理だね
*.nes用のソースコードをそのままコピペで.orgずらして
*.nesファイル作ってくれる簡易アセンブラでアセンブルしたとしても
*.fdsじゃ到底動かないよ
*.fds形式内部のファイル群と開始アドレスなどとブートの仕組み理解しないとね
https://www.nesdev.org/wiki/Family_Computer_Disk_System
block01 *NINTEND○-HVC*等が記載されたディスク情報
block02 ファイル数
block03 ファイルヘッダ(ブートに必要なKY○DAKU-ネームテーブルファイル、CHR、PRG、PRGのセーブデータ)
block04 block03の直後のファイルの実データ
CC65(CA65アセンブラ)用のサンプルコード
Github repository: Simple FDS example for ca65
裏技か
Forum post: Skipping the FDS license screen
555名前は開発中のものです。
2023/02/21(火) 00:44:39.67ID:G+AkrGuB556名前は開発中のものです。
2024/04/30(火) 18:45:37.49ID:m8GDBD2I hoss
557名前は開発中のものです。
2024/08/19(月) 00:08:59.82ID:ifAbC/51 最近ファミコンのアーキテクチャに興味があるが調べてると面白い構造で使いやすく出来てるな
アセンブラはやっぱ8bitまでだなやる気になるの
アセンブラはやっぱ8bitまでだなやる気になるの
558名前は開発中のものです。
2025/06/30(月) 16:10:33.15ID:GY+zD7Fh ギコ猫でもわかるファミコンプログラミング
6/30でサ終と言っていたfc2がまさかの午前中に終了しやがってサイトの保存が間に合わなかった
誰かバックアップしていたら公開して下さいお願いします
6/30でサ終と言っていたfc2がまさかの午前中に終了しやがってサイトの保存が間に合わなかった
誰かバックアップしていたら公開して下さいお願いします
559558
2025/06/30(月) 16:30:35.41ID:GY+zD7Fh 有名サイトだからか幸いweb archiveで大体捕捉できそう
でももし直近で保存した人がいたら共有していただけると有難いです
無許諾だが後人のためにもミラー立てようかと思っていた
でももし直近で保存した人がいたら共有していただけると有難いです
無許諾だが後人のためにもミラー立てようかと思っていた
560名前は開発中のものです。
2025/07/01(火) 18:48:29.83ID:ZFCLvlKd 内容を今風に作り直してくれ
そこまで難しいことはやってないし、大半は生成AIにお願いすればそれなりに作ってくれる
そこまで難しいことはやってないし、大半は生成AIにお願いすればそれなりに作ってくれる
561名前は開発中のものです。
2025/07/01(火) 21:03:45.94ID:SiXJq6oa >>560
生成AIにお願いしたとして誰が校正・検証するんだよ
生成AIにお願いしたとして誰が校正・検証するんだよ
562名前は開発中のものです。
2025/07/01(火) 21:20:39.17ID:3eAgUt4w >>560
じゃあお前が作り直せよ
じゃあお前が作り直せよ
563名前は開発中のものです。
2025/07/08(火) 00:52:44.65ID:aDLMMm1E wgetで保存してあるけど、今風ってどんなんよ
無許可であまり勝手なことはしたくないな
無許可であまり勝手なことはしたくないな
564名前は開発中のものです。
2025/09/18(木) 03:21:56.61ID:LoL521fE FCやSFCのコーディングに特化した生成AIって無いのかね
565名前は開発中のものです。
2025/09/18(木) 12:10:54.75ID:QUv8TPdV あるよ
566名前は開発中のものです。
2025/09/18(木) 20:09:02.48ID:SuKnJNCX 事実上不可能
567名前は開発中のものです。
2025/09/20(土) 20:29:14.66ID:4ESEdmMhレスを投稿する
ニュース
- 【足立区ひき逃げ事故】意識不明の20代女性が死亡 死者2人に [Ailuropoda melanoleuca★]
- ■緊急地震速報 熊本など [人気者★]
- 足立区11人ひき逃げ・37歳男逮捕 取り調べ中に暴れたり、会話がかみ合わないなど“異常行動“か [Hitzeschleier★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」 [muffin★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★2 [muffin★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★8 [BFU★]
- 【高市悲報】台湾「日本が何言ってるか意味わからん😅」 [834922174]
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪★2
- 【速報高市】在韓米軍司令官「韓国基地から中国を攻撃」 [614650719]
- あんなに「オールドメディア」と叩いてた普通の日本人さんが高市擁護記事と中国批判記事には一切現れない理由、誰にもわからない… [268718286]
- 【モンスト】モンスターストライク総合11/25【クソ浪人立てる時コマンドの補充をしろ🏡】
