■過去スレ
ファミコンのプログラム
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
2012/12/31(月) 23:43:32.17ID:dplgqzsF
CHR-RAM直打ちでいちいちキャラクタを書き換えているのが
ソルスティスの技術。上位オブジェクトの重なりと非描画判定は凄い。
後にラグランジュポイントはCHR-RAMって8KBなんかな。あのパターン
量を見ると8KBではなさそう。
セリフ用の文字画像部分を足して16KB搭載かつセリフウィンドウ部分
で割り込みバンク切り替えしているんじゃないかと推測しとるんだけど。
それともただのCHR-RAMなのだろうか。
ソルスティスの技術。上位オブジェクトの重なりと非描画判定は凄い。
後にラグランジュポイントはCHR-RAMって8KBなんかな。あのパターン
量を見ると8KBではなさそう。
セリフ用の文字画像部分を足して16KB搭載かつセリフウィンドウ部分
で割り込みバンク切り替えしているんじゃないかと推測しとるんだけど。
それともただのCHR-RAMなのだろうか。
64名前は開発中のものです。
2013/01/01(火) 12:13:51.02ID:wi03Ie1H >>63
ラグランジュポイント、CHR-RAMの実体は8K
ttp://bootgod.dyndns.org:7777/profile.php?id=3643
ただし、参照配置換え可能。
普通のCHR-RAMならBGを4K、SPRを4Kと固定で、$0000か$1000に配置するけど、
参照配置換え可能ならばBG、SPRそれぞれ0〜8Kまで1K(page)単位で柔軟なサイズ変更が出来る。
割り込みかけて途中で参照を変える、と。
SPR:BG = 1:7〜3:5、位じゃないのかな。
ラグランジュポイント、CHR-RAMの実体は8K
ttp://bootgod.dyndns.org:7777/profile.php?id=3643
ただし、参照配置換え可能。
普通のCHR-RAMならBGを4K、SPRを4Kと固定で、$0000か$1000に配置するけど、
参照配置換え可能ならばBG、SPRそれぞれ0〜8Kまで1K(page)単位で柔軟なサイズ変更が出来る。
割り込みかけて途中で参照を変える、と。
SPR:BG = 1:7〜3:5、位じゃないのかな。
2013/01/01(火) 23:57:35.10ID:dHbpOLgO
わかってないなら適当なこと言わなきゃいいのに
66名前は開発中のものです。
2013/01/02(水) 01:00:10.06ID:sqh/nOWC >>65
あ り え な い 。それは。
バストダンジョンでリリカのおっぱい値を800近くまで調教強化してやらないと、そのフラグは立たない。
仮にフィリオナをメンバーから外してリリカを集中調教しても、アナルバイブが使えないその段階では
スカリバーはまだ手に入れられないはず。 妄 想 で つ か ?
とりあえずアンダー草原で淫獣マリリスを大量に調教して淫度をどんどん稼いどけ。
展開が不安ならバックアップ取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
あ り え な い 。それは。
バストダンジョンでリリカのおっぱい値を800近くまで調教強化してやらないと、そのフラグは立たない。
仮にフィリオナをメンバーから外してリリカを集中調教しても、アナルバイブが使えないその段階では
スカリバーはまだ手に入れられないはず。 妄 想 で つ か ?
とりあえずアンダー草原で淫獣マリリスを大量に調教して淫度をどんどん稼いどけ。
展開が不安ならバックアップ取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
2013/01/02(水) 22:10:18.03ID:9vEznEQL
は?
2013/01/02(水) 23:31:25.14ID:zErWDyJm
昔どっかで見たコピペだな
2013/01/05(土) 22:50:06.11ID:Kcs0H07R
いつのコピペだw
2013/01/06(日) 16:49:46.39ID:vL3Xl6d1
63です。本気の解説ありがとうござんす。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。
2013/01/06(日) 19:38:07.98ID:Nbv6CYGv
64です。CHR-RAMなのは知っていたけど、
63の書き込みを見て調べた結果に驚きました。
ROMを乗せるはずのところに、一工夫してRAMを乗せるとこうなるのですね。
( ;∀;)イイハナシダナー
63の書き込みを見て調べた結果に驚きました。
ROMを乗せるはずのところに、一工夫してRAMを乗せるとこうなるのですね。
( ;∀;)イイハナシダナー
2013/01/07(月) 17:29:05.26ID:Snw5yZJz
逆にネームテーブルのRAMを置くべきとこにバンクROM配置ってのもなかったっけ
2013/01/07(月) 20:19:59.31ID:YCNSEchh
サン電子のアフターバーナーだね
2013/01/13(日) 21:44:45.31ID:SvwqFKWD
某サイトに$4018-$401Aにもレジスタがある(ミラーではなく)みたいな記述があるんだけど
誰か何のことか分かる人いる?
今調べてるんだけど出てこない・・・
誰か何のことか分かる人いる?
今調べてるんだけど出てこない・・・
2013/01/13(日) 23:43:50.36ID:Xsknydlc
2013/01/13(日) 23:50:04.93ID:P2tocX8p
まじか。あさってやってみる。
でも、実用上ほぼ全く役に立たなそうだな。
でも、実用上ほぼ全く役に立たなそうだな。
2013/01/13(日) 23:52:24.91ID:78BX4ehY
decapまでされてるのか
2013/01/13(日) 23:55:52.07ID:SvwqFKWD
2013/01/14(月) 01:42:33.45ID:9rveIWjC
>>78
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う
使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う
使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?
2013/01/14(月) 02:00:53.73ID:9rveIWjC
リンク先にまだ情報あったわ
http://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム
http://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム
2013/01/14(月) 10:39:53.71ID:tzjT4Zjb
2013/01/14(月) 18:03:11.53ID:9rveIWjC
どうなるんだか試さないとわかんねw
2013/01/14(月) 23:45:03.97ID:XSpdI2pt
ちょっと質問なんだけど、アセンブラってみんな何使ってる?
ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・
ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・
2013/01/15(火) 00:44:21.46ID:bZUsNHpr
Cライクってのがわからん
このスレにCは需要無い
Cでやるならcc65のCを使うでしょ
x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった
このスレにCは需要無い
Cでやるならcc65のCを使うでしょ
x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった
8583
2013/01/15(火) 10:34:28.65ID:DThX962j >> 84
自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。
> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。
> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw
自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。
> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。
> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw
2013/01/15(火) 20:25:38.47ID:/uFBc3xt
4018-401Aを読んでみたけど、どれも64が返ってくるだけだった。
2013/01/17(木) 00:19:49.08ID:hcjbSNgf
がっかりして書き込みなし?
2013/02/04(月) 21:07:41.31ID:fkuzgt9B
/:/: FAMILY NEWS
2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。
ttp://globalgamejam.org/2013/famicom-nes-regeneration-project
小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。
2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。
ttp://globalgamejam.org/2013/famicom-nes-regeneration-project
小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。
2013/02/12(火) 19:45:05.71ID:9xgYPqEW
nesdev消滅したのかと思った
2013/02/19(火) 22:29:22.33ID:O/soUU/G
数年前に比べてファミコンに関する資料がかなり増えたね
2013/02/20(水) 20:52:03.13ID:JiXwRlwj
10年前はもっと…
2013/03/02(土) 00:41:19.83ID:hFHJmNkE
ファミコン用の音楽ドライバを見つけたぜ。cc65でコンパイルした
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
ttp://shaw.la.coocan.jp/nsdl/
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
ttp://shaw.la.coocan.jp/nsdl/
2013/03/02(土) 00:47:42.77ID:8Km8c4Ly
あ、そういうことする人なんだ
94名前は開発中のものです。
2013/04/18(木) 23:16:17.58ID:IMzwu5mh2013/06/02(日) 03:27:36.01ID:3ZWnZLQL
来月はファミコン発売30周年だな
2013/07/16(火) NY:AN:NY.ANID:V4wzSO+/
初歩的なこと聞くけどBGのネームテーブルとかスプライトデータ64*4
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?
2013/07/16(火) NY:AN:NY.ANID:x8PldMXb
画面描写中はVRAM見れないよ
デュアルポートRAMなんてなかったし
デュアルポートRAMなんてなかったし
98名前は開発中のものです。
2013/08/06(火) NY:AN:NY.ANID:3KQG/adI マリオブラザーズなら
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?
こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?
こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る
99名前は開発中のものです。
2013/08/14(水) NY:AN:NY.ANID:qLnn+CpW100名前は開発中のものです。
2013/08/17(土) NY:AN:NY.ANID:uCbYKHDz101名前は開発中のものです。
2013/10/13(日) 05:30:26.19ID:2zt6NDsD スクロールなしの固定画面で
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください
102名前は開発中のものです。
2013/10/13(日) 06:09:25.87ID:j6RhH/8y 3Dホットラリー
103名前は開発中のものです。
2013/10/13(日) 14:35:35.53ID:WWg/r0Uv メタルスレイダーグローリー
104名前は開発中のものです。
2013/10/17(木) 22:51:09.98ID:JAf2Y+Vq 元々の選べる色が50数色程度じゃ
パレット書き換えしても劇的な変化はないんだな
パレット書き換えしても劇的な変化はないんだな
105名前は開発中のものです。
2013/10/21(月) 23:14:22.41ID:JGQ8j3II パレットを高速で入れ替えると中間色みたいになる
106名前は開発中のものです。
2013/10/22(火) 01:38:09.46ID:fuBZsr5L ドルアーガでやってたな
107名前は開発中のものです。
2013/10/28(月) 15:22:51.38ID:mnXgpw7y キラキラスターナイトの音楽って当初はmckで作ってログなんだってな。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。
108名前は開発中のものです。
2013/11/22(金) 17:22:34.78ID:0CxishgT すいません、16進数でFCはリターンですか?
109名前は開発中のものです。
2013/11/22(金) 19:13:43.33ID:ePLUfS2n 難しい質問だ
110名前は開発中のものです。
2013/11/22(金) 21:49:34.37ID:dQaQiKPU 6502の話ならRTSは0x60でしょ
0xFCは未定義
0xFCは未定義
111名前は開発中のものです。
2013/11/27(水) 18:47:29.95ID:2qPkVWWu 6502は未定義命令多いよね
112名前は開発中のものです。
2013/11/27(水) 22:25:07.60ID:AIPgO1s0 108です、ポートピア連続殺人事件のバイナリを見ていて
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います
113名前は開発中のものです。
2013/11/27(水) 22:34:47.33ID:2GaPYVty な、なんだってー!! Ω ΩΩ
114名前は開発中のものです。
2013/11/27(水) 23:17:01.96ID:H3/K2JY+ ただ単に、文章の最後を表すために、FC使っているだけ。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。
115名前は開発中のものです。
2013/11/27(水) 23:56:34.99ID:xJTLP5X/ なんだ、ただのバカじゃねえか
116名前は開発中のものです。
2013/11/29(金) 23:43:36.26ID:+yLhVUXN117名前は開発中のものです。
2013/12/28(土) 09:38:36.09ID:NXkYsMWn 6502の未定義命令表ってどっかに落ちていたような・・・
とはいっても2a03とオリジナルで違うような気もする
とはいっても2a03とオリジナルで違うような気もする
118名前は開発中のものです。
2014/02/25(火) 00:48:36.47ID:PEseuuNL 同人でファミコンゲーだしてみたいので勉強中
実機でできるようになるまで遠いなぁ
実機でできるようになるまで遠いなぁ
119名前は開発中のものです。
2014/03/11(火) 21:45:52.01ID:xOOt/lks BG読書き時のレジスタアクセス等の手順を日本語で正しく説明しているサイトってないかね?
120名前は開発中のものです。
2014/03/11(火) 23:17:40.95ID:Ee7AGpD7 古い情報を掲載してるとこしか知らない。
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?
121名前は開発中のものです。
2014/03/12(水) 00:28:23.93ID:WZH/SRI7 ロジックは正しいハズなのにBG表示上手く行かねーって時あるけど
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする
ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする
ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。
122名前は開発中のものです。
2014/03/12(水) 01:37:23.21ID:sVRc03+V スクロールレジスタ戻してないに1票
123名前は開発中のものです。
2014/03/12(水) 21:31:45.55ID:AKXlzqE0 まだこのスレ見てる人結構いるんだな。。。。
124名前は開発中のものです。
2014/03/20(木) 16:18:48.51ID:NcrvcaHS スレチかもしれんがSFCのことについて聞きたい。
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?
125名前は開発中のものです。
2014/03/20(木) 23:57:41.03ID:nDoqvjBg 別枠で跳び先用意してるだけで、仕組み自体はソフトウェア割り込みそのもの。
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。
ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。
ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)
126名前は開発中のものです。
2014/03/21(金) 00:22:20.42ID:P1JaUJrV 【65816:SNES】アセンブリ【6502:NES】
http://toro.2ch.net/test/read.cgi/gamedev/1109955393/
http://toro.2ch.net/test/read.cgi/gamedev/1109955393/
127名前は開発中のものです。
2014/03/21(金) 00:23:50.90ID:P1JaUJrV128名前は開発中のものです。
2014/03/27(木) 11:27:04.95ID:Boex24sn 去年あたりにCPUとPPUのデータシートが流出したって聞いたが本当かね?
129名前は開発中のものです。
2014/03/27(木) 11:33:55.73ID:6ZjkSFol バーイ ハドソン
130名前は開発中のものです。
2014/03/31(月) 23:12:27.47ID:2ZMIQNqL ネトウヨ「国際司法際はチョン」
なのに竹島問題もハーグで決着つけようとかいってるジャップwwww
なのに竹島問題もハーグで決着つけようとかいってるジャップwwww
131名前は開発中のものです。
2014/04/04(金) 07:14:22.67ID:stHAjJOS http://www1.axfc.net/u/3214070.zip
ファミコンゲームです。操作方法は付属のtxtを参照
ファミコンゲームです。操作方法は付属のtxtを参照
132名前は開発中のものです。
2014/04/04(金) 08:34:30.32ID:FAM6mLE7 >>131
fceuでは正常に動作しています
fceuでは正常に動作しています
134名前は開発中のものです。
2014/04/05(土) 21:35:51.55ID:RihLvMZN nnnesterJでも動いた
ずっとやってたらCLEARって表示されたわ
ずっとやってたらCLEARって表示されたわ
135131
2014/04/07(月) 06:20:21.08ID:ANvPoB1w ありがとうございます。あと、透明な敵が現れるバグがあるのと、
静岡県立沼津工業高校の校歌を使っています。
静岡県立沼津工業高校の校歌を使っています。
136名前は開発中のものです。
2014/04/07(月) 07:28:54.96ID:fDBMyb5C >>119の子か。お礼ぐらい言えないのかね。
137名前は開発中のものです。
2014/04/07(月) 15:41:53.87ID:YJHniqKP ?
138名前は開発中のものです。
2014/04/09(水) 17:36:23.74ID:Aiee0k4j 6502プログラミングの基礎はどうやって勉強するんだろ
アセンブラ言語そのものは分かるけど実装技術が・・・
アセンブラ言語そのものは分かるけど実装技術が・・・
139名前は開発中のものです。
2014/04/10(木) 21:35:34.35ID:hnCuty6F >プログラミングの基礎
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。
ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。
ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。
140名前は開発中のものです。
2014/04/10(木) 21:41:45.23ID:hnCuty6F 開発途中で、まだゲームの体裁になっていないけど、自作のソフトをさらしてみる。
src.zipにソース一式入っているので、参考頂ければ幸いです。
http://homepage3.nifty.com/~kyoske/nes/RevolvingGems.zip
十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。
src.zipにソース一式入っているので、参考頂ければ幸いです。
http://homepage3.nifty.com/~kyoske/nes/RevolvingGems.zip
十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。
141名前は開発中のものです。
2014/04/12(土) 04:57:10.26ID:IdgE9LS/ おお、すげぇ
宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・
宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・
142名前は開発中のものです。
2014/04/12(土) 13:04:08.62ID:BjcqFb8t すごい
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う
143名前は開発中のものです。
2014/04/12(土) 16:34:03.45ID:D7Ld43hD >>140
なかなか出来が良さそう
.macro 〜 .endm (引数付きで)
.func
なんかも使うと楽になる場合もあるよ
>>140
ttp://wiki.nesdev.com/w/index.php/Controller_port_registers
$4017への書き込み(W)によるstrobe(コントローラーのリセット行為)は無意味、
そもそも出力ポートにつながってないかと。
strobe行為は$4016だけで十分。
$4016のbit0が1か0かで、
Tコン、Uコン、bothのコントローラーの中のTC4021BP(シフトレジスタのIC)の、
パラレル、シリアルの各モードが変わる。
1→0で押しボタンのパラレルデータがシフトレジスタに取り込まれて、
シリアル化されたということだ。
シリアル化されたデータは
Tコンは$4016の読み込み(R)で、
Uコンは$4017の読み込み(R)で、
それぞれ独立にシフトされる。
ttp://green.ap.teacup.com/junker/116.html この回路図もいいな
ttp://nesdev.com/Ntd_8bit.jpg
>>141
パレットはいじってないよ?
なかなか出来が良さそう
.macro 〜 .endm (引数付きで)
.func
なんかも使うと楽になる場合もあるよ
>>140
ttp://wiki.nesdev.com/w/index.php/Controller_port_registers
$4017への書き込み(W)によるstrobe(コントローラーのリセット行為)は無意味、
そもそも出力ポートにつながってないかと。
strobe行為は$4016だけで十分。
$4016のbit0が1か0かで、
Tコン、Uコン、bothのコントローラーの中のTC4021BP(シフトレジスタのIC)の、
パラレル、シリアルの各モードが変わる。
1→0で押しボタンのパラレルデータがシフトレジスタに取り込まれて、
シリアル化されたということだ。
シリアル化されたデータは
Tコンは$4016の読み込み(R)で、
Uコンは$4017の読み込み(R)で、
それぞれ独立にシフトされる。
ttp://green.ap.teacup.com/junker/116.html この回路図もいいな
ttp://nesdev.com/Ntd_8bit.jpg
>>141
パレットはいじってないよ?
144名前は開発中のものです。
2014/04/12(土) 19:24:29.80ID:Gzkbouk5 欲を言えば、宝石回転をもっと速くして欲しい。
145141
2014/04/13(日) 00:08:08.07ID:KkvqpUBo146名前は開発中のものです。
2014/04/13(日) 16:38:48.65ID:SW34DfG1 ラスタスクロールでずらす、って発想すごいなー。
こういう使い方初めて見た。勉強になりました。
当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。
こういう使い方初めて見た。勉強になりました。
当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。
147名前は開発中のものです。
2014/04/13(日) 21:10:32.33ID:mdytbhuJ >>146
理解力なさすぎ
いくらでもある
スプライト0ヒットで同期とった分割スクロール
スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
>>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
http://nozomi.2ch.net/test/read.cgi/gameurawaza/1352627490/143
>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど
理解力なさすぎ
いくらでもある
スプライト0ヒットで同期とった分割スクロール
スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
>>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
http://nozomi.2ch.net/test/read.cgi/gameurawaza/1352627490/143
>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど
148145
2014/04/14(月) 00:05:28.57ID:Ye30GFaz >>147
なんでそんな否定からはいるのさ?
「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。
146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。
まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^
なんでそんな否定からはいるのさ?
「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。
146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。
まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^
149146
2014/04/14(月) 00:18:00.10ID:BSoZ156l >>147
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
http://www.youtube.com/watch?v=C8F39OhAiRc#t=25
でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
http://www.youtube.com/watch?v=C8F39OhAiRc#t=25
でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。
150145
2014/04/14(月) 00:44:20.53ID:Ye30GFaz151名前は開発中のものです。
2014/04/14(月) 13:15:26.05ID:PHq3J+m9 >>149
似たようなのでテトラスターもあるね
コズミックイプシロンは横にラスタースクロールもしているけど、ベースの
アイデアとしてはBGのバンク切り替えアニメと同じことで実現してる
1ラインずつ別バンクに切り替えて絵を組み上げていく感じ
似たようなのでテトラスターもあるね
コズミックイプシロンは横にラスタースクロールもしているけど、ベースの
アイデアとしてはBGのバンク切り替えアニメと同じことで実現してる
1ラインずつ別バンクに切り替えて絵を組み上げていく感じ
152名前は開発中のものです。
2014/04/14(月) 18:55:50.61ID:dbr8gs6R 140です。
>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。
>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。
>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。
今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。
ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。
>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。
>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。
>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。
今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。
ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。
153名前は開発中のものです。
2014/04/14(月) 18:57:07.18ID:Ye30GFaz コズミックイプシロン、初めて知ったけど、たしかにすごいね・・・
デバッガで見るまで、どうやってるか想像もできんかった。
しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw
good luck!
デバッガで見るまで、どうやってるか想像もできんかった。
しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw
good luck!
154名前は開発中のものです。
2014/04/14(月) 19:22:56.78ID:PHq3J+m9155名前は開発中のものです。
2014/04/14(月) 19:58:14.37ID:BSoZ156l156名前は開発中のものです。
2014/04/14(月) 20:06:28.23ID:dbr8gs6R157名前は開発中のものです。
2014/04/14(月) 21:32:22.23ID:qn3GgaV0158145
2014/04/14(月) 22:05:09.05ID:Ye30GFaz >>131 の名誉のために、131と私は別人だよ。
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^
159名前は開発中のものです。
2014/04/14(月) 22:40:16.03ID:Ye30GFaz >>140 さんに質問です。
勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...
また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?
C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;
不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。
勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...
また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?
C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;
不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。
160名前は開発中のものです。
2014/04/14(月) 23:59:40.63ID:qn3GgaV0 >>159
立ってる、立ってないが逆
立ってる、立ってないが逆
161名前は開発中のものです。
2014/04/15(火) 00:19:44.09ID:Rogly49M >>159 さん
> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)
Yesです。
> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?
あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。
私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。
> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)
Yesです。
> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?
あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。
私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。
162名前は開発中のものです。
2014/04/15(火) 00:22:16.34ID:Rogly49M163名前は開発中のものです。
2014/04/15(火) 00:24:55.54ID:4gJhlsqp あ、ご指摘どうもです。逆でした
レスを投稿する
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 「営業妨害ですよ」小野田紀美氏、銀色ドレス揶揄に怒りをあらわ [バイト歴50年★]
- ド、ド、ド リ フ の
- 精神科行ったらさ。。
- 最近銭湯にハマってる
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- なんか寝れないのでウマ娘の雑談とか募集
- 機械に疎いのほんと大変
