ファミコンのプログラム2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/12/21(水) 02:19:16ID:3YuJDfXD開発ツールはどこで手に入りますか?
0739名前は開発中のものです。
2007/09/09(日) 21:27:14ID:mgJD7PBy>>738すごー。
0740名前は開発中のものです。
2007/09/11(火) 02:49:45ID:5TRHqQd7readme.txt に対してここでレスするのもなんだけど……。
ff7face.nes 作った者ですが、ソースの利用はご自由にどうぞ。
0741名前は開発中のものです。
2007/09/14(金) 06:44:26ID:GkgB00VVhttp://jp.youtube.com/watch?v=eQ-OcS2Gwvk
ファミコン凄くね
0742名前は開発中のものです。
2007/09/17(月) 15:19:52ID:zecFBltr0743名前は開発中のものです。
2007/09/17(月) 21:22:51ID:JdIJFLco音楽が良かった、和んだ
0744名前は開発中のものです。
2007/09/18(火) 00:05:54ID:A9BXJCl1GBだけどレースドライビンが移植されているくらいだから
FCでも普通の拡張チップで出来ないことも無いんじゃないかな
http://jp.youtube.com/watch?v=S5MsirFy69M
0745名前は開発中のものです。
2007/09/18(火) 10:36:04ID:VJXpuDd7自分の得意なトコしか観せて無ヒみたいな;
このスレかもしれないケド、
エロゲかなんかのOPを移植したムービの方が、
自分は興奮した;
0746名前は開発中のものです。
2007/09/18(火) 16:04:48ID:zxYFPgZ60747名前は開発中のものです。
2007/09/20(木) 05:13:01ID:Cd7SwArL極限まで良いトコの寄せ集め=それがデモだからw
>エロゲかなんかのOPを移植したムービの方が、
>自分は興奮した;
違う意味で興奮してたんだよ。貴方は。w
0748エロゲかなんかのOPを移植した人
2007/09/23(日) 01:20:56ID:WWSkyNvoエロゲOP移植:これ作ったやつ馬鹿だろwww
0749名前は開発中のものです。
2007/09/23(日) 06:46:14ID:fJ4T43X2マリオ3のアレ、動くオブジェクトってどうやったの?
ファミコンってBGは一枚だけでしょ?
0750名前は開発中のものです。
2007/09/23(日) 07:06:56ID:E0EAA4daどれのことやら…
0751名前は開発中のものです。
2007/09/23(日) 12:58:59ID:GyXWfQqN0752名前は開発中のものです。
2007/09/23(日) 16:50:30ID:+p8do2jq画像バンクすりかえアニメーション
0753名前は開発中のものです。
2007/09/24(月) 11:02:08ID:n5oz9bKx0754名前は開発中のものです。
2007/09/24(月) 20:10:24ID:YTU/EOqjあれはスプライトと言うもので、64枚使える。
0755名前は開発中のものです。
2007/09/25(火) 17:39:16ID:TqbfhCga0756名前は開発中のものです。
2007/09/25(火) 20:25:14ID:BaS36VCt>>754
あれって結局どれのこと??
>>755
ディスクは縦横スクロールの切り替えができたとおもう
0757名前は開発中のものです。
2007/09/25(火) 20:39:20ID:TqbfhCgaやっぱりそうなのか
サンキューサンキュー
0758名前は開発中のものです。
2007/09/25(火) 23:14:47ID:NsHkjNv/ドッカン
☆ゴガギーン
.______
. | | |
∩∩ | | | ∩∩
| | | | | | | | | | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ,,) | | | (・x・ )<おらっ!出てこい、>>749!!
/ つ━━"....ロ|ロ . | l |U \___________
〜( / | | |⊂_ |〜
し'∪ └──┴──┘ ∪
0759名前は開発中のものです。
2007/09/25(火) 23:20:52ID:2Bw0KVXn0760名前は開発中のものです。
2007/09/26(水) 01:35:58ID:MPZZdALw縦方向にマップ切り替える時も画面上部のエリアがそのまま残ってるからさ
どうなってんのかな?と思ったんだ
0761名前は開発中のものです。
2007/09/26(水) 13:47:50ID:VaRvmNuTだとすると、ROM版はどうなるんだい?
0762名前は開発中のものです。
2007/09/26(水) 21:32:09ID:7MNB23As0763756
2007/09/26(水) 23:31:32ID:TaMm3CsbROM版のマッパーであるMMC1にも実はH/Vミラーリング切り替え機能がついている
たしかMMC3にもついてる
0764名前は開発中のものです。
2007/09/27(木) 02:16:06ID:etK1Tkuiアドレス線線一本つなぎかえるだけなんだからな。
実装しない方がおかしい。
0765761
2007/09/27(木) 02:45:58ID:2fAlXZFDでも、、、君たちの言っている言葉の意味が分からない。
このスレ読んでると何となく楽しいから興味本位で聞いてみただけなんだ。
ごめんね、、、そしてありがとう。
0766名前は開発中のものです。
2007/09/27(木) 03:54:38ID:yk8sCyvWミラーリングじゃなくて、IRQの話なんじゃないの?
0767759
2007/09/27(木) 16:35:32ID:jXU565hnサンクス。
>縦方向にマップ切り替える時も画面上部のエリアがそのまま残って
町とかダンジョンのように水平スクロールの場面からフィールドに出たときのことか。
ミラーリング切り替えた後フィールドじゃ画面外の部分を1/4位は書き換えてないので残ってるようだね。
0768名前は開発中のものです。
2007/09/27(木) 18:04:31ID:uF6GajD5V-Sync割り込み?
0769名前は開発中のものです。
2007/09/27(木) 23:20:42ID:etcx5xT4BG描画位置を途中で切り替えるテクニックで実現している
H/V切り替えは>>760の疑問には直接的な関係はまったくないです
ただゼルダはマップ切り替え時に切り替え先のマップを全部描画してから
スクロールするというあまり見かけない手順を踏んでいるのでH/V切り替えが必要になる
なので方法を変えればH/V切り替えがなくても縦スクロール自体は実現できるはずです
>>767
それはリンクの冒険じゃないかな?
0770名前は開発中のものです。
2007/09/28(金) 07:22:01ID:vZWV6RlS垂直/水平ミラーどちらを選んでも、縦横両方のラスタースクロールは可能なのか
勉強になるなあ
0771759
2007/09/28(金) 15:57:39ID:8fypBKhz>それはリンクの冒険じゃないかな?
すいません。リンクの冒険でした。
ゼルダの伝説とリンクの冒険は別物だったのか。
リンクの冒険はゼルダの伝説の副題かと思ってた。
0772名前は開発中のものです。
2007/09/30(日) 22:40:23ID:4zpMsZUy勝手にスクロールしたりするし、よくわからんなー
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当方ゲーム業界には全くの未経験なのですが、知り合いのゲーム狂の人から
聞いたのですが、ドットで絵を描く技術があればしばらくの間食いっぱぐれないと
いっていたのは本当でしょうか?また絵心のない素人でも目指せるものなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています