ファミコンのプログラム3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/06/23(月) 17:38:05ID:z53SrIuZでも900すぎてホンモノが現れたみたいだ。
もう要らねぇと思ってたけど、そいつらの為に立てたよ。
0751名前は開発中のものです。
2011/07/08(金) 22:57:08.18ID:zQJRKSD90752名前は開発中のものです。
2011/07/09(土) 14:45:52.95ID:srxnGWiCメインループをVsync割り込みルーチンの外に置いて、帰線期間中かどうかのフラグだけVsync割り込みルーチン内で立てて、
そのフラグを見て、メインループ側からグラフィックを描画する、PCで言うところの可変フレームレートみたいな実装のこと?
それなら、マイクロニクスが下請けした作品(例えば、カプンコが販売した1942とか魔界村)は、確かそんな感じの実装だったはず。
だから、ここの開発作品は、フレームレートやスクロールにムラがあるというか、要するにガクガクしてる。
マイクロニクスが下請けして作った奴(カプコンのアーケード移植モノ)とか、確かそういう実装だったハズ。
ポーリングつっても、単にVsyncを検出して、そこで描画するというだけなので、PCの可変フレームレートのゲームみたいに画面が波打ってる。
0753752
2011/07/09(土) 14:49:27.79ID:srxnGWiC0754名前は開発中のものです。
2011/07/10(日) 10:37:25.14ID:GbainIGMやはり出始めのPC-98あたりですか?
0755名前は開発中のものです。
2011/07/10(日) 11:59:49.46ID:oDwZ5p1EFM-RとICE
0756名前は開発中のものです。
2011/07/10(日) 12:05:31.59ID:gboDHCui0757名前は開発中のものです。
2011/07/15(金) 17:54:33.95ID:TL+K3uDKノートに書かれたコードをガリガリと書いていく。まずはアルゴリズムレベルで破綻していないかどうか精査。
大丈夫そうならリストをハンドアセンブルしていく。キャラクタも方眼紙に手書きして、16進表記へ手書きで変換。
ファミコンでの動作テストに移るためにSレコードフォーマットに変換しながら打ち込む。打ち込んだものはデータレコーダで保存しておく。
MZ-700のプリンタポートに繋がれた、基盤むき出しな手作り臭漂うライタでROM焼き。
わりと酷使される殺菌灯とタイマをくっつけた手作りイレーサ。
半泣きでROMライタとテスト基盤の間を抜き差ししてまわるデバッグ期間。
繰り返しているうちにライタへROM逆差し。こんな事もあろうかと、と取り出した予備のROMも逆差しして士気崩壊。
作業中うっかりこぼしたせいで持ち込み禁止になったUCC缶コーヒーとカップスター。
なんてこたぁない。全部俺の根拠レスな妄想。
0758名前は開発中のものです。
2011/07/15(金) 18:34:18.95ID:Pfk9H4UB0759名前は開発中のものです。
2011/07/16(土) 00:38:10.98ID:+WZDniQ6一生懸命想像しながら読んだ俺に謝れよ(´・ω・`)カス
0760名前は開発中のものです。
2011/08/05(金) 19:42:53.22ID:+Yp4oY/i今でもNESASMが定番なんでしょうか。
0761名前は開発中のものです。
2011/08/06(土) 16:38:50.63ID:l3JzaYIg0762名前は開発中のものです。
2011/08/07(日) 08:22:50.46ID:EITdAM2w0763名前は開発中のものです。
2011/08/07(日) 10:10:19.34ID:61jfXJMTまずは手紙を出してみてはどうだろう?
0764名前は開発中のものです。
2011/08/07(日) 10:29:56.14ID:oLVPILZ20765名前は開発中のものです。
2011/08/09(火) 22:34:47.28ID:UH1C53HKhttp://page5.auctions.yahoo.co.jp/jp/auction/e112794736
0766名前は開発中のものです。
2011/08/09(火) 23:54:04.13ID:RNUukSLx苦労したみたいだな、よければ当時の惨状を聞かせてくれないか?
0767名前は開発中のものです。
2011/08/20(土) 22:46:13.36ID:qwhhZo9X未来に自分のやってることがいかに下らないかわかって
ゲーム作りたくなくなる
今のFPSとかをファミコンやってるころ見たらもうファミコンなんか出来ない
0768名前は開発中のものです。
2011/08/20(土) 23:04:20.94ID:/1UOMzZg0769名前は開発中のものです。
2011/08/21(日) 01:01:33.59ID:Y7NTWDXRファミコン
ベクトル全然違うもん並べてる時点でお察し
0770名前は開発中のものです。
2011/08/21(日) 01:32:02.62ID:8uexdb+R残念
高性能なPCを送ったとしてもその時代に今のゲームはない
つか今やってもファミコンは面白いよ
0771名前は開発中のものです。
2011/08/21(日) 02:38:13.86ID:JDIcjB+Khttp://www.youtube.com/watch?v=eQ-OcS2Gwvk
これワイヤーフレームじゃなくテクスチャ?も書いて箱回転させてるが
これがただのスプライトアニメじゃないんなら同じ要領でマップも立体的に見せる事可能なのかね
FF4やFF5の飛空挺みたいな感じで
拡大縮小機能がないワンダースワンのFF4は画面歪ませて立体演出してたが
0772名前は開発中のものです。
2011/08/21(日) 04:40:46.84ID:lgU+aHUiデモっていかにそれっぽく見せるかだから馬鹿正直にテクスチャで回転なんかさせないよ
見た感じではBGをラスターで縦伸縮して両脇の箱の縁はスプライトの移動でってところかな
0773名前は開発中のものです。
2011/08/21(日) 04:54:13.31ID:lgU+aHUiそれでもファミコンとしてはスゴイ技術なんだけどね
0774名前は開発中のものです。
2011/08/21(日) 11:59:51.43ID:W6RitBNmhttp://www.youtube.com/watch?v=HNTOMyPUCPg
関連を見てたらこんなのが…
どうやって音楽鳴らしてるんだろ?
0775名前は開発中のものです。
2011/08/21(日) 12:19:58.06ID:8uexdb+R市販というか勝手に作ったROMだと実機でも64MBitくらいまでのものもあるから
垂れ流してるだけじゃ
0776名前は開発中のものです。
2011/08/22(月) 00:55:13.02ID:oEhypG+Dまあファミコンでもこれは出来るだろうな
0777名前は開発中のものです。
2011/08/24(水) 00:18:21.30ID:RPt+Jg4Fttp://nesdev.parodius.com/bbs/viewtopic.php?t=4965
0778名前は開発中のものです。
2011/08/24(水) 05:10:56.27ID:OXU7OF/t0779名前は開発中のものです。
2011/08/25(木) 19:16:31.50ID:qFvP3Um5wsのff4は見たことないけどラスターを間引くってこと?
そういうレースゲームがファミコンにもたくさんありますね。
Vサインしてる箱の回転アニメは
アニメパターンはすべて画像としてBATに転送してあってチップのアトリビュートを
転送してアニメしてるんじゃないだろか。
この処理速度で計算してテクスチャを表示するなんてファミコンには不可能。
アニメは全部BATを書き換えてやってるんでしょう。
ファミコンはマッパーによっては画像をVRAM転送するまでもなくロム切り替えで
VRAMから見えるから絵の転送時間はかからない。PCEやメガドラでは出来ない芸当。
0780名前は開発中のものです。
2011/08/25(木) 19:17:34.90ID:qFvP3Um5それの絵のバージョンが>>771なんでしょう。
音を鳴らすには
・波形データを直にDPCMへ。ざらつく。容量巨大に
・レジスタに直にログデータ。デモでよく使われる手法。容量大きくなる。
・MMLを内部で処理して音楽を流す。プログラム的に難易度が高くなる。容量節約。
市販ゲームからパクったMML処理プログラムとか組み込んで何か作ろうとしたけど
ダメでした。FCはゲームを作るにもデモを作るにも難易度が高すぎる。
0781名前は開発中のものです。
2011/08/25(木) 19:19:49.38ID:qFvP3Um5何年か前にAIRデモのソース見たけど
レジスタ直接にログデータでした。
DB $FE,$10,$15.......みたいなのをPSGのレジスタに流し込む
0782名前は開発中のものです。
2011/08/25(木) 20:23:03.57ID:Tpd+IymWネームテーブル見れば一発でわかるっての
0783名前は開発中のものです。
2011/08/25(木) 21:37:10.27ID:bx7r2PyLhttp://www.youtube.com/watch?v=5u1dLjjAc80
着陸する時が変な感じだな
0784名前は開発中のものです。
2011/09/13(火) 11:27:34.58ID:6DL8Eput一応凸型に湾曲してるように見えるけど、
わざわざ平面に戻そうとするからその時は凹型に見えるな
0785名前は開発中のものです。
2011/09/27(火) 07:04:23.49ID:4poP3GZs0786名前は開発中のものです。
2011/09/28(水) 04:36:59.73ID:2uyGTkogライン毎のYスクロール値にVLINE-cosを適用してるだけだぞ
0787名前は開発中のものです。
2011/10/23(日) 19:29:59.24ID:81xQfjml0788名前は開発中のものです。
2011/10/24(月) 01:11:56.92ID:1mO5vtLi0789名前は開発中のものです。
2011/10/30(日) 13:02:16.03ID:xOKekvUI0790名前は開発中のものです。
2011/11/08(火) 00:48:39.18ID:6sBEInJ/スレ違いだが、ザナックの2面っぽい音楽の気がした
0791名前は開発中のものです。
2011/12/03(土) 00:39:44.28ID:vMbWyTOA0792名前は開発中のものです。
2011/12/03(土) 07:32:50.75ID:YgC67ZqP0793名前は開発中のものです。
2011/12/03(土) 21:52:48.71ID:vAQ9vMfiアドレスと長さと音程を指定するだけだけど。 サンプルデータの1で+2、0で-2電圧が変化する。
0794>>791
2011/12/04(日) 00:35:50.87ID:2Aubg80Lフォーマットじゃないな、アルゴリズムか
例えばの話だけどの三角波を出したかったら、
7E 7E 7E 7E 7E 7E 7E 7E 00 00 00 00 00 00 00 00
のデータをループ再生すればいいってこと?
0795名前は開発中のものです。
2011/12/04(日) 01:30:34.87ID:Qbm57SBE高周波が含まれていると追従できなくなるはず
低めの音だけに限る
ところで最近のこのスレのゆとり住人は
市販ゲームをなぜ調べない?
製品にいくらでもヒントが眠っているだろ
自分でプログラム作る気がないなら
他人のDPCM変換ツールをブラックボックスとして使えよ
0797名前は開発中のものです。
2011/12/04(日) 04:55:20.19ID:+0tBkh9Cにある、DMC converterを落として使ってみなされ。
後DPCMの指定方法は、ニコニコ大百科の"FC音源"のページも
いい参考になるよ。
0798名前は開発中のものです。
2011/12/10(土) 21:21:00.72ID:/T4Zmsfu犯罪行為をすすめてんじゃねえよ、ハッカー気取りの糞が。
0799名前は開発中のものです。
2011/12/10(土) 22:21:45.76ID:bm97yxgn0800名前は開発中のものです。
2011/12/11(日) 02:50:36.46ID:SdTJMKQn犯罪行為?
0801名前は開発中のものです。
2011/12/11(日) 12:22:32.17ID:lhDcqR5bこういう奴いるよな〜
0802名前は開発中のものです。
2011/12/11(日) 13:42:41.83ID:K6GvO3X40803名前は開発中のものです。
2011/12/11(日) 13:55:35.64ID:l0jw4cwNただし配った地点で犯罪。
0804名前は開発中のものです。
2011/12/11(日) 14:01:06.56ID:x07eS4w0って言いたいんじゃないの
そんな法律はないが
0805名前は開発中のものです。
2011/12/11(日) 17:35:03.96ID:jaMIVBp30806名前は開発中のものです。
2011/12/11(日) 17:39:54.85ID:hG7D3Asz0807名前は開発中のものです。
2011/12/11(日) 18:17:41.58ID:jaMIVBp3romカセットを持っている状態で同じデータをどっかからダウンロードしたら違法?
0808名前は開発中のものです。
2011/12/11(日) 19:11:25.71ID:fGCqOjvyこの板の他のゆとりスレとは違うんだよ。
ということで>>794はキチゆとりということで二度と書き込むなよ。
>>730需要なし、ゆとり症の典型コピペ。
0809名前は開発中のものです。
2011/12/11(日) 21:44:23.11ID:drf+od2z違法だぞ
0810名前は開発中のものです。
2011/12/11(日) 21:48:14.60ID:K6GvO3X4判例が無いから何とも言えない筈だけど?
0811名前は開発中のものです。
2011/12/11(日) 21:51:44.08ID:drf+od2z著作権法に照らし合わせると黒だったはずだが
自前で吸い出したのならともかく
0812名前は開発中のものです。
2011/12/11(日) 21:54:39.49ID:K6GvO3X4だから、その根拠を言ってみてくれ。 絵画に例えてもいいぞ。
0813名前は開発中のものです。
2011/12/11(日) 21:55:13.55ID:4ucPJgxO0814名前は開発中のものです。
2011/12/11(日) 23:17:18.63ID:F+Z83Gid0815名前は開発中のものです。
2011/12/11(日) 23:37:11.41ID:K6GvO3X4わざわざID変えて逃げるのかい?
0816名前は開発中のものです。
2011/12/12(月) 00:15:02.52ID:nBVxYvq+0817名前は開発中のものです。
2011/12/12(月) 09:35:00.87ID:QbmH/FSRときどき誰かが自作ソフトを投下してくれるのを哀願して待つ乞食供の巣窟
0818名前は開発中のものです。
2011/12/12(月) 20:47:58.66ID:G+8HPzW6俺を待つのはいいけど、そんなにがっつきなさんなw
おじさんこまっちゃうよ
とりあえず、複製権読んで落ち着きなさい
0819名前は開発中のものです。
2011/12/14(水) 18:29:03.94ID:MNIieFoj0820名前は開発中のものです。
2011/12/17(土) 16:35:16.57ID:VZSM0cA6スプライトの描画と移動に成功した!
低次元ながらとても嬉しい
ただソースが汚いかもしれないんで間違いとか、気になったことがあったら教えてもらいたいです。
今は移動方向に向きが変わるようにしたいんですが、苦戦しています。
キー入力を取得したらスプライトが変わるように追記しても反応しねぇ……
0821名前は開発中のものです。
2011/12/17(土) 16:38:06.01ID:VZSM0cA6役立たないだろうけど
0822名前は開発中のものです。
2011/12/17(土) 17:45:08.40ID:MUZ3q3xGfceuで動作しました
車のようなキャラが上下左右に動きました
報告まで
0823名前は開発中のものです。
2011/12/17(土) 18:57:55.39ID:kgyLm/AB0824うろ覚えだけど
2011/12/18(日) 19:36:54.57ID:4dl3E88q>> mainLoop:
の下
>> lda $2002
>> bpl mainLoop
は要らない。
スプライトやBGに書き込むときは、$2001でそれぞれの表示をオフにすること。
BGのスクロールをリセット。
VBlankから出る前に表示をオン。
>> jmp NOTHINGdown
こういうやりかただと、この先キーの複数同時押しに対応できない予感。
if-elseの構造をよく考えて分岐命令を組み立てること。
0825名前は開発中のものです。
2011/12/21(水) 18:32:49.55ID:hZ3qyhWYありがとうございます。
キー入力は「キー入力からスプライトの変更」ではなく、
「スプライトの分岐にキー入力」と組み込むようにしました。
相変わらず、方向キーに従ってスプライトの向きが変わる所で苦戦しています。
流れとしては、
スプライト初期化の時点でリセット後に表示されるべきスプライトの初期化を行う。
NMI割り込み中に、各キー入力に対応したスプライトの表示や座標の設定、
タイルの選択を行う。
割り込み復帰。
という流れで合っていますよね。
0826名前は開発中のものです。
2011/12/23(金) 12:55:40.24ID:mf7Mi7yx各タイミングは良好。
VRAMやSPRRAMへの転送は出来ていた。
8x16のスプライトを使ってたのね。
move.spr内のタイルについて
#3, #5はいいけど
#7, #9, #11(, #13)の配置が合理的じゃないね。
奇数番号に配置するのは気持ち悪くないかな。
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:3AE7SFHG■ このスレッドは過去ログ倉庫に格納されています