ファミコンのプログラム3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/06/23(月) 17:38:05ID:z53SrIuZでも900すぎてホンモノが現れたみたいだ。
もう要らねぇと思ってたけど、そいつらの為に立てたよ。
0690名前は開発中のものです。
2011/05/11(水) 23:52:45.00ID:QO+OROkBあと背景並べてみる機能は便利そう
0691名前は開発中のものです。
2011/05/12(木) 23:20:57.55ID:GK8kLYLh長さがダブってる値もあるし。
0692名前は開発中のものです。
2011/06/02(木) 23:25:50.04ID:derAo68sYYCHRで作成したキャラクタをプログラムで指定する際はどのようにすればよいのでしょうか
具体的にはギコ猫さんの所でgiko005.asmでコンパイルしたら、顔だけの部分を自作で適当な胴体を付けたいということです。
0693名前は開発中のものです。
2011/06/03(金) 01:44:15.77ID:toY1hNBRスプライトの事かな?
8x16のスプライトを使うといいかも
それと、コンパイルじゃなくて、アセンブラだから、アセンブルというよ
sta $2004
0694名前は開発中のものです。
2011/06/03(金) 14:31:33.27ID:+ZEj8oqYNESファイルの構造を知らない→iNESヘッダ を学び、NESファイルの構造を学ぶ
nesasmの.incbin文を知らない→それを学ぶ
0695名前は開発中のものです。
2011/06/04(土) 14:41:01.71ID:rV1/eej4教えてください。
0696名前は開発中のものです。
2011/06/04(土) 16:52:17.95ID:kkzItymkPPUだから、CPUから直接書き込めません。
IOポート$2006,$2007を使って書き込みます。
lda (上位8bit)
sta $2006
lda (下位8bit)
sta $2006
lda (書き込む数値)
sta $2007
こんな感じで
0697名前は開発中のものです。
2011/06/04(土) 20:20:00.99ID:1JomW+EDcc65を使うといいよ。インラインアセンブラもついてるし、
いろいろいじったり、やってる内にファミコンの仕様が把握できる。
俺のホームページ
http://www.geocities.jp/tkoztkoz/nesasm.html
それにしてもNESASMは、分かりにくい。俺だけかもしれんが
0698名前は開発中のものです。
2011/06/04(土) 23:05:49.24ID:WZ0Ci4IM0699名前は開発中のものです。
2011/06/05(日) 10:26:22.92ID:4eYCFdp7GBのはインテジャーが8ビットで萎えたw
0700名前は開発中のものです。
2011/06/05(日) 17:11:43.93ID:aMJBi/g4メモリの無駄。消費クロックの無駄。メモリ1バイトは血の一滴。特にゼロページは無駄にしたら目が潰れる。
0701名前は開発中のものです。
2011/06/06(月) 00:48:35.88ID:d7Z7juFxC言語でプログラムを作るのがどのになるのか、おもしろい方向に
発展して欲しいと思う。
0702名前は開発中のものです。
2011/06/06(月) 14:10:27.91ID:+0Ed7805石ごとにニモニック覚えんで済むという以外で、あんまりメリットないのよね。
制限きついから、どうせ対象となる石に依存しきった記述しなけりゃならないし。
糞真面目にCだけで処理書いてたら、転送速度間に合わなかったりするし。
だもんだから、無駄を許容出来る部分ではCを使うと楽になる部分がないこともない、という程度でしかない。
コンパイラが吐きだしてくるコードを眺めてると、自然と、こう、手直ししたくてたまらない気分になってくる。
C使うならそれなりに使えるメモリにも速度的にも(ついでにレジスタ本数的にも)余裕がある16bit CPUからがいい。
0703名前は開発中のものです。
2011/06/06(月) 16:13:19.03ID:Oa9bfVz8それはギコ猫さんでのgiko017.asmの253行目の
lda #$3
もしくは258行目の
and #8
のどちらかが該当するということでしょうか。
いろいろためしてみます。ありがとうございました。
>>694
iNESヘッダや.incbin文について解説されているサイトをご存知ないでしょうか。
言語は英語でも大丈夫です。
0704名前は開発中のものです。
2011/06/06(月) 22:13:48.10ID:N7u7XZE2このファイルもよい感じで解説されています。 http://www.dotup.org/uploda/www.dotup.org1685218.pdf.html
.incbinは、バイナリつまりは2進数のデータのファイルそのものを読み込みをアセンブラに指定する擬似命令といわれるものです。
詳しいところは、nesasmのUSAGEマニュアルも書いてありますから参考にしてみてください。
0705名前は開発中のものです。
2011/06/06(月) 22:39:28.65ID:jjMKLWTEありがとうございます。参考になりますので、勉強させていただきます。
それと申し訳ございませんが
8x16のスプライトの指定の仕方を伺いたいのですが、どのようにすればよいのでしょうか。
>>703のやり方ではできませんでした。
0706名前は開発中のものです。
2011/06/06(月) 23:25:16.11ID:BrMHlE870707名前は開発中のものです。
2011/06/06(月) 23:34:53.67ID:jjMKLWTEしばらく、nesdevにある仕様書等をすべて読んできます。
0708名前は開発中のものです。
2011/06/06(月) 23:41:08.96ID:BrMHlE87上の日本語版の古いバージョン
ttp://www.geocities.co.jp/Playtown/2004/nestecj.txt
その他資料多数。
http://nesdev.parodius.com/
ndox200に目次を付けたhtml板を昔もらったが…
0709名前は開発中のものです。
2011/06/07(火) 00:49:14.73ID:vpodj/841バイトの二進数で右から6個めのビット(*のついている部分)を1で指定します。
そして、その値をsta $2000とすればOKです。
ちなみに、6個目以外のビットもPPUの動作などを指定しているビットですから
これからゆっくり覚えてゆくとよいのではないでしょうか。
0710名前は開発中のものです。
2011/06/07(火) 19:23:07.65ID:OiB+Zvrc0711名前は開発中のものです。
2011/06/07(火) 20:23:11.28ID:tlmmAReb0712名前は開発中のものです。
2011/06/08(水) 22:31:02.95ID:o9YZ1MtB0713名前は開発中のものです。
2011/06/08(水) 22:44:05.82ID:o9YZ1MtB弾は8x8で自機は16x16だから、8x8モードで作ってます。
だけど、スプライト量オーバーでちらつきが…
でも、スプライトダブラーを使いこなせればマシになるかも
0714名前は開発中のものです。
2011/06/09(木) 00:58:04.66ID:HfdPLbqv言葉覚えたてで使ってる程度なんだろうけど
0715名前は開発中のものです。
2011/06/09(木) 01:12:51.65ID:/JYL/6+Fあまり激しく動かないようなものなら2倍くらいならいけるけど
アクション性が高いゲームならチラツキ表示位が限度
0716名前は開発中のものです。
2011/06/09(木) 02:56:30.03ID:ZNyOPZa+うまくいきませんが、いろいろ試してみてからもう一度来ます。
メトロイドのソースらしいですね
ttp://www.romhacking.net/docs/459/
既出かな
このサイト、いろいろ使えそうですね。
0717名前は開発中のものです。
2011/06/09(木) 04:04:49.17ID:HfdPLbqv無知は免罪符にならないからもうちょっと勉強したほうがいいよいろいろと
0718名前は開発中のものです。
2011/06/09(木) 22:00:18.07ID:GWdbTpZ5自分で考えないで馴れ合ってれば質問が解決できると思ってる
ゆとり野郎へ
C言語すらやったことない基礎力の無さで
知ったかぶって、メーカーの一握りのプロフェッショナルにしか使えない高等技術で目の前の問題を解決しようとするなよ
質問の仕方がめちゃくちゃ
.incbin分からない時点でこのスレじゃ戦力外
ゆっくりC言語と、資格試験の基本情報技術者の勉強をしてこい
ちゃんと基礎力つければ、今のお前の疑問は簡単に自己解決できるようになる
その方が遠回りのようで近道だ
0719名前は開発中のものです。
2011/06/09(木) 22:19:24.70ID:xU0DCCre話の流れが複雑で、誰に言ってるのか分からない…
>>710,712,713は私です。
0720名前は開発中のものです。
2011/06/09(木) 22:48:59.67ID:aCbINl0t「メーカーの一握りのプロフェッショナルにしか使えない高等技術」ってやつに
非常に興味があるな。
0721名前は開発中のものです。
2011/06/10(金) 21:01:55.37ID:H1FM/ghXと思ったりします。言いだしっぺだけど。
0722名前は開発中のものです。
2011/06/10(金) 21:04:39.90ID:L/dg/kr8もしかしたら…
スプライトダブラを持ちかけたのは私ですが、
incbinの質問をした人とは別人です。
紛らわしかったかもしれません。
incbinは、指定したファイルを読み込み、
現在のアドレスから書き込んでくれます。
説明ヘタかもしれませんが、
.incbin "test.bin"
(test.binの内容:00 01 02 03)
と
.db $00,$01,$02,$03
は同じものだと考えれば一応OK
0723名前は開発中のものです。
2011/06/10(金) 21:42:43.15ID:BuGv67rm>>721
まとめサイトよろしくぅ
0724名前は開発中のものです。
2011/06/10(金) 22:44:01.80ID:H1FM/ghXスプライトのタイルのPPUアドレスを$0000、BGのタイルのPPUアドレスを$1000
に設定しないと8*16モードが反映されません。
設定方法はスプライトをモードを指定したsta $2000と同く、
lda #%***ab*** とa,bと、印の付いてるビットを指定操作して、
sta $2000 とします(*の記号は他にPPUを制御するビットを表現)
*aはBGのアドレス設定のビットです。
BGのアドレスを、0で$0000,1で$1000のアドレスに設定します。
*bはスプライトのアドレス設定ビットです。
スプライトアドレスを、0で$0000,1で$1000のアドレスに設定します。
8*16モードのときは aの部分を1 bの部分を0 に設定します。
またyy-chaでキャラクタを作成のとき、スプライトの256個のタイルを先に置き、
次にBG向けのタイルを256個を置きます。
目安はyy-chaの左側にある、タイル一覧です。
一度に表示されるタイル数が256なので、256のタイルを目安にして1ページと
して、右のバーを一番下まで引き落とすと、BG用の2ページ目となります。
>>723
wikiで作れたらいいなという妄想なんです。(´・ω・`)
あったら便利ですものね(`・ω・´)
0725名前は開発中のものです。
2011/06/11(土) 01:37:09.28ID:mwwXcWkSFDSLoadrを使って、自作ゲームの実機プレイ
0726名前は開発中のものです。
2011/06/11(土) 09:14:46.59ID:2N+M9atq0727名前は開発中のものです。
2011/06/11(土) 09:22:42.74ID:mwwXcWkSただいまエンコード中…
0728名前は開発中のものです。
2011/06/11(土) 11:36:00.69ID:mwwXcWkS失礼しました。
↓のアドレスなら見れるはずです。
http://www.nicovideo.jp/watch/sm14710181
0729名前は開発中のものです。
2011/06/11(土) 22:37:53.73ID:EyCI2QSh>スプライトのタイルのPPUアドレスを$0000、BGのタイルのPPUアドレスを$1000
そんな条件はないずらよ。
0730名前は開発中のものです。
2011/06/11(土) 23:02:22.10ID:mwwXcWkShttp://famiwiki.wiki.fc2.com/
まとめwiki作ってみましたが、必要ですか?
0731名前は開発中のものです。
2011/06/11(土) 23:07:16.68ID:aL4mdC2Bオレも変だなと思ってたw
ってか説明も下手くそだよな
0732名前は開発中のものです。
2011/06/12(日) 02:07:12.33ID:yv7wg3AL後、いやぁ、説明へたですみません。
文章の練習してきます・・・・。
0733名前は開発中のものです。
2011/06/12(日) 02:13:58.63ID:yv7wg3ALまとめwikiをつくっていただいたと張りがたいことです。
0734名前は開発中のものです。
2011/06/13(月) 00:09:07.53ID:Kd/vd65eおおー乙ですー
いろいろ書きたいことはあるんで暇を見つけて書きたいな
0735名前は開発中のものです。
2011/06/13(月) 22:26:18.19ID:KMBDYkm3乙ですー
自作ゲーム置き場もあるんですね。
こういうのって勝手に自作ゲーム置いても良いものなんすかね?
0736名前は開発中のものです。
2011/06/14(火) 21:28:18.75ID:Wwg17utSwikiだから、編集は自由です
0737名前は開発中のものです。
2011/06/15(水) 23:58:09.31ID:bXZ5Kc7nwikiて編集は自由なんですね。
見るばかりで編集ルールとか気にした事なかったので知りませんでした。
ありがとうございます。
wiki支援て事で自作ゲームをupしてみました。
バグだらけの迷路ゲームですが、一応クリアはできます。
wikiにどんどん自作ゲームが増えると良いですね。
0738名前は開発中のものです。
2011/06/18(土) 19:49:19.33ID:Iq+N2xvC0739名前は開発中のものです。
2011/06/19(日) 19:33:02.68ID:dcjLJ9vf一応、ご報告まで
エミュレーターはfceuですが、スタート画面で止まってしまいます。
どのボタンも受け付けず。
http://uproda.2ch-library.com/39219180a/lib392191.png
0740名前は開発中のものです。
2011/06/19(日) 23:30:07.48ID:aDFgivkT動くエミュの方が多いから黙ってた。
0741名前は開発中のものです。
2011/06/19(日) 23:51:10.50ID:ldLfo0ugそれだと実機でまず動かないから
音源の再現性が高いとかいわれてるけど単にデフォルトの音質設定が
高品質で設定されてるだけだし
0742名前は開発中のものです。
2011/06/20(月) 00:39:04.18ID:9y9rJn1BNMI使わず、$2002のreadでゲームループ作ってて
PPU書き込み作法めちゃくちゃだった
動かなくて当然
確かにそんなに正確ではないけど
VirtuaNESで動かないなら相当ヤバイ
0743名前は開発中のものです。
2011/06/20(月) 12:55:39.04ID:AdifjMb/0744名前は開発中のものです。
2011/06/20(月) 16:06:17.84ID:gwsgbl+C2002のリード中にVSYNCが着ても衝突でクリアされてしまい、
毎秒60回抜ける筈が、45回くらいしか抜けなくなるんだよね。
0745名前は開発中のものです。
2011/06/26(日) 00:58:35.74ID:yHqAAcw6なんか、昔、割り込みルーチンを書くときに、自分で割り込み禁止に設定したような記憶があるんだけど。
0746名前は開発中のものです。
2011/06/26(日) 11:02:33.50ID:+aYN/130他の割り込みをマスクするかは自由っしょ、
スタックを浅くしたい為に他の割り込みが多重化しないように抑制する場合もある。
0747名前は開発中のものです。
2011/06/27(月) 11:55:57.26ID:8R7/sNUH0748名前は開発中のものです。
2011/06/27(月) 13:22:26.34ID:qR5Y9iql0749名前は開発中のものです。
2011/07/08(金) 18:15:56.41ID:uG0IBAE+yychrで作成したキャラクタをアセンブラで指定する際は
どのように指定すればよいのでしょうか。
0750名前は開発中のものです。
2011/07/08(金) 22:04:41.36ID:4YqiycSs0751名前は開発中のものです。
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:1mO5vtLi■ このスレッドは過去ログ倉庫に格納されています