ファミコンのプログラム4 (567レス)
ファミコンのプログラム4 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
291: 名前は開発中のものです。 [sage] 2014/06/10(火) 05:50:34.76 ID:DX+Q254R 初期化処理って重要なんだなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/291
292: 131 [sage] 2014/06/10(火) 07:44:01.93 ID:rVY6XcCX >>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はブラウン管の電子銃が下端から上端に戻る際の割り込み。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/292
293: 名前は開発中のものです。 [sage] 2014/06/10(火) 08:52:45.01 ID:FVxA7Fkb NMIとVBlの正確なタイミングが分からないんだよな。 同時だと動かない市販タイトルがある。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/293
294: 名前は開発中のものです。 [sage] 2014/06/10(火) 11:40:26.64 ID:CuFktdyJ 10年もこのスレ見ててそのレベル・・・そして技術資料すら理解できない英語力・・・ 最早かわいそう過ぎて同情するわ・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/294
295: 131 [sage] 2014/06/10(火) 12:27:03.05 ID:21YAZMo1 他のパソコンから書き込みです。 なんというか、僕が素直じゃなくてしかも怒りっぽくて 先人の知恵を学ばないという姿勢が悪いと思っています。 低能という言葉がありますが、まさに自分がそうだと思っていますよ。 自他ともに認める低能です。ファミコンのCPUより遅い動作周波数 なので。>>246は撤回します。まことにすみませんでした。 ごめんなさい http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/295
296: 131 [sage] 2014/06/10(火) 18:17:23.08 ID:rVY6XcCX >>284 2) VBlankに入った時に必ずNMIの割り込みが訪れるからでしょうか 3) 本来ならばメインループにNMIを使うべきだからでしょうか VBlankにポーリング?という言葉を初めて知りました。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/296
297: 名前は開発中のものです。 [sage] 2014/06/10(火) 22:38:25.24 ID:iI+cGjJO >>245 ところで NES Assembler (v3.21, 2005/04/09, Denki Release) これどこで手に入れたの? かなりレアなバージョンぽくて見つからない。 RAMの初期化、スプライトメモリの初期化 以前誰かに指導してるでしょ、あちこちの他人ソースでも示されているし スプライトONにしているデモプログラムでスプライトメモリ初期化してないのは論外なんだよ だからG-NESのスプライトメモリビュワー使えって 未初期化メモリにアクセスしたら他の言語のコンパイラは警告出すでしょ 逆にファミコンほどの原始的なハードで、なぜ0フィルされると思った? 0フィル傾向が強いエミュだってハードリセット、ソフトリセットで挙動違うわけだしね http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/297
298: 名前は開発中のものです。 [sage] 2014/06/10(火) 23:25:46.23 ID:DX+Q254R HuC v3.21付属のやつじゃねえかな http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/298
299: 名前は開発中のものです。 [sage] 2014/06/10(火) 23:48:02.78 ID:iI+cGjJO 見つけた http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/299
300: 名前は開発中のものです。 [sage] 2014/06/11(水) 00:54:21.08 ID:vuASjJOE 1)Vblankは厳密には割り込みそのものではない。語源を考えればわかる。 あとマスク不可能な割り込みでは説明不足。 2)ファミコンにおいてNMIは必ず訪れるものか。 もし必ず訪れるのならあんたが今まで書いてきたプログラムはどうなる。 $0000から命令を実行しまくる羽目になってるだろ。 3)それならばなぜNMIを使うべきか。 全体的に不正解および説明不足そして調査不足、理解や考えも不足。 わからない言葉があったらまず目の前のPCで調べろ。 あと自虐がまるでへそを曲げた子供のようでみっともない。自虐は反省とは違う。 しばらくROMって頭冷やすことをおすすめする。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/300
301: 131 [sage] 2014/06/11(水) 04:31:31.45 ID:FDPL1IKA 分かりました。しばらくROMることにします。 ただ、僕は本当に低能ですよ。何しろ、IQが69なんで (test the nation) http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/301
302: 名前は開発中のものです。 [sage] 2014/06/11(水) 19:10:46.06 ID:HuzB/5/t 言葉選べない奴ってみっともないなぁ 上級者気取ってふんぞり返って偉そうに他人に説教しとるが相変わらずガキ丸出し これが一人だけやってるんだから目立つわな いいかげんさあ、そのチンピラみたいな恥ずかしい態度で人に接するのはおよしなさいよ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/302
303: 名前は開発中のものです。 [sage] 2014/06/11(水) 19:14:38.42 ID:HuzB/5/t まあ、こういう苦言を呈してあげても 前みたいに自分の口汚さを正当化するための言い訳しか言わないで 何が悪いのか理解出来ないまま同じ事を繰り返し続けるんだろうけど 他人に反省促す前に、自分がまず反省して態度改めなよ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/303
304: 名前は開発中のものです。 [sage] 2014/06/11(水) 20:42:36.74 ID:QsOFOWgt 多重人格らしき ”リバーシ君” が湧いてから同時期湧いて来た子たち ”YY-CHRとNESASMが使いづらい君” ”NESASMが難しいからC言語で組もうよ君” ”iNESヘッダや.incbinのことはわからないけど、nesdevの仕様書すべて読んできます君” 能書き”ダブラ君” 三日坊主の”まとめwiki君” ”DPCMの仕様教えて君” ”www.dotup.org大好き君” スタックぶちこわしてても ”PPU制御レジスタのタイミング等も問題無いはずなのに。 君” ”デバッガ使えません君” こんな初歩の初歩教えるのが上級者扱いなのか だから自演て言われてるのに ゴミみたいな不良動作のプログラムのアップロードに対し わずか数時間で ”fceuで陽性かくにん よかった” とレスが付くのも特徴 追い込まれると 〜とは別人だけど、と枕詞をつけて自己弁護 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/304
305: 266 [sage] 2014/06/12(木) 01:31:23.63 ID:VinxFlKC >>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 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/305
306: 名前は開発中のものです。 [sage] 2014/06/12(木) 01:36:18.33 ID:VinxFlKC >>290 指摘ありがとうざいます。 初期化するよう処理に反映します。 #やっぱり実機で確認できる環境欲しいな http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/306
307: 名前は開発中のものです。 [sage] 2014/06/12(木) 02:17:39.78 ID:VinxFlKC >>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に書き込む処理を行う。 プログラムを書く際に、他人のソースを参照するのは良いが、コピペは絶対行わないこと。 必ず目で見て手打ちすること。 書いたソースは、何度も読み直して、処理を説明できるぐらいまで理解すること。 プログラムが出来たら内容をレビューしたいので、批判にめげずに公開して欲しいと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/307
308: 名前は開発中のものです。 [sage] 2014/06/12(木) 06:23:30.12 ID:WH6q4E6P なんでこいつが仕切っとるの? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/308
309: 131 [sage] 2014/06/12(木) 16:17:30.84 ID:kfJUEFGs 書き込みたい気持ちはありますが、大分経って事態が鎮静化 してから書き込みたいです。あと、少なくとも今から 100レス程度は様子を見ながら、今から同時にお題を解いてみます。 というのも技術的な指導ならゲーム開発技術板のスレッドなので分かります。 しかし、自分の未熟な部分があるのは自分でも分かるのですが、 明らかに何度も自分の人格を否定していてスレ違いになってるのもあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/309
310: 131 [sage] 2014/06/12(木) 16:19:26.08 ID:kfJUEFGs それがどうした?悪いのはお前だろと言われればそうなのですが これが何度も続くようなら、明らかにいじめとしか思えないのです。 いじめと思うのは間違っていると思うのなら、どうして簡単に何度も いろんな欠点や粗を探してこうも傷つけたがるのですか? あと、自演と言っている人へ、 自演をしているように見えるのは、明らかにおかしいですね。 IPアドレスを2chの運営元に頼んでもらって調べれば分かる とは思います。IPアドレスが分かるという事は、書き込んだ場所も 特定されます。 ファミコンのプログラムを公開する書き込んでから家から出かけて 帰ってきてから同じパソコンで書き込んだ事くらい見抜けると思うのですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/310
311: 名前は開発中のものです。 [sage] 2014/06/12(木) 19:04:44.04 ID:W0ti7vxN それにしてもやけに静岡県民が多いな 自演に間違いないな不自然すぎるわ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/311
312: 名前は開発中のものです。 [sage] 2014/06/12(木) 20:14:34.35 ID:+ww++sAc あと100レスと言わず一生ROMってればいいのに そうすりゃスレも荒れずに済む http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/312
313: 131 [sage] 2014/06/12(木) 22:17:28.55 ID:kfJUEFGs まってください。静岡県民が多いのは、俺が周囲から基地外呼ばわり されてるのと、症状のせいだと思いますよ。 それと、自演と決めつるのはまだ早いです。なぜなら、 専門用語を知らない人間が自分を弁護できると思いますか? そして、恐らくその症状のせいで、うざったく思うから このスレで叩かれているのだと思います これで最後にします。100レス待ちます http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/313
314: 名前は開発中のものです。 [sage] 2014/06/13(金) 06:24:29.34 ID:6Pgo1qVH いいから>>307が終わるまで書きこみを控えてくれ・・ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/314
315: 名前は開発中のものです。 [sage] 2014/06/13(金) 16:40:28.64 ID:vJRDBdqC スレ違いかもしれないけど、ディスクカードをromに焼くことができる? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/315
316: 名前は開発中のものです。 [sage] 2014/06/13(金) 19:00:31.08 ID:KxCbS2Qo >>315 何のソフトかにもよるが原則不可能と思っていいだろう マッパー0相当のソフトだってアドレスの手直しが要る分相当な作業量になる http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/316
317: 名前は開発中のものです。 [sage] 2014/06/13(金) 20:43:27.55 ID:CSwUA4nC >>316 機械語レベルの理解力があれば、できる? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/317
318: 名前は開発中のものです。 [sage] 2014/06/13(金) 21:03:18.07 ID:KxCbS2Qo 理解力と相当な根気が要るだろうな 絶対アドレス参照の命令で$6000以降参照のものをすべて書き換えなきゃいけないのだから http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/318
319: 名前は開発中のものです。 [sage] 2014/06/13(金) 21:17:05.99 ID:r1M/KsAU >>318 ディスクシステムの片面の容量は64Kバイト?64Kビット? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/319
320: 名前は開発中のものです。 [sage] 2014/06/13(金) 21:36:12.04 ID:JJAfyk3S ディスクシステムの仕組みも理解する必要があるだろう。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/320
321: 名前は開発中のものです。 [sage] 2014/06/13(金) 21:36:22.79 ID:KxCbS2Qo 64Kバイトといわれている 実際にはもっと少ないけど というか厳密には1バイト単位のような定まった容量はなかったはず もし片面8Kバイト(64Kビット)だとしたらドンキーコングすら収まらないよ というかこれぐらい調べれば出てくるのでまず調べようね http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/321
322: 名前は開発中のものです。 [sage] 2014/06/13(金) 22:34:15.19 ID:AgN9/sjS >>321 ディスクシステムのソフトには、名作が多いのでリンクの冒険、ドラキュラ2など海外版を所有してますが、ディスクシステムでしか遊べないソフトがあるので、ROM化出来たらなと思いました。音源も積んで。って誰かやってないですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/322
323: 名前は開発中のものです。 [sage] 2014/06/13(金) 23:03:40.54 ID:KxCbS2Qo かつてmdc5linkerというものがあった(ROM化の際にはこれの個別パッチが参考になるかもしれない) ただし悪用が多すぎてサポートは終了した、ディスク>カセット変換したものを売りさばくような輩が続出した 事実、ある時期ヤフオクで本来ディスクでしか出ていないソフトがカセットとして出品されている例が多数確認できた というか普通にディスクシステムでやれば? 一体ROM化ってなんのため?ディスク持ってるならディスクシステムでやればいいじゃん ROM化前提なら吸出しも完了してるだろうしバックアップも万全、なのにあえてROM化しようとする意図がわからない どの道、音源までサポートした上でROM化するにはいろんな知識が要る ディスク音源と互換性のあるチップは存在しないため、RAMアダプタ内のもの(ただし非常に大きい、64pinDipだったかな?)を使用するか、もしくは 新たにFPGAなどのPLDを使って実装するか・・・方法はあるがディスク音源如きにそこまでする人がいるかどうか http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/323
324: 名前は開発中のものです。 [sage] 2014/06/13(金) 23:55:45.03 ID:D3ve8EiV >>323 ディスクシステムは、ツインファミコンもそうですが、ベルトの劣化もありますし、ヘッドも劣化するでしょう。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/324
325: 名前は開発中のものです。 [sage] 2014/06/14(土) 00:13:40.26 ID:dYYokVoB >>324 http://fcs.main.jp/archives/fcs_road/Diskbelt/diskbelt2.html 知っているかもしれないがこういう方法もある。 バックアップについてはエミュが嫌なら、FDSLOADRという、 PCを仮想ディスクドライブとして使えるようにするソフトがある。ただ数年前の記憶では、相当PCの機種を選ぶソフトだった。 それからDOSベースのソフトのため現代のNT系OSじゃ動かないから、古いWin9x系の動くPCが必要になる。 更にRAMアダプタとの接続のためPCが双方向通信可能なパラレルポートを持っている必要がある。 これを使うとPCに存在するFDSファイルをRAMアダプタに転送できる。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/325
326: 名前は開発中のものです。 [sage] 2014/06/14(土) 00:21:55.47 ID:zzfPZdkB 最近FDSLOADRrの上位版のようなfdsloadersaverを作った方がいるよ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/326
327: 名前は開発中のものです。 [sage] 2014/06/14(土) 00:25:39.56 ID:TXG/RYzX >>325 アドバイスありがとうございます。今思いついたんですが、ディスクのRAMアダプターを改造してMicroSDカードに入っているディスクのイメージを転送できるに出来たらいいのになあ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/327
328: 名前は開発中のものです。 [sage] 2014/06/14(土) 16:29:21.64 ID:+sFuyt6O 機械語の知識(開発ができるレベル)と、 論理回路の知識(設計ができるレベル)に加えて、 電子工作を行えるスキルが必要 あと、英語力(データシートとか、ほとんど英語)。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/328
329: 名前は開発中のものです。 [sage] 2014/06/14(土) 21:38:32.26 ID:L1L59kK3 131氏は何が嫌われてるか分かってないんだろうな 何か指摘されたら「あ、はい俺が悪いですさて、」くらいの勢いで 全く態度を変えず話を続けるのがどれだけ人を無視した行為か 理解できないんだろうからもう書き込むなって言われてるんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/329
330: 名前は開発中のものです。 [sage] 2014/06/17(火) 15:26:48.71 ID:6w/HBkb5 なんだそりゃ ヤクザの因縁レベルだな キチガイに粘着されて可哀想 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/330
331: 名前は開発中のものです。 [sage] 2014/06/22(日) 12:04:05.94 ID:FYXz9cFX Vblank(NMI)発生待ちじゃなくてVblank(NMI)終了待ちの書き方がわからない。 $2002読めばVblank中でも即座にスキャンラインの頭に戻るのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/331
332: 名前は開発中のものです。 [sage] 2014/06/22(日) 12:46:49.11 ID:RkNLcYOw 普通は終了待ちなんてしないと思うが・・・ あるとすればフレームIRQをVblank終了間際に起こすようにするとか、かな? 試していないからできるかどうかわからないけど http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/332
333: 名前は開発中のものです。 [sage] 2014/06/22(日) 15:38:33.12 ID:cAYbetgY あのバカはまだデバッガ扱えないんだな 他人のソースを読む気もない http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/333
334: 名前は開発中のものです。 [sage] 2014/06/22(日) 21:47:58.16 ID:SUkUlJAf 何だかんだ、がんばっているんだし応援しようと思う 完成を楽しみに待っています〜 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/334
335: 名前は開発中のものです。 [sage] 2014/06/26(木) 01:45:41.89 ID:Mvj8DjXQ RevolvingGemsで予定していた実装が全て出来たので公開します。 指摘を受けていた ・ゲーム開始時に消滅が発生しないよう駒を配置 ・初期化時にCHR-ROMのバンクセレクトを明示的に行う の処理も盛り込んでいます。 あと、フレームワーク部分(main.asm)も処理を見直して結構手が入っています。 ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems100.zip ここまでお付き合いして頂きありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/335
336: 名前は開発中のものです。 [sage] 2014/06/26(木) 21:00:12.97 ID:9qzAY4Nu 夜中2時に書き込む 出来る方の別人格さんおつ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/336
337: 名前は開発中のものです。 [sage] 2014/06/26(木) 22:36:58.03 ID:HYUmCg5c すげー(2回目) 乙 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/337
338: 名前は開発中のものです。 [sage] 2014/06/28(土) 08:52:02.98 ID:1mbR3dV7 335氏 ソース勉強させていただきます http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/338
339: 131 [sage] 2014/07/02(水) 17:15:28.00 ID:b6UJAuU+ ここを見てても本当に良いのだろうか?という気持ちと ヤジでいまだに言ってくる人がいて、不快感しか湧かない ので、ここはまず、書き込みも見ることも辞める事にします。 なのでいさぎよく、このスレから出ていく事にします。 ちなみに、「逃げる理由が出来て良かったな」とか書き込みそうなんで 言っておきますが、言う人は何とでも言うので仕方ないと思います。 最後まで不快感をお互いに感じあってしまい、すみませんでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/339
340: 名前は開発中のものです。 [sage] 2014/07/02(水) 21:15:54.55 ID:ccGvVyCV 前スレで戦力外通告されてなぜ残った 英語読む気ないのはこの板的にも戦力外 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/340
341: 名前は開発中のものです。 [sage] 2014/07/03(木) 22:16:55.66 ID:hPES0Si7 >>340 気に入らなきゃほっときなよ 小言を言うとまたグダグダと返答されるよ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/341
342: 名前は開発中のものです。 [sage] 2014/07/11(金) 02:02:23.66 ID:63/tpOMg 他スレみたいにテンプレに 初心者向けに何か書いておいたほうがいいかもね http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/342
343: 名前は開発中のものです。 [sage] 2014/10/05(日) 12:06:25.72 ID:TCLHVT3o 東方Projectみたいな画面は作れないか?との興味から作りはじめたのですが、弾丸の表示時点で、CPUの処理能力不足により先が見えてしまいました。 http://homepage3.nifty.com/~kyoske/nes/Experi9.zip Experi9.nes .. 160発表示版 Experi9x.nes .. 負荷可視化板 Experi8_noshot.nes .. 弾丸非表示版 Select+下 でスクロール開始、Select+左右 で画面モード切替です。 弾丸の最大数を96に落として、仕切り直す予定。 自キャラ、敵キャラ、弾丸以外は、BGで描画しています。 枠内のスクロールは、ハードウェアスクロールとソフトウェアスクロールの併用です。 16x8の範囲でパレット指定や会話ウィンドウの表示に、縦方向のラスタスクロールを駆使しています。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/343
344: 名前は開発中のものです。 [sage] 2014/10/06(月) 04:59:32.10 ID:6+tpiQ9J ジェムの人キター 消えてる時間が結構長いのでかなりスプライトが見難いですねぇ BGは相変わらずえらいことになってますが、負荷軽減でパレットはあきらめて MMC5の画面分割機能の使用を考えてみても良いかも http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/344
345: 名前は開発中のものです。 [sage] 2014/10/06(月) 23:47:50.82 ID:5bZUXl8p >>344 160発を56個のスプライトで表示しているので、 大体3フレームに1回の表示でちらつきが目立ちます。 次の版は、96発にスペックを落とすので、 2フレームに1回の表示になるので多少は改善されるはず。 MMC5は魅力的なのですが、最終目標が実機での動作なので 勿体無くないMMC3で頑張ろうと思っています。 あと、負荷は弾丸の処理が半分以上占めているので MMC5を使っても状況はあまり変わらないかと思います。 すでに96発MAXに書き換えて、弾丸1つ辺り5byteの領域から 8byteに増えて、Tile番号と属性値が保持できるようになったので 処理が軽くなりました。 弾丸の角度の変化が無ければ、Bombの下辺りまでの 処理時間で済んでいます。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/345
346: 名前は開発中のものです。 [sage] 2014/10/07(火) 04:35:07.91 ID:3yj7hFfS >>345 1/2フレーム表示ならグラIIのミサイルなどで使ってましたね 欲を言えばですが、弾数が少ないときは1/1フレームで表示出来たら いいかも 試しに割り込み無しにしたところ18ライン分くらい処理が減ってました MMC5自体は光栄のゲームで結構出回ってるので入手は簡単かと 思いますが、今更変えるのもあれですね… 期待してますので頑張ってください http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/346
347: 名前は開発中のものです。 [sage] 2014/10/09(木) 21:46:13.35 ID:44sWDsnn NESASMでアセンブルしたNESファイルは自作カートリッジに焼く時もそのまま使えるんですか? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/347
348: sage [] 2014/10/09(木) 21:50:10.76 ID:hFc1Ndfq 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をコメントアウトして動くようになりました。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/348
349: 名前は開発中のものです。 [sage] 2014/10/09(木) 21:51:03.03 ID:hFc1Ndfq sage間違えたorz http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/349
350: 名前は開発中のものです。 [sage] 2014/10/09(木) 21:56:48.11 ID:hFc1Ndfq >>347 kazzo+anagoのような環境だと直接NESファイルを使って書けますね。 ROMライタで直接書き込む場合だとPRGとCHRへの分割が必要かと。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/350
351: 名前は開発中のものです。 [sage] 2014/10/09(木) 22:09:17.01 ID:44sWDsnn >>350 ありがとうございますNESplitという分割ツールがありました。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/351
352: 名前は開発中のものです。 [sage] 2014/10/09(木) 23:56:08.22 ID:EgCI09Ne >>348 実機での動作確認ありがとうございます。 >タイトル画面の乱れ 割り込みが入ってから110clk目に最後の$2006を書いていたのですが、 nop3つ追加ということで、116clk目が正解ということですね。 今のやつも直さないと。 >あそびかたを選ぶと止まる VBlank中にIRQ_FNCを更新する仕組みを追加します。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/352
353: 名前は開発中のものです。 [sage] 2014/10/10(金) 00:27:59.23 ID:giiUNY1I >>352 MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、 そこから次ラスタの表示期間終了の256ppu_clkまでの、 (341-260)+256=337ppu_clk = 112.3cpu_clk が必要な待ち時間だと思います。 sta $2006を確実にHBLANKに入れるために+4clkしましたが、 書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/353
354: 名前は開発中のものです。 [sage] 2014/10/10(金) 21:22:02.81 ID:giiUNY1I >>352 追実験して、nopは一つでも乱れは消えました。 割込み発生から最後のsta $2006完了までが112clkになるので、 ちょっとぎりぎりな感じはしますが。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/354
355: 名前は開発中のものです。 [sage] 2014/10/11(土) 11:53:25.77 ID:JCcDlcCt >>353 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が起きる位置とライン数が変わるようだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/355
356: 名前は開発中のものです。 [sage] 2014/10/13(月) 07:14:58.66 ID:khCfiiiQ >>354 追試ありがとうございます。 clkを伸ばした場合、エミュレータでどうなるか確認したのですが こちらでは1clk伸ばしただけでも乱れが発生しました。 実機向けとエミュレータ向けの2つのバイナリを用意する必要があるようです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/356
357: 名前は開発中のものです。 [sage] 2014/10/20(月) 02:34:56.29 ID:VhFQD/az だれかギコ猫より分かりやすいサイト作って もしくは解説コメント付きのソース http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/357
358: 名前は開発中のものです。 [sage] 2014/10/27(月) 22:58:49.97 ID:WLPSmV4W ギコ猫があるだけ恵まれた環境。1990年代のネットはファミコンの 内部資料は英語しか無かったからね。だから普通に挫折した。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/358
359: 名前は開発中のものです。 [sage] 2014/10/28(火) 05:34:41.72 ID:40z/j/Ad バッ活とファミリーベーシック http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/359
360: 名前は開発中のものです。 [sage] 2014/11/05(水) 02:06:14.46 ID:8FC6s1LF Experi9(>>343)の改良版をアップしました。 http://homepage3.nifty.com/~kyoske/nes/Experi10.zip 結局のところ、ファミコン本体の2KBのWRAMだけでは 性能面を向上させつつ、やりくりするのは難しいとわかったので MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。 本体のWRAMに余裕が出来たので、マップの仮想バッファを 倍に増加して、既存の処理を最適化して負荷を下げました。 色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから 自己書き換えルーチンにできるな、ということで、自己書き換えで性能が 上がりそうなルーチンを試作してみました。 あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで 処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/360
361: 名前は開発中のものです。 [sage] 2014/11/05(水) 02:20:57.06 ID:8FC6s1LF 試作した自己書き換えルーチンその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の節約。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/361
362: 名前は開発中のものです。 [sage] 2014/11/05(水) 02:32:50.39 ID:8FC6s1LF 試作した自己書き換えルーチンその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が設定されてリターンします。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/362
363: 名前は開発中のものです。 [sage] 2014/11/05(水) 02:43:06.58 ID:8FC6s1LF ファミコンのプログラム領域はROMだし、メモリも余裕無いから、 自己書き換えルーチンには縁が無いと思っていたのですが、 拡張WRAM使うとなると、有効な手段であるなと。 ただ、よく考えないと自己書き換えやっても効果を得られないので どのようなパターンが有効か思考する必要ありだなというところです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/363
364: 名前は開発中のものです。 [sage] 2014/11/05(水) 11:50:49.69 ID:kV2Q14jG >>360 おお、スプライトも見易くなりましたね。 実機(MMC3B)でExperi10.nes焼いて動かしてみましたが、BGが結構 崩れています。 Experi10_irq114.nesですとBGが崩れはしませんが東方の文字の中心あたり からチラチラしています。 また、東方を知らないのでわかりませんが会話表示とスクロールをするとたまに BGが崩れるようです。 (バンク切り替えに失敗したような感じで別の絵が出てました) 参考になれば http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/364
365: 名前は開発中のものです。 [sage] 2014/11/05(水) 18:36:12.45 ID:8FC6s1LF >>364 実機での確認ありがとうございます。 会話画面表示時のBG崩れは、IRQのCHR-BANKの切り替えと メイン処理のPRG-BANKの切り替えの衝突です。 PRG-BANKの切り替えは弾丸の移動量や角度算出のテーブル引きで使用しており、 会話画面では行わなくなるので、現在そのままにしています。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/365
366: 名前は開発中のものです。 [sage] 2014/11/08(土) 23:22:26.65 ID:K8lCFBpt ファイル実行したけど会話画面っていったい何のことなんだ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/366
367: 名前は開発中のものです。 [sage] 2014/11/09(日) 03:54:20.59 ID:/2f/mjgU セレクトボタンを押しながら上下でバックグラウンドのスクロール量調整 同じく左右で会話画面、ボスHPゲージ消去などができる http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/367
368: 名前は開発中のものです。 [sage] 2014/11/18(火) 00:24:39.88 ID:sul/9y5g 今月号(先月号から?)のゲーラボに、ファミコンソフト開発って記事が載ってた 初歩的な奴だったから、今月号からかも。立ち読みしかしてないけど http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/368
369: 名前は開発中のものです。 [sage] 2014/11/22(土) 00:37:26.95 ID:6HaTj4+E ゲーラボのファミコン開発は1回のみなのかな DSみたいに連載して欲しいなーと思う 好奇心的な需要が有るんではないかと思ったり >>360 弾幕が素晴らしいです。ファミコンでは史上初?なのではないでしょうか BGのIRQスクロールも面白いです。 >>367 参考になりました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/369
370: 名前は開発中のものです。 [sage] 2014/11/24(月) 07:57:25.72 ID:+tDgRqjL このスレに常駐して間違いを指摘してる人は何者なのかね? 元ハドソンの中○さん? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/370
371: 名前は開発中のものです。 [sage] 2014/11/24(月) 08:33:08.82 ID:+tDgRqjL もしかしてカル○ャーブ○ーンのあの社長か? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/371
372: 名前は開発中のものです。 [sage] 2014/11/24(月) 19:13:43.16 ID:7xFBwqHN おい、具体名だすんじゃねえ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/372
373: 名前は開発中のものです。 [] 2014/12/27(土) 07:48:51.33 ID:wLqAfx70 このスレではみなさんからのプログラムの投稿をお待ちしています http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/373
374: 名前は開発中のものです。 [sage] 2015/01/05(月) 20:34:21.71 ID:AkF9WUbO >>83-85は進展無し?と思ってみたらもう2年前か http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/374
375: 名前は開発中のものです。 [sage] 2015/01/06(火) 00:58:45.65 ID:uy5dcfqt CじゃなくてFORTHだったら需要あったんだがなぁ 俺の http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/375
376: 名前は開発中のものです。 [sage] 2015/01/19(月) 20:41:58.52 ID:qeXTNQ6P >>375 FORTHって何ぞ? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/376
377: 名前は開発中のものです。 [sage] 2015/03/03(火) 17:29:58.25 ID:zncA3uK1 >>376 プログラム言語のこと 似たものにMindがある http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/377
378: 名前は開発中のものです。 [sage] 2015/03/12(木) 23:44:17.66 ID:kJFL2HEh >>377 プログラム言語のことだったのね 知らんかった http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/378
379: 名前は開発中のものです。 [sage] 2015/03/19(木) 20:54:40.85 ID:h0XRN6RW 前スレを亀レスするけど数をバラバラに設定すると 完成する時としない時があるのは数学的に証明されてる。 完成しない時があると知った時は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 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/379
380: 名前は開発中のものです。 [sage] 2015/03/20(金) 19:57:53.65 ID:SVxvjEKg >>379 作者らしき人に解けない理由が伝わってないのが悲しいな >完成形がわからなかったら解けるわけないじゃん! http://www34.atwiki.jp/cc65/pages/39.html にあるソースを修正しようとしたけどウチの環境じゃうまくコンパイルできなかった 誰か頼んだ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/380
381: 名前は開発中のものです。 [sage] 2015/04/01(水) 23:40:29.90 ID:ii+SttYw 何で数がバラバラだと解けないんだろね タイルの移動する範囲が狭いからとかそんな理由? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/381
382: 名前は開発中のものです。 [sage] 2015/04/02(木) 10:16:16.24 ID:Jr0GAhV2 他のスレでバカと言われた自分がこのスレでは解けない時が半分あると指摘した人間です。 大学の理数系の初年度程度で履修する偶置換、奇置換等の行列の基礎理論。 まぁ「偶置換 奇置換 行列 15パズル」でググってみて下さい。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/382
383: 名前は開発中のものです。 [sage] 2015/04/02(木) 10:31:03.98 ID:Jr0GAhV2 追伸 数十年前は、この説明が表紙に書かれていた数学啓蒙誌をその説明だけの理由で買いました。 喫茶店で飲むコーヒー4杯ほどの価格なので、それと比較するとイイ時代になりました。 昔は数学バカだったかも知れません。そして今は何と言うバカなんでしょうかと。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/383
384: 名前は開発中のものです。 [sage] 2015/04/06(月) 09:13:24.02 ID:k4keIaCU 12000yenか……それなりのお値段だな…… http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/384
385: 名前は開発中のものです。 [sage] 2015/04/07(火) 16:26:58.65 ID:Tz4O69qO 数学啓蒙誌の価格なら流石にそこまで高くない、5桁の数引いた4桁位かな。 ところで1杯が3000円ってどの辺りで飲むコーヒーだろう。 その他「偶置換 奇置換 行列 15パズル」でググるyaneurao氏のも出てくる。 http://d.hatena.ne.jp/yaneurao/20050821 図があって判り易い感じかと。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/385
386: 名前は開発中のものです。 [sage] 2015/05/24(日) 23:11:59.55 ID:+d4mv7Gn このスレ住民でゲームレジェンドに参加した人いるかね 結構いそうな気がする http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/386
387: 名前は開発中のものです。 [sage] 2015/06/12(金) 17:08:22.25 ID:pQsOmKIP 初期のほとんどのゲームでラスタースクロールを使うときに 0爆弾使ってるけどDPCMタイマ割り込みは使えなかったんだろうか あれを使ってラスタースクロールを実現したゲームってないのだろうか http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/387
388: 名前は開発中のものです。 [sage] 2015/06/12(金) 18:51:23.46 ID:yYky0Qic >>387 「ファミコン 技術」でぐぐると じぇみに広野氏が語るファミコンソフトの開発技術 というtogetterがでてくるのであるが、それによると、 ガーディック外伝 でDMCのDMA終了割り込みを使ったが 一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/388
389: 名前は開発中のものです。 [sage] 2015/06/12(金) 21:33:53.52 ID:yvckrC4h >>387 使ってるゲームはあるよ ロマンシアとか海外のゲームでいくつか >>388 それも正しいのか微妙 CPUに内蔵された機能なのにツインの一部の機種だけで起こるとか ありえるのかね http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/389
390: 名前は開発中のものです。 [sage] 2015/06/12(金) 21:54:06.55 ID:pQsOmKIP へー興味深い、ツインファミコンじゃなくてあるとすれば考えられるのは初期型ファミコンじゃないかな あれ音源周りの仕様が後期のロットとは若干違ったはずだしね ただし 時期によってICにヒートシンクついてたりメモリがSOPだったり複数の標準ロジックICが一つのカスタムLSIに置き換わってたり さらには主要ICのマイナーバージョンも変わってるから他のロットの固有の問題でもおかしくないとは思う しかしそうか割り込みがかからないものがあるとは・・・ もし使うんなら使用可否の確認ルーチンを使う必要があるのか http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/390
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 177 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s