ファミコンのプログラム4 (567レス)
ファミコンのプログラム4 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 186 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s