ファミコンのプログラム3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/06/23(月) 17:38:05ID:z53SrIuZでも900すぎてホンモノが現れたみたいだ。
もう要らねぇと思ってたけど、そいつらの為に立てたよ。
0674名前は開発中のものです。
2011/05/08(日) 17:59:16.91ID:UUZqkrd5m_CheatCode.erase( &m_CheatCode[no] );
という行に対して、
error C2664: 'std::_Vector_iterator<_Myvec> std::vector<_Ty>::erase(std::_Vector_const_iterator<_Myvec>)' : 1 番目の引数を 'CHEATCODE *' から 'std::_Vector_const_iterator<_Myvec>' に変換できません。(新しい機能 ; ヘルプを参照)
みたいなエラーが出るんだけど、何がダメなのか教えてくだせえ。
そして、この場合どう修正するのが正しいのか。
コメントアウトすれば特に問題無く動くんだけど。
0675名前は開発中のものです。
2011/05/08(日) 18:52:49.43ID:6Fc0B4710676名前は開発中のものです。
2011/05/08(日) 21:01:40.88ID:nD9/oPW0サンクス。何かウンコだらけのスレだけど除いてみるよw
0677名前は開発中のものです。
2011/05/08(日) 21:49:30.46ID:UUZqkrd5C++の言語仕様の話だけど、じゃあどこで聞けば良いのかと
0678名前は開発中のものです。
2011/05/09(月) 00:36:14.49ID:6VGVHSar製作者のBBSにでも質問して笑われてなさい
0679名前は開発中のものです。
2011/05/09(月) 01:36:55.04ID:HguBFjSjつかム板池
作った本人が簡単だとか言ってるのにそれでもわかんないから作ってみた。
http://grgsiberia.web.fc2.com/python/tool/niefp.zip
簡単に言うと、PNGからNES用のスプライトやBGなどを吐き出すPythonスクリプト。
EDGEと連携出来たら楽だろうな、と思って作った。
EDGEで出力したPNGやパレットであれば確実に対応してるんじゃないかと思う。
詳しい使い方などはreadme.htmlで。
あと、Python2.6以降じゃないと動かないけど、Pythonは便利だから入れといて損はないよ。
0681名前は開発中のものです。
2011/05/09(月) 04:21:48.39ID:LXdqEfFFわからないのだろうねw
0682名前は開発中のものです。
2011/05/09(月) 05:15:28.54ID:OZas0vVXYY-CHRは相当分かりづらいツールだし
コピペするにも2つ立ち上げるとか変則な方法が必要
0683名前は開発中のものです。
2011/05/09(月) 20:55:15.83ID:J4NXag5Z俺もEdgeとPlatinumを使うためにそれぞれコンバータ作ったわ
0684名前は開発中のものです。
2011/05/09(月) 23:08:45.33ID:Yb0afUiwコピペは単体でもできるし、Edgeとかの他のソフトともできる。2つ立ち上げる必要はなくね?
0685名前は開発中のものです。
2011/05/10(火) 00:16:52.11ID:pWt9SyhJとか言ってるくらいだから全然理解してないでしょ
最近、NESASMやり始めたばかりだけど、
それでもあの使いづらさは異常だと思うよ。
お絵かきソフトが普通にできることができないってのは苦痛。
>>684
できればギコ猫のサンプルを普通に表示する方法を教えて欲しいです。
この段階で3時間もかけてどうしてもわからないので諦めました。
0687684
2011/05/10(火) 02:50:38.62ID:8v8HWfqXまずNASMに通すpal(インデックス)と一般的なpalファイル(RGB)は違うのを理解して欲しい。
YY-CHRはpalファイルを自動で読もうとするけど、RGB形式で読み込むので、palからリネームが必要。
だけど、拡張子datにしとけばインデックスとしてのパレットとして読み込むので…
@ギコ猫のサンプルにpalファイルがあったらとりあえず拡張子をdatに直す。
AYY-CHRでbkgかsprファイルを開く。
B画像形式を「2BPP NES」に合わせる。この時点で画像が表示できる。
C必要ならDATパレット(右側中段のパレット)を選択する。これで目的のパレットで画像が表示される。
以上。
bkgやsprをchrやnesにリネームしたらBの手順も飛ばせるので、ファイルを開くだけで読み込みから表示まで完了した状態になる。
0688名前は開発中のものです。
2011/05/10(火) 11:59:10.42ID:2pxIyKQ7netのほうはまだ使用に耐えないかもな。
C++のほうが現状では完成度は高い。
それでパレットセットを有効にすればやりたいことができるかもしれない。
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それでもファミコンとしてはスゴイ技術なんだけどね
■ このスレッドは過去ログ倉庫に格納されています