ファミコンのプログラム3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2008/06/23(月) 17:38:05ID:z53SrIuZでも900すぎてホンモノが現れたみたいだ。
もう要らねぇと思ってたけど、そいつらの為に立てたよ。
0827名前は開発中のものです。
2011/12/26(月) 22:43:06.81ID:JK9VAiarhttp://www.nicovideo.jp/watch/sm16471668
0828名前は開発中のものです。
2011/12/29(木) 17:44:35.60ID:iN0eE6WXありがとうございます。
タイルは奇数と偶数番号の違いによって起こる弊害がよくわからなかったので、このままにしてあります。
>>820でいっていたように十字キーに合わせた向きにスプライトが変化させようとしています
苦戦しつつもコードを書いてみたのですが、
実際のところアセンブルしても、何も表示されないというどうしたらいいかさっぱりになってしまいました。
PPU制御レジスタのタイミング等も問題無いはずなのに。
ファイル類をupしますが、原因が分かるかたがいらしたら教えていただければ幸いです。
http://www.dotup.org/uploda/www.dotup.org2443609.zip.html
ちなみに上記ファイル内の.nesを実行しても白い画面が出るだけです。
スプライトは8x8の4つつなぎで16x16を表示させようとしています。
また、ほかにもコード上の間違いなどありましたらアドバイスをお願いします。
教えて君で失礼しました。
0829名前は開発中のものです。
2011/12/29(木) 18:59:24.03ID:dc9DkpcPうわぁ…めちゃくちゃになってる。
G-NESのデバッガやメモリビューアーなど使ってないな?⇒>>455-458
jsrでサブルーチン呼ぶ方法と(jsrはスタックに復帰アドレスを積む)、
rtsでサブルーチンから復帰する仕組み(rtsはスタックから復帰アドレスを取り出す)、
jmp命令の置き方、
NESASMのラベルやローカルラベルの意味、
理解してないね。
いくらラベルを書いても、CPUは勝手にジャンプしてくれないよ。
ラベルはアセンブラだけが理解するから。
161-164行目
jsr .sprite2
.sprite2
こういうのが全部おかしい。
move3.asmはかなりの修正が必要なので、
古いソースを使うなどソースコードの規模縮小して、
jsrとrtsの実験して挙動を徹底的に理解してからだ。
0830名前は開発中のものです。
2012/01/02(月) 13:09:32.77ID:lSsFyPQmG-nesのデバッガを使ってみましたが、逆アセンブルした結果と同じものが
表示されることはわかりました。ただ、そこから、どうやって間違いをさがして
いくのかがわからずじまいでした。
ソースを作り直し、
http://www.dotup.org/uploda/www.dotup.org2461379.rar.html
(スプライトが表示されるだけ)
http://www.dotup.org/uploda/www.dotup.org2461384.rar.html
(スプライトが前に進むだけ、実際はパッド入力無視で上に動きまくる)
というものをつくり直しましたが、どうやら「パッド入力のコード」か「jsrやjmp」命令
のどちらかがおかしいところまでしかわかりませんでした。
0831名前は開発中のものです。
2012/01/02(月) 17:47:39.54ID:X3dxf4vn0832名前は開発中のものです。
2012/01/02(月) 19:09:13.80ID:n94y3PyCだけど、解決したかも
少ししたらソース上げます
0833名前は開発中のものです。
2012/01/02(月) 19:09:30.94ID:wj3bEWpd0834名前は開発中のものです。
2012/01/03(火) 01:48:08.06ID:+lUngSpxhttp://www.dotup.org/uploda/www.dotup.org2463818.zip.html
これからはじめる方の参考にでもなればと思い、段階的に作っていったファイルもupします。
作ってはみたものの、入力する向きによって移動速度が変わってしまうのはなぜでしょうか
コードの間違いがあるかと思いますので、気になったところがあればご指摘下さい。
ここまでお世話になった方々には大変感謝いたします。
0835名前は開発中のものです。
2012/01/03(火) 04:06:45.60ID:u8qw4Hxpそんなゴミコードいらん
他人の書いたコードを読むよりも自分でコード書いたほうがはるかに学習できる
つーか、ロダのファイルが流れたらそれまでじゃねえか
いいからお前はブログにでもしこしこ成果を書き連ねておきなさい
そのほうが後でトレースできるだろうが
ここはお前だけのスレじゃねえんだよ
0836名前は開発中のものです。
2012/01/03(火) 07:21:47.04ID:Rs+NaMR1835が見えない
0837名前は開発中のものです。
2012/01/03(火) 11:55:04.27ID:sDvhkVPg0838名前は開発中のものです。
2012/01/03(火) 12:18:02.07ID:v6rPdQJK>>G-nes >>わからずじまいでした
日本語エミュのデバッガがわからないなら、基礎力ないね。
甘えるなら見限るよ。
ブレークポイント
ステップ実行
デバッガを自分でいじって使い方を体で覚えろよ。
わからなきゃググる。
数日で流れるアップローダもやめるように。
>>834
>>入力する向きによって移動速度が変わってしまうのはなぜでしょうか
そういうのを特定するのにデバッガを使うわけ。
ブレークポイントを張ってプログラムの実行を止める。
ステップ実行を使って1命令ずつ動かしてレジスタとメモリを観察する。
ブレーク張る該当コードがどのアドレスにあるかわかりにくいので、
.fnsファイルを見るか、
メモリビュアからわかりやすいように目印を入れる⇒db "AAAAAAAAAAA"とかnop nop nop nop nopとか。
move1〜5について
jmp mainLoop(←NMIベクタの示す先)っていうのは99.9%ありえない、sta $4014を繰り返してしまっている。
sta $4014はNMI直後に1回やるだけ。
>>www.dotup.org2463818.zip.html
move2〜5はスタックが崩壊(スタックオーバーフロー)している。
メモリビューアーで$100-&1FF見れば一目瞭然。
こんなのうpられても添削以前にゴミコードと呼ばれるオチ。
0839名前は開発中のものです。
2012/01/03(火) 16:21:22.69ID:iFHvKPzU>>838さんありがとうございます
指摘の箇所を修正しました、斜めにも移動するようにしました
0840名前は開発中のものです。
2012/01/03(火) 17:08:42.74ID:bJlmRWM90841名前は開発中のものです。
2012/01/03(火) 17:24:00.35ID:H6NFJvAO0842名前は開発中のものです。
2012/01/03(火) 17:43:42.60ID:u8qw4Hxpここは日記帳じゃないんで、そういうことしたいなら別の場所でやれと
0843名前は開発中のものです。
2012/01/03(火) 18:03:41.10ID:I2Q5b+iT0844名前は開発中のものです。
2012/01/03(火) 19:44:22.44ID:Nr8ebGF2blogやwikiでやってくれた方が、後で同じ事する人の役に立つかもしれんね。
今のようにやってたら、ログは残ってもASMソースは見れなくなるし。
>>839
短期間に何度も「●●を直したからアップロードした。そっちを見てくれ」ってのは、スレの私用と取られてもしかたないよ。
スレには問題で詰まった時、ある程度動くものができた時にでもアップロードするといい。
0845名前は開発中のものです。
2012/01/03(火) 21:02:37.82ID:XLqGvBE00846名前は開発中のものです。
2012/01/03(火) 22:32:14.86ID:I2Q5b+iTなるほどね
0847名前は開発中のものです。
2012/01/04(水) 22:45:57.55ID:wxSEW83Gむしろ、私物化してしまうくらいのパワーを持った人が出てこないかと。
ひたすらめげない、純粋な彼は凄い。839氏も。
最後に、俺が言えることは・・.equは=で代用できるということと、
Vblankは2回待つ取りこぼしがなくていい感じということ位です。
あんまり冴えないけど。
0848名前は開発中のものです。
2012/01/04(水) 22:50:20.59ID:wxSEW83G0849名前は開発中のものです。
2012/01/05(木) 00:32:57.18ID:uFJ3/4+10850名前は開発中のものです。
2012/01/05(木) 00:34:28.74ID:3AE7SFHG0851名前は開発中のものです。
2012/01/05(木) 01:41:10.97ID:2mwi10x4一応モノはあげてるから私物化しても問題ないんでしょ
まあ、文字通り中身はただのゴミだけどな
0852名前は開発中のものです。
2012/01/05(木) 02:16:08.36ID:uFJ3/4+1低次元な事はやめれ
0853名前は開発中のものです。
2012/01/05(木) 08:37:37.39ID:WUin/CUT0854名前は開発中のものです。
2012/01/07(土) 13:33:43.31ID:/em5qwMG今、作ってるんですけど、どうしてもBank切り替えで止まってしまうんで
参考にしたいんですが
0855名前は開発中のものです。
2012/01/07(土) 23:16:36.56ID:K3N5UYpYnesdevのフォーラムのどっかにあったような気がする
間違えてたらごめん
0856名前は開発中のものです。
2012/01/07(土) 23:28:59.20ID:RM6ST/Gn根本的な把握不足じゃね?
0857名前は開発中のものです。
2012/01/08(日) 01:53:54.48ID:YPL704S7先にMMC1でもやっとけ
$E000-$FFFFだっけ?をチェンジしたときにどういう構成で.asmに書いておかなきゃならないか
から学習しろ
0858名前は開発中のものです。
2012/01/09(月) 15:52:27.67ID:GULFH+5Q4を切り替えると止まるんです
MMC1とMMC3は、もうやりました
0859名前は開発中のものです。
2012/01/09(月) 16:56:10.53ID:MZhJhv7onintendulator
のデバッガを使ってみたら?
0860名前は開発中のものです。
2012/01/09(月) 17:33:04.46ID:86kLMrdo0861名前は開発中のものです。
2012/01/09(月) 17:33:14.97ID:xm0gl07Fまさかこんな初歩的なことじゃないよね。
どんなレベルの人かわからないから一応書くけど、理解してたらスマン。
0862名前は開発中のものです。
2012/01/09(月) 20:41:27.61ID:GULFH+5Qバンクの数え間違いでした
すいません
0863名前は開発中のものです。
2012/01/11(水) 20:25:41.59ID:Gg6iC/E0アセンブラを知ったばかりの初心者の質問にも答えるようなものなのか、
初心者お断りの硬派プログラマーのためのようなものなのか
0864名前は開発中のものです。
2012/01/11(水) 20:47:09.65ID:pf4UDMRr0865名前は開発中のものです。
2012/01/11(水) 20:55:12.62ID:qUiNaTW5これ見たら勉強になるよね?(´・ω・`)
0866名前は開発中のものです。
2012/01/11(水) 20:56:07.14ID:4yQAEVxNそもそも決めたところで出てってくれるのか?
それならID:Gg6iC/E0がいないスレに1票
0867名前は開発中のものです。
2012/01/11(水) 20:58:19.90ID:hCxZnmx9おまえが来なきゃいいだけ
0868名前は開発中のものです。
2012/01/11(水) 21:38:45.95ID:Gg6iC/E0なんか>>794あたりから荒れだして
一体なにするスレなのかよくわからんってだけ
ちょっとイライラしてたのは謝る
0869名前は開発中のものです。
2012/01/11(水) 21:56:52.65ID:fC2GtEJd0870名前は開発中のものです。
2012/01/11(水) 23:25:50.70ID:0rV0JscD最低限試そうともしないで甘えるなら突っぱねる、
それはいつの2ちゃんでも同じ掟だ。
>>794の場合、NesDevの資料読んでないか理解出来てないし、>>797のソース読んでないのが明らかだったから駆除された。
本当に厳しくいうなら「NESエミュのソース読めば?」
6502の命令の挙動が分からないなら、
6502の資料に乗ってるC言語のサンプルを見る、
x86〜i386、CASLUあたりのアセンブラ関連書籍を見る、
本来の最低ラインだぞ。
そこまで努力するのは大変だから、多少は近道ヒントを出すがな。
0871名前は開発中のものです。
2012/01/12(木) 03:08:39.00ID:aD3EcQgIGBのXとかX68kのスターウォーズとかPC-88のシルフィードとか
個人的にワイヤーフレーム表示は未来を感じさせるから好きだ
0872名前は開発中のものです。
2012/01/12(木) 08:16:22.88ID:G1Vk0Vj7好きな割に何もわからないのですね
0873名前は開発中のものです。
2012/01/12(木) 10:01:18.07ID:F//iZi+qNesDevのここからソースが落とせるよ。
これは3D計算をいちいち行っているのだろうか。
>ttp://www.iancgbell.clara.net/nestank/
0874名前は開発中のものです。
2012/01/12(木) 19:19:01.21ID:aD3EcQgIシルフィードのこと?
>>873
おお、すごい
やっぱり作っている人はいたのか
0875名前は開発中のものです。
2012/01/18(水) 13:33:07.73ID:rALhV71b擬似だろうと本物のワイヤフレームだろうと、
「ワイヤフレーム表示を行う」ことに意味があるのがわかっていないようだなw
0876名前は開発中のものです。
2012/01/18(水) 14:25:26.74ID:S1iAJYcz0877名前は開発中のものです。
2012/01/18(水) 18:09:54.33ID:nlChypdB0878名前は開発中のものです。
2012/01/18(水) 19:16:33.44ID:RKcC+g4f0879名前は開発中のものです。
2012/01/19(木) 02:03:03.92ID:L8o1FtXYプログラム用のアプロダを設置してみました・・・。
ぜひ使ってみてください。ここなら、しばらくはサンプルを残せるはずです・・・。
ttp://loda.jp/2a03/
0880名前は開発中のものです。
2012/01/19(木) 23:12:11.02ID:7gbjzQb6このスレにそこまでプログラム等をあげるやつがいるかどうか
0881名前は開発中のものです。
2012/01/19(木) 23:58:29.93ID:hHtCo2gVデバッガすら使えない底辺層が動きませんって持ってくるだけだからなあ
キチンと作ってるなら自分で公開するだろうし
0882名前は開発中のものです。
2012/01/20(金) 00:30:36.45ID:Zdogrnih投稿する勇気とプログラムを作り遂げるやる気があれば怖くない!
0883名前は開発中のものです。
2012/01/21(土) 06:07:37.03ID:9bEmjgCC折角だから、昔ちょっと思いついてデモを作ったらNNNesterJでしかまともに動かなくて
仕様調べるのめんどくさくてそのままにほったらかしてた物を上げてみる。
ttp://loda.jp/2a03/?id=3
8×12の文字が出るだけ。ゴミが出るけど気にしない。
0884名前は開発中のものです。
2012/02/04(土) 01:29:41.51ID:2Pu07awTLODA.JPも終わるみたいだし・・・・
0885名前は開発中のものです。
2012/02/04(土) 22:13:10.59ID:hU4F/CcW0886名前は開発中のものです。
2012/02/05(日) 20:23:38.13ID:frUzAJqn後期の作品だとどの作品見てもフォントが足りないようには
見えなかったんだけど、何か解決策が見つかったの?
0887名前は開発中のものです。
2012/02/05(日) 21:51:04.38ID:7qDYFAai0888名前は開発中のものです。
2012/02/05(日) 22:22:17.86ID:frUzAJqnその辺がよく分からないんだけど
結局グラフィックに割り当てた分、使えなくなるフォントが出るんだから
容量が増えても解決しなくない?
0889名前は開発中のものです。
2012/02/05(日) 22:32:48.60ID:DiMK2dc4平仮名は全部使えるが、カタカナは使い回しまくり。
0890名前は開発中のものです。
2012/02/05(日) 22:59:50.38ID:Ov8gxOpfなんとかなりそうではあるな。
0891名前は開発中のものです。
2012/02/05(日) 23:03:34.78ID:ruANVDhiパターンテーブル見てこないゆとりバカうぜえ
0892名前は開発中のものです。
2012/02/06(月) 00:01:10.58ID:3h/dwAAc0893名前は開発中のものです。
2012/02/06(月) 00:10:28.33ID:3GeCH5V30894名前は開発中のものです。
2012/02/07(火) 00:31:08.33ID:WdJ6o1Xs0895名前は開発中のものです。
2012/02/08(水) 17:08:46.34ID:hRRRpEP8誰もいなくなると思うの
0896名前は開発中のものです。
2012/02/08(水) 20:06:57.16ID:4ST7s66W0897名前は開発中のものです。
2012/02/08(水) 21:24:51.91ID:4qeAEpGeいまのところそれが若年層に多く見られるってだけ
まともな奴だっているだろ?いないの?
0898名前は開発中のものです。
2012/02/08(水) 22:55:49.87ID:8Q9CDJtMヒント教えてもらっても、礼をいうどころか、こうやって捨て台詞吐いて勉強をやめるのがゆとり。
0899名前は開発中のものです。
2012/02/08(水) 23:14:06.21ID:gpqJUScRヒントどころかまるで間違った発言がか?www
こうやって自分が間違っていることにすら気付かないで
偉そうに勘違いしているのがゆとり。
0900名前は開発中のものです。
2012/02/08(水) 23:20:34.86ID:Y8a3Hkms0901名前は開発中のものです。
2012/02/09(木) 00:29:33.61ID:/kEIoADq0902名前は開発中のものです。
2012/02/09(木) 17:43:44.55ID:VhURgzOjと思っていたが、ギコ猫さんのソースを少し改造したやつで
lda #$20
sta $2006
lda #$00
sta $2006
lda #$01 ; 1番(レンガ)
; 120*8=960回出力する
ldx #120 ; Xレジスタ初期化
ldy #8 ; Yレジスタ初期化
.loadNametable2
sta $2007 ; $2007に書き込む
dex
bne .loadNametable2
ldx #112 ; Xレジスタ初期化
dey
bne .loadNametable2
とやれば出来ることが分かった。
よく考えればC言語で2重ループで掛け算の計算できるから当たり前といえば当たり前だが
0903名前は開発中のものです。
2012/02/09(木) 17:51:31.17ID:VhURgzOj0904名前は開発中のものです。
2012/02/09(木) 23:22:19.98ID:XoK1fOva>>後期の作品だとどの作品
後期ってドラクエV、Wのこと意図してるの?
ドラクエだけの話なら、TだけがCHRがROMで、U,V,WはCHRはRAMなんだけど。
>>フォントが足りないようには 見えなかったんだけど
IからWでカタカナが入れ替わったり多少の変更があるけど、
フォントとウインドウのパーツ数の合計に差はない。
エミュやYY-CHRでパターンテーブル見てない奴の勝手な感想。
ファミコン後期って言いたかったのかな?
どちらかに当てはめれば>>887 >>889 >>890 >>891 >>892全部正解
ということで質問自体がおかしい。
>>902
初歩過ぎる、ミスって904回になってる、日記乙
最近この辺の板、スマホのバカ発見器のバカ増えてる?こんなの立てちゃったり
http://toro.2ch.net/test/read.cgi/tech/1328227395/
0905名前は開発中のものです。
2012/02/09(木) 23:46:22.24ID:aYrAEr2kお前も相当馬鹿なんだな
少なくとも>>887は正解ではない
>>889が最初の正解
なんでこんなレベルが低いのばかり住み着いちゃったんだか
0906名前は開発中のものです。
2012/02/09(木) 23:51:41.58ID:EYsae1tP0907名前は開発中のものです。
2012/02/10(金) 00:00:58.29ID:kmTaVqDA0908名前は開発中のものです。
2012/02/10(金) 00:07:48.56ID:c+T5Rrwm町中とかウインドウ方式だとそもそもライン単位では無理
0909名前は開発中のものです。
2012/02/10(金) 09:50:24.25ID:T98mZ9CI腹いせだよ、腹いせ
0910名前は開発中のものです。
2012/02/10(金) 23:56:20.92ID:Bkz01ci5解決したとは読み取れないように書いたと思うんだが。
MMC5のデカいフォントのゲームでは
「容量が解決」も間違ってはいない。
0911名前は開発中のものです。
2012/02/11(土) 03:02:16.61ID:DMNaSAjwもっと簡単に
sta $2007
をいくつか並べのもアリだよ
0912名前は開発中のものです。
2012/02/11(土) 03:31:32.37ID:8uSTaWoM一つ一つのメッセージが短く少ないならこういう方法もアリだけど
ドラクエほどメッセージ量が多いと逆にレスポンスが悪くなっちゃう
8bit機は制約が大きいからデザインとプログラミングは不可分だよね
0913名前は開発中のものです。
2012/02/11(土) 16:40:46.31ID:XH8T0Uvm現在シューティングゲームを作ってみているのですが、BGの当たり判定で止まっています。
@ A B C
とブロックがあった場合、スプライトの弾がぶつかったら消滅というコードをくんでいるのですが、
スプライトと違い座標を用いた方法以外で、衝突判定を見る方法はないものでしょうか
ブロックと弾にカウンタを置いて、弾のカウンタとand演算等で分岐をとも思ったのですが、
ブロックの数によっては汎用性がなさそうなので、なにかあれば教えて下さい
0914名前は開発中のものです。
2012/02/11(土) 19:08:00.50ID:DMNaSAjw座標を使う以外にやりようはない。
基本は当たり判定を取りたい座標をブロックのサイズで除算。
除算をまじめにやるとしょぼいCPUでは遅いので、ブロックのサイズを
2^nにしてシフトで出来るようにする。
すり抜け対策とかドット単位当たり判定とかは説明がめんどいので
考えてくださいw
0915名前は開発中のものです。
2012/02/11(土) 23:11:04.33ID:XH8T0Uvmあぁなるほど徐算でしたか、感覚としては因数分解みたいな感じですね
ありがとうございます。
一応確認なんですが、私は当たり判定ではcmpによるネガティブフラグで判定をしていますが、その調子で大丈夫ですよね
0916名前は開発中のものです。
2012/02/11(土) 23:29:41.07ID:bvbq0wS4何事も試行錯誤です
0917名前は開発中のものです。
2012/02/11(土) 23:38:43.03ID:qaTR3LgQ0918名前は開発中のものです。
2012/02/12(日) 00:56:09.91ID:gUUDEgxLインデックスレジスタを用いた擬似的乗徐算を乗徐算と意識していなかったから
と言い訳しておきます
0919名前は開発中のものです。
2012/02/12(日) 02:17:00.92ID:/ainxqCj0920名前は開発中のものです。
2012/02/12(日) 05:02:51.58ID:E+fNx3cK0921名前は開発中のものです。
2012/02/12(日) 09:07:11.43ID:aKdW3vVV各人が車輪の再発見をしなきゃいけないなんて無駄もいいとこ。
0922名前は開発中のものです。
2012/02/13(月) 00:48:33.85ID:lzhnxno40923名前は開発中のものです。
2012/02/13(月) 01:49:33.22ID:+XSjeNKoそういやGBのゼルダがそのやり方っぽいな
というかもしかしてGBはみんなそのやり方なのかな
GBでカタカナに制限があるゲームって見ない気がする
0924名前は開発中のものです。
2012/02/13(月) 05:57:30.53ID:P3L21QRYGBはファミコンでいうCHR-RAMしかないからじゃないかな
カートリッジにCPU側のバスしか出ていない設計だったかと
0925名前は開発中のものです。
2012/02/18(土) 10:25:42.97ID:YR3CrAXp0926名前は開発中のものです。
2012/02/18(土) 23:48:26.97ID:E8fj6J+ZキャラクタをROMとして提供したゲーム機はファミコンくらいでしょう。
任天堂ハードにおいても。他ハードは、VRAMに展開する方式だし。
レス数が900を超えています。1000を超えると表示できなくなるよ。