ファミコンのプログラム4 (567レス)
ファミコンのプログラム4 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
211: 名前は開発中のものです。 [sage] 2014/05/11(日) 09:26:06.10 ID:owqALoBe 時々音がおかしくなる。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/211
212: 名前は開発中のものです。 [sage] 2014/05/11(日) 14:28:37.07 ID:rGvGrR+8 >>199 タイミングめちゃくちゃ&画面ゴミ&遷移時ちらつき&各PPU系メモリ初期化すらできない こういった初心者はG-NESだけ使ってればいい そもそも仕組みをちゃんと理解していればこういった不具合を起こすことはない 最近うpる人っていつもこういう傾向だけど、わざと間違えてレス貰う釣りなの? 見た目綺麗だけど不器用で挙動めちゃくちゃなソースの人多いね、BGオンする前にVBlank待たずにチラつかせたりとか 最低限NESTECJ.TXTかndox200.zip理解しとけよ ・スプライトメモリの初期化をしていない、Y座標(0xef <= y <=0xff)とするとスプライトはオフになる、Reset:とシーン#1入り口等でやれ ・NMI直後にJSR PadGetやる暇はない、まずSPRDMA。プログラムのあちこちにSPRDMAがばら撒かれているのはおかしい ・シーンチェンジのVRAM初期化から離脱するときに、VBlankを逃してVRAMに書き込んでる ・あなたは当分.macroは使用禁止、これは上級者向け ・シーン#1の初期化でPPU $23be-$23bfへ書き込めていない ・シーンチェンジの瞬間に下記と同じ理由でカクついていると思う シーン#0の初期化の際 inc <BGUPDATED .g2 jmp EndBG もうこの時点で123ライン程度経過している、つまりブラウン管のど真ん中描画中に こんなことをやっている sta VRAMADDR これはゴミがでるね sta SCROLL カクつくね lda #%00011110 ; スプライトとBGの表示をONにする sta PPUCTL1 カクつくね この次の箇所へ提案… パッドはここにおけばいいはず 各〜_playはたぶんここでいい snddrv_playはここでいい rti 各シーン初期化最後の inc <BGUPDATED 直後にNMIオンにして大胆にrtiしちゃえばすこしマシになるかな 根本解決にはならないけど http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/212
213: 名前は開発中のものです。 [sage] 2014/05/11(日) 14:29:39.56 ID:rGvGrR+8 >>199 もう構造的に破綻しているけど この先スクロールゲームにするなら 今の構造のままだともっと破綻する 理想的には バッファに命令語を用意しておき NMI直後に命令語を読み取ってVRAMに書き込む こういうスタイルじゃないとね 構造が悪いからデバッグの難度も上がる 小規模なうちに治さないと シーンが増えると結局テーブルジャンプや間接ジャンプ( jmp [mem] )、こういった関数ポインタを使わないとやってられないと思う、 デカくなったswitch文のアセンブラでの効率のよい実装のことね。 cmp #n の比較地獄をしていたら、デカくなればなるほど後の方は遅くてやってられない。 シーンが続き番号でないなら比較地獄も免れないけど >>198 >>200 LEAPER-3C 謎な奴だよなw IC引っこ抜くよりCADデータある方が時短になるのかw エミュでデバッグできないやつが、実機ROM焼きしてたら、ますます時間無駄にすると思うけど >>201 姑息な手かと思ったら、少し根拠あったのね > Obscure details of OAMADDR http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/213
214: 名前は開発中のものです。 [sage] 2014/05/11(日) 15:05:47.12 ID:/Ki7K6oz ファミコンは画面周りがややこしいからなぁ 自分も昔は資料が少なかったこともあって BGを正常に表示できるようになるまでけっこうな時間を要したな http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/214
215: 名前は開発中のものです。 [] 2014/05/11(日) 17:55:22.28 ID:vl3SyvU7 原理的にはむしろ単純だろ なぜそうなるかの理解がないから理不尽に受け取るだけで http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/215
216: 名前は開発中のものです。 [sage] 2014/05/11(日) 20:28:01.30 ID:FD888ndC >>214 ハードウェア的には単純なので、ソフトウェア側での配慮が必要 という方が適切だと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/216
217: 名前は開発中のものです。 [sage] 2014/05/11(日) 21:03:39.07 ID:QGu2c1mG 惜しいなあ、技術的にはいいこと書いてるハズなのに口調で台無し 必要もなく刺々しい言葉「しとけよ」「やれ」などを使ったかと思えば 「釣りなの?」「と思う」などと子どもじみた表現が混ざる いい歳こいて言葉を選べないって、それはもう恥ずかしい事だよ 書き込む前にきちんと自分の書いた文章、推敲したするべきだよ 自分も、他人も、傷つけないために http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/217
218: 名前は開発中のものです。 [sage] 2014/05/11(日) 21:45:37.94 ID:hyDhkYCi >>199 □ゲームについて 全体的に良い感じにまとまっていると思いました。 ただ、ミス即ゲームオーバーなので、残機制かライフ制にした方が少し長く遊べて楽しいかなと思います。 あと、果物などのアイテムを出して取ればボーナス点が入るとか。 □プログラムについて BG書き換えについては、VBlankを深く考えていない実装になっているので、ここから立て直すのはきついと思いました。 205さんの指摘のように、PPUに転送するデータを一旦バッファに入れてVBlank中に転送するフレームワークを作って移行する方が早いかと。 VBlank中にPPUに転送できるデータ量は限界があるので、BG書き換えの実装部分はそれを配慮した作りに直さないと駄目ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/218
219: 名前は開発中のものです。 [sage] 2014/05/11(日) 23:13:04.21 ID:rGvGrR+8 >>217 ゆとりメンタルなやつは2ちゃん見なきゃいいんじゃない? お前らは延々と即値でスプライトのバッファ初期化して、 100レス前も読めずNMI使えず$2002のポーリングでループ作ってるアホと同類だろ?w 何度同じこと言われても改善しようとしないやつw 前スレの>>700あたりから湧いてる 画面カクついてる時点で釣りかと思ったし 全部のシーンを厳密に検証する気はないから「思う」と書いただけでね こういう書き込みも増えたね >〜エミュで動作しました、バグってました そりゃ画面がカクついていたり、 ソフトリセット、ハードリセット時に挙動が乱れたりするのは誰が見てもバグだよな >>218 つくりはじめたばかりのやつが、まとまってるのか? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/219
220: 199 [sage] 2014/05/11(日) 23:30:36.97 ID:Mnx9Nf8g 皆さんご親切に本当に有難うございます.実際にプログラミングしながら勉強することで, たくさん吸収出来てます!! >>212 親切にソースチェック&修正案ありがとうございます. こういう方が即レスくれるのも,さすがこのスレという感じです. プログラムは,何も考えずに,ここまでとりあえずという感じなので, 皆さんから頂いた意見と,わかったことを入れて,プログラムし直したいとおもいます. >>218 PPUへのアクセスに時間がかかるし,BG描画後にVRAM周りにアクセスするとヤバイ っていうことを知らずに実装していった結果が今のプログラムです. ご指摘のように,バッファに用意→転送にすることと, VBlankの時間を考慮した 実装にしたいです. ソース公開は恥ずかしかったですが,頑張って出して良かったです! 想定よりも,皆さんからレスを頂けて嬉しいです.頑張ります! http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/220
221: 名前は開発中のものです。 [sage] 2014/05/12(月) 00:09:07.80 ID:jaOM61/S >NMI使えず$2002のポーリングでループ作ってる 初心者でこれやらかす奴はたぶん某サイトの影響受けてるだろ あそこは全体的に説明が不足しすぎてるよ 更新も長いこと止まってるし、当てにするのはやめたほうがいい Nesdevの日本語資料理解するだけでもだいぶ変わるし 他にも今ではNES関連資料のサイトなんていっぱいある 特にI/Oレジスタについてはサイトによって書いてあること違ったりするから 一つのサイトに拘らず色々見るといい http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/221
222: 名前は開発中のものです。 [sage] 2014/05/12(月) 00:13:00.90 ID:p9javgur >>220 BG描画後にVRAMアクセスがNGではなくて、 非VBlank中にVRAMアクセスするのがNGなんです。(画面が乱れる) 短いVBlank中にVRAMを書き換えるために、バッファにデータを溜め込んでおいて、 VBlank(NMI)割り込みに入ったらすぐにバッファのデータを転送しろってことです。 あと、もちろんですが、スプライトのDMA転送もVBlank中に行わなければなりません。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/222
223: 名前は開発中のものです。 [sage] 2014/05/12(月) 08:39:01.88 ID:Wk7QwTB6 >>199 みたいな、打たれてもへこたれないヤツは2ch向きだね。ガンバレ! >>217 の意見には同意だけど、そういうヤツもいるのが2chの味なのかなぁ 自分に対して >>213 みたいな反応されたときは、頭来たけどなw 修行が足りない http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/223
224: 名前は開発中のものです。 [sage] 2014/05/12(月) 08:40:54.97 ID:Wk7QwTB6 失礼、>>213 は >>212 の間違いでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/224
225: 名前は開発中のものです。 [] 2014/05/12(月) 10:39:31.18 ID:cuBtqyJP 当時のRAMはデュアルポートではないから読んでいる最中に書き込みはできない 単純な構造だよね? で、画面を描画している最中は(BGもOBJも)データをVRAMから読み出している真っ最中だから そこで無理やりデータを書き込むと、今まで画面描画時に参照していたVRAMのアドレスが置き換えられてしまうため 元の描画処理を継続することができなくなり画面の表示が破綻してしまう 表示周りをいじる際VBlank期間中にアクセスしなければならないのはこういう理由 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/225
226: 名前は開発中のものです。 [sage] 2014/05/12(月) 22:05:47.81 ID:jsal4ZTv キラキラスターナイトのソースを読んでみたい。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/226
227: 名前は開発中のものです。 [sage] 2014/05/13(火) 05:06:48.28 ID:9EaC9IEc 遊び方にパテントはないわけでして http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/227
228: 名前は開発中のものです。 [sage] 2014/05/13(火) 06:22:09.58 ID:T2v6EbAW >>226 絵は卓越しているけど プログラムは大して高度なことはやってないでしょ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/228
229: 名前は開発中のものです。 [] 2014/05/13(火) 19:16:50.69 ID:srI4FW40 RIKIがパソファミの安藤に媚び売っててワロタ ロジックボム組み込んだりする基地外なのを知らんのか近頃のもんは http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/229
230: 名前は開発中のものです。 [sage] 2014/05/13(火) 20:10:15.51 ID:f3qQ/xjJ パソファミ作者はメールでの対応が最悪レベル 自分の非を認めないどころか人を犯罪者扱いしたりするキ○○イ おまけにホンコンのソース盗用疑惑もあるしな ホントどうしようもねぇよ 素人にはこれしかないから売れるんだろうけど それが余計にたち悪いね http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/230
231: 名前は開発中のものです。 [sage] 2014/05/15(木) 00:00:39.68 ID:HB8Kbvvq >>229 >>ロジックボム そういう噂を聞いたから その後にちょっとだけ調べたけど プリンタポートでないI/Oポートに向けて x86のout命令が発せられてたような、ないような windows98なら簡単に発動するのかな より堅牢なOSであるwindows2000にしてたから 効果なしっぽかったけど 近頃のもんが吸出しやROM焼き実機動作させてるのをよく見かけるようになったけど ソソハメさんの名前がなぜあまり挙がらないか理由をよく認識しておいた方がいい>もっと近頃のもんたちへ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/231
232: 名前は開発中のものです。 [sage] 2014/05/15(木) 03:12:19.39 ID:AXeiaTDm 気持ち悪いのが涌いてきたな http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/232
233: 名前は開発中のものです。 [sage] 2014/05/15(木) 05:14:14.01 ID:gGlXRPO1 すみません、吸出しというのは英語では何というのでしょうか?スペルを教えて下さい http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/233
234: 名前は開発中のものです。 [sage] 2014/05/15(木) 08:42:17.70 ID:9cGRzDB1 dump http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/234
235: 名前は開発中のものです。 [sage] 2014/05/20(火) 00:15:36.83 ID:sHOtKBex >>140 宝石のラスタスクロール凄いね。あと、スプライト吹雪は気持ちいいっす このスレッドで新しい演出ジャンルに出会えたのは嬉しいね >>199 土管避けるの難しいけど楽しいね BGの判定は凄いと思う どんどん成長してゆくのが楽しみ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/235
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 332 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s