ファミコンのプログラム2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/12/21(水) 02:19:16ID:3YuJDfXD開発ツールはどこで手に入りますか?
0773名前は開発中のものです。
2007/09/30(日) 22:58:20ID:ctrzx47m>>735あたりを参考にしてはどうだろうか?
0774名前は開発中のものです。
2007/09/30(日) 23:34:14ID:4zpMsZUyおお、ごめん
このスレずっと読んでたはずなのに>>735はスルーしてたわ
BGは少しずつ転送するものなのね
0775名前は開発中のものです。
2007/10/25(木) 04:23:19ID:UcTvIsDjキャラ単位で直接書き換えてなかったっけ。8ドットスクロールしてる。
横スクロールと、オープニング・アイテム画面への切り替え、の縦スクロールはドット単位だけど。
アイテム画面は、縦方向なら、スクロール時に画面外でBGを逐一書き換えれば見掛け上、残っているように見せることは可能だし。
初代ゼルダはさておいて、
両方向ともスクロールする場合、固定画面のゲージは画面の下に持って行ってるソフトが多かったかな。
水平ミラーにして、ゲージは縦スクロールの都度にBG内を逃げ回ってるのかな。
画面の横端はスクロールの書き換えで、ちらついてるし。
0776名前は開発中のものです。
2007/10/25(木) 06:19:19ID:UcTvIsDj0777名前は開発中のものです。
2007/10/25(木) 22:38:06ID:UcTvIsDj0778名前は開発中のものです。
2007/11/11(日) 10:15:38ID:o0+OaF/m0779名前は開発中のものです。
2007/11/11(日) 15:52:00ID:NkvtGXk8ファミコンソフト開発をやろうかなとか思いました。
0780名前は開発中のものです。
2007/11/11(日) 16:04:58ID:az0lrOpc面白いとは思うので頑張ってください
0781名前は開発中のものです。
2007/11/11(日) 16:07:27ID:NkvtGXk80782名前は開発中のものです。
2007/11/11(日) 16:15:59ID:NkvtGXk8ありがとうございます。
いつも、Cとかのメモリ周りの処理でうなされるので
アセンブラで簡単なアルゴリズムとか理解できるようになれば、
今後の助けにもなるかなぁとかな感じです。
0783名前は開発中のものです。
2007/11/11(日) 19:57:24ID:NkvtGXk8上下が左右が入れ替わると思ったら、
bit0-7の桁を逆に見てたorz
0784名前は開発中のものです。
2007/11/11(日) 21:07:43ID:+2rF8fti0785名前は開発中のものです。
2007/11/11(日) 22:32:16ID:QaWoRbrs0786名前は開発中のものです。
2007/11/22(木) 02:12:25ID:ixnafG3iなぜかアセンブルするときセグメンテーションエラーが出る。
別のPCだと何ら問題なくできる。
VC++入れてるせいかな?
0787名前は開発中のものです。
2007/11/22(木) 07:25:08ID:tyRfI0nuNESASMのソース読んで確認してみたらどうかな?
0788名前は開発中のものです。
2007/11/22(木) 07:32:28ID:kNQWsH/p2) HDD壊れてる
3) 64bit Windows
4) 気のせい
どれかだと予想...
0789名前は開発中のものです。
2007/11/22(木) 19:26:16ID:ixnafG3iレスありがとうございます。
VC++は関係ないですか。
サイト上のソースを直接試してみてもダメでした。
ご指摘いただいた点も4)を除けば、問題ありませんです。
色々と検証してみたのですが、正常にアセンブルできるPCでは、コマンドプロンプトで
$ nesasm test.asm
と実行すると、コマンドプロンプト上の文字が一旦クリアされてから
Microsoft (R) KKCFUNC バージョン 1.10
Copyright (C) Microsoft Corp. 1991,1993. All rights reserved.
KKCFUNCが組み込まれました.
マイクロソフトかな漢字変換 バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993
NES Assembler (v2.0)
と表示されます。
しかしうまくいかない方のPCでは、文字がクリアされないまま
NES Assembler (v2.0)
Exiting due to signal SIGSEGV
…略
となってしまいます。
$ nesasm nofile.asm
と存在しないファイルを引数に実行すると、上記のようなKKCFUNC云々が表示され
その後、inputファイルが存在しない旨エラーが出ます。
色々調べてみたけどよくわかりませんでした。
コマンドプロンプトがおかしいような気がしないでもないんだが…
0790名前は開発中のものです。
2007/11/22(木) 22:53:48ID:kNQWsH/pなんとなく、command.comで動かしてるんで無い?
cmd.exeで動かしたらどうなるだろ?
0791名前は開発中のものです。
2007/11/23(金) 01:29:11ID:DgWJFhamcommand.comで試してみたけど、やはり同じエラー。
小出しになってしまい申し訳ないんですが、エラーは以下のようなものです。
NES Assembler (v2.0)
Exiting due to signal SIGSEGV
General Protection Fault at eip=00009a10
eax=fffd0000 ebx=00000000 ecx=000002af edx=fffd0000 esi=00004000 edi=0000000b
ebp=002615cc esp=002615bc program=D:\NESASM\NESASM.EXE
cs: sel=01a7 base=02af0000 limit=7d4fffff
ds: sel=01af base=02af0000 limit=7d4fffff
es: sel=01af base=02af0000 limit=7d4fffff
fs: sel=017f base=0002eb10 limit=0000ffff
gs: sel=01bf base=00000000 limit=7ffeffff
ss: sel=01af base=02af0000 limit=7d4fffff
Call frame traceback EIPs:
0x00009a10
0x0000998d
0x0000cc6c
0x0000a456
0x00004c7e
0x0000443d
0x000094fa
0792786
2007/11/23(金) 01:35:01ID:DgWJFham問題なくアセンブリできるPCで、command.comを試してみたら
>>791と同じエラーが出ました。
ということはcmdがなぜかcommand.comになってしまう…ということだろうか…
0793名前は開発中のものです。
2007/11/23(金) 09:58:21ID:O5K5+zHzもしかしたらcygwin版なのか?
これに添付してあるNESASMなら動くかも。
どうやらこれはVisualC++とかでコンパイルされたもののようなんで。
http://takamatsu.cool.ne.jp/dutycycle/ppmck.html
0794名前は開発中のものです。
2007/11/23(金) 10:35:44ID:z/08mCDzなんにせよ作る人が増えるのは嬉しいねー
0795786
2007/11/23(金) 15:22:47ID:DgWJFhamレスありがとうざいます。
WinXPsp2上で行っています。
Cygwinはインストしてるけど使ってませんw
そちらのサイトから落としたもので見事アセンブルできました。
こんなにあっさり動作してしまうとは…
なぜ今までのはダメだったかわかりません。
OSが実行を妨げてたということもあるんですかね〜
0796名前は開発中のものです。
2007/11/23(金) 15:38:42ID:1vTEkJAZファミコンゲームの良さを再確認したとこなんだけど、
アセンブラの開発効率を考えたら躊躇してしまう・・・
まあCぐらいならシャレになるけど、アセンブラだと・・・
Cのコンパイラはあるみたいだけど、調べても使い方が
よくわからんし。そこらへんを詳しく解説してるサイトってない?
当時の開発者もCでやってたんじゃないのかな?
0797名前は開発中のものです。
2007/11/23(金) 17:07:35ID:je64UXYk0798名前は開発中のものです。
2007/11/23(金) 18:18:10ID:bcCNCl00普通のCは一時変数をスタックに入れるけど、ファミコンのスタックは正直使えない。
mov eax [esp - 4] みたいにスタックポインタを利用することができないから。
ファミコンのCはそこらへんどうなってるんだろう?どちらにしろファミコンでCは使えなさそう。
0799名前は開発中のものです。
2007/11/23(金) 20:58:35ID:TC3s5J9Xちみは素人か
0800名前は開発中のものです。
2007/11/24(土) 01:11:40ID:3IffJmji処理対象データをメモリ間接で示す方法です。オペランドには、対象アドレスを格納
したゼロページアドレスを記述し、メモリに2 バイトの対象アドレスを格納します。
http://documentation.renesas.com/jpn/products/tool/rjj10j1285_m3xxxxtpac_u.pdf
0801名前は開発中のものです。
2007/11/24(土) 01:15:22ID:W176UE3O0802名前は開発中のものです。
2007/11/24(土) 01:21:12ID:WabE+qEc0803名前は開発中のものです。
2007/11/24(土) 01:42:58ID:rlJAJiPeCコンパイラを使ってたのはごく一部(光栄だけかも?)位なもんですよ。
>>798
使い方さえ間違えなければ問題ないかと。
PCで使うような感じでは組めないだろうけどね。
>>801
あまり使われてないけど、よく使うルーチン(アドレス計算とか)を
少ないバイト数で呼び出すために使ったりとか。
Z80で言う所のRST xxHか。
>>802
bit7とbit6はAレジスタに無関係にオペランドのデータと比較するから、
データを工夫して、bit7とbit6に何かしらのフラグを詰め込んで判定に
使うとか…と思ったが、
LDA $??
BMI どこか
AND #$40
BNE どこか
でもあんまかわらんなw
あと参考になりそうなとこ。cc65とか使ったサンプルあるっぽ。
ttp://hp.vector.co.jp/authors/VA042397/nes/index.html
0804名前は開発中のものです。
2007/11/24(土) 03:07:02ID:W176UE3OBRKは結局アドレスを指定しないで良いJSRみたいなもんか
BITは計算結果を後で二つのフラグに応じて加工したい場合に一応使えるかな
0805名前は開発中のものです。
2007/11/24(土) 06:11:23ID:rlJAJiPeBRKはドラクエIIIあたりで多用されてたっぽい。
IRQも併用だとフラグ判別が面倒だけど。
BITで思い出したので追加
アキュムレータを破壊しないという利点がある。
ディスクシステムBIOSの割り込みルーチンで使われてたの思い出した。
0806名前は開発中のものです。
2007/11/24(土) 12:01:32ID:WabE+qEcなるほど。
BITは即値が使えないんだよね。
AND取る時はいつも即値でやってるから使い道が無いように感じてたのかも。
BITに置き換えられる部分がないか、以前のソース見直してみる。
0807名前は開発中のものです。
2007/12/02(日) 05:59:20ID:DC5FGIeUまあやるにしても標準の2Kのメモリでは増やしたスプライトの情報を確保するのがそもそも無理そうですけど…
コナミの後期ゲームではもしかしてやっていたんでしょうか?
0808名前は開発中のものです。
2007/12/02(日) 11:34:30ID:4sJ+GQXo0809名前は開発中のものです。
2007/12/02(日) 19:59:06ID:DC5FGIeUY軸に関してソートするのはファミコンじゃやっぱり無理か…メモリも少ないし
MSXではやっていたのがあったらしいんですけどね
0810名前は開発中のものです。
2007/12/02(日) 22:28:11ID:4sJ+GQXo0811名前は開発中のものです。
2007/12/02(日) 23:16:25ID:/I6PKiKL1フレーム間に2回以上もDMA転送したことないから、
スプライトダブラが可能かどうかはわからないけど。
0812名前は開発中のものです。
2007/12/24(月) 02:10:53ID:WDReFZ3W烈火でさえやってないのね。なら、国内はないだろう
可能性あるとしたら、海外ものか・・
0813名前は開発中のものです。
2007/12/25(火) 01:33:19ID:a+dDmNqn0814名前は開発中のものです。
2007/12/31(月) 01:19:19ID:kYbV1FFjスプライトを移動させるときにマリオとかみたくアニメーションさせる方法を
教えてください。
0815名前は開発中のものです。
2007/12/31(月) 03:03:50ID:MbVyzQhqスプライトDMAする内容を時間経過で変えていけばおk
0816814
2007/12/31(月) 03:08:48ID:kYbV1FFj時間を取得する方法とは?
やはりゼロページに適当に変数作ってひたすらインクリメントしてオーバーフロー
を起こした時などのようにやるのでしょうか?
0817名前は開発中のものです。
2007/12/31(月) 03:26:12ID:73X1rpDN答えにたどり着けるはず
0818814
2008/01/01(火) 04:52:01ID:knyurTO20819名前は開発中のものです。
2008/01/01(火) 06:13:28ID:hvcEjHSrタイミングを計るには
Vblank割り込みを使う
0番スプライトヒットをポーリングする
使った命令から総サイクル数を計算しておく
の三つから好きなものを選べばいいわけだ。
0820名前は開発中のものです。
2008/01/07(月) 05:45:47ID: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枚ならんだら
どのみちちらついてしまいます。
※ファミコンの場合、ラスター割り込みではなく、
フラグを監視するのでしたっけ?知識があいまいです。
0821名前は開発中のものです。
2008/01/07(月) 09:18:08ID:g1ISiWA70822名前は開発中のものです。
2008/01/07(月) 10:08:36ID:KdyvFZW6ゲームカセットにハード入れりゃいいのに
0823名前は開発中のものです。
2008/01/07(月) 21:50:41ID:DGu4+3+Bたとえばマッパー4?
0824814
2008/01/10(木) 17:03:00ID:OjgtnRWbI/Oの0x400Eを使うっぽいと思うんですがだれか。
0825名前は開発中のものです。
2008/01/10(木) 17:33:31ID:N1q/jj2z擬似乱数でググって好きなの使えや
0826814
2008/01/11(金) 03:34:55ID:R/XuHjLJ0827名前は開発中のものです。
2008/01/12(土) 21:07:38ID:Te3dHOGvすずめもギコ猫も閉鎖のようで困っています。
どこかよい入門サイトはないでしょうか?
0828名前は開発中のものです。
2008/01/12(土) 22:08:20ID:YCUe1kyMttp://gikofami.fc2web.com/
0829名前は開発中のものです。
2008/01/12(土) 22:52:50ID:WVC5D6DDググググ詐欺だから気をつけろよ
0830名前は開発中のものです。
2008/01/13(日) 19:26:35ID:C14nC1gPのはなぜ?
0831名前は開発中のものです。
2008/01/16(水) 23:15:56ID:4fd74qnV6502の情報はあってもNESファイル自体のフォーマットってみつからない...
0832名前は開発中のものです。
2008/01/16(水) 23:16:28ID:n7RHHgvL0833名前は開発中のものです。
2008/01/17(木) 01:01:00ID:XmraM3Wj6502の情報はしっかり読んだのか?
0834名前は開発中のものです。
2008/01/17(木) 20:29:44ID:MFRvwVD0今度はどれが最初にロードされるかってのが分かんないままです。
0835名前は開発中のものです。
2008/01/17(木) 21:39:29ID:3grYd5u4リンクした順だと思うよ
0836名前は開発中のものです。
2008/01/19(土) 13:45:34ID:sVRM+WoC0837名前は開発中のものです。
2008/01/19(土) 16:47:04ID:/dJ7WQvQ0838名前は開発中のものです。
2008/01/19(土) 19:12:13ID:sA5AMxJm当方ゲーム業界には全くの未経験なのですが、知り合いのゲーム狂の人から
聞いたのですが、ドットで絵を描く技術があればしばらくの間食いっぱぐれないと
いっていたのは本当でしょうか?また絵心のない素人でも目指せるものなのでしょうか?
0839名前は開発中のものです。
2008/01/19(土) 19:17:57ID:FNn0MEGQ> スレ違いと思いますが、オンラインゲーム会社って潰れやすいのでしょうか?
> ゲーム業界に入りたいのですが、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歳で、
> 現在デスクワーク職を探しているのですが・・。前職は小売してました。
> こつこつ大好きです。
0840名前は開発中のものです。
2008/01/20(日) 01:01:20ID:Y8Qd0Csc0841名前は開発中のものです。
2008/01/26(土) 19:45:53ID:pcXY3xH1ワラタ
0842名前は開発中のものです。
2008/02/02(土) 11:33:09ID:1nDtXC130843名前は開発中のものです。
2008/02/09(土) 21:37:45ID:o+W6Qao2ミスタースプラッシュのソース入ってる
糞高いけど買ってみた
0844名前は開発中のものです。
2008/02/09(土) 21:49:41ID:De8TOQpKうp
0845名前は開発中のものです。
2008/02/09(土) 21:59:53ID:U5FDHTrVビルドするならこの辺参照
http://tv11.2ch.net/test/read.cgi/skyp/1174662838/508-
0847名前は開発中のものです。
2008/02/15(金) 22:31:58ID:uGndRfzQどうすれば開くのでしょうか 教えてください
0848名前は開発中のものです。
2008/02/15(金) 22:32:04ID:36W2us5r任天堂のゲームは2回待っている模様
0849名前は開発中のものです。
2008/02/15(金) 23:36:11ID:uIOxrlI0待ってみるつもりが既にVBLANKだったぜラッキー!
だがVBLANKの終了直前だったみたいで転送処理が全部おわんね
0850名前は開発中のものです。
2008/02/16(土) 01:37:22ID:p9v8b4r1http://virtuanes.s1.xrea.com/
0851名前は開発中のものです。
2008/02/16(土) 02:14:14ID:VD5lPrwS回答していただき,有難うございました.>>849
0852名前は開発中のものです。
2008/02/17(日) 17:25:34ID:Vj+9qYk1NMI割り込みルーチン内でスプライトDMA転送するとき
lda #$00
sta $4013
してたんだがこれって意味あんの?DMA利用ならしなくていい希ガス
0853名前は開発中のものです。
2008/02/17(日) 17:29:07ID:Vj+9qYk1NMI割り込みが起こったとき,自動的にインタラプトフラグがセットされるのなら
わざわざ
NMI:
lda (PPUCTL1の値が入っている変数)
and #$7F ; NMI禁止
ってしなくていいと思うんだが.
上のもそうだけど,やらんでもいいけど念のために一応ってことなのか?
0854名前は開発中のものです。
2008/02/17(日) 18:14:49ID:YZmmPMQz/\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
0855名前は開発中のものです。
2008/02/19(火) 20:44:34ID:hKFDiVgNマッパーが普通の74LSとかで組んでるゲームがあったら教えて下さい
アテナがそうらしいけど、高くて買えないので…
0856名前は開発中のものです。
2008/02/22(金) 22:18:48ID:8jCbI3Ds0857名前は開発中のものです。
2008/03/18(火) 04:01:08ID:ftdzuL2t0858名前は開発中のものです。
2008/03/22(土) 01:23:16ID:pdTWW93c割り込み調べたら「ゼロ爆弾」だって。
遠回りしちゃった
もうなんだかね
ラスター割り込みをかけるのは不可能で
ビットを調べるんですよね?
0859名前は開発中のものです。
2008/03/22(土) 09:37:33ID:zDal5JxTMMCについて調べてみたら?
中には割り込みかけられるものが有るかもよ。
0860名前は開発中のものです。
2008/03/22(土) 11:43:24ID:rSgVHWgRラスター割り込みをかけるにはスプライトのヒット割り込みを使用するんだよ
0861名前は開発中のものです。
2008/03/22(土) 12:16:41ID:44zgMaPMつか>>858は>>427だろ
まだ言ってるのかw
0862名前は開発中のものです。
2008/03/22(土) 15:17:02ID:CxqUzKDX0863名前は開発中のものです。
2008/03/22(土) 16:20:29ID:zDal5JxT>>860 さん説明プリーズ。
0864名前は開発中のものです。
2008/03/22(土) 16:31:46ID:rSgVHWgR0番のスプライトがラインバッファに展開されるときに割り込みを掛ける
割り込みが掛かったらスクロールレジスタをいじる
ギコ猫でもわかるファミコンプログラミングはレジスタの変化をポーリングで見ているので
処理としてみるとかなり無駄
0865名前は開発中のものです。
2008/03/22(土) 16:44:20ID:n8G80DnXバッファーに展開されるだけじゃ、まだBGとヒットするか分からないよ。
0866名前は開発中のものです。
2008/03/22(土) 16:48:12ID:rSgVHWgRすまん今までののは忘れてくれ
0867名前は開発中のものです。
2008/03/22(土) 17:22:01ID:csbukLQx0868名前は開発中のものです。
2008/03/22(土) 17:35:20ID:CxqUzKDX0869名前は開発中のものです。
2008/03/22(土) 17:56:21ID:rSgVHWgRまあすべて忘れてくれ
0870名前は開発中のものです。
2008/03/22(土) 18:07:57ID:ZHnGj0uE0871名前は開発中のものです。
2008/03/22(土) 18:36:07ID:zDal5JxT0872名前は開発中のものです。
2008/03/22(土) 20:57:40ID:baVac2O7■ このスレッドは過去ログ倉庫に格納されています