ファミコンのプログラム2at GAMEDEV
ファミコンのプログラム2 - 暇つぶし2ch820:名前は開発中のものです。
08/01/07 05:45:47 4pGCNPYq
領域の境界で消えまくりそう。処理がまにあえばいいけど・・

画面を横に四つに切る、四つの領域(バッファ)を考えて
そこへ32枚ずつ表示を考え、最大128枚の表示をめざす。
バッファに入らなかったスプライトは残念ながら表示されない。
表示するスプライトのうち、Y=0..59ドットのものはAのバッファへ。
60..119をB、120..179をC、180..239をDへ設定。
四つの領域である程度分割されたバケツソートの意味合いがある。

垂直回帰線割り込み終了までに四つの領域それぞれでYで
ソートをすませておく
画面の0~、60~、120~、180~でラスター割り込みで、
それぞれ転送する
いっぺんに32枚のDMA転送は間に合わないので、
ラスター割り込みを何度もかけて数バイトずつ転送していく。
Yでソートされているので、ラスターを何回か経過したとして
もちらつくことは少ないと考えられる。

※領域ごとに64枚の処理はどうせ間に合いっこないので
32枚で考えました。メモリの節約も考えています。
それにファミコンのスプライトは8枚ならんだら
どのみちちらついてしまいます。
※ファミコンの場合、ラスター割り込みではなく、
フラグを監視するのでしたっけ?知識があいまいです。

821:名前は開発中のものです。
08/01/07 09:18:08 g1ISiWA7
何の話?

822:名前は開発中のものです。
08/01/07 10:08:36 KdyvFZW6
スプライトタブラーだろ
ゲームカセットにハード入れりゃいいのに

823:名前は開発中のものです。
08/01/07 21:50:41 DGu4+3+B
>>822
たとえばマッパー4?

824:814
08/01/10 17:03:00 OjgtnRWb
またまた質問があるのですが、ファミコンで乱数を使う場合どのようにすればいいのでしょう?
I/Oの0x400Eを使うっぽいと思うんですがだれか。

825:名前は開発中のものです。
08/01/10 17:33:31 N1q/jj2z
それ音声用だから値は取得できない
擬似乱数でググって好きなの使えや

826:814
08/01/11 03:34:55 R/XuHjLJ
自力で解決したZE★

827:名前は開発中のものです。
08/01/12 21:07:38 Te3dHOGv
すみません、ファミコンプログラムを新しく始めようと思ったのですが、
すずめもギコ猫も閉鎖のようで困っています。

どこかよい入門サイトはないでしょうか?

828:名前は開発中のものです。
08/01/12 22:08:20 YCUe1kyM
急いでギコ猫開いたけど、驚かせやがってまだあるじゃん
URLリンク(gikofami.fc2web.com)

829:名前は開発中のものです。
08/01/12 22:52:50 WVC5D6DD
そうやって人にググらせて自分でググる手間を省く
ググググ詐欺だから気をつけろよ

830:名前は開発中のものです。
08/01/13 19:26:35 C14nC1gP
電源を入れた一瞬だけBGが表示されてからすぐスプライトだけになってしまう
のはなぜ?

831:名前は開発中のものです。
08/01/16 23:15:56 4fd74qnV
MMC3のNESファイルのプログラムが始まるのって何バイト目なのでしょうか?
6502の情報はあってもNESファイル自体のフォーマットってみつからない...


832:名前は開発中のものです。
08/01/16 23:16:28 n7RHHgvL
ヘッダでぐぐれ

833:名前は開発中のものです。
08/01/17 01:01:00 XmraM3Wj
>>831
6502の情報はしっかり読んだのか?

834:名前は開発中のものです。
08/01/17 20:29:44 MFRvwVD0
ありがとです。とりあえずプログラムの分割はうまく出来たんですが、
今度はどれが最初にロードされるかってのが分かんないままです。

835:名前は開発中のものです。
08/01/17 21:39:29 3grYd5u4
あてずっぽで答えるけど
リンクした順だと思うよ

836:名前は開発中のものです。
08/01/19 13:45:34 sVRM+WoC
最終バンクのベクタに書いてあるアドレスから始まるお

837:名前は開発中のものです。
08/01/19 16:47:04 /dJ7WQvQ
開始時に2回VBlankを待つ意味がわからない。


838:名前は開発中のものです。
08/01/19 19:12:13 sA5AMxJm
スレ違いかもしれませんが少々お聞きしたいことがあります。
当方ゲーム業界には全くの未経験なのですが、知り合いのゲーム狂の人から
聞いたのですが、ドットで絵を描く技術があればしばらくの間食いっぱぐれないと
いっていたのは本当でしょうか?また絵心のない素人でも目指せるものなのでしょうか?


839:名前は開発中のものです。
08/01/19 19:17:57 FNn0MEGQ
> 477 名前: 名前は開発中のものです。 投稿日: 2008/01/19(土) 18:44:02 ID:sA5AMxJm
> スレ違いと思いますが、オンラインゲーム会社って潰れやすいのでしょうか?
> ゲーム業界に入りたいのですが、GMとかカスタマーサポートとか未経験で募集している
> 所を良く見かけるのですが、あまりお薦めの業種ではないのでしょうか?
> 年収とかどの程度もらえるのでしょうか?
> 宜しくお願いいたします。
>
> 232 名前: 名前は開発中のものです。 投稿日: 2008/01/19(土) 19:01:48 ID:sA5AMxJm
> スレ違いですが質問させてください。ゲームデバッガーが正社員で募集かけているのですが、
> 年俸300万ぐらいで・・。やはり先はないですか? 当方30歳で、
> 現在デスクワーク職を探しているのですが・・。前職は小売してました。
>
> 175 名前: 名前は開発中のものです。 投稿日: 2008/01/19(土) 18:54:42 ID:sA5AMxJm
> 質問させてください。ゲームデバッガーが正社員で募集かけているのですが、
> 年俸300万ぐらいで・・。やはり先はないですかねえ。当方30歳で、
> 現在デスクワーク職を探しているのですが・・
>
> 838 名前: 名前は開発中のものです。 投稿日: 2008/01/19(土) 19:12:13 ID:sA5AMxJm
> スレ違いかもしれませんが少々お聞きしたいことがあります。
> 当方ゲーム業界には全くの未経験なのですが、知り合いのゲーム狂の人から
> 聞いたのですが、ドットで絵を描く技術があればしばらくの間食いっぱぐれないと
> いっていたのは本当でしょうか?また絵心のない素人でも目指せるものなのでしょうか?
>
> 245 名前: 名前は開発中のものです。 投稿日: 2008/01/19(土) 19:14:07 ID:sA5AMxJm
> スレ違いですが質問させてください。ゲームデバッガーが正社員で募集かけているのですが、
> 年俸300万ぐらいで・・。やはり先はないですか? 当方30歳で、
> 現在デスクワーク職を探しているのですが・・。前職は小売してました。
> こつこつ大好きです。


840:名前は開発中のものです。
08/01/20 01:01:20 Y8Qd0Csc
夢からさめなさーい

841:名前は開発中のものです。
08/01/26 19:45:53 pcXY3xH1
>>839
ワラタ

842:名前は開発中のものです。
08/02/02 11:33:09 1nDtXC13
最近なんか作った?

843:名前は開発中のものです。
08/02/09 21:37:45 o+W6Qao2
ゲーム・ジェネレーションX ~8BITの魂~ていうDVDに
ミスタースプラッシュのソース入ってる
糞高いけど買ってみた

844:名前は開発中のものです。
08/02/09 21:49:41 De8TOQpK
>>843
うp

845:名前は開発中のものです。
08/02/09 21:59:53 U5FDHTrV
>>843
ビルドするならこの辺参照
スレリンク(skyp板:508-番)

846:名前は開発中のものです。
08/02/09 22:16:40 o+W6Qao2
>>845
それの>>490俺だし

847:名前は開発中のものです。
08/02/15 22:31:58 uGndRfzQ
NESファイルというのをいただいたんですが開くことができません
どうすれば開くのでしょうか 教えてください

848:名前は開発中のものです。
08/02/15 22:32:04 36W2us5r
前にもカキコしたけど,VBLANKを2回待つメリットっていうか意味を教えて下さい.
任天堂のゲームは2回待っている模様


849:名前は開発中のものです。
08/02/15 23:36:11 uIOxrlI0
一回だけ待つとこうなる
 待ってみるつもりが既にVBLANKだったぜラッキー!
 だがVBLANKの終了直前だったみたいで転送処理が全部おわんね


850:名前は開発中のものです。
08/02/16 01:37:22 p9v8b4r1
>>847
URLリンク(virtuanes.s1.xrea.com)

851:名前は開発中のものです。
08/02/16 02:14:14 VD5lPrwS
なるほどね,それじゃあやっぱり自分もこれからは2回まった方がいいね,癖にしておこう.
回答していただき,有難うございました.>>849

852:名前は開発中のものです。
08/02/17 17:25:34 Vj+9qYk1
今スーパーマリオ1の逆汗テキスト読んでたんだが,気になる事が.
NMI割り込みルーチン内でスプライトDMA転送するとき
lda #$00
sta $4013
してたんだがこれって意味あんの?DMA利用ならしなくていい希ガス

853:名前は開発中のものです。
08/02/17 17:29:07 Vj+9qYk1
スマソ,もう1個聞きたかったんだが忘れてた
NMI割り込みが起こったとき,自動的にインタラプトフラグがセットされるのなら
わざわざ
NMI:
lda (PPUCTL1の値が入っている変数)
and #$7F ; NMI禁止
ってしなくていいと思うんだが.
上のもそうだけど,やらんでもいいけど念のために一応ってことなのか?


854:名前は開発中のものです。
08/02/17 18:14:49 YZmmPMQz
もちつけ
     /\⌒ヽペタン
   /  /⌒)ノ ペタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )
 )_)_) (;;;;;;;;;;;;;;;;;;;)(_(

855:名前は開発中のものです。
08/02/19 20:44:34 hKFDiVgN
VDP側がROMじゃなくてRAMになってるタイプで
マッパーが普通の74LSとかで組んでるゲームがあったら教えて下さい
アテナがそうらしいけど、高くて買えないので…

856:名前は開発中のものです。
08/02/22 22:18:48 8jCbI3Ds
手持ちのボンバーキング開けてみたらそれだったので解決しました

857:名前は開発中のものです。
08/03/18 04:01:08 ftdzuL2t
日本のゲーム機なのに資料が少なすぎだろ・・・

858:名前は開発中のものです。
08/03/22 01:23:16 pdTWW93c
ほんと
割り込み調べたら「ゼロ爆弾」だって。
遠回りしちゃった
もうなんだかね

ラスター割り込みをかけるのは不可能で
ビットを調べるんですよね?

859:名前は開発中のものです。
08/03/22 09:37:33 zDal5JxT
>>858
MMCについて調べてみたら?
中には割り込みかけられるものが有るかもよ。

860:名前は開発中のものです。
08/03/22 11:43:24 rSgVHWgR
>>858
ラスター割り込みをかけるにはスプライトのヒット割り込みを使用するんだよ

861:名前は開発中のものです。
08/03/22 12:16:41 44zgMaPM
割り込みじゃなくてポーリングな
つか>>858>>427だろ
まだ言ってるのかw

862:名前は開発中のものです。
08/03/22 15:17:02 CxqUzKDX
>>860みたいな間違った知識をひけらかす輩が減らないからこういう誤解が生まれるんだよな

863:名前は開発中のものです。
08/03/22 16:20:29 zDal5JxT
どういう理屈で出来ると思ったのかには興味がある。
>>860 さん説明プリーズ。


864:名前は開発中のものです。
08/03/22 16:31:46 rSgVHWgR
0番のスプライトを透明にしておき
0番のスプライトがラインバッファに展開されるときに割り込みを掛ける
割り込みが掛かったらスクロールレジスタをいじる
ギコ猫でもわかるファミコンプログラミングはレジスタの変化をポーリングで見ているので
処理としてみるとかなり無駄

865:名前は開発中のものです。
08/03/22 16:44:20 n8G80DnX
透明じゃ爆発しないよ。
バッファーに展開されるだけじゃ、まだBGとヒットするか分からないよ。

866:名前は開発中のものです。
08/03/22 16:48:12 rSgVHWgR
そうかMMC3を使用しないでラスタースクロールをさせようとしているのか
すまん今までののは忘れてくれ

867:名前は開発中のものです。
08/03/22 17:22:01 csbukLQx
MMC3でも>>864のようなことはできないと思うんだけど、どうだろう

868:名前は開発中のものです。
08/03/22 17:35:20 CxqUzKDX
ID:rSgVHWgRは割り込みがどういう物なのかすら良くわかっていないな

869:名前は開発中のものです。
08/03/22 17:56:21 rSgVHWgR
文章的には多重割り込みみたいな書き方になってしまってすまんが
まあすべて忘れてくれ

870:名前は開発中のものです。
08/03/22 18:07:57 ZHnGj0uE
多重割り込みってのでも話が全く違うw

871:名前は開発中のものです。
08/03/22 18:36:07 zDal5JxT
正直理解出来なかったが、とりあえず説明乙。

872:名前は開発中のものです。
08/03/22 20:57:40 baVac2O7


873:名前は開発中のものです。
08/03/23 00:08:33 jBgLa1TI
PCエンジン版ドラクエ(音量注意)
URLリンク(www.nicovideo.jp)

よく考えたらファミコンとCPU一緒なんだよな
MSXに移植するよりはるかに楽なのになんで移植しなかったんだろ?

874:名前は開発中のものです。
08/03/23 00:54:26 /OtFdBez
大人の事情

875:名前は開発中のものです。
08/03/23 02:44:16 iO1IjpfL
一緒と言うか上位互換じゃなかったっけ

876:名前は開発中のものです。
08/03/23 03:38:28 NR48CCe+
>>875
そう思った理由はなに?
俺の目には別物に見えるけど。

877:名前は開発中のものです。
08/03/23 04:55:09 1IdRwEBV
CPUに関しては互換だろ
NESASMだってPCエンジン用のアセンブラのおまけみたいなもんなんだから

878:名前は開発中のものです。
08/03/23 05:01:24 NR48CCe+
聞いた俺が馬鹿だった。
忘れてくれ。

879:名前は開発中のものです。
08/03/23 05:15:20 1IdRwEBV


880:名前は開発中のものです。
08/03/23 05:34:15 NR48CCe+
オブラートに包んだ言い回しって難しいな。

881:名前は開発中のものです。
08/03/23 06:07:50 +F+RSyfx
つまりX68000のソフトは同じCPUのメガドライブや、ネオジオや、
初期のUNIXマシンや、Macの上でも動くわけですね!

882:名前は開発中のものです。
08/03/23 08:39:08 2Xh2a013
>ファミコンとCPU一緒なんだよな
ってのを受けて

>上位互換じゃなかったっけ
と書いたら、そりゃCPUが上位互換だと言ってると考えるのが普通じゃないか?w

883:名前は開発中のものです。
08/03/23 11:35:33 7jOaOmNA
>>881
移植だと言っているのにお前は何を

と釣られてやろう

884:名前は開発中のものです。
08/03/23 12:47:09 /aF1W36L
そういう流れだったのか。
これは失敬。

885:名前は開発中のものです。
08/03/23 13:15:34 Oei8nD2Z
移植とかいってマシン語やアセンブラ弄るつもりなのか?

よほど変なCPUじゃないかぎり、
CPUメーカーからCコンパイラ供給されるからCPUの仕様の違いは吸収できる。

むしろVRAMやサウンド関係の仕様(特に容量)の違いがあるから、
そちらの方が移植の障害になる。

CPUが同じだから移植ができるとか仰る方は、、
知的に障害がございますようなので明日医者お行きなさい。
別に急患じゃないから決して救急車使わないでくださいね。
人様の迷惑になりますから。

886:名前は開発中のものです。
08/03/23 13:33:02 iO1IjpfL
というか何で移植の話になってるのか分からないんだけど、
873のドラクエって移植というよりエミュレートに近いんじゃないの?

そりゃ音とか絵周りが違うのは手を加えないといけないけど


887:名前は開発中のものです。
08/03/23 14:55:18 j//5XBBb
メガドラに勝手に移植したドラクエもあったな

888:名前は開発中のものです。
08/03/23 15:32:40 zVsIokeY
885
は何が言いたいんだ?
ドラクエだといってるのにCとか

とりあえず
>>873
をよく読め


889:名前は開発中のものです。
08/03/23 15:48:15 zVsIokeY
それにしてもいつも誰も居ないのに
こうも人が来ると気味が悪い

890:名前は開発中のものです。
08/03/23 18:13:44 XAwxuj8j
>>873
MPUが全く別だからあまり楽とは言えないとおもわれ
MSXよりPCEのほうがスペック的に高い分だけは楽かもしれないが

891:名前は開発中のものです。
08/03/27 19:10:10 hcbDb5Fi
音源は再現しきれてるのか?

892:名前は開発中のものです。
08/03/29 12:10:03 qWPgrjug
SMB1ではNMIがコールされるたびに
lda #$00
sta $2005
sta $2005
としているがなぜこれで画面がスクロールするのかわかる人いたらおしえて

893:892
08/03/29 12:15:53 qWPgrjug
ごめん
今自己解決した

894:名前は開発中のものです。
08/03/30 22:07:45 AtognkZa
どうでもいい話だが873はNES版ドラクエであってPCエンジン版ではないと思う
PCエンジンのNESエミュかCDロムロムの画面くっつけてるだけだ

895:名前は開発中のものです。
08/04/05 15:43:58 WhGJWVuk
ファミコンって52色中16色じゃないの?
ここ見たら64色って書いてあるんだけど。
URLリンク(www9.atwiki.jp)

896:名前は開発中のものです。
08/04/05 18:14:29 2cWf7sFt
一般的には全52色と認識されている
64色というのは6ビット使ってパレット番号を指定しているところからくる誤解だろう
そのうちのBG13色(透明色含む)とスプライト12色を足した25色が同時に発色可能


897:名前は開発中のものです。
08/04/07 18:10:13 Re35z2Ny
MMC5を使用したファミリーベーシックが欲しかったな。
そういや32bitの入門向け開発機がどうのこうのと昔任天堂が言ってなかったけ?

898:名前は開発中のものです。
08/04/22 19:17:10 JlUji/kO
たけ挑で時間を経過させると宝の地図が出てくるギミックってあるじゃないですか。
あのソフトは時計を内蔵してないと思うんですけども、
どういう原理なんですか?フレームを数えてるとか?

899:名前は開発中のものです。
08/04/22 23:38:51 WsGplEiB
一般的な話、水晶乗ってるんだから時間計測くらい何とでも出来るだろ


900:名前は開発中のものです。
08/04/22 23:45:00 PoL7rtGA
Vblankは1/60sに一回起こる。つまりそういうことです。

というか実際のところどうなんだろうね。
どこまで1/60sに近い数字なんだろう。

901:名前は開発中のものです。
08/04/23 00:38:27 byKYi0oI
NTSCなら60000/1001で59.94fps
だからゲーム機上の60フレームは厳密には1秒では無い

902:名前は開発中のものです。
08/04/23 09:12:26 p6pBJev8
ファミコンはNTSCじゃないから、59.94ではない。
事実、テレビにファミコン映像が少し混ざった場合、上から下へ(あるいは逆かも)流れるので、
59.94と一致はしていない。

903:名前は開発中のものです。
08/04/23 13:31:06 p6pBJev8
そう言えばエミュで、迷宮組曲の連射測定機能を測ると、理論値より少し多く出るな。 なんでだろう。

904:名前は開発中のものです。
08/04/24 22:33:31 4GaXT/pf
>>901-902
ファミコンは60.1Hzっぽいな
1/(4/21.48e6*341*262) = 60.106

以下 NTSC 2C02 technical reference から抜粋
> Other than the 3-stage Johnson counter, the 21.48 MHz signal is not used
> directly by any other PPU hardware. Instead, the signal is divided by 4 to
>get 5.37 MHz, and is used as the smallest unit of timing in the PPU.

> - 341 PPU cc's make up the time of a typical scanline (or 341/3 CPU cc's).
> - One frame consists of 262 scanlines. This equals 341*262 PPU cc's per
> frame (divide by 3 for # of CPU cc's).

その差が効いてくる場面は、ゲームで遊ぶ分にはあまりなさそうで、
実機のキャプチャとかじゃなけりゃ気にすることはないだろうが。

>>898のようなのなら、ふつーは垂直同期を数えるかな。
MSXのBASICで秒間60増えるTIME変数は便利だったのを思い出した。

905:名前は開発中のものです。
08/04/24 23:42:03 soSdpCPx
(21477270/4) / (341*262)=60.098
だろ?

906:名前は開発中のものです。
08/04/26 09:49:47 nl7Vbcs/
このスレの住人ってすげーな。

907:名前は開発中のものです。
08/04/26 14:59:29 rnaVgqqK
>>904
まあ正確な時計を作るわけでもないから
普通は60フレーム数えて1秒とすれば問題ないよなぁ

そもそもマリオなんかは秒計算じゃないし


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch