1 名前:名前は開発中のものです。 mailto:sage [2012/07/29(日) 14:19:03.64 ID:a5QeqSA0.net] ■過去スレ ファミコンのプログラム pc8.2ch.net/test/read.cgi/gamedev/1013696305/ ファミコンのプログラム2 pc11.2ch.net/test/read.cgi/gamedev/1135099156/ ファミコンのプログラム3 toro.2ch.net/test/read.cgi/gamedev/1214210285/ ■関連サイト MagicKit Homepage www.magicengine.com/mkit/ すずめ愛好会 web.archive.org/web/*/http://vsync.org/ns/index.html ギコ猫でもわかるファミコンプログラミング gikofami.fc2web.com/ わいわいの巣 www.geocities.jp/yy_6502/ mck hogehoge takamatsu.cool.ne.jp/dutycycle/ NES info, programs, and demos nesdev.parodius.com/ pgate1@crystal crystal.freespace.jp/pgate1/ cc65 @ wiki www34.atwiki.jp/cc65/
211 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 14:28:37.07 ID:rGvGrR+8.net] >>198 タイミングめちゃくちゃ&画面ゴミ&遷移時ちらつき&各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しちゃえばすこしマシになるかな 根本解決にはならないけど
212 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 14:29:39.56 ID:rGvGrR+8.net] >>197 もう構造的に破綻しているけど この先スクロールゲームにするなら 今の構造のままだともっと破綻する 理想的には バッファに命令語を用意しておき NMI直後に命令語を読み取ってVRAMに書き込む こういうスタイルじゃないとね 構造が悪いからデバッグの難度も上がる 小規模なうちに治さないと シーンが増えると結局テーブルジャンプや間接ジャンプ( jmp [mem] )、こういった関数ポインタを使わないとやってられないと思う、 デカくなったswitch文のアセンブラでの効率のよい実装のことね。 cmp #n の比較地獄をしていたら、デカくなればなるほど後の方は遅くてやってられない。 シーンが続き番号でないなら比較地獄も免れないけど >>197 >>199 LEAPER-3C 謎な奴だよなw IC引っこ抜くよりCADデータある方が時短になるのかw エミュでデバッグできないやつが、実機ROM焼きしてたら、ますます時間無駄にすると思うけど >>200 姑息な手かと思ったら、少し根拠あったのね > Obscure details of OAMADDR
213 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 15:05:47.12 ID:/Ki7K6oz.net] ファミコンは画面周りがややこしいからなぁ 自分も昔は資料が少なかったこともあって BGを正常に表示できるようになるまでけっこうな時間を要したな
214 名前:名前は開発中のものです。 [2014/05/11(日) 17:55:22.28 ID:vl3SyvU7.net] 原理的にはむしろ単純だろ なぜそうなるかの理解がないから理不尽に受け取るだけで
215 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 20:28:01.30 ID:FD888ndC.net] >>213 ハードウェア的には単純なので、ソフトウェア側での配慮が必要 という方が適切だと思う。
216 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:03:39.07 ID:QGu2c1mG.net] 惜しいなあ、技術的にはいいこと書いてるハズなのに口調で台無し 必要もなく刺々しい言葉「しとけよ」「やれ」などを使ったかと思えば 「釣りなの?」「と思う」などと子どもじみた表現が混ざる いい歳こいて言葉を選べないって、それはもう恥ずかしい事だよ 書き込む前にきちんと自分の書いた文章、推敲したするべきだよ 自分も、他人も、傷つけないために
217 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:45:37.94 ID:hyDhkYCi.net] >>198 □ゲームについて 全体的に良い感じにまとまっていると思いました。 ただ、ミス即ゲームオーバーなので、残機制かライフ制にした方が少し長く遊べて楽しいかなと思います。 あと、果物などのアイテムを出して取ればボーナス点が入るとか。 □プログラムについて BG書き換えについては、VBlankを深く考えていない実装になっているので、ここから立て直すのはきついと思いました。 205さんの指摘のように、PPUに転送するデータを一旦バッファに入れてVBlank中に転送するフレームワークを作って移行する方が早いかと。 VBlank中にPPUに転送できるデータ量は限界があるので、BG書き換えの実装部分はそれを配慮した作りに直さないと駄目ですね。
218 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 23:13:04.21 ID:rGvGrR+8.net] >>216 ゆとりメンタルなやつは2ちゃん見なきゃいいんじゃない? お前らは延々と即値でスプライトのバッファ初期化して、 100レス前も読めずNMI使えず$2002のポーリングでループ作ってるアホと同類だろ?w 何度同じこと言われても改善しようとしないやつw 前スレの>>700 あたりから湧いてる 画面カクついてる時点で釣りかと思ったし 全部のシーンを厳密に検証する気はないから「思う」と書いただけでね こういう書き込みも増えたね >〜エミュで動作しました、バグってました そりゃ画面がカクついていたり、 ソフトリセット、ハードリセット時に挙動が乱れたりするのは誰が見てもバグだよな >>217 つくりはじめたばかりのやつが、まとまってるのか?
219 名前:199 mailto:sage [2014/05/11(日) 23:30:36.97 ID:Mnx9Nf8g.net] 皆さんご親切に本当に有難うございます.実際にプログラミングしながら勉強することで, たくさん吸収出来てます!! >>211 親切にソースチェック&修正案ありがとうございます. こういう方が即レスくれるのも,さすがこのスレという感じです. プログラムは,何も考えずに,ここまでとりあえずという感じなので, 皆さんから頂いた意見と,わかったことを入れて,プログラムし直したいとおもいます. >>217 PPUへのアクセスに時間がかかるし,BG描画後にVRAM周りにアクセスするとヤバイ っていうことを知らずに実装していった結果が今のプログラムです. ご指摘のように,バッファに用意→転送にすることと, VBlankの時間を考慮した 実装にしたいです. ソース公開は恥ずかしかったですが,頑張って出して良かったです! 想定よりも,皆さんからレスを頂けて嬉しいです.頑張ります!
220 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 00:09:07.80 ID:jaOM61/S.net] >NMI使えず$2002のポーリングでループ作ってる 初心者でこれやらかす奴はたぶん某サイトの影響受けてるだろ あそこは全体的に説明が不足しすぎてるよ 更新も長いこと止まってるし、当てにするのはやめたほうがいい Nesdevの日本語資料理解するだけでもだいぶ変わるし 他にも今ではNES関連資料のサイトなんていっぱいある 特にI/Oレジスタについてはサイトによって書いてあること違ったりするから 一つのサイトに拘らず色々見るといい
221 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 00:13:00.90 ID:p9javgur.net] >>219 BG描画後にVRAMアクセスがNGではなくて、 非VBlank中にVRAMアクセスするのがNGなんです。(画面が乱れる) 短いVBlank中にVRAMを書き換えるために、バッファにデータを溜め込んでおいて、 VBlank(NMI)割り込みに入ったらすぐにバッファのデータを転送しろってことです。 あと、もちろんですが、スプライトのDMA転送もVBlank中に行わなければなりません。
222 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 08:39:01.88 ID:Wk7QwTB6.net] >>198 みたいな、打たれてもへこたれないヤツは2ch向きだね。ガンバレ! >>216 の意見には同意だけど、そういうヤツもいるのが2chの味なのかなぁ 自分に対して >>212 みたいな反応されたときは、頭来たけどなw 修行が足りない
223 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 08:40:54.97 ID:Wk7QwTB6.net] 失礼、>>211 は >>211 の間違いでした。
224 名前:名前は開発中のものです。 [2014/05/12(月) 10:39:31.18 ID:cuBtqyJP.net] 当時のRAMはデュアルポートではないから読んでいる最中に書き込みはできない 単純な構造だよね? で、画面を描画している最中は(BGもOBJも)データをVRAMから読み出している真っ最中だから そこで無理やりデータを書き込むと、今まで画面描画時に参照していたVRAMのアドレスが置き換えられてしまうため 元の描画処理を継続することができなくなり画面の表示が破綻してしまう 表示周りをいじる際VBlank期間中にアクセスしなければならないのはこういう理由
225 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 22:05:47.81 ID:jsal4ZTv.net] キラキラスターナイトのソースを読んでみたい。
226 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 05:06:48.28 ID:9EaC9IEc.net] 遊び方にパテントはないわけでして
227 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 06:22:09.58 ID:T2v6EbAW.net] >>225 絵は卓越しているけど プログラムは大して高度なことはやってないでしょ
228 名前:名前は開発中のものです。 [2014/05/13(火) 19:16:50.69 ID:srI4FW40.net] RIKIがパソファミの安藤に媚び売っててワロタ ロジックボム組み込んだりする基地外なのを知らんのか近頃のもんは
229 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 20:10:15.51 ID:f3qQ/xjJ.net] パソファミ作者はメールでの対応が最悪レベル 自分の非を認めないどころか人を犯罪者扱いしたりするキ○○イ おまけにホンコンのソース盗用疑惑もあるしな ホントどうしようもねぇよ 素人にはこれしかないから売れるんだろうけど それが余計にたち悪いね
230 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 00:00:39.68 ID:HB8Kbvvq.net] >>228 >>ロジックボム そういう噂を聞いたから その後にちょっとだけ調べたけど プリンタポートでないI/Oポートに向けて x86のout命令が発せられてたような、ないような windows98なら簡単に発動するのかな より堅牢なOSであるwindows2000にしてたから 効果なしっぽかったけど 近頃のもんが吸出しやROM焼き実機動作させてるのをよく見かけるようになったけど ソソハメさんの名前がなぜあまり挙がらないか理由をよく認識しておいた方がいい>もっと近頃のもんたちへ
231 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 03:12:19.39 ID:AXeiaTDm.net] 気持ち悪いのが涌いてきたな
232 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 05:14:14.01 ID:gGlXRPO1.net] すみません、吸出しというのは英語では何というのでしょうか?スペルを教えて下さい
233 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 08:42:17.70 ID:9cGRzDB1.net] dump
234 名前:名前は開発中のものです。 mailto:sage [2014/05/20(火) 00:15:36.83 ID:sHOtKBex.net] >>140 宝石のラスタスクロール凄いね。あと、スプライト吹雪は気持ちいいっす このスレッドで新しい演出ジャンルに出会えたのは嬉しいね >>198 土管避けるの難しいけど楽しいね BGの判定は凄いと思う どんどん成長してゆくのが楽しみ
235 名前:199 mailto:sage [2014/05/27(火) 16:46:17.78 ID:Yj5iT5NZO] 頂いた修正案をもとに「まずSPRDMA」にして(PAD情報ゲットも指定の場所に移した), また,プログラム中で何回もSPRDMAしてしまっていたのを削除しました. 実機でのスプライト飛び散り表示はなくなりました. ただ,シーン切替時のがたつきや, BGのミラーリングの問題で,裏で画面更新していけないなどの構造欠陥などは 修正していないので,またまとまったらご報告させてください.
236 名前:140 mailto:sage [2014/05/28(水) 20:00:45.64 ID:pcO3WytB.net] ジョイパッドの読み取りルーチンをリファクタリングしたら結構コンパクトになった。 6502のアセンブラは奥深い。 Joypad_Update: lda #$01 sta $4016 lsr a ; same as lda $00 & sec sta $4016 ror a ; same as lda $80 & clc sta <JOYPAD sta <JOYPAD+1 .1 lda $4016 and #$03 ; clc sbc #0 ror <JOYPAD lda $4017 and #$03 ; clc sbc #0 ror <JOYPAD+1 bcc .1 rts >>234 ありがとうございます。
237 名前:140 mailto:sage [2014/05/28(水) 20:07:39.22 ID:pcO3WytB.net] あ、 sta <JOYPAD ror a ; same as lda $80 & clc sta <JOYPAD+1 として、JOYPADには$00入れないと不味いね。
238 名前:名前は開発中のものです。 [2014/05/29(木) 00:32:25.75 ID:Ix+yqrZv.net] >>237 (clcと)sbc #0をcmp #1にすればsta <JOYPADは不要
239 名前:140 mailto:sage [2014/05/29(木) 01:07:17.19 ID:Lo1UVUXb.net] >>238 ああ、確かに。さらに小さくなりました。 ありがとうございます。
240 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:11:42.02 ID:Wpb6i0Ha.net] RevolvingGemsのゲーム本体部分が出来ましたので公開します。 ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems070.zip 残りはタイトル画面と遊び方画面を実装して終わる予定。
241 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:35:20.41 ID:EpTIlg4F.net] すげー
242 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 23:51:21.70 ID:78Tpkbjc.net] 商用レベルのできだと思う。 気になるのは、連鎖がどんどん発生しやすすぎではないのかなと
243 名前:名前は開発中のものです。 mailto:sage [2014/06/05(木) 01:19:37.09 ID:9NxYghum.net] >>242 連鎖しやすいのは、6方向に対して6種類の駒しかないので 仕様上、確率的につながり易いのが原因です。 駒の種類を増やせれば良いのですが、パレットが足りないw 最初は3個つながったらで実装していたのですが、 あまりにも連鎖が続くので4個にしています。 それでも消せなくなることが無く延々と続けられるので、時間制に逃げました。 作って思ったのは、ぷよぷよの仕様は絶妙なバランスなんだなぁと。
244 名前:名前は開発中のものです。 mailto:sage [2014/06/05(木) 23:11:37.79 ID:hfWG3l/O.net] 追加された音楽がスタートで変更できるのは、個人的にうれしいですね! 後、セレクトボタンはどんな効果があるのでしょうか?(効果音だけ?)
245 名前:131 mailto:sage [2014/06/06(金) 19:17:42.85 ID:5n3Zcu9W.net] 131です。あの後、 いろいろ注意深く書き込みを見ていたのですが 人に意見されるってすごく大事だと思いました。 ちなみに、cc65でオセロとShootingGameSampleを作ったのと、 nesasmでブロック崩しを作ったのも 自分です。 今までは自分はチキンで人に意見言われるだけで、 むっつりと黙っていましたが、これからは もっと能動的に動きたいです。 ファミコンのブロック崩しをソース付きで晒すので 汚いし、ロジック的におかしいところばかりですが、 見てやってください。 僕はカービィやマリオ、くにおくんのファミコン少年の一人の つもりなのでファミコンは、ホント好きですし、このスレッド を最初から見ています www1.axfc.net/u/3252687.zip
246 名前:131 mailto:sage [2014/06/06(金) 21:24:59.35 ID:5n3Zcu9W.net] こんな事書き込みたくて書き込むわけじゃないですけど、 ファミコンの正常動作って何ですか? どうすれば正常動作っていうんですか? いつまにか、このスレッドは本物のROMと同じように動かす為に努力してる 人たちを称え、褒めてきました。 正常動作って定義がどこにあるかはファミコンで動作すれば分かるんじゃないですかね。 それ以外を異常動作というなら、エミュレータはほぼ全て異常動作ですよ。
247 名前:名前は開発中のものです。 mailto:sage [2014/06/06(金) 22:02:30.07 ID:4Zl9JWw3.net] >>243 始まった瞬間操作する前に勝手に連鎖するってのだけでも どうにかならないかな 初期配置のみパターンで持つとか
248 名前:名前は開発中のものです。 mailto:sage [2014/06/06(金) 22:51:57.22 ID:kdjIsC0c.net] >>246 そうですよエミュは異常動作ですよ 実機で動かないのを言い訳してるだけにしか聞こえませんね
249 名前:131 mailto:sage [2014/06/07(土) 03:42:43.36 ID:hwRmu2MG.net] 本当に実機で試したのか知りたいですが、 自分の言いたい事は実機で動かない事の言い訳じゃなくて、 ファミコンのプログラミングが1つの古代技術でそれが通用するのはあくまでファミコンのみ という事なんですが**が素晴らしいとか**の技術は優れているとかのある意味 マニアックな話の流れになっているというか、 ぶっちゃけ、自分の作ったファミコンゲームは技術的には全然優れてないので、 優れた技術を持った人たちに憧れたみたいなところがあります。
250 名前:131 mailto:sage [2014/06/07(土) 03:52:27.88 ID:hwRmu2MG.net] **には、ラスタースクロールやスプライトダブラー、 FFの高速スクロール、BGの高速書き換え、パレットアニメーション を入れてください。
251 名前:131 mailto:sage [2014/06/07(土) 09:33:01.78 ID:hwRmu2MG.net] cc65の作ったやつは(REVERSI,SHOOTING GAME SAMPLE)動く自信がないですが、 nesasmで作ったやつも(IWA WO OTOSE,BLOCK)動かないんですかね。
252 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 10:52:19.34 ID:0OqTmEOh.net] >>244 スタートとセレクトは、サウンド系の開発用にテストできるように追加していた機能で 今回スタートを少し改良して選曲出来るようにしました。 セレクトは、効果音を作る時以外は意味を成さないので、次の完成版では削除する予定です。
253 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 11:09:37.37 ID:0OqTmEOh.net] >>247 初期配置をパターンで持つのは、バリエーションを作るのが大変なので、 採択したくないですね。 代わりに内部で連鎖が止まるまで処理を繰り返して、 そこからゲーム開始するよう実装してみます。
254 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 11:18:00.96 ID:0OqTmEOh.net] >>249 私も最終目標は実機で動作させてみることなのですが、 そこまでの道が遠い状態です。 一応、動作させるための目処は立っていて、材料とかもそろえたのですが ROMライターから自作せねばならないため、いつになるかわかりません。 実機で動作したのを確認して初めて、ファミコンのプログラムを作ったと、 胸張って言えるかと個人的には思っています。
255 名前:131 mailto:sage [2014/06/07(土) 14:24:42.36 ID:HAL7UNXv.net] >>254 ネットカフェから書き込みです。 そうですね。ファミコンの実機で動いたら感動しますし、 実機で動かしたいです。 ファミコンの実機は持っているのですが、ROMライターや EEPROM、同軸ケーブル、ビデオデッキ、自分用のテレビ
256 名前:131 mailto:sage [2014/06/07(土) 14:27:25.94 ID:HAL7UNXv.net] など問題が山積しているので、現段階では難しいです。
257 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 15:48:51.46 ID:0OqTmEOh.net] >>245 一通り読んでみました。 .bank 0 ; バンク0 .org $0300 ; $0300から開始、スプライトDMAデータ配置 Paddle00_Y: .db 0 ; スプライト#1 Y座標 Paddle00_T: .db 0 ; スプライト#1 ナンバー WRAM領域の$0300にデータ定義の記述があるが、 ビルド出来ているのであろうが、記述としてはまぎわらしいので Paddle00_Y = $0300 Paddle00_T = $0301 と記述した方が良い .memclearloop sta [$00],y iny cpy #255 bne .memclearloop 254までしかループしていない。cpy #255が不要
258 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 15:49:29.84 ID:0OqTmEOh.net] >>257 続き VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。 パッドとボールの座標と、スプライトの座標は別に持っておき、 パッドとボールの座標をスプライトデータに反映するにように 実装した方が、プログラムの書き方としては綺麗だと思う。 VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして VRAMを書き換えるのはやめた方が良いと思う。 nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると 画面がちらつくのでは? jsr Pad_Check ソース上に Pad_Check が見つからない。 lda #0 ;これはROMなので出来ないので、こうする sta STAGE1,x ;〃 ROMに0を書き込む意図がわからない。 VRAM書き込み先のアドレスをブロックの座標から 計算しているが、ブロックの配置位置が有限個であれば 表引きで求める方法もある。 (Y座標だけでも表引きにすると処理が結構簡素化します)
259 名前:131 mailto:sage [2014/06/07(土) 17:02:04.46 ID:hwRmu2MG.net] ギコ猫さんのところで、覚えた技術ばかりという理由は 英語が出来ないという理由なのですが、これは理由になってないみたいですね。 @英語が出来ない ↓ A英語の技術情報が分からない ↓ B日本語だけの技術情報に頼る の無限ループなので、英語を中学英語から やり直したいと思います。 ちょうど良い本がアマゾンで見つかったので ttp://www.amazon.co.jp/%E4%B8%AD%E5%AD%A6%E3%83%BB%E9%AB%98%E6%A0%A16%E5%B9%B4%E5%88%86%E3%81%AE%E8%8B%B1%E8%AA%9E%E3%82%92%E7%B7%8F%E5%BE%A9%E7%BF%92%E3%81%99%E3%82%8B-CD%E4%BB%98-CD-BOOK-%E5%B9%B3%E5%B1%B1/dp/4860641663 あと、スプライトの定義のその定義の仕方は知らなかったです。 でも、ある意味スプライトDMAのアドレスを考えれば当たり前なんでしょうけど。 iny cpy bneの間違いは、間違えて覚えていました。 ギコ猫さんとこはパレットの読み込み時に ldx #0 .loop lda ourpal,x sta $2007 inx cpx #32 bne .loop みたいにやっていたのですがよく考えれば、0-31までを読み込んでいたんですね。 これは、引き算の小学一年レベルの間違えですね。差がNの時、合計数は、N+1になるという事なんでしょう。 つづく
260 名前:131 mailto:sage [2014/06/07(土) 17:29:43.93 ID:hwRmu2MG.net] >>257-258 VBlankとゲーム本体処理を分離ということはNMIを使うって事ですね。他の方も言ってましたが スプライトと実際の座標を別に持つというのは、以前やったことがあるのですが、クソ汚いソースになってしまいましたが、少しだけわかってきた気がします。こんな感じですかね。 >>261 に書きます。 VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。 Pad_Checkは、他の方が作られたソースなので、あえて外しました。ROMに0を書き込んだ意図は、恐らくないです。気づかないまま放置してしまいました。 ブロックの配置位置が有限個ならテーブル化できるんですか?今度やってみます。 アドバイスありがとうございます!!ホント助かりました。知らなかった事や理解出来なかった事が分かってよかったです。
261 名前:131 mailto:sage [2014/06/07(土) 17:30:36.51 ID:hwRmu2MG.net] .org $300 ;データ定義 Sprite: Sp00_Y: $0300 Sp00_T: $0301 Sp00_S: $0302 Sp00_X: $0303 01_Y: $0304 01_T: $0305 01_S: $0306 01_X: $0307 ... ldx #0 .SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する lda Sprite+0,x sta Real_Y,x lda Sprite+3,x sta Real_X,x inx inx inx inx cpx #(4*4) ;4つのスプライトを代入する bne .SetObjAxis2RealAxis
262 名前:131 mailto:sage [2014/06/07(土) 17:32:41.18 ID:hwRmu2MG.net] 間違えました。 .org $300 ;データ定義 Sprite: Sp00_Y= $0300 Sp00_T= $0301 Sp00_S= $0302 Sp00_X= $0303 01_Y= $0304 01_T= $0305 01_S= $0306 01_X= $0307 ... ldx #0 .SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する lda Sprite+0,x sta Real_Y,x lda Sprite+3,x sta Real_X,x inx inx inx inx cpx #(4*4) ;4つのスプライトを代入する bne .SetObjAxis2RealAxis
263 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 17:38:24.41 ID:YYdbZPoT.net] 英検三級、即ち中学卒業程度の英語力とgoogle翻訳があれば十分。 海外サイトの情報も何も全部理解する必要はないし、図、表、技術用語さえわかれば殆ど問題ない。 それに今では日本語資料も充実していると思うし、あえてギコ猫のところだけを参考にすることもないだろう。 初心者のうちは他人が作ったソースを見てよく理解し、そこからいろいろ学ぶのもいいだろう。 公開されているソースによっては丁寧に説明が細かく書いてあるものもある。
264 名前:131 mailto:sage [2014/06/07(土) 18:21:24.08 ID:hwRmu2MG.net] >>263 英検3級は持ってますが、かなり文法が怪しいです。単語に関しては最も初期の「萌えたん」を P-StudySystemを自作問題集を作って覚えた程度です。 1つ1つの単語が読めても何を言いたいのかわからないので、今持っているくもん中学英文法 という本をゆっくりと確実にやる事にします。 初心者というにも、初めてから時間がかかり過ぎてる面はあるのですが、 恐らく他の方の作ったソースを断片的にしか分かっていないというのはあると思います。 google翻訳に関しては、使うブラウザがchromeなので、標準で使えます。
265 名前:名前は開発中のものです。 mailto:sage [2014/06/07(土) 19:18:59.23 ID:2SsDMldn.net] >>252 セレクトは効果音テストだったのね。疑問解消しました ソフトの完成楽しみにしてます
266 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 02:10:46.27 ID:CkZRo6BG.net] >>260 > VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。 VBlankの意味を理解していない節があるので、まずは、ブラウン管の話からします。 機知の情報かも知れませんが聞いてください。 ブラウン管の裏から電子銃で電子を飛ばし、ブラウン管表の蛍光面を発光します。 真っ直ぐ飛ばしただけでは、ただの点なので、磁界をかけて電子が飛ぶ方向を変えて 左上から右へ水平方向に線を書くように発光させ、再び左端に戻ってさっきより ちょっと下の位置で同じように水平方向の線を発光させます。 これを画面下まで繰り返して、再び左上に戻ります。 これをすばやく繰り返すことで、ブラウン管の蛍光面全体に画像を表示します。(ラスタスキャン方式) 電子の飛ばし先が右端から左端に戻る期間を水平帰線消去期間(HBlank期間)、 下端から上端に戻る期間を垂直帰線消去期間(VBlank期間)と呼びます。
267 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 02:12:41.17 ID:CkZRo6BG.net] >>266 続き VBlank期間は、一瞬で戻るのではなく、NTSC(日本のアナログ放送の信号規格)の場合 20本分の横線を描くぐらいの時間があります。この間、電子銃から電子は飛びません。 非VBlank期間は、ファミコンのPPUは画像の信号を作るため、 CHR-ROMからパターンを読み込んだり、VRAMからネームテーブルや 属性情報を読み込んでいて、PPUの信号線(PPUバス)を占有しています。 VBlank期間は、PPUが画像の信号を作らないので、PPUバスは開放されており CPUはPPUを介してPPUバスにつながっているVRAMにアクセスできます。 「VBlank待ちの直後にVRAMの書き換えを行え」というのは、PPUが映像信号を 作るのに邪魔にならないタイミングでVRAMにアクセスしなさいということです。
268 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 02:53:09.19 ID:CkZRo6BG.net] >>267 続き 非VBlank期間中にCPUがVRAMにアクセスできる方法があります。 PPUレジスタ $2001 のbit3とbit4を0にして、BGとスプライトを非表示にすることです。 画像の信号を作るためのPPUのCHR-ROMやVRAMへのアクセスが止まるので PPUバスが開放され、CPUはPPUを介してVRAMにアクセスできます。 代わりに、画面に何も表示されない箇所が現れることになります。 BGとスプライトを非表示にするタイミングにばらつきがあると、 画面がちらつく現象となります。 > VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。 ファミコンの設計による制限であるため、仕様と言えば、その通りです。
269 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 02:54:30.27 ID:CkZRo6BG.net] >>268 続き 同世代の他のパソコンとかでは、表示中にもCPUからVRAMにアクセスできるものが あるのに、ファミコンで出来ないのはなぜ? →画面表示用の信号線とCPUからVRAMにアクセスする信号線が別になっているためです。 VRAMもデュアルポートメモリという、アクセスの口が2つある特別なRAMを使っています。 ファミコンのWRAMやVRAMに使われているのは、アクセスの口が1つのシングルポートメモリです。 →信号線も増えるため、基板上の配線が複雑化し、基板のサイズや層が増えてコスト増になる可能性があります。 ファミコンのVRAMにデュアルポートメモリを使わなかったのはなぜ? →コスト削減のためです。 一般的にアクセスポートが余分にあるデュアルポートメモリの方がシングルポートメモリより部品代が高くなります。 また、WRAMとVRAMに同じ部品を使うことで、大量に発注し部品メーカーに単価の引き下げを交渉できます。 とりあえず、わかりやすく説明したつもりですが、間違いなどがありましたら フォローお願いします。>All
270 名前:131 mailto:sage [2014/06/08(日) 06:24:49.26 ID:RIyNgnKh.net] >>266 VBlankに関しては、「ファミコンの驚くべき発想力」という本の78ページ前後に 記述がありました。が、>>266 さんの説明の方がより詳しく説明しているように 見えます。 HBlank期間のHはホライゾン?(水平)の略でしょうね。VBlankのVは、バーチカル(垂直) の略な気がします。 NTSCとPALの違いも知らなかったのですが、日本は、NTSCだったんですね。 VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由が あったんですか。 非VBlank期間中にCPUがVRAMにアクセスできる方法、これは知っていましたが、 欠点は知りませんでした。
271 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 07:01:43.99 ID:Jc27w7xL.net] Horizontal Blankingですかね かつてはPPUの特定のバージョンのみで発生する不具合なんてのもありました スクロールレジスタがある値の時、VRAMアドレスレジスタを触ると背景色が化けるというもの・・
272 名前:131 mailto:sage [2014/06/08(日) 10:50:38.68 ID:RIyNgnKh.net] PPUの特定バージョンというのが分かりませんが、製造されたファミコン本体 ですか?それともエミュレータか何かですか? スクロールレジスタは、$2005の二度書きレジスタですよね。
273 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 15:26:42.07 ID:25kxI5vs.net] RPGやなんかでフィールドから街へフィールドから戦闘への場面変更で一旦ブラックアウトするのは 画面初期化して書き直す時間を稼ぐためでもあったんだろうか?
274 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 15:31:42.31 ID:Eog1TIRJ.net] 製造ロットによるがファミコンの中には2つのカスタムLSIが入っている。 一つはRP2A03というもの もう一つがRP2C02というもの。 前者がCPUとAPUやI/Oポート周りで、後者がPPU。 PPUがRP2C02なのはNTSC出力のものだけで、PALならRP2C03、RGBならRC2C05など。 型番の後に続くアルファベット(例:RP2C02EのE)がバージョンを表している。 特定バージョンというか、初期型に不具合が多かった。 ちなみに製造後期になるとデコーダやインバータも1チップのカスタムLSIにまとめられる。 でもなぜかSRAMがSOPからDIPに戻ってる。入手先が限られてきたのかな?
275 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 17:20:23.01 ID:2cLvFL4/.net] >>273 スクロールは基本的にネームテーブルを2枚とも使うので 表示されていない方を裏画面として使うのはちょっとめんどくさい だから場面転換時には画面表示を一旦オフにする必要はあるけど 画面全体を書き換えるにしても数フレームだからほぼ一瞬で終わる わざわざ時間稼ぎしなければならないほどでもないので フェードなりの画面効果は演出を目的としてると思っていい
276 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 18:14:36.81 ID:QSuHGJdX.net] >>269 同世代のパソコンなどのVRAMはシングルポートのDRAMだよ CPUをウェイトで止めたり、DMAで勝手にCPUが止まったり、アクセスするタイミングを 工夫して見かけ上同時に読み書き出来るようにしてあったり、VDPが調停してくれたり 色々あるけども
277 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 20:16:46.77 ID:p43hB49G.net] >>245-246 名乗り出なくてもバグだらけのキ○ガイプログラムだからすぐわかるよ。 人の言うことを聞かないで数年間NMI使えないで、いつも同じバグ出して、「正常動作の定義は?」って逆ギレ。愚痴キ○ガイ消えてくれ。 ・あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ ・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら lda #0 ;これはROMなので出来ないので、こうする sta STAGE1,x ;〃 ・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ 誤 lda APU_REG0_DUTY_875 誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複! 誤 ora APU_REG0_FIX_ON 正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON ) ・ 誤 lda APU_REG1_FRQCHG_ON 正 lda #APU_REG1_FRQCHG_ON ・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。 lda なんたら cmp #0 beq または bne ・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。 今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
278 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 20:24:54.45 ID:p43hB49G.net] NMI使えない、各種メモリやレジスタの初期化していない奴って ギコ猫の前半章のコピペ&拡張だったんだな 後半章ばかり見てたから原因がわからなかった>>220 言い訳にもならないけどね 他人のソース調べればわかることだから 後半章のソースも問題あり >>270 指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの? 「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」 (レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。 >>273 ゲームによる。 特にCHRがRAMでドラクエVやWのようにROM容量がきつくて圧縮されたゲームは遅い。 数10フレームかかる。 エミュのパレットをハックしてネームテーブルビュワー見ると展開のスピードを見やすい。 ・戦闘画面に移行するとき CHRのパターンテーブルがRAMな場合は普通に書き換えるだけで時間がかかる。 書き換える前にPRG内の画像圧縮を展開するだろうからもっと時間がかかる。 ・マップ画面に移行するとき マップとマップチップの展開に時間がかかる 市販のゲームは限られたRAMやROMのスペースで展開と転送をこなさなければならず 我々が専用のルーチンで高速転送するのとはわけが違う場合もある 全部ROMで持ってるゲームならもっと速くて10フレーム程度かな
279 名前:131 mailto:sage [2014/06/09(月) 18:51:10.28 ID:Sx48Gggw.net] >>277 NMIは使わなかったのは、確かにギコ猫のコピペだからと使い方を知らないからです。 いろいろ問題があったのは、事実ですし、バグがあったのも事実です。 何と言ったら良いか分かりませんが、ガッカリさせてすみませんでした。 みなさん、wという笑いや嘲笑の意味の文字を使っていないので、自分の為を思って 書き込んでいるのが見て取れます。 >>あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ どうもアドバイスありがとうございます。 >>・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら >>lda #0 ;これはROMなので出来ないので、こうする >>sta STAGE1,x ;〃 ROMは書き込めないということは知っていましたが、放置したバグの結果であることは この前言ったはずです。 >>・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ >>誤 lda APU_REG0_DUTY_875 >>誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複! >>誤 ora APU_REG0_FIX_ON >>正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON ) ありがとうございます。どうしてボタンを押すと変な音なのか分かりませんでした。 何か原因があるとは思っていましたが何が原因かは全くわかりませんでした >>・ 誤 lda APU_REG1_FRQCHG_ON >>正 lda #APU_REG1_FRQCHG_ON これもありがとうございます。 つづく
280 名前:131 mailto:sage [2014/06/09(月) 18:53:26.51 ID:Sx48Gggw.net] >>・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。 >>lda なんたら >>cmp #0 >>beq または bne これは言えてますね。単純な頭なので、単純に考えていました。 >>・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど はい、他人のソースを使いました。 >>パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。 >>今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。 えーとこれも失敗してしまいましたね。ファミコン開発は思ったより難しいんですね。 >>278 :名前は開発中のものです。:2014/06/08(日) 20:24:54.45 ID:p43hB49G >>NMI使えない、各種メモリやレジスタの初期化していない奴って >>ギコ猫の前半章のコピペ&拡張だったんだな >>後半章ばかり見てたから原因がわからなかった>>220 はい、そうです。ギコ猫の前半章の主に9章のコピペです。 >>言い訳にもならないけどね >>他人のソース調べればわかることだから 他人のソースを調べるという事がどんなに重要か分かりました。 >>後半章のソースも問題あり >>270 >>指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの? >>「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」 >>(レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。 ”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。
281 名前:131 mailto:sage [2014/06/09(月) 18:55:00.34 ID:Sx48Gggw.net] >>236 さんのソースではなく、ネット上に公開されていたソースを使いました。
282 名前:131 mailto:sage [2014/06/09(月) 18:57:30.62 ID:Sx48Gggw.net] 変数に >>・ 誤 lda APU_REG1_FRQCHG_ON >>正 lda #APU_REG1_FRQCHG_ON の違いって何ですか?
283 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 20:17:24.32 ID:dEpln6L7.net] 実機で検証してくれたことに対して >本当に実機で試したのか知りたいですが って何気に失礼だよなこいつ
284 名前:266 mailto:sage [2014/06/09(月) 20:51:16.15 ID:oKltYKig.net] >>280 > ”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。 131さんには申し訳ないが、 まずは、WikipediaでCPUの割り込みについて勉強してきた上で ttp://ja.wikipedia.org/wiki/%e5%89%b2%e3%82%8a%e8%be%bc%e3%81%bf_(%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%82%bf) 1) NMIとVBlankの違い 2) ファミコンのプログラミングでNMIとVBlankを混在しても話が通る理由 3) .org $FFFA .dw 0 .dw Start .dw 0 というソースを見た他人が呆れる理由 を、自分なりの理解や考えで説明してもらえるかな。
285 名前:131 mailto:sage [2014/06/09(月) 21:16:45.44 ID:Sx48Gggw.net] 言い訳になっちゃうかわかりませんが、できたら明日の朝に書き込みます。 ホント自分は基地外なのと、頭が痛いし熱いのでこのままほおっておくと 風邪をこじらすので、すみませんが、失礼します。 リアルが充実してる人たちがうらやましいです。
286 名前:266 mailto:sage [2014/06/09(月) 21:30:37.71 ID:oKltYKig.net] >>285 別に急がなくてもいいよ。その代わり自分でちゃんと考えること。 体お大事に。
287 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 21:32:44.17 ID:fvy3sA+P.net] 頭の悪い高校生なんだから察してやれよ こいつ高校の名前を自分から暴露するような奴だぞ しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに 色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ
288 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 21:38:04.12 ID:dEpln6L7.net] 自分の理解不足を棚に上げて正常動作の定義がおかしいなどと言い張るのは 自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな 近所でネコの惨殺死体がなければいいけど
289 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 03:34:36.85 ID:OhR24Wq5.net] 多くのエミュレータの再現目標は「市販ゲームが動作すること」であって 不完全なプログラムが「実機と同じように動作しない」というレベルでの再現には至っていません ファミコン程度の規模であっても完全再現するエミュレータはいまだに存在していません たとえばファミコンでは電源投入時にRAMの内容が不定であり すべての市販ソフトでは確実に動作させるために必ずRAMを上書き消去するなど、必ずそれを前提とした実装がされています しかしエミュレータの中には通電直後のRAMの初期値が&H00に設定されているものがあり 初期値が何であれRAM内容を消去するように実装されている市販ゲームは問題なく動作しますが RAMの初期値が&H00になっているものであるとして組まれた不完全なプログラムだと そのエミュレータでは動作するが実機では意図した動作をしないという問題に陥ってしまいます 同様ににVBlank期間が実機より長めに設定されているエミュレータも存在しています VBlank期間が長いことで市販ゲームを動作させることに影響はありませんが そのエミュレータ固有のVBlank期間を基準として作成された自作プログラムは 実機上だとプログラマの意図通りの動作をしないことになります このようにエミュレータ上のほぼすべての挙動において、実機ほどシビアではなく動作してしまう方向に緩く設計・再現されているため 実機の挙動を意識せずにエミュレータを基準として作成された自作プログラムの多くは 結果として実機で動かないものになってしまいます
290 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 03:38:20.96 ID:OhR24Wq5.net] マッパーが電源投入時に選択するバンクですが 通常、実機ではハードワイヤードされている最終バンク以外の選択可能バンクは第1バンクが選択されるケースがほとんどですが 多くのエミュレータはなぜか先頭から順番通り昇順に選択されます 市販プログラムは必ず初期バンクを設定するように実装されているため問題なく動作しますが バンクの並びをアテにした不完全なプログラムはエミュレータでは動くが実機では動かないというケースが起こります >>240 のプログラムはCHRバンクの初期設定がされていないので CHRバンクが未設定でも順並びに選択されるようなエミュレータでは問題なく動作しているように見えますが 実機だとスプライト側のバンクがすべてバンク0になっているので、宝石落下時のスプライトがBG用のCHRで表示されてしまっています
291 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 05:50:34.76 ID:DX+Q254R.net] 初期化処理って重要なんだなぁ
292 名前:131 mailto:sage [2014/06/10(火) 07:44:01.93 ID:rVY6XcCX.net] >>287 :名前は開発中のものです。:2014/06/09(月) 21:32:44.17 ID:fvy3sA+P >>頭の悪い高校生なんだから察してやれよ >>こいつ高校の名前を自分から暴露するような奴だぞ >>しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに >>色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ 以前チャタリングに関して質問したり、ネームテーブルが固定画面で960もあるから どうやって書き込むのかと質問した者でもあるのですが、それではマズイんですか。 あと、これはおかしい話なんですが、このスレッドのパート1からROMってました。 もう10年も前の話ですよね。 >>288 :名前は開発中のものです。:2014/06/09(月) 21:38:04.12 ID:dEpln6L7 >>自分の理解不足を棚に上げて正常動作の定義がおかしいなどと言い張るのは >>自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな >>近所でネコの惨殺死体がなければいいけど 猫や犬は可愛いので、そんな事しません。小さい子供に馬鹿にされても黙ってしまうような 性格なので。あと、その時は、自分でも実力が足りない自覚が無かったんです。 逆ギレ云々言った人たちには悪いですが、切れたのは事実ですが、本音と建前を 使い分けるのが日本人の美徳じゃないですかね。 そもそも、逆ギレと決めつけるあたり、あなたたちは 叱ったのではなく、怒ったと考えてよろしいでしょうか。 >>284 途中ですみませんが、 1)NMIは、ハードウェア割り込みの一種でマスク不可能な割り込み、 VBlankはブラウン管の電子銃が下端から上端に戻る際の割り込み。
293 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 08:52:45.01 ID:FVxA7Fkb.net] NMIとVBlの正確なタイミングが分からないんだよな。 同時だと動かない市販タイトルがある。
294 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 11:40:26.64 ID:CuFktdyJ.net] 10年もこのスレ見ててそのレベル・・・そして技術資料すら理解できない英語力・・・ 最早かわいそう過ぎて同情するわ・・・
295 名前:131 mailto:sage [2014/06/10(火) 12:27:03.05 ID:21YAZMo1.net] 他のパソコンから書き込みです。 なんというか、僕が素直じゃなくてしかも怒りっぽくて 先人の知恵を学ばないという姿勢が悪いと思っています。 低能という言葉がありますが、まさに自分がそうだと思っていますよ。 自他ともに認める低能です。ファミコンのCPUより遅い動作周波数 なので。>>246 は撤回します。まことにすみませんでした。 ごめんなさい
296 名前:131 mailto:sage [2014/06/10(火) 18:17:23.08 ID:rVY6XcCX.net] >>284 2) VBlankに入った時に必ずNMIの割り込みが訪れるからでしょうか 3) 本来ならばメインループにNMIを使うべきだからでしょうか VBlankにポーリング?という言葉を初めて知りました。
297 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 22:38:25.24 ID:iI+cGjJO.net] >>245 ところで NES Assembler (v3.21, 2005/04/09, Denki Release) これどこで手に入れたの? かなりレアなバージョンぽくて見つからない。 RAMの初期化、スプライトメモリの初期化 以前誰かに指導してるでしょ、あちこちの他人ソースでも示されているし スプライトONにしているデモプログラムでスプライトメモリ初期化してないのは論外なんだよ だからG-NESのスプライトメモリビュワー使えって 未初期化メモリにアクセスしたら他の言語のコンパイラは警告出すでしょ 逆にファミコンほどの原始的なハードで、なぜ0フィルされると思った? 0フィル傾向が強いエミュだってハードリセット、ソフトリセットで挙動違うわけだしね
298 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 23:25:46.23 ID:DX+Q254R.net] HuC v3.21付属のやつじゃねえかな
299 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 23:48:02.78 ID:iI+cGjJO.net] 見つけた
300 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 00:54:21.08 ID:vuASjJOE.net] 1)Vblankは厳密には割り込みそのものではない。語源を考えればわかる。 あとマスク不可能な割り込みでは説明不足。 2)ファミコンにおいてNMIは必ず訪れるものか。 もし必ず訪れるのならあんたが今まで書いてきたプログラムはどうなる。 $0000から命令を実行しまくる羽目になってるだろ。 3)それならばなぜNMIを使うべきか。 全体的に不正解および説明不足そして調査不足、理解や考えも不足。 わからない言葉があったらまず目の前のPCで調べろ。 あと自虐がまるでへそを曲げた子供のようでみっともない。自虐は反省とは違う。 しばらくROMって頭冷やすことをおすすめする。
301 名前:131 mailto:sage [2014/06/11(水) 04:31:31.45 ID:FDPL1IKA.net] 分かりました。しばらくROMることにします。 ただ、僕は本当に低能ですよ。何しろ、IQが69なんで (test the nation)
302 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 19:10:46.06 ID:HuzB/5/t.net] 言葉選べない奴ってみっともないなぁ 上級者気取ってふんぞり返って偉そうに他人に説教しとるが相変わらずガキ丸出し これが一人だけやってるんだから目立つわな いいかげんさあ、そのチンピラみたいな恥ずかしい態度で人に接するのはおよしなさいよ
303 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 19:14:38.42 ID:HuzB/5/t.net] まあ、こういう苦言を呈してあげても 前みたいに自分の口汚さを正当化するための言い訳しか言わないで 何が悪いのか理解出来ないまま同じ事を繰り返し続けるんだろうけど 他人に反省促す前に、自分がまず反省して態度改めなよ
304 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 20:42:36.74 ID:QsOFOWgt.net] 多重人格らしき ”リバーシ君” が湧いてから同時期湧いて来た子たち ”YY-CHRとNESASMが使いづらい君” ”NESASMが難しいからC言語で組もうよ君” ”iNESヘッダや.incbinのことはわからないけど、nesdevの仕様書すべて読んできます君” 能書き”ダブラ君” 三日坊主の”まとめwiki君” ”DPCMの仕様教えて君” ”www.dotup.org大好き君” スタックぶちこわしてても ”PPU制御レジスタのタイミング等も問題無いはずなのに。 君” ”デバッガ使えません君” こんな初歩の初歩教えるのが上級者扱いなのか だから自演て言われてるのに ゴミみたいな不良動作のプログラムのアップロードに対し わずか数時間で ”fceuで陽性かくにん よかった” とレスが付くのも特徴 追い込まれると 〜とは別人だけど、と枕詞をつけて自己弁護
305 名前:266 mailto:sage [2014/06/12(木) 01:31:23.63 ID:VinxFlKC.net] >>292 >>296 1) NMIの説明はまぁ正解。300さんの指摘の通りVBlankを割り込みと言い切るのは誤り。 NMIは割り込みの種類を示す言葉でVBlankは映像信号に関する言葉であり、そもそもカテゴリが違う。 2) 私が考えていた正解は、 PPUから出るVBlank期間を示す信号線が、CPUのNMI割り込みの入力ピンにつながっているから 300さんが「必ず訪れる」は誤りと言っているのは、VBlank期間に入ったときに VBlank期間を示す信号線に信号を出すか出さないかをPPUで制御できるため 3) NMIを使用するかどうかは別に問題ではない。 NMIとIRQのベクタ(割り込み時に実行されるアドレス)に0が設定されているから。 PPUなどのレジスタの設定を誤り割込みを受け付ける状態になった場合に 何が書かれているかわからない0番地をプログラムが走ることになり、 安全性を考慮しておらず、知識不足であることが読み取れるから。 割り込みを使わないのであれば、すぐに rti で戻るルーチンのアドレスをベクタに設定するべき。 Nmi: rti Irq: rti .org $FFFA .dw Nmi .dw Start .dw Irq
306 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 01:36:18.33 ID:VinxFlKC.net] >>290 指摘ありがとうざいます。 初期化するよう処理に反映します。 #やっぱり実機で確認できる環境欲しいな
307 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 02:17:39.78 ID:VinxFlKC.net] >>301 ROMてても知識は身に付かないだろうし、お題を出すのでプログラミングの経験を積んでみてはどうだろうか。 第1ステップ スタック、メモリ、PPUなどの初期化を行い、VBlank待ちのループを行う、基本のプログラムを実装する。 NMIの割り込みも実装し、NMIの割り込みの度に、$ffのメモリを1増加させる。 割り込み処理でないVBlank待ちのループでは、$ffのメモリを監視して255から0になる度に$feのメモリを1増加させる。 エミュレータのメモリビュアーで約4秒ごとに$feのメモリの値が1増加することを確認する。 第2ステップ BG画面を16x16サイズのブロックで画面いっぱいに埋める。 パレットの設定を行う。 画面にゴミが出ないように全スプライトを画面外(Y>=240)の位置に表示する。 第1ステップのプログラムを改良する。 割り込み処理ではないVBlank待ちのループで、VRAMに書き込みたいデータを用意してバッファに格納する。 NMI割り込みで、スプライトデータのDMA転送の実行とバッファに格納されたデータをVRAMに書き込む処理を行う。 プログラムを書く際に、他人のソースを参照するのは良いが、コピペは絶対行わないこと。 必ず目で見て手打ちすること。 書いたソースは、何度も読み直して、処理を説明できるぐらいまで理解すること。 プログラムが出来たら内容をレビューしたいので、批判にめげずに公開して欲しいと思う。
308 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 06:23:30.12 ID:WH6q4E6P.net] なんでこいつが仕切っとるの?
309 名前:131 mailto:sage [2014/06/12(木) 16:17:30.84 ID:kfJUEFGs.net] 書き込みたい気持ちはありますが、大分経って事態が鎮静化 してから書き込みたいです。あと、少なくとも今から 100レス程度は様子を見ながら、今から同時にお題を解いてみます。 というのも技術的な指導ならゲーム開発技術板のスレッドなので分かります。 しかし、自分の未熟な部分があるのは自分でも分かるのですが、 明らかに何度も自分の人格を否定していてスレ違いになってるのもあります。
310 名前:131 mailto:sage [2014/06/12(木) 16:19:26.08 ID:kfJUEFGs.net] それがどうした?悪いのはお前だろと言われればそうなのですが これが何度も続くようなら、明らかにいじめとしか思えないのです。 いじめと思うのは間違っていると思うのなら、どうして簡単に何度も いろんな欠点や粗を探してこうも傷つけたがるのですか? あと、自演と言っている人へ、 自演をしているように見えるのは、明らかにおかしいですね。 IPアドレスを2chの運営元に頼んでもらって調べれば分かる とは思います。IPアドレスが分かるという事は、書き込んだ場所も 特定されます。 ファミコンのプログラムを公開する書き込んでから家から出かけて 帰ってきてから同じパソコンで書き込んだ事くらい見抜けると思うのですが。
311 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 19:04:44.04 ID:W0ti7vxN.net] それにしてもやけに静岡県民が多いな 自演に間違いないな不自然すぎるわ
312 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 20:14:34.35 ID:+ww++sAc.net] あと100レスと言わず一生ROMってればいいのに そうすりゃスレも荒れずに済む
313 名前:131 mailto:sage [2014/06/12(木) 22:17:28.55 ID:kfJUEFGs.net] まってください。静岡県民が多いのは、俺が周囲から基地外呼ばわり されてるのと、症状のせいだと思いますよ。 それと、自演と決めつるのはまだ早いです。なぜなら、 専門用語を知らない人間が自分を弁護できると思いますか? そして、恐らくその症状のせいで、うざったく思うから このスレで叩かれているのだと思います これで最後にします。100レス待ちます
314 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 06:24:29.34 ID:6Pgo1qVH.net] いいから>>307 が終わるまで書きこみを控えてくれ・・
315 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 16:40:28.64 ID:vJRDBdqC.net] スレ違いかもしれないけど、ディスクカードをromに焼くことができる?
316 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 19:00:31.08 ID:KxCbS2Qo.net] >>315 何のソフトかにもよるが原則不可能と思っていいだろう マッパー0相当のソフトだってアドレスの手直しが要る分相当な作業量になる
317 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 20:43:27.55 ID:CSwUA4nC.net] >>316 機械語レベルの理解力があれば、できる?
318 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 21:03:18.07 ID:KxCbS2Qo.net] 理解力と相当な根気が要るだろうな 絶対アドレス参照の命令で$6000以降参照のものをすべて書き換えなきゃいけないのだから
319 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 21:17:05.99 ID:r1M/KsAU.net] >>318 ディスクシステムの片面の容量は64Kバイト?64Kビット?
320 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 21:36:12.04 ID:JJAfyk3S.net] ディスクシステムの仕組みも理解する必要があるだろう。
321 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 21:36:22.79 ID:KxCbS2Qo.net] 64Kバイトといわれている 実際にはもっと少ないけど というか厳密には1バイト単位のような定まった容量はなかったはず もし片面8Kバイト(64Kビット)だとしたらドンキーコングすら収まらないよ というかこれぐらい調べれば出てくるのでまず調べようね
322 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 22:34:15.19 ID:AgN9/sjS.net] >>321 ディスクシステムのソフトには、名作が多いのでリンクの冒険、ドラキュラ2など海外版を所有してますが、ディスクシステムでしか遊べないソフトがあるので、ROM化出来たらなと思いました。音源も積んで。って誰かやってないですかね?
323 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 23:03:40.54 ID:KxCbS2Qo.net] かつてmdc5linkerというものがあった(ROM化の際にはこれの個別パッチが参考になるかもしれない) ただし悪用が多すぎてサポートは終了した、ディスク>カセット変換したものを売りさばくような輩が続出した 事実、ある時期ヤフオクで本来ディスクでしか出ていないソフトがカセットとして出品されている例が多数確認できた というか普通にディスクシステムでやれば? 一体ROM化ってなんのため?ディスク持ってるならディスクシステムでやればいいじゃん ROM化前提なら吸出しも完了してるだろうしバックアップも万全、なのにあえてROM化しようとする意図がわからない どの道、音源までサポートした上でROM化するにはいろんな知識が要る ディスク音源と互換性のあるチップは存在しないため、RAMアダプタ内のもの(ただし非常に大きい、64pinDipだったかな?)を使用するか、もしくは 新たにFPGAなどのPLDを使って実装するか・・・方法はあるがディスク音源如きにそこまでする人がいるかどうか
324 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 23:55:45.03 ID:D3ve8EiV.net] >>323 ディスクシステムは、ツインファミコンもそうですが、ベルトの劣化もありますし、ヘッドも劣化するでしょう。
325 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 00:13:40.26 ID:dYYokVoB.net] >>324 fcs.main.jp/archives/fcs_road/Diskbelt/diskbelt2.html 知っているかもしれないがこういう方法もある。 バックアップについてはエミュが嫌なら、FDSLOADRという、 PCを仮想ディスクドライブとして使えるようにするソフトがある。ただ数年前の記憶では、相当PCの機種を選ぶソフトだった。 それからDOSベースのソフトのため現代のNT系OSじゃ動かないから、古いWin9x系の動くPCが必要になる。 更にRAMアダプタとの接続のためPCが双方向通信可能なパラレルポートを持っている必要がある。 これを使うとPCに存在するFDSファイルをRAMアダプタに転送できる。
326 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 00:21:55.47 ID:zzfPZdkB.net] 最近FDSLOADRrの上位版のようなfdsloadersaverを作った方がいるよ
327 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 00:25:39.56 ID:TXG/RYzX.net] >>325 アドバイスありがとうございます。今思いついたんですが、ディスクのRAMアダプターを改造してMicroSDカードに入っているディスクのイメージを転送できるに出来たらいいのになあ
328 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 16:29:21.64 ID:+sFuyt6O.net] 機械語の知識(開発ができるレベル)と、 論理回路の知識(設計ができるレベル)に加えて、 電子工作を行えるスキルが必要 あと、英語力(データシートとか、ほとんど英語)。
329 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 21:38:32.26 ID:L1L59kK3.net] 131氏は何が嫌われてるか分かってないんだろうな 何か指摘されたら「あ、はい俺が悪いですさて、」くらいの勢いで 全く態度を変えず話を続けるのがどれだけ人を無視した行為か 理解できないんだろうからもう書き込むなって言われてるんだよ
330 名前:名前は開発中のものです。 mailto:sage [2014/06/17(火) 15:26:48.71 ID:6w/HBkb5.net] なんだそりゃ ヤクザの因縁レベルだな キチガイに粘着されて可哀想
331 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 12:04:05.94 ID:FYXz9cFX.net] Vblank(NMI)発生待ちじゃなくてVblank(NMI)終了待ちの書き方がわからない。 $2002読めばVblank中でも即座にスキャンラインの頭に戻るのかな?
332 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 12:46:49.11 ID:RkNLcYOw.net] 普通は終了待ちなんてしないと思うが・・・ あるとすればフレームIRQをVblank終了間際に起こすようにするとか、かな? 試していないからできるかどうかわからないけど
333 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 15:38:33.12 ID:cAYbetgY.net] あのバカはまだデバッガ扱えないんだな 他人のソースを読む気もない
334 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 21:47:58.16 ID:SUkUlJAf.net] 何だかんだ、がんばっているんだし応援しようと思う 完成を楽しみに待っています〜
335 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 01:45:41.89 ID:Mvj8DjXQ.net] RevolvingGemsで予定していた実装が全て出来たので公開します。 指摘を受けていた ・ゲーム開始時に消滅が発生しないよう駒を配置 ・初期化時にCHR-ROMのバンクセレクトを明示的に行う の処理も盛り込んでいます。 あと、フレームワーク部分(main.asm)も処理を見直して結構手が入っています。 ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems100.zip ここまでお付き合いして頂きありがとうございました。
336 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 21:00:12.97 ID:9qzAY4Nu.net] 夜中2時に書き込む 出来る方の別人格さんおつ
337 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 22:36:58.03 ID:HYUmCg5c.net] すげー(2回目) 乙
338 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 08:52:02.98 ID:1mbR3dV7.net] 335氏 ソース勉強させていただきます
339 名前:131 mailto:sage [2014/07/02(水) 17:15:28.00 ID:b6UJAuU+.net] ここを見てても本当に良いのだろうか?という気持ちと ヤジでいまだに言ってくる人がいて、不快感しか湧かない ので、ここはまず、書き込みも見ることも辞める事にします。 なのでいさぎよく、このスレから出ていく事にします。 ちなみに、「逃げる理由が出来て良かったな」とか書き込みそうなんで 言っておきますが、言う人は何とでも言うので仕方ないと思います。 最後まで不快感をお互いに感じあってしまい、すみませんでした。
340 名前:名前は開発中のものです。 mailto:sage [2014/07/02(水) 21:15:54.55 ID:ccGvVyCV.net] 前スレで戦力外通告されてなぜ残った 英語読む気ないのはこの板的にも戦力外
341 名前:名前は開発中のものです。 mailto:sage [2014/07/03(木) 22:16:55.66 ID:hPES0Si7.net] >>340 気に入らなきゃほっときなよ 小言を言うとまたグダグダと返答されるよ
342 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 02:02:23.66 ID:63/tpOMg.net] 他スレみたいにテンプレに 初心者向けに何か書いておいたほうがいいかもね
343 名前:名前は開発中のものです。 mailto:sage [2014/07/31(木) 13:43:13.27 ID:7VJ7BYaIN] >>321 ブロック単位でモジュール化されているのでその間のGAPの分もあるからでは。>>324 ベルトの劣化なら今はモビロンバンド一択。 ROM化は技術的に不可能でないらしいから必要なら頑張って作ってみれば。 アイディアとしてはスーファミのサスケの様なファミコンとRAMアダプタの間に挟む基板に ROMに落としたゲームとそれをRAMアダプタに転送するプログラムを搭載すれば行けそうだ。 自分は他の8bitパソコンでメディアの劣化があるので↑のアイディアの実用化を目指してる。
344 名前:名前は開発中のものです。 mailto:sage [2014/10/05(日) 12:06:25.72 ID:TCLHVT3o.net] 東方Projectみたいな画面は作れないか?との興味から作りはじめたのですが、弾丸の表示時点で、CPUの処理能力不足により先が見えてしまいました。 homepage3.nifty.com/~kyoske/nes/Experi9.zip Experi9.nes .. 160発表示版 Experi9x.nes .. 負荷可視化板 Experi8_noshot.nes .. 弾丸非表示版 Select+下 でスクロール開始、Select+左右 で画面モード切替です。 弾丸の最大数を96に落として、仕切り直す予定。 自キャラ、敵キャラ、弾丸以外は、BGで描画しています。 枠内のスクロールは、ハードウェアスクロールとソフトウェアスクロールの併用です。 16x8の範囲でパレット指定や会話ウィンドウの表示に、縦方向のラスタスクロールを駆使しています。
345 名前:名前は開発中のものです。 mailto:sage [2014/10/06(月) 04:59:32.10 ID:6+tpiQ9J.net] ジェムの人キター 消えてる時間が結構長いのでかなりスプライトが見難いですねぇ BGは相変わらずえらいことになってますが、負荷軽減でパレットはあきらめて MMC5の画面分割機能の使用を考えてみても良いかも
346 名前:名前は開発中のものです。 mailto:sage [2014/10/06(月) 23:47:50.82 ID:5bZUXl8p.net] >>345 160発を56個のスプライトで表示しているので、 大体3フレームに1回の表示でちらつきが目立ちます。 次の版は、96発にスペックを落とすので、 2フレームに1回の表示になるので多少は改善されるはず。 MMC5は魅力的なのですが、最終目標が実機での動作なので 勿体無くないMMC3で頑張ろうと思っています。 あと、負荷は弾丸の処理が半分以上占めているので MMC5を使っても状況はあまり変わらないかと思います。 すでに96発MAXに書き換えて、弾丸1つ辺り5byteの領域から 8byteに増えて、Tile番号と属性値が保持できるようになったので 処理が軽くなりました。 弾丸の角度の変化が無ければ、Bombの下辺りまでの 処理時間で済んでいます。
347 名前:名前は開発中のものです。 mailto:sage [2014/10/07(火) 04:35:07.91 ID:3yj7hFfS.net] >>346 1/2フレーム表示ならグラIIのミサイルなどで使ってましたね 欲を言えばですが、弾数が少ないときは1/1フレームで表示出来たら いいかも 試しに割り込み無しにしたところ18ライン分くらい処理が減ってました MMC5自体は光栄のゲームで結構出回ってるので入手は簡単かと 思いますが、今更変えるのもあれですね… 期待してますので頑張ってください
348 名前:名前は開発中のものです。 mailto:sage [2014/10/09(木) 21:46:13.35 ID:44sWDsnn.net] NESASMでアセンブルしたNESファイルは自作カートリッジに焼く時もそのまま使えるんですか?
349 名前:sage [2014/10/09(木) 21:50:10.76 ID:hFc1Ndfq.net] RevolvingGems 1.00を実機で動かしたら不具合が出たので、 今さらですが調べて直してみました。 ・タイトル画面の表示が乱れる ウエイトが足りず、割込み処理での最後の$2006への書込みが HBLANK中に行われていないようので、user.asmのUser_Irq_Title:直後に nopを(余裕を持たせて)3つ追加して乱れを消しました。 ・あそびかたを選ぶと止まる タイトルで設定された割込みが無効化できずに発生し続けているようです。 Guide_Init:でIRQ_FNC+1を0にしたことで、 Irq:のjsr IRQ_FNC-1が飛ばされるため、 User_Irq_Title:中での割込みの無効化が動かないのが原因と思います。 user.asm 474行目のsta IRQ_FNC+1をコメントアウトして動くようになりました。
350 名前:名前は開発中のものです。 mailto:sage [2014/10/09(木) 21:51:03.03 ID:hFc1Ndfq.net] sage間違えたorz
351 名前:名前は開発中のものです。 mailto:sage [2014/10/09(木) 21:56:48.11 ID:hFc1Ndfq.net] >>348 kazzo+anagoのような環境だと直接NESファイルを使って書けますね。 ROMライタで直接書き込む場合だとPRGとCHRへの分割が必要かと。
352 名前:名前は開発中のものです。 mailto:sage [2014/10/09(木) 22:09:17.01 ID:44sWDsnn.net] >>351 ありがとうございますNESplitという分割ツールがありました。
353 名前:名前は開発中のものです。 mailto:sage [2014/10/09(木) 23:56:08.22 ID:EgCI09Ne.net] >>349 実機での動作確認ありがとうございます。 >タイトル画面の乱れ 割り込みが入ってから110clk目に最後の$2006を書いていたのですが、 nop3つ追加ということで、116clk目が正解ということですね。 今のやつも直さないと。 >あそびかたを選ぶと止まる VBlank中にIRQ_FNCを更新する仕組みを追加します。
354 名前:名前は開発中のものです。 mailto:sage [2014/10/10(金) 00:27:59.23 ID:giiUNY1I.net] >>353 MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、 そこから次ラスタの表示期間終了の256ppu_clkまでの、 (341-260)+256=337ppu_clk = 112.3cpu_clk が必要な待ち時間だと思います。 sta $2006を確実にHBLANKに入れるために+4clkしましたが、 書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。
355 名前:名前は開発中のものです。 mailto:sage [2014/10/10(金) 21:22:02.81 ID:giiUNY1I.net] >>353 追実験して、nopは一つでも乱れは消えました。 割込み発生から最後のsta $2006完了までが112clkになるので、 ちょっとぎりぎりな感じはしますが。
356 名前:名前は開発中のものです。 mailto:sage [2014/10/11(土) 11:53:25.77 ID:JCcDlcCt.net] >>354 ttp://wiki.nesdev.com/w/index.php/MMC3#Hardware Regarding PPU A12 rises: If the BG uses $0000, and the sprites use $1000, then the IRQ will occur after PPU cycle 260 (as in, a little after the visible part of the target scanline has ended). If the BG uses $1000, and the sprites use $0000, then the IRQ will occur after PPU cycle 324 of the previous scanline (as in, right before the target scanline is about to be drawn). When using 8x16 sprites: When there are less than 8 sprites on a scanline, the PPU makes a dummy fetch to tile $FF for each leftover sprite. In 8x16 sprite mode, tile $FF corresponds to the right pattern table ($1000). PPUアドレスバスA12がスキャンラインカウンタのクロックとなっている。 The counter is clocked on each rising edge of PPU A12, no matter what caused it, so it is possible to (intentionally or not) clock the counter by writing to $2006 BGとSPRをどっちに配置するかで、立ち上がり、立下りが変わるので、 IRQが起きる位置とライン数が変わるようだ。
357 名前:名前は開発中のものです。 mailto:sage [2014/10/13(月) 07:14:58.66 ID:khCfiiiQ.net] >>355 追試ありがとうございます。 clkを伸ばした場合、エミュレータでどうなるか確認したのですが こちらでは1clk伸ばしただけでも乱れが発生しました。 実機向けとエミュレータ向けの2つのバイナリを用意する必要があるようです。
358 名前:名前は開発中のものです。 mailto:sage [2014/10/20(月) 02:34:56.29 ID:VhFQD/az.net] だれかギコ猫より分かりやすいサイト作って もしくは解説コメント付きのソース
359 名前:名前は開発中のものです。 mailto:sage [2014/10/27(月) 22:58:49.97 ID:WLPSmV4W.net] ギコ猫があるだけ恵まれた環境。1990年代のネットはファミコンの 内部資料は英語しか無かったからね。だから普通に挫折した。
360 名前:名前は開発中のものです。 mailto:sage [2014/10/28(火) 05:34:41.72 ID:40z/j/Ad.net] バッ活とファミリーベーシック
361 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:06:14.46 ID:8FC6s1LF.net] Experi9(>>344 )の改良版をアップしました。 homepage3.nifty.com/~kyoske/nes/Experi10.zip 結局のところ、ファミコン本体の2KBのWRAMだけでは 性能面を向上させつつ、やりくりするのは難しいとわかったので MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。 本体のWRAMに余裕が出来たので、マップの仮想バッファを 倍に増加して、既存の処理を最適化して負荷を下げました。 色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから 自己書き換えルーチンにできるな、ということで、自己書き換えで性能が 上がりそうなルーチンを試作してみました。 あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで 処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。
362 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:20:57.06 ID:8FC6s1LF.net] 試作した自己書き換えルーチンその1 ClearExtWorkMemory: ldy #$60 lda #$00 tax .1: sty SMCLabel(.2+2) .2: sta $6000,x inx bne .2 iny cpy #$68 bne .1 rts SMCLabelは、転送先のアドレスに変換するユーザ関数です。 sta $6000,xの$60を書き換えています。 Indirect Indexモード 6clkに対して、Absolute Indexモード 4clkで ((6clk-4clk)*256-4clk)*8 = 4064clkの節約。
363 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:32:50.39 ID:8FC6s1LF.net] 試作した自己書き換えルーチンその2 Shot_Alloc: ldx SMCLabel(.2+1) .1: lda SH_X,x bmi .9 lda Round96+1,x tax .2: cpx #0 bne .1 .db $24 ; bit <$b8 (set v-flag) .9: clv lda Round96+1,x sta SMCLabel(.2+1) rts cpx #0の#0の部分を書き換え。 弾丸の空きを検索するルーチンで、次回の検索時は空きを検出した 次の場所から検索を始める処理となっています。 Round96は、0,1,2,...94,95,0,1,..と定義されているテーブルで lda Round96+1,x で (x+1)%96 の計算をしています。 ゼロページの$b8には、$6cが格納されており、bit <$b8 でv-flagが設定されます。 空きがない場合にv-flagが設定されてリターンします。
364 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:43:06.58 ID:8FC6s1LF.net] ファミコンのプログラム領域はROMだし、メモリも余裕無いから、 自己書き換えルーチンには縁が無いと思っていたのですが、 拡張WRAM使うとなると、有効な手段であるなと。 ただ、よく考えないと自己書き換えやっても効果を得られないので どのようなパターンが有効か思考する必要ありだなというところです。
365 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 11:50:49.69 ID:kV2Q14jG.net] >>361 おお、スプライトも見易くなりましたね。 実機(MMC3B)でExperi10.nes焼いて動かしてみましたが、BGが結構 崩れています。 Experi10_irq114.nesですとBGが崩れはしませんが東方の文字の中心あたり からチラチラしています。 また、東方を知らないのでわかりませんが会話表示とスクロールをするとたまに BGが崩れるようです。 (バンク切り替えに失敗したような感じで別の絵が出てました) 参考になれば
366 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 18:36:12.45 ID:8FC6s1LF.net] >>365 実機での確認ありがとうございます。 会話画面表示時のBG崩れは、IRQのCHR-BANKの切り替えと メイン処理のPRG-BANKの切り替えの衝突です。 PRG-BANKの切り替えは弾丸の移動量や角度算出のテーブル引きで使用しており、 会話画面では行わなくなるので、現在そのままにしています。
367 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 23:22:26.65 ID:K8lCFBpt.net] ファイル実行したけど会話画面っていったい何のことなんだ
368 名前:名前は開発中のものです。 mailto:sage [2014/11/09(日) 03:54:20.59 ID:/2f/mjgU.net] セレクトボタンを押しながら上下でバックグラウンドのスクロール量調整 同じく左右で会話画面、ボスHPゲージ消去などができる
369 名前:名前は開発中のものです。 mailto:sage [2014/11/18(火) 00:24:39.88 ID:sul/9y5g.net] 今月号(先月号から?)のゲーラボに、ファミコンソフト開発って記事が載ってた 初歩的な奴だったから、今月号からかも。立ち読みしかしてないけど
370 名前:名前は開発中のものです。 mailto:sage [2014/11/22(土) 00:37:26.95 ID:6HaTj4+E.net] ゲーラボのファミコン開発は1回のみなのかな DSみたいに連載して欲しいなーと思う 好奇心的な需要が有るんではないかと思ったり >>361 弾幕が素晴らしいです。ファミコンでは史上初?なのではないでしょうか BGのIRQスクロールも面白いです。 >>368 参考になりました。ありがとうございます。
371 名前:名前は開発中のものです。 mailto:sage [2014/11/24(月) 07:57:25.72 ID:+tDgRqjL.net] このスレに常駐して間違いを指摘してる人は何者なのかね? 元ハドソンの中○さん?
372 名前:名前は開発中のものです。 mailto:sage [2014/11/24(月) 08:33:08.82 ID:+tDgRqjL.net] もしかしてカル○ャーブ○ーンのあの社長か?
373 名前:名前は開発中のものです。 mailto:sage [2014/11/24(月) 19:13:43.16 ID:7xFBwqHN.net] おい、具体名だすんじゃねえ
374 名前:名前は開発中のものです。 [2014/12/27(土) 07:48:51.33 ID:wLqAfx70.net] このスレではみなさんからのプログラムの投稿をお待ちしています
375 名前:名前は開発中のものです。 mailto:sage [2015/01/05(月) 20:34:21.71 ID:AkF9WUbO.net] >>83-85 は進展無し?と思ってみたらもう2年前か
376 名前:名前は開発中のものです。 mailto:sage [2015/01/06(火) 00:58:45.65 ID:uy5dcfqt.net] CじゃなくてFORTHだったら需要あったんだがなぁ 俺の
377 名前:名前は開発中のものです。 mailto:sage [2015/01/19(月) 20:41:58.52 ID:qeXTNQ6P.net] >>376 FORTHって何ぞ?
378 名前:名前は開発中のものです。 mailto:sage [2015/03/03(火) 17:29:58.25 ID:zncA3uK1.net] >>377 プログラム言語のこと 似たものにMindがある
379 名前:名前は開発中のものです。 mailto:sage [2015/03/12(木) 23:44:17.66 ID:kJFL2HEh.net] >>378 プログラム言語のことだったのね 知らんかった
380 名前:名前は開発中のものです。 mailto:sage [2015/03/19(木) 20:54:40.85 ID:h0XRN6RW.net] 前スレを亀レスするけど数をバラバラに設定すると 完成する時としない時があるのは数学的に証明されてる。 完成しない時があると知った時は10才で、その理由を知ったのは30才だったな。 214 名前:名前は開発中のものです。 [sage]: 2008/10/21(火) 23:36:20 ID:7W0HXoP0 空気読まずに投下 ttp://www.lenis.info/~axyz/15puzzle0.1.zip C言語で15パズルとサウンド再生やってみました。 218 名前:名前は開発中のものです。 [sage]: 2008/10/30(木) 20:55:16 ID:thi/0x4l ってゆーか解けないよね?コレ 219 名前:名前は開発中のものです。 [sage]: 2008/10/31(金) 10:50:22 ID:WqELvFXJ なんだ、解けないの俺だけかと思ってたw 220 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:16:36 ID:K21w4wpQ 俺もだwww 221 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:54:44 ID:OhOXRJQv 11と12と15をくるくる回してるのは俺だけじゃなかったのか 222 名前:214 [sage]: 2008/11/02(日) 00:09:23 ID:q5gp0DGO しまった。完成形がわからなかったら解けるわけないじゃん! 0123 4567 abcd efgh の形が完成形です。・・・解いても何も起こりませんがw
381 名前:名前は開発中のものです。 mailto:sage [2015/03/20(金) 19:57:53.65 ID:SVxvjEKg.net] >>380 作者らしき人に解けない理由が伝わってないのが悲しいな >完成形がわからなかったら解けるわけないじゃん! www34.atwiki.jp/cc65/pages/39.html にあるソースを修正しようとしたけどウチの環境じゃうまくコンパイルできなかった 誰か頼んだ
382 名前:名前は開発中のものです。 mailto:sage [2015/04/01(水) 23:40:29.90 ID:ii+SttYw.net] 何で数がバラバラだと解けないんだろね タイルの移動する範囲が狭いからとかそんな理由?
383 名前:名前は開発中のものです。 mailto:sage [2015/04/02(木) 10:16:16.24 ID:Jr0GAhV2.net] 他のスレでバカと言われた自分がこのスレでは解けない時が半分あると指摘した人間です。 大学の理数系の初年度程度で履修する偶置換、奇置換等の行列の基礎理論。 まぁ「偶置換 奇置換 行列 15パズル」でググってみて下さい。
384 名前:名前は開発中のものです。 mailto:sage [2015/04/02(木) 10:31:03.98 ID:Jr0GAhV2.net] 追伸 数十年前は、この説明が表紙に書かれていた数学啓蒙誌をその説明だけの理由で買いました。 喫茶店で飲むコーヒー4杯ほどの価格なので、それと比較するとイイ時代になりました。 昔は数学バカだったかも知れません。そして今は何と言うバカなんでしょうかと。
385 名前:名前は開発中のものです。 mailto:sage [2015/04/06(月) 09:13:24.02 ID:k4keIaCU.net] 12000yenか……それなりのお値段だな……
386 名前:名前は開発中のものです。 mailto:sage [2015/04/07(火) 16:26:58.65 ID:Tz4O69qO.net] 数学啓蒙誌の価格なら流石にそこまで高くない、5桁の数引いた4桁位かな。 ところで1杯が3000円ってどの辺りで飲むコーヒーだろう。 その他「偶置換 奇置換 行列 15パズル」でググるyaneurao氏のも出てくる。 d.hatena.ne.jp/yaneurao/20050821 図があって判り易い感じかと。
387 名前:名前は開発中のものです。 mailto:sage [2015/05/24(日) 23:11:59.55 ID:+d4mv7Gn.net] このスレ住民でゲームレジェンドに参加した人いるかね 結構いそうな気がする
388 名前:名前は開発中のものです。 mailto:sage [2015/06/12(金) 17:08:22.25 ID:pQsOmKIP.net] 初期のほとんどのゲームでラスタースクロールを使うときに 0爆弾使ってるけどDPCMタイマ割り込みは使えなかったんだろうか あれを使ってラスタースクロールを実現したゲームってないのだろうか
389 名前:名前は開発中のものです。 mailto:sage [2015/06/12(金) 18:51:23.46 ID:yYky0Qic.net] >>388 「ファミコン 技術」でぐぐると じぇみに広野氏が語るファミコンソフトの開発技術 というtogetterがでてくるのであるが、それによると、 ガーディック外伝 でDMCのDMA終了割り込みを使ったが 一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。
390 名前:名前は開発中のものです。 mailto:sage [2015/06/12(金) 21:33:53.52 ID:yvckrC4h.net] >>388 使ってるゲームはあるよ ロマンシアとか海外のゲームでいくつか >>389 それも正しいのか微妙 CPUに内蔵された機能なのにツインの一部の機種だけで起こるとか ありえるのかね
391 名前:名前は開発中のものです。 mailto:sage [2015/06/12(金) 21:54:06.55 ID:pQsOmKIP.net] へー興味深い、ツインファミコンじゃなくてあるとすれば考えられるのは初期型ファミコンじゃないかな あれ音源周りの仕様が後期のロットとは若干違ったはずだしね ただし 時期によってICにヒートシンクついてたりメモリがSOPだったり複数の標準ロジックICが一つのカスタムLSIに置き換わってたり さらには主要ICのマイナーバージョンも変わってるから他のロットの固有の問題でもおかしくないとは思う しかしそうか割り込みがかからないものがあるとは・・・ もし使うんなら使用可否の確認ルーチンを使う必要があるのか
392 名前:名前は開発中のものです。 mailto:sage [2015/06/12(金) 22:46:29.41 ID:rYOjWPPG.net] なるべく無音になるようなデータを用意しないといけないし、初期ではROM容量的にできないかもね。
393 名前:名前は開発中のものです。 mailto:sage [2015/06/20(土) 12:30:40.92 ID:pGMo6MI5.net] togetter.com/li/753345 www.wizforest.com/OldGood/ntsc/famicom.html techon.nikkeibp.co.jp/article/NEWS/20081106/160884/?rt=nocnt
394 名前:名前は開発中のものです。 mailto:sage [2015/06/20(土) 19:48:15.52 ID:JHwpVc0c.net] 2番目のサイトのパレット、 >実際には12色の中に同じ色を入れないといけなかったりして、12色フルに使うことはできないでしょう。 の解説希望。俺の仕様ではこんな制約はないんだが。
395 名前:名前は開発中のものです。 mailto:sage [2015/06/22(月) 00:32:17.02 ID:Wqz2EZzo.net] >>394 1パレット3色の組み合わせで指定するので ソフト制作の都合上、別々のパレットに同じ色を指定することもよくあり 常に異なる25色(SP12色+BG12色+背景色)を同時発色している訳ではない と解釈しているけど、どう読んだ?
396 名前:名前は開発中のものです。 mailto:sage [2015/06/24(水) 23:39:15.30 ID:kRbpr0Nr.net] >>395 ハードレベルでできない としか読めないけど。 記憶を頼りに書いて間違ってたとか、逆に割と正確な所もあったりして微妙。
397 名前:名前は開発中のものです。 mailto:sage [2015/06/25(木) 22:06:34.05 ID:Xz0r0Jej.net] >>396 ひっかかっているのは、「最大25色出せる、というのはあくまでも理論上の話。」という文でしょうか? 「論理上」と言い切るのは私も間違いだと思います。「事実上」と表現するかな。 「論理上」の前の文に「パレットの色が重複してしまう」と条件が書いてあり、 パレットの色を重複して指定するのは、3色の組のパレットで 色指定するというハードウェアの仕様に起因することなので、 ハードウェアの制限と言われても間違いじゃないなと思います。 ただ、サイト先の文章からは、ハードレベルでできない と推測に至る表現は無いかと思います。 異なる25色を同時発色しているゲームの具体例出せないし、 自分が作っているソフトもパレットの色重複しているので 何とも言えないが正直なところ。
398 名前:名前は開発中のものです。 mailto:sage [2015/06/26(金) 06:50:59.42 ID:T0jrUs0a.net] >>397 スペック上問題なく出来るのに理論上とか書くから誤解されると思うよ。 最大値は〜色です。という説明だけでいい。「事実上」はいらない。 実際のゲームでは、というくだりから色の重複について画像を入れるなどで 説明すればいいと思うし、そっちのほうがわかりやすいだろう。
399 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 01:41:06.59 ID:c0/ULPSH.net] バックアップを兼ねて制作途中版をアップしました。 東方老桜夢 ver0.10 ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu010.zip セレクト画面、自機移動+ショット、アイテム、1面中ボス手前までのステージデータを実装。 自機のボム、ボス戦、会話処理などは、これからです。まだ先は長いな。 例によってソース添付していますので、興味がある人はどうぞ。
400 名前:名前は開発中のものです。 mailto:sage [2015/07/11(土) 00:00:24.90 ID:LzhqW5i3.net] なんのアドバイスもできないけど徐々に完成する様を楽しみにしてる
401 名前:398 mailto:sage [2015/07/11(土) 00:36:16.58 ID:ErBuIZGc.net] >>400 何かコメントしてくれるだけでも助かります。 ひとり黙々と作っているのは辛いので。
402 名前:398 mailto:sage [2015/07/11(土) 00:55:51.34 ID:ErBuIZGc.net] 皆さんに1つアドバイスして欲しいことがあるのですが、よろしいでしょうか。 Aボタン=ショット Bボタン=ボム で実装を進めているのですが、 ショットを押したまま、ボムを使おうとする場合にA押しながらBを押す操作になります。 赤白ファミコンの場合には、AボタンBボタンが真横に並んでいるので そんなに押しにくくはないのですが、newファミコンの場合には、 Aボタン右上Bボタン左下に並んでいて押しにくく感じました。 コンフィグで他のボタン割り当ても選択できるようにすることを考えているのですが、 こういうボタン割り当てがよいのではというアドバイスを頂きたいです。 ちょっと考えたネタとしては、 ・Bボタン=ショット STARTボタン=ボム Aボタン=低速移動 ・Iコン、IIコン2つ持ちで、IIコンのボタンでボム ってのがあります。
403 名前:名前は開発中のものです。 mailto:sage [2015/07/11(土) 20:55:40.95 ID:LzhqW5i3.net] ショットはBボタンじゃないと操作し辛いと思う Iコン、IIコン2つ持ちはゲーム性を損ないそうなので反対 自分の知ってる弾幕シューティングだとショットボタン連打=高速移動 ショットボタン押しっぱなし=低速移動なので、それがいいかな Bボタン=ショット(押しっぱなしで低速移動) Aボタン=ボム START+SELECT同時押し(もしくはSELECT押しながらSTART)=リセット
404 名前:398 mailto:sage [2015/07/12(日) 08:06:56.67 ID:eipwc+As.net] >>403 最初、Bボタン=ショットで実装していたのですが、セレクト画面を追加した時に A=決定&A=ボムだと、誤って連打したり、操作方法がわからないので適当に押したりした場合に ボムを消費してしまうのでまずいなと、変更した経緯があります。 B=決定&B=ショットにするか検証して、問題なければ元に戻す方向でいきたいと思います。 start+selectの両方押しは取り入れたいと思います。 Iコン IIコン2つ持ちは、401の書き込みあと色々やってみたのですが、 どのように持ってもIIコンのボタンが押しにくかったのでボツにします。 newファミコンのコントローラの場合、startとBボタンの組み合わせも操作しやすいのに気付きました。 start=Aボタン=ボム Bボタン=ボム にするのもありかなと考えています。
405 名前:名前は開発中のものです。 [2015/07/12(日) 12:33:35.60 ID:mpg+Vwo9.net] 決定ボタンを連打してたらゲームが始まっててボムを消費してしまうのは 様式美だから気にしなくてもいいと思う 細かいことだけど>>403 は START+SELECT同時押し(もしくはSTART押しながらSELECT)=リセット の間違いだった >>404 >start=Aボタン=ボム Bボタン=ボム Bボタン=ショットってこと?
406 名前:名前は開発中のものです。 mailto:sage [2015/07/12(日) 15:35:29.97 ID:rjppu/hS.net] セレクト画面の選択はスタートも効くようにしておけばいいんじゃね 個人的にはボムがどっち側か選択出来るといいな
407 名前:398 mailto:sage [2015/07/12(日) 15:40:36.97 ID:eipwc+As.net] >>405 >>start=Aボタン=ボム Bボタン=ボム >Bボタン=ショットってこと? すみません。 start=Aボタン=ボム Bボタン=ショット でした。
408 名前:398 mailto:sage [2015/07/12(日) 15:43:28.70 ID:eipwc+As.net] >>406 コンフィグでのボタン割り当ての変更は実装する予定です。
409 名前:名前は開発中のものです。 mailto:sage [2015/07/12(日) 18:47:24.47 ID:Rrg+166r.net] 連打誤爆が気になるのならセレクト画面はスタートのみ決定にしたらよくね?
410 名前:名前は開発中のものです。 mailto:sage [2015/07/12(日) 21:42:13.52 ID:eqQNtVxD.net] 2A03はDPCMデータをどのタイミングでフェッチしてるんだ DPCM再生したらプログラムの実行速度遅くなるとかあるのか
411 名前:398 mailto:sage [2015/07/13(月) 01:54:36.60 ID:ETla0kQ9.net] >>409 色々考えて、今のところ、start または ショット(デフォルトBボタン) を決定、 ボム(デフォルトAボタン)をキャンセルに割り当てる方向で行こうかと思っています。
412 名前:398 mailto:sage [2015/07/13(月) 02:02:23.75 ID:ETla0kQ9.net] >>410 英文で申し訳ないですが、nesdev wiki の記事によるとDPCMデータを読み込む時に最大4サイクルCPUが停止(ストール)するようです。 ttp://wiki.nesdev.com/w/index.php/APU_DMC#Memory_reader
413 名前:名前は開発中のものです。 mailto:sage [2015/07/13(月) 21:38:14.47 ID:8PTgB6y3.net] >>412 最大4って事は4ではない事もあるのか。別の所では1サイクルとか書いてあった。 >>410 SMB3の左下の方のちらついてる部分が、DPCM音に合わせて右にずれる。
414 名前:名前は開発中のものです。 mailto:sage [2015/07/18(土) 20:00:38.97 ID:pgdcYKQP.net] sm26685505
415 名前:名前は開発中のものです。 mailto:sage [2015/07/28(火) 03:54:27.25 ID:q+8puilX.net] ゲームパッドの裏面同士をくっつけて重ね持ち……
416 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 22:57:03.34 ID:QTHdQd4i.net] 東方老楼夢やってみましたがすごいですね。 今後の進展に期待しています。 少し気になったことですが、実機だと自機選択の画面でカーソルを 上下に動かすたびに全体的に画面が少し揺れますね。
417 名前:398 mailto:sage [2015/08/07(金) 23:39:37.38 ID:YUPlB/cK.net] >>416 実機で画面が揺れるのを確認しました。 PPUにデータを送ることに影響して、IRQ割り込みのカウンタが何かずれているのかも。 バグ表に記録しておきます。ありがとうございます。 >>415 やってみましたが、裏側のパッドのボタンが押しっぱなしになるか、押しにくいのどちらかでした。
418 名前:398 mailto:sage [2015/08/08(土) 00:31:25.10 ID:BI5FjCuz.net] 机上調査レベルですが、実機で画面が揺れる(ピクンと跳ねる)のは、 ・PPUへのデータ転送処理より先にIRQカウンタの設定をしている ・パレットの書き換えでPPUアドレスの$3fxxにアクセスしている のが原因っぽいです。 $3fxxにアクセスするのでPA12のアドレス線が0→1に変化。 これをMMC3が拾ってIRQカウンタをカウントダウンすることで、 1ライン早くIRQ割り込みが発生して、画面がずれると推測しました。
419 名前:名前は開発中のものです。 [2015/08/09(日) 16:51:22.40 ID:0ksNtoFR.net] さっしーを本気でブスと思ったことはない、むしろ美人な方 ブスだけど
420 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 19:24:44.04 ID:ShkksTPS.net] 何故、急にさっしーが出て来た? ともかく美人の範囲には入らない、美人は石原さとみ、佐々木希、エリカ様あたり。
421 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:22:03.98 ID:L65BKpn6.net] >>397 中の人でしょうか。 色が重複してしまう理由が書かれていないのです(ファイアーの色をマリオとルイージから取ってこなければならない理由)。 重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。 確かに市販タイトルを少し調べてみましたが全て異なる色を使用しているのは見つかりませんでしたが。 それは、総合的なデザイン上の問題だと思います。 画面上に、「マリオ、ルイージ、レディ、ファイア」の4キャラしか出てこないゲームなら、全てに異なる色を設定しても問題ないでしょう。
422 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 20:57:19.05 ID:vHA00r0T.net] >>421 >中の人でしょうか。 違いますよ。 >色が重複してしまう理由が書かれていないのです 「別々のパレットから個別に色を選択してスプライトを 表示することはできない」というパレットの仕様を 説明したいがために、わざと色が重複する例を 出しているだけと私は解釈しています。 397さんの指摘のように、先に25色発色できるのを提示してから 重複する例を出す構成にするのが誤解を生まない方法だと 思います。 >重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。 「理由なく色が重複する例を出した」から 「重大な問題が生じる為重複させなければならない」という考えに至るのが 私の考え方と違うようです。 25色発色できるとも書いてあるし、重複させなければならないと 断言する文言も無いので、私はそう解釈はしませんでした。 総合的なデザイン上の問題 という指摘については同意です。
423 名前:名前は開発中のものです。 mailto:sage [2015/11/02(月) 19:23:11.78 ID:Lz25rOrT.net] ファミコンのプログラムに興味出たんだけどアセンブラやるならnesasmとcc65はどっちがオススメ?
424 名前:名前は開発中のものです。 mailto:sage [2015/11/02(月) 19:37:42.20 ID:GmeIn7pj.net] nesasmがアセンブラ cc65がC なのでアセンブラやるならnesasm プログラミング経験者?
425 名前:名前は開発中のものです。 mailto:sage [2015/11/03(火) 00:48:13.34 ID:dgydVfeg.net] cc65はca65つーアセンブラも付属してるよ。 >>423 ca65もnesasmも結果として作れるソフトに差はない。 なので、そういう質問するレベルなら簡素なnesasmで十分だと思う。
426 名前:422 mailto:sage [2015/11/04(水) 00:04:33.96 ID:MG7aGI5u.net] 皆さんありがとう プログラミングは初心者です 公式で配布しているnesasmは64bitで使えないみたいだから、まだ更新しているca65の方がマシかなと思った 自分の探し方が悪いのか?
427 名前:名前は開発中のものです。 mailto:sage [2015/11/04(水) 01:29:45.57 ID:jDbZfAAt.net] nesasmはソース付いてるから、自前でビルドして64Bit版nesasm作ってもいいのだが、面倒くさいなら、 MS-DOS Player ttp://homepage3.nifty.com/takeda-toshiya/msdos/index.html とか使えば、配布されてるnesasmのバイナリも、そのまま64Bit版Windowsのコマンドプロンプトの中で動くと思う。
428 名前:422 mailto:sage [2015/11/04(水) 01:38:18.31 ID:MG7aGI5u.net] ありがとうございます そのソフト別の意味で面白そう なるほど、自分でビルドしても良いのか 勉強がてらやってみます
429 名前:名前は開発中のものです。 mailto:sage [2015/11/04(水) 01:39:43.60 ID:MqFJsopM.net] 64bit版NESASMは既にある ttp://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
430 名前:名前は開発中のものです。 [2015/11/27(金) 19:22:03.16 ID:FGwJ1plm.net] >>1 orisari.cswiki.jp/index.php?CC65 (CA65)
431 名前:名前は開発中のものです。 mailto:sage [2015/11/27(金) 19:23:07.72 ID:FGwJ1plm.net] >>1 orisari.cswiki.jp/index.php?CC65%28CA65%29
432 名前:名前は開発中のものです。 mailto:sage [2015/11/27(金) 22:00:09.01 ID:AEiSUGo8.net] VBlank待ちで$2002読んだ後VBlank中にスプライト書き込むプログラム書いたけど実機だと 左から右にスプライトを動かそうとするとスムーズに動いてくれない。ドンキーコングとか市販のソフトみたいに綺麗に動かすには 何を気をつけたらいいですか?
433 名前:名前は開発中のものです。 mailto:sage [2015/11/27(金) 22:46:48.97 ID:BXn0P/af.net] 普通は$2002を使ったVblank待ちを常用するようなことはしない、ギコ猫〜のサイトでも見たのかな? 詳しくはこのスレの上のほうにあるレスを見てね
434 名前:名前は開発中のものです。 mailto:sage [2015/11/29(日) 20:25:04.83 ID:MHj/oA6M.net] >>433 ありがとうござます。プログラム変更します。
435 名前:名前は開発中のものです。 [2015/12/16(水) 22:25:48.20 ID:+xc8/nu+.net] >>1 アプリ倉庫だったところ www6.atpages.jp/~appsouko/
436 名前:名前は開発中のものです。 mailto:sage [2015/12/27(日) 12:38:46.49 ID:/47Z3a2E.net] 東方老桜夢のver0.20をアップしました。 ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu020.zip 1面ボスまでの実装、ボムは未実装です。 プログラム構造的には、色々と変更中です。 当初は8KBのバンク1個にステージデータを格納する算段だったのですが、一番短い1面で現地点で5〜6KBぐらいのデータになったので、複数のバンクに分散して持つように変更しています。 弾丸パターンのデータが思いのほか大きかった。会話データはこれからだし。 あと、415さんの報告してくれたバグを元に実機判定を行うことで実機用とエミュ用に分けてたnesファイルを一本化できました。感謝です。
437 名前:名前は開発中のものです。 mailto:sage [2015/12/27(日) 13:21:57.15 ID:eEDVBk4A.net] ちゃんとゲームになってて面白いわ
438 名前:名前は開発中のものです。 [2016/01/17(日) 16:27:08.58 ID:X7lsGmSN.net] 8BIT MUSIC POWER riki2riki.com/html/0_sample_8bit.html www.gamespark.jp/article/2015/10/20/61077.html https://www.youtube.com/watch?v=tb4ec90zWf4 プログラムが凄すぎる。 CrystalMarkみたいなスプライト量。 YouTube30fpsの動画では4倍というのがいまいちよくわからない。チラつきだけで4倍表示させてるのか? DMAでスプライトダブラー行為するにはBGとSPR両方オフにしないと出来ないという噂だがどこかでオフになっている感じがしない。 音楽部分で消費するクロック数は、VBLANK内か近傍に収めているだろうね、それとも下の方のラインでjsrしてるのか?。 割り込み使うとレジスタ退避などでクロックを浪費するから極力使いたくないだろう。 当初、sprite quadrupler スプライト クワドラプラー かと思ったが違うよな。 計算で位置求めるのは不可能だろうし、横並びのところはスプライト循環もやってるだろうし、 データ丸ごとテーブルで持ってるかな、そうなら長時間収録はできない。 パターンテーブルを4.5バンク切り替えてる?のか、全画面で複雑な絵。 絵1枚で0x2000バイトのパターンを3.5面分総とっかえってことかな。 どこでCHRバンクチェンジしているのか意識させない、バンクチェンジのノイズを抑えているようだ。 こちらはクロック数が切迫していないから、割り込みは使い放題かな。
439 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 16:46:29.69 ID:t/N02VRF.net] パソファミ関係者っていうのがヤダ
440 名前:名前は開発中のものです。 mailto:sage [2016/01/26(火) 08:49:51.39 ID:+RbTUT9y.net] >>436 ファミコンでも弾幕張れるんだなと関心してしまった 所でVirtuaNES v0.97でプレイすると表記が色々ズレるんだけれどもこのエミュレータでは正常に出来ないということかな?
441 名前:名前は開発中のものです。 mailto:sage [2016/01/27(水) 19:47:28.79 ID:8OkpSUkH.net] >>440 VirtuaNES 0.97で確認してみました。 東方老桜夢ver0.20では、実機/エミュ判定を行っていてIRQ割り込みの頭で、実機/エミュ別にnopを入れてタイミングを調整しています。 実機 nop 2個、エミュ nop 0個となっているのですが、VirtuaNESでは、nop 3個で画面が安定しました。 実機は nop 3個でも安定した画面になるので nopを増やすのは問題ないのですが、 VirtuaNES は、実機/エミュ判定で、エミュと判断されているため、実機側に判定させる何かしらの手立てが必要な状況です。 Aボタンを押した状態で立ち上げたら実機側とするといった方法でも構いませんでしょうか?
442 名前:名前は開発中のものです。 mailto:sage [2016/01/27(水) 23:31:46.97 ID:iuhjgLDC.net] ほう、実機判定してるんだ。 VirtuaNESにあわせる必要はない。 使いやすさは最高だが、エミュレーション精度はいまや時代遅れだからだ。 対しPPUクロック精度で書かれたより新しいエミュは 動作が重いという罠もある。
443 名前:名前は開発中のものです。 mailto:sage [2016/01/28(木) 00:04:07.25 ID:aAl7ptEy.net] >>442 では、申し訳ありませんが、VirtuaNES対応は宿題とさせていただきます。 実機判定は、VBlank期間中にMMC3のIRQを発生させれるかを行っています。 FCEUX Nestopia NNNesterJ で動作確認しましたが、この判定をパスしたのは Nestopia だけでした。 再現性が高いという評判は流石と思いました。
444 名前:名前は開発中のものです。 mailto:sage [2016/01/28(木) 00:08:59.07 ID:4HlAPjuX.net] しかし1クロック単位を考慮しなきゃならんソフトが多いってのもなぁ ファミコンはホントに難儀なハードだよ 普通は表面だけをマネできればいいが、ファミコンの場合そうもいかないのがな
445 名前:名前は開発中のものです。 mailto:sage [2016/01/28(木) 19:42:33.80 ID:ej2nMNKX.net] VirtuaNESで見たが、ゲーム固有オプション>タイル で奇麗になる。
446 名前:名前は開発中のものです。 mailto:sage [2016/01/29(金) 08:12:40.13 ID:IhMTdY1w.net] >>445 ありがとうございます。 ヘルプにタイル状に分割して描画とあったので、ボスの体力ゲージなどの狭いライン間隔での割り込み部分が どうななるのか気になったのですが、問題なく表示されるのを確認しました。
447 名前:名前は開発中のものです。 mailto:sage [2016/02/02(火) 21:14:25.02 ID:Xla8KbIU.net] ニコ動(sm28114684)に 8BIT MUSIC POWER の動画が投稿されていたので見たけど、 スプライト量4倍は、8x16モードで(8x8に対して2倍×偶数/奇数フレームで時間軸に分散で2倍 っぽい。 画面止めて、移動するオブジェクトの数を数えたけど、64個以内に収まっている。 オブジェクトの移動は、円軌道や微妙な加速減を行っているようで、それなりに負荷はありそう。でも無理のない範囲。
448 名前:名前は開発中のものです。 [2016/02/04(木) 23:53:35.30 ID:FG4y3IED.net] お世話になります。 私、責任者の加茂と申します。以後、宜しくお願い致します。 homepage2.nifty.com/e-d-a/scurl/ays.html homepage2.nifty.com/e-d-a/scurl/SW-pos.html homepage2.nifty.com/e-d-a/scurl/SW-sp.html homepage2.nifty.com/e-d-a/scurl/SW-BB8.html 浪速建設様の見解と致しましては、メールによる対応に関しましては 受付しないということで、当初より返信を行っていないようで、今後につい てもメールや書面での対応は致しかねるというお答えでした。 www.o-naniwa.com/ このように現在まで6通のメールを送られたとのことですが、結果一度も 返信がないとう状況になっています。 homepage2.nifty.com/e-d-a/scurl/ia-1-4.html homepage2.nifty.com/e-d-a/scurl/ia-2-1.html homepage2.nifty.com/e-d-a/scurl/ia-3-2.html 私どものほうでも現在までのメール履歴は随時削除を致しております ので実際に11通のメールを頂戴しているか不明なところであります。 ●クリスタル通り122号室住人 ●浪速建設 女事務員 南野 東条 ●アパマンショップ八尾店 加茂正樹 !!!!!!!!!!!!!!!
449 名前:名前は開発中のものです。 mailto:sage [2016/02/10(水) 05:21:21.77 ID:Tj88U3ce.net] ハードの話だからスレチかもしれないんだけどさ、ファミコンをTVに直接つなぐと壊れるとか言っている人がいたけど、どうしたら壊れるのかよくわからん ファミコンのRF出力には常時5Vの直流成分があるから、せいぜい1V程度の入力を前提としたアンテナ端子につなぐと壊れるってことか? 壊れるとしたら直流カット用のコンデンサか?でもまず名の知れたメーカーのテレビがそんなに耐圧の低いコンデンサ使うことってあるのか? 同じ形の端子のBSなんかじゃ15Vあるしフールプルーフの観点からも、まともな企業がその程度で壊れるテレビを作るとは考えにくいとおもうんだが
450 名前:名前は開発中のものです。 mailto:sage [2016/02/10(水) 21:24:34.51 ID:t1JpI2XH.net] >>449 ググったら、次のサイトが見つかった。 ttp://d.hatena.ne.jp/Narr/20110406 RFスイッチを通す前提で回路を組んでいるので、RFを直結するといった保証の範囲外の使われ方をした場合に どうなるかわからない、最悪テレビが壊れる可能性もある。 ってところのようです。
451 名前:名前は開発中のものです。 mailto:sage [2016/02/10(水) 23:57:07.30 ID:blT4oqOl.net] ファミコン本体内の抵抗が過電流になる。定格を超えた電流が流れる。
452 名前:名前は開発中のものです。 mailto:sage [2016/02/11(木) 00:53:37.94 ID:bMdTUmpq.net] >>451 なんでRF出力をテレビにつなぐとファミコンの回路中の抵抗がやられるんだ? ファミコンの中の7805が壊れるようなことでもない限りファミコン本体側の部品に過電流が流れるってまずないだろ
453 名前:名前は開発中のものです。 mailto:sage [2016/02/22(月) 01:55:27.70 ID:gksHLxQn.net] >>449 逆にBSアンテナ給電に耐えられるか怪しいんじゃ? ファミコン出た当初はそんなの無かったし。 まあ、本体だけなら安いし試してみたら良いんじゃね。 あと続きはこちらで。 tamae.2ch.net/test/read.cgi/gameurawaza/1440501848/
454 名前:名前は開発中のものです。 mailto:sage [2016/06/04(土) 14:03:05.70 ID:rVuJza+k.net] 東方老桜夢 ver0.30をアップしました。 homepage3.nifty.com/~kyoske/nes/TouhouRououmu030.zip ボムとゲームオーバー処理、タイトル画面を実装しました。 技術面でのトピックは、BG処理を背景&エフェクトの2レイヤー構造から WRAM上のバッファの内容を表示する2レイヤーを加えた4レイヤー構造に 変更したことでしょうか 新規に追加したレイヤーの1つを使ってプレイヤーのボムを表示しています。 BGなので8ドット単位でしか絵が移動しませんが、思ったより悪くは無い感じでした。 残りの1レイヤーはまだ先の話になりますがボス敵で使う予定です。
455 名前:名前は開発中のものです。 mailto:sage [2016/06/07(火) 07:46:00.39 ID:cz0bGoDJ.net] >>454 乙です。
456 名前:名前は開発中のものです。 mailto:sage [2016/06/15(水) 21:52:17.36 ID:niJUc+BD.net] >>450 のサイトから色々有用な情報を得られたけど、全体的にだいぶ捻くれた書き方してんな なんかWeb上のファミコン関係の技術者って心に闇抱えてる人が多いような気がするわ Offgaoとか、某FPGA実装の人とか、安藤信明とか
457 名前:名前は開発中のものです。 mailto:sage [2016/09/30(金) 17:04:18.56 ID:sHpgZ9Jm.net] 任天堂はまだまだ著作権を放棄するつもりはないみたいだね
458 名前:名前は開発中のものです。 mailto:sage [2017/02/14(火) 23:56:52.65 ID:9F1NVeB5.net] ファミコンの性能を限界まで引き出したソフトって何? krsw.2ch.net/test/read.cgi/ghard/1486542983/
459 名前:名前は開発中のものです。 mailto:sage [2017/05/26(金) 02:12:56.07 ID:F/EhocIs.net] ここも書き込み減ったねぇ アセンブリ言語自体下火だから仕方がないけど
460 名前:sage [2017/07/19(水) 07:51:34.34 ID:wCGSzxjqO] ファミコン用のゲームを作ってるやつはそこそこ要るんじゃないか その熱気がこのスレまで届けばいいのだけどね
461 名前:名前は開発中のものです。 mailto:sage [2017/10/07(土) 10:32:59.80 ID:7Zx+Wawj.net] >>454 今、ファミコンエミュの中で最も実機に近い一つと言われているMesenでもテストしてくれ
462 名前:名前は開発中のものです。 mailto:sage [2017/12/22(金) 13:32:46.78 ID:KOEYeqlJ.net] MMC5PCM誰か持っていないですか?
463 名前:名前は開発中のものです。 mailto:sage [2017/12/22(金) 13:48:43.43 ID:KOEYeqlJ.net] 「新4人打ちマージャン 役満天国」はMMC5 PCMを使っているという情報がある
464 名前:名前は開発中のものです。 mailto:sage [2017/12/24(日) 01:27:33.19 ID:a9Y1KqFd.net] ファミコンディスクシステム掲示板 FDS BOARD ディスクシステムを偲ぶ park19.wakwak.com/~fantasy/cgi-bin/fdsboard/read.cgi?mode=all&list=tree&no=20 ディスクBASIC: まさやんのゲームいぢり gameidiri.cocolog-nifty.com/blog/2007/02/basic_f283.html Converting Super Mario Bros. to FME-7/Sunsoft 5B? forums.nesdev.com/viewtopic.php?f=10&t=11000&start=15 Talk:Sunsoft FME-7 wiki.nesdev.com/w/index.php/Talk:Sunsoft_FME-7
465 名前:名前は開発中のものです。 mailto:sage [2017/12/24(日) 12:43:40.15 ID:a9Y1KqFd.net] ディスクシステムでDPCMって鳴らせるか調べてみたら、 $C000〜$DFF9にDCPMを配置して鳴らすことはできそうだな
466 名前:名前は開発中のものです。 mailto:sage [2017/12/25(月) 03:45:41.46 ID:W4zhaDYT.net] ここのHello Worldプログラム hp.vector.co.jp/authors/VA042397/nes/sample.html を単純にFDSに移植してみたけど、(バイナリ的には4バイトのパッチ) でディスクシステムで動いたけどなぜか黒画面になる部分が$マーク ばかりになってしまった。 https://i.imgur.com/LeKMwOO.jpg
467 名前:名前は開発中のものです。 mailto:sage [2017/12/25(月) 05:28:22.37 ID:W4zhaDYT.net] ディスクシステム(任天堂)のBIOSとシャープ ツインファミコンのBIOSって若干違うんだな。 Nintendoって表示されるかFamicomって表示されるかの違いだけど。 ディスクシステム(任天堂)のBIOSは40KBのNESイメージのものもあるけど、 シャープ ツインファミコン版を作ろうと思ったら、ディスクシステム(任天堂)の ROMをシャープ ツインファミコンのものに置き換えてから吸出し機で吸わないと駄目かな?
468 名前:名前は開発中のものです。 mailto:SAGE [2017/12/25(月) 05:43:44.93 ID:W4zhaDYT.net] >>467 そこまでしなくてもDISKSYS.ROMから構成することはできます。 で無いなら作ってしまえということで、 Sharp Twin Famicom BIOS (J).nesをSharp Twin Famicom BIOS (J).nesに するIPSファイル作ってみました。 https://www.axfc.net/u/3874041.zip
469 名前:名前は開発中のものです。 mailto:sage [2017/12/25(月) 05:47:07.09 ID:W4zhaDYT.net] >>468 スクショ https://i.imgur.com/xKp7GNC.jpg
470 名前:名前は開発中のものです。 mailto:sage [2017/12/25(月) 13:14:50.62 ID:C6VeyONB.net] >>462 これか? https://hayabusa9.5ch.net/test/read.cgi/news/1513920780/l50 >>465 そもそも市販品で鳴ってるソフトあるけど。
471 名前:名前は開発中のものです。 mailto:sage [2017/12/25(月) 23:16:46.03 ID:W4zhaDYT.net] バッ活パート11掲載「ROMゲームをディスクシステムで実行」ってのがあるようだ、 RAMアダプタを改造すれば、ROMのゲームをディスクに入れて遊べるようだな。 これはNROM(マッパー0)かCNROM(マッパー3)のゲームが対応しているようだ。 海賊晩でFDSのゲームをROMに入れたものがあるけど。これは$6000から プログラムを配置できるマッパーを使用しちえる。どちらも基本的にアドレスを変換せずに 起動できる点がポイントだろう。普通にNES→FDSやFDS→NESをやろうと 思うと大抵アドレス変換が必要で大幅なプログラム変更の為気の遠くなるような 作業が必要だ。
472 名前:名前は開発中のものです。 mailto:sage [2017/12/27(水) 01:41:54.27 ID:QYUKoYbX.net] 255 :名無しさん@お腹いっぱい。:2013/12/29(日) 07:21:45.79 ID:qrYjRNG4 3. FDSラブ 2013年09月16日 22:35 いや、待てよ? 「その後、ハードやアダプターなど、とっかえひっかえしてみたが、まったく改善されず。」 ハード、つまりファミコン本体は変えてみた(≒ファミコン本体のSRAMを交換した)けど改善されず、アダプター、つまりRAMアダプターも変えてみたけどそれもだめ、ACアダプターも"とっかえひっかえ"しただろうけど、無駄だった…。 うーん、ここは一発、昔の記事で紹介された東京都板橋区の「ファミコンショップクラブハウス」に行ってみたらいかがでしょうか。 ttp://ogclub.u.cnet-ta.ne.jp/ せっかくなのでついでにちょっと、僕の熱い想いを語らせていただきます。 かつてオロチさんが「2012年いまだにファミコンを修理してくれるゲームショップが存在した!」で紹介してからというもの、このお店に月イチで行って、ゲームを買いつつ、優しく面白い店長とよく話をします。 オロチさんが紹介していなければ、僕はもしかしたらここを知らないまま、彼と一生会うこともなく、孤独…というのは大げさかもしれませんが、それでも寂しい人生だったかもしれません。 僕ね、まだ酒は飲めません。 一部ではゆとりだガキだ何だと叩かれます。 けど僕は小学生の時からファミコンが物凄い好きで、小中学校では一時期いじめにも遭って、孤独感に押し潰されて自殺も考えました。 けどやっぱりね、類は友を呼ぶと言うじゃないですか。 オロチさんのこのサイトを見るようになってからというもの、店長や"マサさん"とかいろんな人に出会い、人生は豊かになりました。 マサさん、僕はここにいますよ。 オロチさん、今までずっと休まず記事を書き続け、あの時あの店を紹介してくれて、本当にありがとうございます。 これからも更新がんばってください!
473 名前:名前は開発中のものです。 mailto:sage [2017/12/27(水) 02:34:19.62 ID:QYUKoYbX.net] 256 :名無しさん@お腹いっぱい。:2013/12/29(日) 19:02:14.68 ID:SqfJyfl2 どうも、ファミコンディスクシステムを愛するFDSラブです。 最初は千歳烏山オルパでの友達に合わせて、面白いファミコンネタを交えつつオルパの素晴らしさを発信していきたかった。 僕はそう考えて、俗に言うリア充さんという人みたいなノリでTwitterを始めたわけなのですが、昨日は大変でした。
474 名前:名前は開発中のものです。 mailto:sage [2017/12/27(水) 02:36:16.68 ID:QYUKoYbX.net] 僕のツール「FDS2MMC3」
475 名前:名前は開発中のものです。 mailto:sage [2017/12/27(水) 02:40:33.32 ID:QYUKoYbX.net] NGワード判定で書けないので関連リンク kanae.5ch.net/test/read.cgi/gameurawaza/1334855054/255-256 kohada.5ch.net/test/read.cgi/gameurawaza/1319071372/
476 名前:名前は開発中のものです。 mailto:sage [2017/12/27(水) 02:43:50.45 ID:QYUKoYbX.net] FDSラブ@世田谷最強ファミコンコレクタ (@FDS_Conversion)'
477 名前:名前は開発中のものです。 [2017/12/31(日) 18:24:45.05 ID:/rN76OKL.net] 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 9WHJ0HLWTF
478 名前:名前は開発中のものです。 [2018/01/02(火) 22:10:24.29 ID:slJhAaJH.net] ほす
479 名前:名前は開発中のものです。 [2018/01/16(火) 06:49:08.11 ID:J/0RzKgi.net] egg.5ch.net/test/read.cgi/software/1488728381/191 191 名前:名無しさん@お腹いっぱい。[] 投稿日:2017/05/28(日) 23:24:05.12 ID:8S5QOMSD0 >>189 Mesen (100%) ≧ Bizhawk (100%) > puNES (98.08%) > MyNes (87.82%) > Nintendulator (85.26%) > VirtuaNES (35.26%) > nesterJ (29.49%) tasvideos.org/EmulatorResources/NESAccuracyTests.html emulation.gametechwiki.com/index.php/Mesen https://www.mesen.ca/#Compatibility
480 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 00:29:11.92 ID:VhnRMljT.net] ファミコンはBGとスプライトの優先順位の指定をスプライト側で設定しますが これだとスプライトの下に表示したいBGキャラと スプライトの上に表示したいBGキャラが隣接している場合で スプライトがその両方にまたがっている場合に スプライトの上に表示したいキャラに差し掛かった時点でスプライトの 優先表示を変えてしまうと、スプライトの下に表示したいBGキャラの部分でも BGキャラが上に表示されてしまうと思いますが、どういう処理をすればいいですか? 色々とVDPの仕様を調べると、セガマークIIIなどは、優先順位のフラグをBG側が 持っているので、何も考えなくても思った通りの優先順位で表示されそうですが ファミコンのようにスプライト側で優先順位を持っていると、優先順位が逆のBGに スプライトがまたがっている場合、どうしたらいいか分かりません。
481 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 03:13:04.92 ID:KfOVG5Sv.net] パターン1 表示したいスプライトより優先度が高いスプライトをBGの裏においてマスクする 例)スーパーマリオの土管に入るときなど パターン2 BGの後ろにしたいところに優先度の高いスプライトを8枚置き、8枚を越える スプライトが出せない事を利用して目的のスプライトを消す 例)ゼルダのダンジョンなど パターン3 表示したいスプライトのキャラそのものをBGデータに重なっているところだけ透過 したキャラに書き換える 例)ソルスティス/ナイトロアーなど 好きなの選んで
482 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 13:00:25.60 ID:VhnRMljT.net] >>481 ありがとうございます。そういった感じの解決法なんですね。 でも、なんだかスプライト側が優先順位のフラグを持っているのは 面倒な気もするのですが、スーファミでも変わらず同じ仕様のようですし 何かメリットがあるのですか? BG側が優先順位のフラグを持っていれば、BGキャラを表示する時点で フラグを設定する以外の事はしなくても済みますので、この方が便利で 合理的に感じます。 ところがスプライト側がフラグを持っている場合、スプライトキャラが移動するたびに BGキャラとの重なりチェックをしなければならず、そのBGキャラがスプライトの上に 表示されるべきBGキャラならばフラグを設定し、そうでなければまたフラグを戻すといった 処理がキャラを移動するたびに発生します。しかも、上記のように 優先順位が逆のBGキャラをまたいでいる場合は、様々な工夫が必要です。 それにもかかわらず、スーファミでもこの仕様を継承したということは この方法にもメリットがあるはずですが、さっぱり思いつきません。
483 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 16:13:46.37 ID:k1Q0LT6K.net] BGにフラグをもたせるメモリの空きなどないしハードウェアも複雑になる 描写位置に合わせて処理が必要になるスプライト側に機能を集約させることで単純化し 工業製品として価格が抑えられるなら十分なメリットになるだろ スーファミは当初ファミコンのソフトがそのまま動かせるように 互換性を考慮した設計だったが途中で諦めたからその名残
484 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 22:43:04.95 ID:KfOVG5Sv.net] >>482 出来る事出来ない事がそれぞれで違って一長一短ある BG2枚以上ならスプライト側のほうが何かと便利かな
485 名前:名前は開発中のものです。 mailto:sage [2018/01/19(金) 23:52:01.21 ID:VhnRMljT.net] >>483 ファミコンはVRAMが2KBしかないので よく考えたらそうですね、パレットですら4キャラで1つに 節約してるくらいですし。 何かソフトウェア技術的なメリットがあるのかと思って ここ3か月くらいずっと考えてたんですけど、思いつかなかったもので ここで聞いてみました。 >>484 スプライト側がフラグを持った方がいい場合もあるのですか? 自分はまったく思いつかないのですが・・・。 スプライト側がフラグを持つと、プログラマ側が色々な処理を しなければならず面倒ですけど、BG側がフラグを持ってくれると プログラマは何もしなくてよくてメリットしかないように思います。
486 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 04:11:54.78 ID:B+xNcX3y.net] >>485 BGにフラグの場合はスプライトより上にしたBGよりスプライトを 上にする事が不可能になる 今更そんなメリットデメリットを議論したところで変わらないから 工夫して使うしかないよ
487 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 13:13:58.39 ID:z5GTrIKv.net] ようやく>>480 氏の内容が理解できた。 なんで優先度をそんなコロコロ変えるのか全く理解できなかったが、マリオの土管の事か。 ああいうのは、本来別の最前面スプライトやBG面を2毎持たせて前面のBG面?としてやるものだと思いますが。 BG=背景なんだから、それを基準(固定して)にするのが普通の考えだと思う。
488 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 16:39:03.41 ID:xRcWre4I.net] >>486 おお、なるほど。そこは思いつきませんでした。 確かに今更仕様について考えても意味ないんですけど どうも気になってしまって。 >>487 この仕様を考えるきっかけになったのが、立体交差の橋を くぐるという処理なんですけど、橋の下に入るときに、スプライトは 1ドット単位で動くので、どのタイミングで優先順位を切り替えたら いいかと悩んだのが原因でして。 橋に1ドットでもくぐった瞬間に切り替えると、その手前の地面のBGも 上になってしまうのでキャラが半分消えておかしくなるし、完全に8キャラ分橋の下に 移動してから切り替えると、その8ドットが動く間はキャラが橋の上に表示されて しまうので。
489 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 16:50:55.67 ID:xRcWre4I.net] そう言えばイースの立体交差はどうだったろうと思って 調べてみたら、ファミコン版はそもそも立体交差が省略されて 無くなっていたという。 RPGで森に入ると下半身が隠れるというのも同じような処理ですけど ハイドライドではよく見てみると、森から出るときとか地面のBGがキャラの上になってしまってますね。 速いからよく分からないけど、ちゃんと処理してると思ったら思い出補正だったようで。 ファイナルファンタジーだとキャラがきれいに矩形に消えてるので BGを上にしてるんじゃなくて、単にスプライト消してるだっけっぽいですね。
490 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 17:03:49.81 ID:xRcWre4I.net] 結局の所、1ドット単位で動くキャラに対して上に何かを 表示したい場合、1キャラ分動き終わった場合は別として 移動中はスプライトで上書きしかないのですね。 さっき動画で見たんですけど、カラテカでキャラが柱の向こう側を 通る時も、柱にスプライトのマスクが出現する処理でした。 だとすると、このBGがスプライトの上に表示できるという仕様は 移動するキャラに対して使用するような想定では作られていないということか。 根本的にそこの理解が足りなかった。
491 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 17:20:16.21 ID:xRcWre4I.net] あ、念のために書いておくと、立体交差の橋というのは 下が透ける部分(透明色)があって、そこからはスプライトキャラが見えます。 完全にキャラが見えなくなってしまうのであれば、それこそスプライトのマスクで 済むので。
492 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 19:11:23.32 ID:xRcWre4I.net] なんか連続で書いて申し訳ないですけど、>>486 さんが 教えてくれた利点は結構大きいな。 これができないとスーマリ3とかのBGの裏側に回った時に 自キャラだけ裏側でってのが出来なくなる。
493 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 19:15:39.26 ID:1nTTD0qr.net] BGパレットの0番が背景色だから スプライトのプライオリティビットを立てると この部分が透過扱いになるのよ
494 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 19:36:10.53 ID:xRcWre4I.net] >>493 その仕様はもちろん理解しています。 ファミコンはBG・スプライトにかかわらず パレットの0番色は強制透過色ですよね。
495 名前:名前は開発中のものです。 mailto:sage [2018/01/20(土) 19:52:33.42 ID:xRcWre4I.net] 説明が下手過ぎて何か勘違いさせてしまったかもしれません。 透過色の原理は理解してます。 まあ簡単に書くと、表示優先順位が逆のBGキャラをスプライトがまたいでいる時 つまり移動中は優先順位をどう指定しても表示がおかしくなるので BGと同じスプライトを自キャラスプライトに上書きするしかなさそうだな 面倒だなこれ、BGがフラグ持ってくれてたらこの処理いらないのになぁ なんでスプライト側がフラグ持ってるんだろ?これ何か利点あるの?ってのが 出発点でした。
496 名前:名前は開発中のものです。 mailto:sage [2018/02/17(土) 07:40:03.31 ID:G/oBdhuK.net] ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
497 名前:名前は開発中のものです。 mailto:sage [2018/03/14(水) 20:42:38.17 ID:FRWoB0DI.net] 背景とスプライトのプライオリティってセガマーク3なら問題なくできるの? coolrom.com/screenshots/mastersystem/Lord%20of%20the%20Sword%20 (2).jpg dreamandfriends.com/wp-content/uploads/2010/09/sms_ninja.png
498 名前:名前は開発中のものです。 [2018/05/11(金) 20:43:57.64 ID:DZaU1iTw.net] https://www.youtube.com/watch?v=V0ZttoqRxV0
499 名前:名前は開発中のものです。 mailto:sage [2018/05/14(月) 19:07:58.17 ID:Y/0tmHJq.net] 453です。久しぶりに来ました。 >>461 Mesenの存在を知った時、東方老桜夢を試してみたのですが プログラムに仕込んでいる実機判定でエミュと判断されたので Nestopiaに負けてんじゃんで止まっています。 実機判定にパスすれば普通に動作するようです。 東方老桜夢の公開サイトはinfoweb閉鎖に伴いさくらサーバに移動しています。 現在、ver0.51を公開しています。
500 名前:名前は開発中のものです。 mailto:sage [2018/08/08(水) 22:21:13.26 ID:zmi562yC.net] 最近開発を始めようと思ってファミコンの勉強を始めたものです。優しい方がいたら是非教えて欲しいことがあります CPUアドレス空間の$2006ってR/WしたいPPUのアドレス空間のアドレスを上位ビットと下位ビットの二回に分けて書き込むと思うのですが、この2バイトのアドレスの情報ってPPU内部のどこのレジスタに保存されているのでしょうか。 例えば同じように2回書き込む$2005では、スプライトのy座標とx座標はそれぞれPPUのOAMのbyte1とbyte2に保存されていると思うのですが、、
501 名前:名前は開発中のものです。 mailto:sage [2018/08/08(水) 22:52:05.26 ID:zmi562yC.net] すみません、多分自己解決しました NesdevのPPU Scrollingのページにtレジスタとかvレジスタとか色々書いてあったのに気づきました
502 名前:名前は開発中のものです。 mailto:sage [2018/08/09(木) 20:06:38.45 ID:KCGkcXa3.net] tレジスタやvレジスタは、動作を説明するために書いてあって、実際にPPU内部に存在するかは はっきりしていないと思います。ただ、この動きをするためには、このようなレジスタが必要だろうなと 推測されるので、説明にあるレジスタに該当する回路はあると思います。 あと、$2005 に書き込むにはBGのスクロール位置なので、OAMは関係しません。
503 名前:名前は開発中のものです。 mailto:sage [2018/08/09(木) 23:53:25.84 ID:D70dxmCk.net] 釣りにしては有能すぎる。 ファミコンの回路図見るのが一番。 もっと言えば PPU内部の回路解析しちゃった外人もいるはず。
504 名前:名前は開発中のものです。 mailto:sage [2018/08/12(日) 12:57:39.31 ID:iZHULsCi.net] 回路図見たけど2度書きレジスタについては全然見えてこないな。 tやvという概念さえ知ってれば無問題。
505 名前:名前は開発中のものです。 mailto:sage [2018/08/14(火) 09:45:11.49 ID:bh2I2v4H.net] PPU scrolling - Nesdev wiki PPU rendering - Nesdev wiki これはめちゃくちゃ重要
506 名前:名前は開発中のものです。 [2018/12/04(火) 07:10:29.71 ID:JwISlK2+.net] ファミコンナイト https://www.nicovideo.jp/watch/sm34268474
507 名前:名前は開発中のものです。 [2019/01/14(月) 23:42:22.63 ID:HjP5c9A8.net] 「フィガロの結婚」が8ビットゲーム仕立てに!? 名曲アルバム+(プラス) www6.nhk.or.jp/nhkpr/post/original.html?i=13927
508 名前:名前は開発中のものです。 [2019/04/14(日) 09:34:58.22 ID:2xIXdFwF.net] https://egg.5ch.net/test/read.cgi/software/1548989134/108 レス転載 https://siliconpr0n.org/archive/doku.php?id=vendor:yamaha:opl2#ym2413_instruments VRC7(YM2413)のデバッグモードを利用してプリセット音色のダンプができたとのこと 今までのパラメータは経験的近似だったのね…
509 名前:名前は開発中のものです。 mailto:sage [2019/04/21(日) 15:14:08.08 ID:d83f6FYN.net] /i/|ii!//|!/!i/´i/ .|i |/ノ i\i!゙、:iヽ|:::| ヽ 'i ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ i i 川i!ハ/" _! | │ 川 ヾ:ii ゙'∨ | ゙ヾiヽヽ;||:::::i'::::::::::::::::::::::::: ノ ノ/リ,,,,,,二三テ=''" ヽノ ル |ノノヽヾ ノ 、,,,ノ,、 iヽ:::||:::::i':::::::::::::::::::::::::::: /  ̄ ´~~゙'''' ゙''‐- ..,, ,, ‐' `゙ヾミッ、,, ヽ::|::::/:::::::::::::::::::::::::::: ,,イ| i' i" `'‐=' `'|/i!:::::i:::::::::::::::::::::::: i | :::::::ヽ::::ヽ::::::ヾ:: ゙、 l 〃::::: i//::::ハ::::::::::::::::::i::: i i \\\\\ヽ ) ヽ ′′′ / /:::::/:::::::::::::::::::|:::: ! | i ,,ィノ < :::: : /:::::/:::::::::::::::::::/:::: i! i i! /i/ ,r''''‐y'''.;、 \ /:::::/:::::/::::::::::::/::::: ゙i! | i /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i /::::::/::::::/::::::::::::/::::/i i i ゙! ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r'' /:::::::/::::::/::::::::::::/::::// ゙、ii! ゙| i ノ ゝ;;;:::::::::::::::::::;ノ 。 `i //:::::/:::::/::::::::::::/::::::/::: ヾ!トl ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!:::::: iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii:: i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ:: !ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
510 名前:名前は開発中のものです。 mailto:sage [2019/06/08(土) 22:37:36.20 ID:VXBP8K4R.net] ファミコンプログラム盛り上がってきてるよね〜
511 名前:名前は開発中のものです。 [2019/06/09(日) 07:44:04.55 ID:AOOhsRYQ.net] >>510 どこで
512 名前:名前は開発中のものです。 mailto:sage [2019/11/30(土) 12:39:15.72 ID:KE4+YyOy.net] なんか同人シューティングカセットが出たみたいだが、 末期のマシン語で作られたベーマガ投稿作品みたいだ
513 名前:名前は開発中のものです。 mailto:sage [2019/11/30(土) 22:10:01.18 ID:TFMRzxLb.net] キラキラスターナイトのプログラム使って作ってるらしいなそれ おにぎり食べるやつとかアドベンチャー的な作品とか ファミコン界隈が「自分で新作を作って売る」方向になってきてるな
514 名前:名前は開発中のものです。 mailto:sage [2019/12/02(月) 19:53:22.83 ID:BL/IQ1Ao.net] 何年も前からですやんそれ
515 名前:名前は開発中のものです。 mailto:sage [2020/01/04(土) 17:20:36.16 ID:t0zHMxk6.net] メモ BRKを使う理由 Making good use of BRK opcodes //nesdev.com/NES%20hardware%20development%20guide.txt
516 名前:名前は開発中のものです。 mailto:sage [2020/01/13(月) 18:05:15.88 ID:ICt/1c7D.net] ファミコンのとある忍者ゲームのソースコードが公開される「ソース見られるの恥ずかしい」 hayabusa9.2ch.net/test/read.cgi/news/1578888844/
517 名前:名前は開発中のものです。 [2020/06/11(木) 12:28:59.34 ID:3ovfqjDd.net] サルカニパニックとかいう開発中のパズルゲーム 超よさげな感じ〜 https://twitter.com/work3studio/status/1232275635562672128 (deleted an unsolicited ad)
518 名前:名前は開発中のものです。 mailto:sage [2020/06/13(土) 17:42:06 ID:+KCJ5GSM.net] すげーな スーファミかと思った
519 名前:名前は開発中のものです。 mailto:sage [2020/06/13(土) 21:04:12.30 ID:DTcsUWeB3] スーファミかーファミコンしか興味ないからなー と思ったらファミコンでマジでビックりした
520 名前:名前は開発中のものです。 mailto:sage [2020/06/17(水) 23:06:58.98 ID:mf6rc7jM.net] >>517 なんだこりゃ色多すぎ嘘くせー と疑ってしばらく観察してたけど 特に色数の制約超えてなさそうだね 当初は絵のパターンが足りなくならないように減らすために ブロックまで含めた1枚絵を描いているのかと思ったけど違うかな パターンの繰り返しが単調にならないように上手な絵を描いているね スーファミのように今にも背景が多重スクロールしそうな色
521 名前:名前は開発中のものです。 mailto:sage [2020/06/21(日) 17:07:14.08 ID:sK+WKvn0.net] >>517 回転時のアニメーションがカクカクすぎる。斜め45度のパターンも必要かと
522 名前:名前は開発中のものです。 mailto:sage [2020/06/21(日) 18:17:10.21 ID:PlLzwQn6.net] ゲームラボのSM調教師瞳の記事に興味深い記述があった 音源チップをデュアルCPUのように使って音楽を流しながらグラフィックを解凍させたんだと そんなことできるの?
523 名前:名前は開発中のものです。 [2020/09/22(火) 01:46:47.41 ID:wZ3fIRJG.net] aitendo に40ピンのカードエッジコネクタの基板が売ってるのに60ピンのが無かったから60ピンの発売希望お願いしてみたらあっさり快諾してくれた。 来月頭くらいには入荷しそうだって。 ファミカセの制作に使えるか注目しててね。
524 名前:名前は開発中のものです。 [2020/10/04(日) 22:28:40.56 ID:yRmpXbbC.net] RP2A03 の命令セット確認しなおしてみたんだけど、 オリジナルならゼロページでクロック数短縮できるところをわざわざ潰して NOP とかにしてる? なんで?
525 名前:名前は開発中のものです。 mailto:sage [2020/11/07(土) 20:28:14.91 ID:FBpenbI0.net] >>524 潰した命令って具体的に何の命令?
526 名前:名前は開発中のものです。 mailto:sage [2020/12/20(日) 12:16:58.07 ID:AWHSkSuQ.net] つこ
527 名前:名前は開発中のものです。 mailto:sage [2021/05/02(日) 23:37:26.99 ID:l8xXKgbw.net] ファミコンのグラディウス、やっとMSX1に追い付く leia.5ch.net/test/read.cgi/poverty/1619857237/
528 名前:名前は開発中のものです。 mailto:age [2021/06/12(土) 15:34:08.80 ID:qCHr7uRi.net] 「創世記・ファーミー」でファミコンのプログラムを製作できます と宣伝にあったけど、実際に作った人がいたのかと。
529 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 17:25:44.93 ID:akTl1DCi.net] >>528 持ってるけど使い方がわからん
530 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 18:58:48.83 ID:qCHr7uRi.net] レスどうもです。バックアップはできたと思うけど他スレからの抜粋です。 PC98等に接続して独自にソフト開発ができるようにする予定もあったんだけど 実現せずにフェードアウトしたとか。とは言え開発した方がいるのかと質問しました。 因みに最近ディスクシステムの内容をWindows間で8秒(←QDの仕様)で転送する ハード・ソフトを製作しましたがFM-7も使います。回路図と6809コードは公開予定です。 Windows側に持って来れば「cc65」が使えるので現在下調べしてます。ただFM-7の他に 部品代は6000円程かかります。とは言え「創世記・ファミー」よりは安いです。 喜んで「FM-7」をオクで入手したけど騙しだったと言うことにはならないようにします。 尚、「FM-77」の方が拡張コネクタ数の関係で良いです。「77AV」ではNGかも知れません。
531 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 19:01:20.45 ID:qCHr7uRi.net] ×)「創世記・ファミー」 ○)「創世機・ファミー」
532 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 21:30:42.83 ID:akTl1DCi.net] ROMカートリッジをディスクシステムにバックアップしたのは覚えてる ファミー本体の後部にRS-232Cっぽいコネクタはあったけど、ファミコン+ファミーだけではBOOTできないっぽいから、 パソコンと繋いで開発するにはディスクシステム側に起動ディスクが必要な気がするよ
533 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 23:00:11.74 ID:qCHr7uRi.net] 「創世機・ファミー」を使う際にディスクシステム側に起動ディスクが必要が否かは判りません。 下の画像では「創世機・ファミー」側に何か「CPU」があれば起動ディスクは必要しない感じです。 ttps://bakutendo.net/blog-entry-415.html 因みに「ディスクシステム解析ツール」と仮にしましたが(1番目の画像は、これでバックアップ) ttps://imgur.com/a/qCPoTqz 3番目の画像の「RAMアダプター接続基板」はFM-7の6809を使い「QD」を操作します。 また4番目の画像の「新基板202106」はFM-7を使い、Windows間でデータ転送します。 6502のコードは全く使わなくても「QD」は操作できます。実際にMZ-1500はZ80です。
534 名前:名前は開発中のものです。 mailto:sage [2021/06/12(土) 23:46:26.20 ID:qCHr7uRi.net] >>532 >ファミー本体の後部にRS-232Cっぽいコネクタ RS-232Cです。PC-98(PC-88)のRS-232Cと接続してデータ転送か コマンドを送出したと思います。
535 名前:名前は開発中のものです。 [2021/06/13(日) 09:36:40.95 ID:8TZNHBpa.net] 市販のNESゲームでスプライトダブラーするゲームってあったんですね https://forums.nesdev.com/viewtopic.php?f=9&t=23137
536 名前:名前は開発中のものです。 [2021/06/13(日) 09:40:04.40 ID:8TZNHBpa.net] >>535 URLがバグった Stunt Kidsとかいうゲームです
537 名前:名前は開発中のものです。 [2021/07/03(土) 01:03:34.45 ID:nQGwm9V9.net] quartz.nesという音色エディタをお持ちの方いませんか? うpしてくださったら御礼します(3行)
538 名前:名前は開発中のものです。 mailto:sage [2021/07/03(土) 15:40:17.46 ID:LiL8bHG9.net] 2行で応えます。もしかして「行」は「桁(けた)」の間違いではと。 それにしても999円では安過ぎ、持ってないけど。更に著作権侵害ではと。
539 名前:名前は開発中のものです。 [2021/11/30(火) 23:18:51.36 ID:8EsryYEI.net] 新作ファミコン版『パックマンCE』、Switch『ナムコットコレクション』10本収集特典に https://japanese.engadget.com/namcot-103008491.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAADf2ioFYZStJiDe7plAVCKT8tq2ySE4YuM8j5HYtKMjuZuBNZHF-0TXdnYm5zdMm68EpGG29r4BbTmw2IUdNbcGd2neW6JcGzGCZmSDs_sVYENGKH29ECX2CPWZoRdMIxlmJ95ojdyR6EcJe0nuvaEdmjlrji3YfdDZn1lDC8KWZ 6月18日発売のニンテンドースイッチ『ナムコット コレクション』には、10本のゲームを揃えた収集特典として、ファミコン版『PAC-MAN Championship Edition』(パックマンCE)が用意されていることが分かりました。 『パックマンCE』は2007年にXbox 360で発売されたのち、現在も多機種でシリーズが続く新生パックマン。 収集特典の新作パックマンCEは、ナムコットブランドによるナムコのファミコンゲームが 『ファミスタ’94』で終了してから10数年後のゲームを、さらに13年経った2020年に、 ファミコンで動く新作として先祖返り移植した作品です。通し番号は『ファミスタ’94』の「83」 に続く「84」。 パックマンCE ファミコン版ってどっかで誰かが作ってたの見たことあるけど、 それにそっくりだった。その動画は現在非公開になったいるようだ。 パックマンCE www.nicovideo.jp/watch/sm3844058 ↑ これが公式採用されたのかな?
540 名前:名前は開発中のものです。 [2021/12/15(水) 22:26:41.89 ID:rXCCGY2z.net] >>539 特典発表のちょい前に、動画が非公開になったので、そういうことでしょうね。 作ったのはcoke774さんで、近年は、スーパーカセットビジョンで色々ソフトを作られています。
541 名前:名前は開発中のものです。 mailto:sage [2021/12/23(木) 23:31:34.53 ID:B6eQICGp.net] 「ゲームで金儲けする時代止められない」CCPゲームズ代表インタビュー 「CCPゲームズ」のヒルマ・ベーガー代表は14日、オンラインインタビューで最近、 話題に浮上した「プレイトゥオン(Play to Earn 遊んで儲けるゲーム)」について 「世界のゲーム業界には、すでにゲームアイテムを取り引きする2次市場が存在する」とし 「儲かるゲームは以前にもあったし、これからも止められない流れになる」と診断した。 CCPゲームズは、世界的な人気ゲーム「イブオンライン(Eve Online)」を開発・運営する。 イブオンラインは、世界で4000万人以上が楽しんでいる。 CCPゲームズは最近、NFT(代替不可能トークン)コンテンツを披露し、注目を集めている。 「アライアンス・トーナメント」というゲーム内の大会商品でNFTコンテンツを配った。
542 名前:名前は開発中のものです。 mailto:sage [2022/03/15(火) 21:29:28.09 ID:+prqqqiR.net] ハード側のイメージができないので質問させてください。 mapper 206のCHRバンク切り替えは400byte毎に小分けで切り替えられますが、 市販ゲームのプログラムを覗くと、例えばAのシーンでは$0000-$1FFFまで毎フレーム同じバンクを指定し続けています。 ゲームとして必要なタイミングでのみバンクを切り替えればいいのに毎フレーム同じバンクを指定して負荷ってかからないのでしょうか? エミュとかでPPUのメモリを覗くとCHA-ROMのデータが$0000-$1FFFに展開されていますが、 これはCPUに命令されたタイミングで1byteずつコピーしているのでしょうか? メモリに展開?されたなら、CHA-ROMを引っこ抜いてもバンク切り替えが起きない限りグラフィックはバグらなさそうなイメージがあります。 ここら辺が全くイメージできません。 拙い文章で申し訳ございませんがよろしくお願いします。
543 名前:539 mailto:sage [2022/03/15(火) 21:51:26.58 ID:+prqqqiR.net] 物は試しとゲーム動作中にCHAROMを引っこ抜いたところグラフィックがバグりました。 エミュではPPUメモリ$0000-$1FFFにコピーされているように見えるけど、 実際のハードでは、メモリは無くPPUとCHAROMのアドレス線が接続されているだけなんでしょうか? バンク切り替えというのもアドレス線の接続先をコントロールするICに信号を送っているだけなので 仮に毎フレーム同じバンク番号を指定し続けても負荷はかからないと…。
544 名前:540 mailto:sage [2022/03/15(火) 22:18:10.46 ID:+prqqqiR.net] 連投すみません。 ROM領域と言われるチートコードでは干渉不可な場所と RAM領域と言われる干渉可な場所があることを思い出しました。 PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。 常にCHA ROMと同期しているイメージな気がしました。 自己解決してしまったと思います。お騒がせしました。
545 名前:名前は開発中のものです。 [2022/03/15(火) 22:31:36.87 ID:AYr/3bBN.net] >>542-544 少なくとも >>542 の時点ではバンク切り替えがどういうものか理解できてないように見える それが >>544 で自己レスするまでに調べて理解できたってことなんだろうか?
546 名前:名前は開発中のものです。 mailto:sage [2022/03/15(火) 23:00:02.57 ID:+prqqqiR.net] >>545 お騒がせします。あまり理解は出来て無いと思います。 エミュのメモリビューワでPPUメモリを覗くと、$0000-$1FFFまでずらっと展開されてるので あたかもCHAROMのデータをPPUがコピーして記憶しているかのように錯覚してました。(エミュ上なので書き換えられるし) 実際のハードでは、PPUが記憶してるとかではなくアドレス線A0〜A12線($0000-$1FFF)がCHAROMに直結してるだけというイメージと理解しました。 悪魔城ドラキュラはPRGからグラフィックを「RAM」にデータをコピーしているというワードを見て気がつきました。 プロアクションリプレイを使ってメモリとかを書き換えて我流で学んで来たため知識がぐちゃぐちゃです。 ROMとRAMの意味から学び直してきます。
547 名前:名前は開発中のものです。 mailto:sage [2022/03/16(水) 13:34:55.29 ID:J5q3FABN.net] CHRROMに直結で良いよ (CHAではなくCHR) ROMではなくRAMになってるのもあるけど
548 名前:名前は開発中のものです。 mailto:sage [2022/03/20(日) 20:58:52.24 ID:i5c4FQLq.net] https://www.nagoyatv.com/themes/nagoyatv_pc/news/image/ann/000248662_640.jpg 6502 人
549 名前:名前は開発中のものです。 [2022/03/29(火) 22:57:50.51 ID:SFxLAwoX.net] >>546 こういう風に繋がっているけど、どのように動作するかイメージわく? 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 に接続
550 名前:名前は開発中のものです。 mailto:sage [2022/03/30(水) 09:45:09.02 ID:8uCqZbnF.net] >>549 別人だけど、難しすぎる
551 名前:名前は開発中のものです。 mailto:sage [2022/03/30(水) 17:00:46.31 ID:k60dhdk1.net] >>549 プロアクションリプレイでソフトをバイナリでいじって改造しようってレベルの奴に ハードウエアの配線から説明しようってのが無理すぎる気がするが 知りたいこともそんなことじゃないだろうし
552 名前:540 mailto:sage [2022/10/02(日) 11:40:37.85 ID:jA1jUXrd.net] >>549 今気づきました。ありがとうございます。 あの後、勉強&ファミコンの分かりやすい回路図を見つけて理解できました。 バンク切り替えは、PRG命令でCPUのデータバスとアドレスバスからhi/loが出る→ロジックICが受ける→ロジックICがEPROMのA15等をhiに固定し見たいデータに切り替える。 ファミコンは無いけどROMが複数個で構成されてるタイプであればOEをうまく切り替えて見たいデータに切り替える。
553 名前:名前は開発中のものです。 [2022/10/03(月) 00:36:52.02 ID:rpanlh78.net] 半年越えのレスで草
554 名前:名前は開発中のものです。 mailto:sage [2022/12/16(金) 14:34:38.90 ID:ehqDzjMY.net] 書けるかな?
555 名前:名前は開発中のものです。 mailto:sage [2023/02/07(火) 00:00:31.88 ID:osuKUvL9.net] 今年はファミコン発売40周年だぞ 7月は何かイベントしないとね
556 名前:名前は開発中のものです。 mailto:sage [2023/02/09(木) 23:54:06.26 ID:dE2T0xrU.net] PALTEST.NES( nesdev.com/paltest.zip )をディスクシステム用fdsに変換しました。 プログラムはc000から少しだけなのでそのままコピペして、nmi等アドレスをdffa~に入れるだけで動くはずです。 実際動かすと、数秒間正常動作するのですが、約5秒後フリーズしてしまいます。 どうしてフリーズしてしまうのか全く分かりません。 原因と対策方法が分かる方ご教示お願いします。
557 名前:名前は開発中のものです。 mailto:sage [2023/02/17(金) 23:33:48.29 ID:hIJVoStd.net] >>556 いろいろ条件不明 その書き方だとダンプ部分をずらしただけ?じゃ全然無理だね *.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
558 名前:名前は開発中のものです。 mailto:sage [2023/02/21(火) 00:44:39.67 ID:G+AkrGuB.net] >>557 レスありがとう よく読んでください、数秒間正常動作すると書きました。fdsファイルと移植に問題はありません。 で、自己解決しました。
559 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 18:45:37.49 ID:m8GDBD2I.net] hoss
560 名前:名前は開発中のものです。 mailto:sage [2024/08/19(月) 00:08:59.82 ID:ifAbC/51.net] 最近ファミコンのアーキテクチャに興味があるが調べてると面白い構造で使いやすく出来てるな アセンブラはやっぱ8bitまでだなやる気になるの
561 名前:名前は開発中のものです。 [2025/06/30(月) 16:10:33.15 ID:GY+zD7Fh.net] ギコ猫でもわかるファミコンプログラミング 6/30でサ終と言っていたfc2がまさかの午前中に終了しやがってサイトの保存が間に合わなかった 誰かバックアップしていたら公開して下さいお願いします
562 名前:558 [2025/06/30(月) 16:30:35.41 ID:GY+zD7Fh.net] 有名サイトだからか幸いweb archiveで大体捕捉できそう でももし直近で保存した人がいたら共有していただけると有難いです 無許諾だが後人のためにもミラー立てようかと思っていた
563 名前:名前は開発中のものです。 mailto:sage [2025/07/01(火) 18:48:29.83 ID:ZFCLvlKd.net] 内容を今風に作り直してくれ そこまで難しいことはやってないし、大半は生成AIにお願いすればそれなりに作ってくれる
564 名前:名前は開発中のものです。 mailto:sage [2025/07/01(火) 21:03:45.94 ID:SiXJq6oa.net] >>563 生成AIにお願いしたとして誰が校正・検証するんだよ
565 名前:名前は開発中のものです。 [2025/07/01(火) 21:20:39.17 ID:3eAgUt4w.net] >>563 じゃあお前が作り直せよ
566 名前:名前は開発中のものです。 mailto:sage [2025/07/08(火) 00:52:44.65 ID:aDLMMm1E.net] wgetで保存してあるけど、今風ってどんなんよ 無許可であまり勝手なことはしたくないな
567 名前:名前は開発中のものです。 [2025/09/18(木) 03:21:56.61 ID:LoL521fE.net] FCやSFCのコーディングに特化した生成AIって無いのかね
568 名前:名前は開発中のものです。 mailto:sage [2025/09/18(木) 12:10:54.75 ID:QUv8TPdV.net] あるよ
569 名前:名前は開発中のものです。 mailto:sage [2025/09/18(木) 20:09:02.48 ID:SuKnJNCX.net] 事実上不可能
570 名前:名前は開発中のものです。 mailto:sage [2025/09/20(土) 20:29:14.66 ID:4ESEdmMh.net] 【参院選】 に不正選挙疑惑が浮上、直ちに調査せよ https://lavender.5ch.net/test/read.cgi/giin/1758004935/l50 https://o.5ch.net/25q5s.png