■過去スレ
ファミコンのプログラム
http://pc8.2ch.net/test/read.cgi/gamedev/1013696305/
ファミコンのプログラム2
http://pc11.2ch.net/test/read.cgi/gamedev/1135099156/
ファミコンのプログラム3
http://toro.2ch.net/test/read.cgi/gamedev/1214210285/
■関連サイト
MagicKit Homepage
http://www.magicengine.com/mkit/
すずめ愛好会
http://web.archive.org/web/*/http://vsync.org/ns/index.html
ギコ猫でもわかるファミコンプログラミング
http://gikofami.fc2web.com/
わいわいの巣
http://www.geocities.jp/yy_6502/
mck hogehoge
http://takamatsu.cool.ne.jp/dutycycle/
NES info, programs, and demos
http://nesdev.parodius.com/
pgate1@crystal
http://crystal.freespace.jp/pgate1/
cc65 @ wiki
http://www34.atwiki.jp/cc65/
探検
ファミコンのプログラム4
2012/07/29(日) 14:19:03.64ID:a5QeqSA0
257名前は開発中のものです。
2014/06/07(土) 15:48:51.46ID:0OqTmEOh >>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が不要
一通り読んでみました。
.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名前は開発中のものです。
2014/06/07(土) 15:49:29.84ID:0OqTmEOh >>257
続き
VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。
パッドとボールの座標と、スプライトの座標は別に持っておき、
パッドとボールの座標をスプライトデータに反映するにように
実装した方が、プログラムの書き方としては綺麗だと思う。
VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして
VRAMを書き換えるのはやめた方が良いと思う。
nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると
画面がちらつくのでは?
jsr Pad_Check
ソース上に Pad_Check が見つからない。
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
ROMに0を書き込む意図がわからない。
VRAM書き込み先のアドレスをブロックの座標から
計算しているが、ブロックの配置位置が有限個であれば
表引きで求める方法もある。
(Y座標だけでも表引きにすると処理が結構簡素化します)
続き
VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。
パッドとボールの座標と、スプライトの座標は別に持っておき、
パッドとボールの座標をスプライトデータに反映するにように
実装した方が、プログラムの書き方としては綺麗だと思う。
VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして
VRAMを書き換えるのはやめた方が良いと思う。
nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると
画面がちらつくのでは?
jsr Pad_Check
ソース上に Pad_Check が見つからない。
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
ROMに0を書き込む意図がわからない。
VRAM書き込み先のアドレスをブロックの座標から
計算しているが、ブロックの配置位置が有限個であれば
表引きで求める方法もある。
(Y座標だけでも表引きにすると処理が結構簡素化します)
レスを投稿する
ニュース
- サウナ夫婦死亡 非常ボタンの通報装置の電源入っておらず オーナー「今まで電源入れたことない」 [夜のけいちゃん★]
- サウナ夫婦死亡 非常ボタンの通報装置の電源入っておらず オーナー「今まで電源入れたことない」★2 [夜のけいちゃん★]
- 日中関係改善は「下手をすると10年かかる」 トランプを全面信頼できない高市官邸の苦悩★5 [ぐれ★]
- 【野球】WBC、録画放送含め地上波中継なし (ネットフリックス) ★3 [阿弥陀ヶ峰★]
- ファミマ「遊べるコンビニ」へ ゲーム機を5000店舗に設置方針 IP強化 [七波羅探題★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★11 [nita★]
- 【悲報】愛子「おあ゛っぁ!」鴨を握りつぶす [329329848]
- 倉田真由美「国会見てると高市政権を倒すための質問ばかり。もっと国のための質問をしてください」 [834922174]
- 『無職転生II 』ルーデウスが制作した「フィッツ人形」がフィギュア化キタ━━━━━(゚∀゚)━━━━!! サングラスを外した状態も再現可能 [303493227]
- お前ら俺に力をくれ
- 🏡要る?
- 煽り抜きで『進撃の巨人』って日本人の漫画史上でもトップレベルの傑作じゃねぇか? [339035499]
