ファミコンのプログラム3at GAMEDEV
ファミコンのプログラム3 - 暇つぶし2ch630:名前は開発中のものです。
11/04/20 14:29:17.77 +xdKws3V
BGとスプライトの使い分け関係ないけど
QIXとプリンスオブペルシャのテクニックはすげぇと思った


631:名前は開発中のものです。
11/04/23 23:18:02.35 Cp0LF584
BGの下にスプライトが隠れるのは
地道にプログラムしてるのかと思うと泣けてくる

632:名前は開発中のものです。
11/04/24 18:58:26.82 hHrLOJ21
フラグ1つ変更すればBGの後ろに表示される


633:名前は開発中のものです。
11/04/24 20:36:31.50 Oz6gZIxE
それをわかった上でそのフラグ管理を個別にキチンとしていることを言ってるのでは?

634:名前は開発中のものです。
11/04/24 23:28:54.09 hHrLOJ21
それだと泣けてくる理由がわからない

635:名前は開発中のものです。
11/04/25 02:20:57.78 emjBG8Lh
設定はBG一律に対してだから、壁とか柱とか常に監視して
重なるBGの種類に合わせて随時切り替えなければならない

636:名前は開発中のものです。
11/04/25 07:34:18.72 IXwQxnd5
スターソルジャーで白い星の上に、BGスクロールの壁、
その上に自機や敵や玉、場合によっては壁の下に潜る自機かなあ
スクロールが一定の速度だからまだ管理しやすいのか

637:名前は開発中のものです。
11/04/25 08:07:56.32 emjBG8Lh
スプライト単位で指定できるから
星は常時BGより背面で固定、敵や弾はBGより前面で固定
フラグ管理しているのは自機だけだね

638:名前は開発中のものです。
11/04/25 18:46:05.93 LO0+2C1q
>>635
知ってるって
そんなのアタリ判定で体力ゲージ減らす処理と大差ない

639:名前は開発中のものです。
11/04/25 22:31:05.53 IXwQxnd5
うむ、言われてみればそうだなあ

640:名前は開発中のものです。
11/04/30 06:58:37.05 E2qIS/04
URLリンク(www.nicovideo.jp)
BG切り替えの匠

641:名前は開発中のものです。
11/04/30 18:55:23.35 NiVmfAMt
飛び跳ねるアイテムがBGとか変態だわ…
これアイテムの位置ごとに別の背景キャラを用意して
毎フレーム書き換えてるわけ?

642:名前は開発中のものです。
11/04/30 19:40:45.26 2Iq9arpT
スプライト発明後しか知らない人には珍しいのだろうね

643:名前は開発中のものです。
11/04/30 21:46:03.38 NiVmfAMt
あー、スプライトの発明か。その辺の話も知りたいなあ
あとスプライトなしでキャラクタベースでキャラクタ書き換えのみってのも見たことない

644:名前は開発中のものです。
11/04/30 22:13:38.15 5KzG+NAG
始めて見たゲームだが、音楽も凝ってるな

645:名前は開発中のものです。
11/04/30 22:41:41.18 i/Xq0+Is
スプライトは、アタリのアーケードゲーム辺りが取り入れたとか。
スプライトがないゲームといえば、PC-88などが参考になる
でしょうか。MSXなどのTMS9918などはスプライトがあるけど表現力が低いと
いうことで、MSXで出たR-TYPEなどはすさまじくBGを更新していますよ。
URLリンク(www.nicovideo.jp)

646:名前は開発中のものです。
11/04/30 23:28:19.39 i/Xq0+Is
ゴールデンウィーク前なので、作っているプログラムをあげます。
楽しんでください。
URLリンク(pupld.net)

647:名前は開発中のものです。
11/04/30 23:34:59.31 8EL7C4ne
なんか勘違いしてるな。PCGの概念も理解してないくせにBGって単語使いたいだけだろ。

648:名前は開発中のものです。
11/05/01 01:56:49.03 1Dl8Fzel
いや、勘違いでした。申し訳ないです。

649:名前は開発中のものです。
11/05/01 09:52:25.28 WEi1S4mQ
>>643
スプライトなしだとPV-1000とか

650:名前は開発中のものです。
11/05/01 16:08:07.79 uRFyhqqM
ド変態なのはこの辺だろ
URLリンク(www.youtube.com)

651:名前は開発中のものです。
11/05/01 22:33:49.04 yVjVOWD4
>>646
全画面別キャラ出すのってMMC5でできるのか。
ちょっとこの休みに勉強してみようかな。

>>650
スプライトなし、スクロールもなしか…。
グラフィックって機械ごとに特色あって面白いなあ。

652:名前は開発中のものです。
11/05/01 23:30:00.07 vcOwbcF5
BG書き換えがすごい言われ方してるけど
単に88や98でゲーム作る時の手法でしょw

653:名前は開発中のものです。
11/05/02 00:23:48.13 TVsL56K4
このスレだとBGとグラフィック面は同じ扱いなの?

654:名前は開発中のものです。
11/05/02 03:20:00.53 Zj/7qvF0
わかってないのに知ったかしてる人が居るからな
PCGとBGは時代やスペックが違うだけで全く同じものだというのに
普通はビットマップスクリーンがグラフィック面
一部のPCのみテキストプレーン3枚で合成って言うだけで
実質これはビットマップスクリーン

655:名前は開発中のものです。
11/05/02 08:51:03.05 wNxYD5lq
潤沢なメモリが使えない当時のもので
ビットマップとか以前の設計でしょ

656:名前は開発中のものです。
11/05/02 10:00:51.07 4O4onT/E
BGの(テーブルでなくて)パターン書き換えは座標計算負荷が高くなるから
その点でP-MANは無茶してるな

657:名前は開発中のものです。
11/05/02 13:37:03.41 Zj/7qvF0
メモリの問題はかなり重要だったけど
速度面でも有利だったからね

658:名前は開発中のものです。
11/05/02 17:47:55.65 QpbhK70q
PC98、88オンリーの知識じゃ話かみ合わんがなw

659:名前は開発中のものです。
11/05/06 01:52:03.98 r/gVAn5n
別に面白いゲームを移植してもらえないマイナー機を使ってたなんて自慢しなくてもいいよ。

660:名前は開発中のものです。
11/05/07 13:56:26.52 5Rg3oBgE
646です。あげますでなく、上げますです。
どせいさん見たいな言葉遣いになってしまった。
>651さまへ
PPUのレジスタで1フレーム分非表示にしている間に
BGを書き換えているのでMMC5以外でもきますよ。


661:名前は開発中のものです。
11/05/07 16:29:30.95 9ZuDV4SU
>>659
別に持ってなくても、知ってる人もいるよ。
おめえが勉強不足の情弱なだけに見える。

662:名前は開発中のものです。
11/05/07 18:36:58.78 y9PdLEaj
リバーシのファミコン自作ROMです。
URLリンク(www1.axfc.net)

663:名前は開発中のものです。
11/05/07 19:15:13.61 sIbfi2Dv
ノイズの波形の式がわからない。

擬似乱数を、一定カウント毎に更新して、
擬似乱数の最上位ビットを一定数で乗算したのを
波形にしてるんだけど、ノイズというより矩形波に近い
音が出てしまう。

664:名前は開発中のものです。
11/05/07 19:42:31.34 P9O+0DPb
>>663
それはファミコンプログラムと言うよりエミュな話では?
Nesterあたりのソースを見れば早いよ。 Real Time Noise って書いてある所。

665:名前は開発中のものです。
11/05/07 20:38:12.11 sIbfi2Dv
おお、エミュレータのオープンソースなのがあるのか。
ありがとう

666:名前は開発中のものです。
11/05/07 22:50:04.08 OIiV0t7l
>>661
なんだ、知ってるだけで実際には使ったことは無いのか。
口汚く罵る事は知っていても、実戦せずに知っているだけの知識を得る作業は勉強ではないと知らないんだね。
可哀相に。

667:名前は開発中のものです。
11/05/07 23:30:14.62 bid7olAn
自分以外がすべて敵に思えるらしいw
なんて言うんだっけこういうの

668:名前は開発中のものです。
11/05/08 00:54:10.06 nD9/oPW0
ROMカートリッジを作るとかは別のスレになるのかぃ?

669:名前は開発中のものです。
11/05/08 10:33:31.45 hasI3PdG
リバース落としました。
おもしろいです。
 


670:名前は開発中のものです。
11/05/08 12:05:47.85 eM4EQoP0
>>668
少なくともここじゃないが該当する板は分からん

671:名前は開発中のものです。
11/05/08 13:30:59.56 pu3Gh8MK
ぶっちゃけ他に適切な板があるとも思えんし
スレ違い覚悟でここに書くしかない気がする

まあ「カートリッジを作るにあたってのマッパーの扱い」
とかに絞ればプログラミングも関わってくるけど
あんまり細分化しすぎてもなあ…

672:名前は開発中のものです。
11/05/08 13:50:50.77 UUZqkrd5
最近このスレ見るようになったけど、数名は住人がいるようで嬉しいよ。
俺、ファミコンの色とか音色とか大好きなんだよね。

673:名前は開発中のものです。
11/05/08 16:06:14.89 eM4EQoP0
板的に適当かどうかは分からんが、レトロPC板のファミベスレで
カートリッジ改造してる人がいるな
スレリンク(i4004板)

674:名前は開発中のものです。
11/05/08 17:59:16.91 UUZqkrd5
virtuanesをVS2010でビルドすると、

m_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>' に変換できません。(新しい機能 ; ヘルプを参照)

みたいなエラーが出るんだけど、何がダメなのか教えてくだせえ。
そして、この場合どう修正するのが正しいのか。
コメントアウトすれば特に問題無く動くんだけど。

675:名前は開発中のものです。
11/05/08 18:52:49.43 6Fc0B471
それはファミコンのプログラムじゃなくね?

676:名前は開発中のものです。
11/05/08 21:01:40.88 nD9/oPW0
>>673
サンクス。何かウンコだらけのスレだけど除いてみるよw

677:名前は開発中のものです。
11/05/08 21:49:30.46 UUZqkrd5
>>675
C++の言語仕様の話だけど、じゃあどこで聞けば良いのかと

678:名前は開発中のものです。
11/05/09 00:36:14.49 6VGVHSar
エミュレータかよ
製作者のBBSにでも質問して笑われてなさい

679:名前は開発中のものです。
11/05/09 01:36:55.04 HguBFjSj
vectorのiteratorはポインタであると仮定してるから処理系によっては通らないんだろう
つかム板池

680: ◆GRGSIBERIA
11/05/09 03:06:03.56 Y+lHfR6o
YY-CHRがあまりにも使いづらくて使い方わかんないし、
作った本人が簡単だとか言ってるのにそれでもわかんないから作ってみた。

URLリンク(grgsiberia.web.fc2.com)

簡単に言うと、PNGからNES用のスプライトやBGなどを吐き出すPythonスクリプト。
EDGEと連携出来たら楽だろうな、と思って作った。
EDGEで出力したPNGやパレットであれば確実に対応してるんじゃないかと思う。
詳しい使い方などはreadme.htmlで。

あと、Python2.6以降じゃないと動かないけど、Pythonは便利だから入れといて損はないよ。

681:名前は開発中のものです。
11/05/09 04:21:48.39 LXdqEfFF
まあファミコンのアーキテクチャーを根本的に理解できてないから
わからないのだろうねw

682:名前は開発中のものです。
11/05/09 05:15:28.54 OZas0vVX
分かってることとツールが使いやすいかどうかは別
YY-CHRは相当分かりづらいツールだし
コピペするにも2つ立ち上げるとか変則な方法が必要

683:名前は開発中のものです。
11/05/09 20:55:15.83 J4NXag5Z
使い慣れたツールを使えるならそれが一番だわな
俺もEdgeとPlatinumを使うためにそれぞれコンバータ作ったわ

684:名前は開発中のものです。
11/05/09 23:08:45.33 Yb0afUiw
yy-chrはパレットの扱い方が理解できるかで使い勝手が変わるな。
コピペは単体でもできるし、Edgeとかの他のソフトともできる。2つ立ち上げる必要はなくね?

685:名前は開発中のものです。
11/05/10 00:16:52.11 pWt9SyhJ
>BGパターンテーブルは$0000から、スプライトパターンテーブルは$1000からなのね
とか言ってるくらいだから全然理解してないでしょ

686: ◆GRGSIBERIA
11/05/10 01:57:21.21 1VfmAOnA
>>681
最近、NESASMやり始めたばかりだけど、
それでもあの使いづらさは異常だと思うよ。
お絵かきソフトが普通にできることができないってのは苦痛。

>>684
できればギコ猫のサンプルを普通に表示する方法を教えて欲しいです。
この段階で3時間もかけてどうしてもわからないので諦めました。

687:684
11/05/10 02:50:38.62 8v8HWfqX
>>686
まずNASMに通すpal(インデックス)と一般的なpalファイル(RGB)は違うのを理解して欲しい。
YY-CHRはpalファイルを自動で読もうとするけど、RGB形式で読み込むので、palからリネームが必要。
だけど、拡張子datにしとけばインデックスとしてのパレットとして読み込むので…
①ギコ猫のサンプルにpalファイルがあったらとりあえず拡張子をdatに直す。
②YY-CHRでbkgかsprファイルを開く。
③画像形式を「2BPP NES」に合わせる。この時点で画像が表示できる。
④必要ならDATパレット(右側中段のパレット)を選択する。これで目的のパレットで画像が表示される。

以上。
bkgやsprをchrやnesにリネームしたら③の手順も飛ばせるので、ファイルを開くだけで読み込みから表示まで完了した状態になる。

688:名前は開発中のものです。
11/05/10 11:59:10.42 2pxIyKQ7
YY-CHRのnetのほう使ってるのかね?
netのほうはまだ使用に耐えないかもな。
C++のほうが現状では完成度は高い。
それでパレットセットを有効にすればやりたいことができるかもしれない。

689: ◆GRGSIBERIA
11/05/11 09:26:14.79 o9EuxNTo
>>687
うわぁ……thx……。
こりゃあガチでわからない……。

>>688
普通にC++版のはず。
とりあえず読み込み・書き込みまではできたので普通には使えてる。

690:名前は開発中のものです。
11/05/11 23:52:45.00 QO+OROkB
yychrはペイントで書いた絵をコピペしてバイナリにするのにしか使ってないなあ
あと背景並べてみる機能は便利そう

691:名前は開発中のものです。
11/05/12 23:20:57.55 GK8kLYLh
キーオフの長さとレジスタの値の関係がよくわからんな。
長さがダブってる値もあるし。

692:名前は開発中のものです。
11/06/02 23:25:50.04 derAo68s
質問すみません。
YYCHRで作成したキャラクタをプログラムで指定する際はどのようにすればよいのでしょうか

具体的にはギコ猫さんの所でgiko005.asmでコンパイルしたら、顔だけの部分を自作で適当な胴体を付けたいということです。

693:名前は開発中のものです。
11/06/03 01:44:15.77 toY1hNBR
>>692
スプライトの事かな?
8x16のスプライトを使うといいかも
それと、コンパイルじゃなくて、アセンブラだから、アセンブルというよ

sta $2004


694:名前は開発中のものです。
11/06/03 14:31:33.27 +ZEj8oqY
>>692
NESファイルの構造を知らない→iNESヘッダ を学び、NESファイルの構造を学ぶ
nesasmの.incbin文を知らない→それを学ぶ

695:名前は開発中のものです。
11/06/04 14:41:01.71 rV1/eej4
960byte+64byte==1kb==$400byteをネームテーブルに書き込むやり方を
教えてください。

696:名前は開発中のものです。
11/06/04 16:52:17.95 kkzItymk
たしか、$2000~がネームテーブル
PPUだから、CPUから直接書き込めません。
IOポート$2006,$2007を使って書き込みます。

lda (上位8bit)
sta $2006
lda (下位8bit)
sta $2006
lda (書き込む数値)
sta $2007
こんな感じで

697:名前は開発中のものです。
11/06/04 20:20:00.99 1JomW+ED
NESASMに苦しむ人は(今時の若い人)は、
cc65を使うといいよ。インラインアセンブラもついてるし、
いろいろいじったり、やってる内にファミコンの仕様が把握できる。
俺のホームページ
URLリンク(www.geocities.jp)

それにしてもNESASMは、分かりにくい。俺だけかもしれんが

698:名前は開発中のものです。
11/06/04 23:05:49.24 WZ0Ci4IM
Cから入ったんならそうだろアスペか?

699:名前は開発中のものです。
11/06/05 10:26:22.92 4eYCFdp7
ファミコンのCってどんな感じ?
GBのはインテジャーが8ビットで萎えたw

700:名前は開発中のものです。
11/06/05 17:11:43.93 aMJBi/g4
8bit CPUなんだから、よほど特殊な事情がない限り、整数も8bitで扱う癖を付けた方がいいよ。
メモリの無駄。消費クロックの無駄。メモリ1バイトは血の一滴。特にゼロページは無駄にしたら目が潰れる。

701:名前は開発中のものです。
11/06/06 00:48:35.88 d7Z7juFx
C言語で作るのも意欲的だと思うのでいいと思う。
C言語でプログラムを作るのがどのになるのか、おもしろい方向に
発展して欲しいと思う。

702:名前は開発中のものです。
11/06/06 14:10:27.91 +0Ed7805
ぶっちゃけ、処理の仕方自体はあんまりかわらない。

石ごとにニモニック覚えんで済むという以外で、あんまりメリットないのよね。
制限きついから、どうせ対象となる石に依存しきった記述しなけりゃならないし。
糞真面目にCだけで処理書いてたら、転送速度間に合わなかったりするし。

だもんだから、無駄を許容出来る部分ではCを使うと楽になる部分がないこともない、という程度でしかない。
コンパイラが吐きだしてくるコードを眺めてると、自然と、こう、手直ししたくてたまらない気分になってくる。
C使うならそれなりに使えるメモリにも速度的にも(ついでにレジスタ本数的にも)余裕がある16bit CPUからがいい。

703:名前は開発中のものです。
11/06/06 16:13:19.03 Oa9bfVz8
>>696
それはギコ猫さんでのgiko017.asmの253行目の
lda #$3
もしくは258行目の
and #8
のどちらかが該当するということでしょうか。
いろいろためしてみます。ありがとうございました。
>>694
iNESヘッダや.incbin文について解説されているサイトをご存知ないでしょうか。
言語は英語でも大丈夫です。



704:名前は開発中のものです。
11/06/06 22:13:48.10 N7u7XZE2
.inesヘッダーについては、 URLリンク(www.geocities.co.jp)
このファイルもよい感じで解説されています。 URLリンク(www.dotup.org)
.incbinは、バイナリつまりは2進数のデータのファイルそのものを読み込みをアセンブラに指定する擬似命令といわれるものです。
詳しいところは、nesasmのUSAGEマニュアルも書いてありますから参考にしてみてください。

705:名前は開発中のものです。
11/06/06 22:39:28.65 jjMKLWTE
>>704
ありがとうございます。参考になりますので、勉強させていただきます。

それと申し訳ございませんが
8x16のスプライトの指定の仕方を伺いたいのですが、どのようにすればよいのでしょうか。
>>703のやり方ではできませんでした。

706:名前は開発中のものです。
11/06/06 23:25:16.11 BrMHlE87
inesヘッダーの仕様すら自分で見つけられんようじゃなあ…

707:名前は開発中のものです。
11/06/06 23:34:53.67 jjMKLWTE
>>706未熟者で大変ご申し訳ございません。
しばらく、nesdevにある仕様書等をすべて読んできます。

708:名前は開発中のものです。
11/06/06 23:41:08.96 BrMHlE87
URLリンク(nesdev.parodius.com)
上の日本語版の古いバージョン
URLリンク(www.geocities.co.jp)
その他資料多数。
URLリンク(nesdev.parodius.com)

ndox200に目次を付けたhtml板を昔もらったが…

709:名前は開発中のものです。
11/06/07 00:49:14.73 vpodj/84
8*16のスプライト指定は、 lda #%00*00000などのように、
1バイトの二進数で右から6個めのビット(*のついている部分)を1で指定します。
そして、その値をsta $2000とすればOKです。
ちなみに、6個目以外のビットもPPUの動作などを指定しているビットですから
これからゆっくり覚えてゆくとよいのではないでしょうか。


710:名前は開発中のものです。
11/06/07 19:23:07.65 OiB+Zvrc
各スプライトごとに設定できたら良かったのに

711:名前は開発中のものです。
11/06/07 20:23:11.28 tlmmAReb
なんだゆとりか

712:名前は開発中のものです。
11/06/08 22:31:02.95 o9YZ1MtB
ハード的にそうもいかないのかな…

713:名前は開発中のものです。
11/06/08 22:44:05.82 o9YZ1MtB
シューティングを作ってるのですが、
弾は8x8で自機は16x16だから、8x8モードで作ってます。
だけど、スプライト量オーバーでちらつきが…
でも、スプライトダブラーを使いこなせればマシになるかも

714:名前は開発中のものです。
11/06/09 00:58:04.66 HfdPLbqv
妄想中にすまんがファミコンでダブラは実用的じゃないよ
言葉覚えたてで使ってる程度なんだろうけど

715:名前は開発中のものです。
11/06/09 01:12:51.65 /JYL/6+F
STGじゃ速度的にまあ無理だな
あまり激しく動かないようなものなら2倍くらいならいけるけど
アクション性が高いゲームならチラツキ表示位が限度

716:名前は開発中のものです。
11/06/09 02:56:30.03 ZNyOPZa+
>>707ですが>>709ありがとうございます。
うまくいきませんが、いろいろ試してみてからもう一度来ます。

メトロイドのソースらしいですね
URLリンク(www.romhacking.net)
既出かな
このサイト、いろいろ使えそうですね。


717:名前は開発中のものです。
11/06/09 04:04:49.17 HfdPLbqv
それ違法だからね
無知は免罪符にならないからもうちょっと勉強したほうがいいよいろいろと

718:名前は開発中のものです。
11/06/09 22:00:18.07 GWdbTpZ5
Yah○○知恵ヲクレのノリで
自分で考えないで馴れ合ってれば質問が解決できると思ってる
ゆとり野郎へ

C言語すらやったことない基礎力の無さで
知ったかぶって、メーカーの一握りのプロフェッショナルにしか使えない高等技術で目の前の問題を解決しようとするなよ

質問の仕方がめちゃくちゃ
.incbin分からない時点でこのスレじゃ戦力外

ゆっくりC言語と、資格試験の基本情報技術者の勉強をしてこい
ちゃんと基礎力つければ、今のお前の疑問は簡単に自己解決できるようになる
その方が遠回りのようで近道だ

719:名前は開発中のものです。
11/06/09 22:19:24.70 xU0DCCre
>>718

話の流れが複雑で、誰に言ってるのか分からない…
>>710,712,713は私です。

720:名前は開発中のものです。
11/06/09 22:48:59.67 aCbINl0t
>>718
「メーカーの一握りのプロフェッショナルにしか使えない高等技術」ってやつに
非常に興味があるな。

721:名前は開発中のものです。
11/06/10 21:01:55.37 H1FM/ghX
そろそろ、まとめサイトがあればいいのかも。
と思ったりします。言いだしっぺだけど。

722:名前は開発中のものです。
11/06/10 21:04:39.90 L/dg/kr8
>>718
もしかしたら…

スプライトダブラを持ちかけたのは私ですが、
incbinの質問をした人とは別人です。
紛らわしかったかもしれません。

incbinは、指定したファイルを読み込み、
現在のアドレスから書き込んでくれます。
説明ヘタかもしれませんが、

.incbin "test.bin"
(test.binの内容:00 01 02 03)



.db $00,$01,$02,$03

は同じものだと考えれば一応OK

723:名前は開発中のものです。
11/06/10 21:42:43.15 BuGv67rm
ファミコンスレッドをもっと明るい話題でもってこうぜ
>>721
まとめサイトよろしくぅ

724:名前は開発中のものです。
11/06/10 22:44:01.80 H1FM/ghX
遅ればせながら8*16スプライトモードの補足を忘れてました。
スプライトのタイルの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で作れたらいいなという妄想なんです。(´・ω・`)
あったら便利ですものね(`・ω・´)

725:名前は開発中のものです。
11/06/11 01:37:09.28 mwwXcWkS
URLリンク(www.nicovideo.jp)

FDSLoadrを使って、自作ゲームの実機プレイ

726:名前は開発中のものです。
11/06/11 09:14:46.59 2N+M9atq
即削除。(´・ω・`)

727:名前は開発中のものです。
11/06/11 09:22:42.74 mwwXcWkS
動画の設定を間違えて投稿したので、すぐ削除しました。
ただいまエンコード中…

728:名前は開発中のものです。
11/06/11 11:36:00.69 mwwXcWkS
>>725

失礼しました。
↓のアドレスなら見れるはずです。
URLリンク(www.nicovideo.jp)

729:名前は開発中のものです。
11/06/11 22:37:53.73 EyCI2QSh
724
>スプライトのタイルのPPUアドレスを$0000、BGのタイルのPPUアドレスを$1000
そんな条件はないずらよ。

730:名前は開発中のものです。
11/06/11 23:02:22.10 mwwXcWkS
>>724

URLリンク(famiwiki.wiki.fc2.com)
まとめwiki作ってみましたが、必要ですか?

731:名前は開発中のものです。
11/06/11 23:07:16.68 aL4mdC2B
>>729
オレも変だなと思ってたw
ってか説明も下手くそだよな

732:名前は開発中のものです。
11/06/12 02:07:12.33 yv7wg3AL
そうでしたっけ。勘違いでしたね。
後、いやぁ、説明へたですみません。
文章の練習してきます・・・・。

733:名前は開発中のものです。
11/06/12 02:13:58.63 yv7wg3AL
おお、私のちょっとしたつぶやきを具体化してくださったとは。
まとめwikiをつくっていただいたと張りがたいことです。


734:名前は開発中のものです。
11/06/13 00:09:07.53 Kd/vd65e
>>730
おおー乙ですー
いろいろ書きたいことはあるんで暇を見つけて書きたいな

735:名前は開発中のものです。
11/06/13 22:26:18.19 KMBDYkm3
>>730
乙ですー
自作ゲーム置き場もあるんですね。
こういうのって勝手に自作ゲーム置いても良いものなんすかね?


736:名前は開発中のものです。
11/06/14 21:28:18.75 Wwg17utS
>>735
wikiだから、編集は自由です

737:名前は開発中のものです。
11/06/15 23:58:09.31 bXZ5Kc7n
>>736
wikiて編集は自由なんですね。
見るばかりで編集ルールとか気にした事なかったので知りませんでした。
ありがとうございます。
wiki支援て事で自作ゲームをupしてみました。
バグだらけの迷路ゲームですが、一応クリアはできます。
wikiにどんどん自作ゲームが増えると良いですね。


738:名前は開発中のものです。
11/06/18 19:49:19.33 Iq+N2xvC
Wikiのリンク集にちょっと書いてみた

739:名前は開発中のものです。
11/06/19 19:33:02.68 dcjLJ9vf
>>662さん
一応、ご報告まで
エミュレーターはfceuですが、スタート画面で止まってしまいます。
どのボタンも受け付けず。
URLリンク(uproda.2ch-library.com)

740:名前は開発中のものです。
11/06/19 23:30:07.48 aDFgivkT
実は俺の愛用エミュでも動かなかった。
動くエミュの方が多いから黙ってた。

741:名前は開発中のものです。
11/06/19 23:51:10.50 ldLfo0ug
何年も開発が停まってるVirtuaNESなんかで動作確認だけはやめような
それだと実機でまず動かないから
音源の再現性が高いとかいわれてるけど単にデフォルトの音質設定が
高品質で設定されてるだけだし

742:名前は開発中のものです。
11/06/20 00:39:04.18 9y9rJn1B
以前>>662の中見た記憶だけど
NMI使わず、$2002のreadでゲームループ作ってて
PPU書き込み作法めちゃくちゃだった
動かなくて当然

確かにそんなに正確ではないけど
VirtuaNESで動かないなら相当ヤバイ

743:名前は開発中のものです。
11/06/20 12:55:39.04 AdifjMb/
でももし実機で動いたら動く方が正しいんだよな。

744:名前は開発中のものです。
11/06/20 16:06:17.84 gwsgbl+C
実機で2002のリードでVSYNC待ちループ作ると、
2002のリード中にVSYNCが着ても衝突でクリアされてしまい、
毎秒60回抜ける筈が、45回くらいしか抜けなくなるんだよね。

745:名前は開発中のものです。
11/06/26 00:58:35.74 yHqAAcw6
NMIルーチンって、割り込み禁止・許可か、レジスタ退避・復帰で囲むようにしなくても安全かね?
なんか、昔、割り込みルーチンを書くときに、自分で割り込み禁止に設定したような記憶があるんだけど。

746:名前は開発中のものです。
11/06/26 11:02:33.50 +aYN/130
ハンドラ内で使用するレジスタの退避復帰は当然要るな。
他の割り込みをマスクするかは自由っしょ、
スタックを浅くしたい為に他の割り込みが多重化しないように抑制する場合もある。

747:名前は開発中のものです。
11/06/27 11:55:57.26 8R7/sNUH
そういやポーリングでvsync待ちしてるタイトルってあったのかな

748:名前は開発中のものです。
11/06/27 13:22:26.34 qR5Y9iql
素人がプログラムできる環境じゃねえから

749:名前は開発中のものです。
11/07/08 18:15:56.41 uG0IBAE+
スレ違いかもしれませんが、失礼いたします。
yychrで作成したキャラクタをアセンブラで指定する際は
どのように指定すればよいのでしょうか。

750:名前は開発中のものです。
11/07/08 22:04:41.36 4YqiycSs


751:名前は開発中のものです。
11/07/08 22:57:08.18 zQJRKSD9
ゆとりは100レス前も読めない

752:名前は開発中のものです。
11/07/09 14:45:52.95 srxnGWiC
>>747 亀だが。
メインループをVsync割り込みルーチンの外に置いて、帰線期間中かどうかのフラグだけVsync割り込みルーチン内で立てて、
そのフラグを見て、メインループ側からグラフィックを描画する、PCで言うところの可変フレームレートみたいな実装のこと?
それなら、マイクロニクスが下請けした作品(例えば、カプンコが販売した1942とか魔界村)は、確かそんな感じの実装だったはず。
だから、ここの開発作品は、フレームレートやスクロールにムラがあるというか、要するにガクガクしてる。



マイクロニクスが下請けして作った奴(カプコンのアーケード移植モノ)とか、確かそういう実装だったハズ。
ポーリングつっても、単にVsyncを検出して、そこで描画するというだけなので、PCの可変フレームレートのゲームみたいに画面が波打ってる。

753:752
11/07/09 14:49:27.79 srxnGWiC
ごめん、なんか下書きまで一緒に書きこんでしまった。

754:名前は開発中のものです。
11/07/10 10:37:25.14 GbainIGM
スレチだと思いますが、ファミコンのソフトって、当時どんな機材で開発されてたんでしょうか?
やはり出始めのPC-98あたりですか?

755:名前は開発中のものです。
11/07/10 11:59:49.46 oDwZ5p1E
>>754
FM-RとICE

756:名前は開発中のものです。
11/07/10 12:05:31.59 gboDHCui
ファミリーベーシックとファミコン

757:名前は開発中のものです。
11/07/15 17:54:33.95 TL+K3uDK
回路図も紙に手書き。
ノートに書かれたコードをガリガリと書いていく。まずはアルゴリズムレベルで破綻していないかどうか精査。
大丈夫そうならリストをハンドアセンブルしていく。キャラクタも方眼紙に手書きして、16進表記へ手書きで変換。

ファミコンでの動作テストに移るためにSレコードフォーマットに変換しながら打ち込む。打ち込んだものはデータレコーダで保存しておく。
MZ-700のプリンタポートに繋がれた、基盤むき出しな手作り臭漂うライタでROM焼き。
わりと酷使される殺菌灯とタイマをくっつけた手作りイレーサ。
半泣きでROMライタとテスト基盤の間を抜き差ししてまわるデバッグ期間。
繰り返しているうちにライタへROM逆差し。こんな事もあろうかと、と取り出した予備のROMも逆差しして士気崩壊。
作業中うっかりこぼしたせいで持ち込み禁止になったUCC缶コーヒーとカップスター。

なんてこたぁない。全部俺の根拠レスな妄想。

758:名前は開発中のものです。
11/07/15 18:34:18.95 Pfk9H4UB
URLリンク(dyne.org)

759:名前は開発中のものです。
11/07/16 00:38:10.98 +WZDniQ6
>>757
一生懸命想像しながら読んだ俺に謝れよ(´・ω・`)カス

760:名前は開発中のものです。
11/08/05 19:42:53.22 +Yp4oY/i
皆さん、アセンブラは何を使用されてます?
今でもNESASMが定番なんでしょうか。

761:名前は開発中のものです。
11/08/06 16:38:50.63 l3JzaYIg
cc65付属のアセンブラに、NESASMの.bankに対応するものある?

762:名前は開発中のものです。
11/08/07 08:22:50.46 EITdAM2w
今使ってるPCを25年前の俺に渡したくて仕方がない。

763:名前は開発中のものです。
11/08/07 10:10:19.34 61jfXJMT
>>762
まずは手紙を出してみてはどうだろう?

764:名前は開発中のものです。
11/08/07 10:29:56.14 oLVPILZ2
今書き込んでいるのが25年前の俺自身かも。

765:名前は開発中のものです。
11/08/09 22:34:47.28 UH1C53HK
これってROMなのかな?
URLリンク(page5.auctions.yahoo.co.jp)

766:名前は開発中のものです。
11/08/09 23:54:04.13 RNUukSLx
>>762
苦労したみたいだな、よければ当時の惨状を聞かせてくれないか?

767:名前は開発中のものです。
11/08/20 22:46:13.36 qwhhZo9X
今使ってるPCを過去の自分に見せたら
未来に自分のやってることがいかに下らないかわかって
ゲーム作りたくなくなる
今のFPSとかをファミコンやってるころ見たらもうファミコンなんか出来ない

768:名前は開発中のものです。
11/08/20 23:04:20.94 /1UOMzZg
日本語でおk

769:名前は開発中のものです。
11/08/21 01:01:33.59 Y7NTWDXR
FPS
ファミコン
ベクトル全然違うもん並べてる時点でお察し

770:名前は開発中のものです。
11/08/21 01:32:02.62 8uexdb+R
>>767
残念
高性能なPCを送ったとしてもその時代に今のゲームはない
つか今やってもファミコンは面白いよ

771:名前は開発中のものです。
11/08/21 02:38:13.86 JDIcjB+K
high hopes by aspekt
URLリンク(www.youtube.com)

これワイヤーフレームじゃなくテクスチャ?も書いて箱回転させてるが
これがただのスプライトアニメじゃないんなら同じ要領でマップも立体的に見せる事可能なのかね
FF4やFF5の飛空挺みたいな感じで
拡大縮小機能がないワンダースワンのFF4は画面歪ませて立体演出してたが

772:名前は開発中のものです。
11/08/21 04:40:46.84 lgU+aHUi
>>771
デモっていかにそれっぽく見せるかだから馬鹿正直にテクスチャで回転なんかさせないよ
見た感じではBGをラスターで縦伸縮して両脇の箱の縁はスプライトの移動でってところかな

773:名前は開発中のものです。
11/08/21 04:54:13.31 lgU+aHUi
実物見てきた もっと単純で全パターン用意して切り替えただけのアニメだった
それでもファミコンとしてはスゴイ技術なんだけどね

774:名前は開発中のものです。
11/08/21 11:59:51.43 W6RitBNm
>>771
URLリンク(www.youtube.com)
関連を見てたらこんなのが…
どうやって音楽鳴らしてるんだろ?

775:名前は開発中のものです。
11/08/21 12:19:58.06 8uexdb+R
ファミコンにはDPCMがあるやん
市販というか勝手に作ったROMだと実機でも64MBitくらいまでのものもあるから
垂れ流してるだけじゃ

776:名前は開発中のものです。
11/08/22 00:55:13.02 oEhypG+D
>ワンダースワンのFF4は画面歪ませて立体演出

まあファミコンでもこれは出来るだろうな

777:名前は開発中のものです。
11/08/24 00:18:21.30 RPt+Jg4F
>>774
URLリンク(nesdev.parodius.com)

778:名前は開発中のものです。
11/08/24 05:10:56.27 OXU7OF/t
ファミコンにAIRのOP移植で鳥の詩PCMで流してたのあったな


779:名前は開発中のものです。
11/08/25 19:16:31.50 qFvP3Um5
>>1
wsのff4は見たことないけどラスターを間引くってこと?
そういうレースゲームがファミコンにもたくさんありますね。

Vサインしてる箱の回転アニメは
アニメパターンはすべて画像としてBATに転送してあってチップのアトリビュートを
転送してアニメしてるんじゃないだろか。
この処理速度で計算してテクスチャを表示するなんてファミコンには不可能。
アニメは全部BATを書き換えてやってるんでしょう。
ファミコンはマッパーによっては画像をVRAM転送するまでもなくロム切り替えで
VRAMから見えるから絵の転送時間はかからない。PCEやメガドラでは出来ない芸当。

780:名前は開発中のものです。
11/08/25 19:17:34.90 qFvP3Um5
>>775
それの絵のバージョンが>>771なんでしょう。
音を鳴らすには
・波形データを直にDPCMへ。ざらつく。容量巨大に
・レジスタに直にログデータ。デモでよく使われる手法。容量大きくなる。
・MMLを内部で処理して音楽を流す。プログラム的に難易度が高くなる。容量節約。
市販ゲームからパクったMML処理プログラムとか組み込んで何か作ろうとしたけど
ダメでした。FCはゲームを作るにもデモを作るにも難易度が高すぎる。

781:名前は開発中のものです。
11/08/25 19:19:49.38 qFvP3Um5
>>778
何年か前にAIRデモのソース見たけど
レジスタ直接にログデータでした。
DB $FE,$10,$15.......みたいなのをPSGのレジスタに流し込む

782:名前は開発中のものです。
11/08/25 20:23:03.57 Tpd+IymW
>>779
ネームテーブル見れば一発でわかるっての

783:名前は開発中のものです。
11/08/25 21:37:10.27 bx7r2PyL
WSCFF4
URLリンク(www.youtube.com)


着陸する時が変な感じだな

784:名前は開発中のものです。
11/09/13 11:27:34.58 6DL8Eput
アクスレイかよ
一応凸型に湾曲してるように見えるけど、
わざわざ平面に戻そうとするからその時は凹型に見えるな

785:名前は開発中のものです。
11/09/27 07:04:23.49 4poP3GZs
このFF4って画面上下別々にラスタースクロール処理してんの?

786:名前は開発中のものです。
11/09/28 04:36:59.73 2uyGTkog
言ってる意味が分かるけど分からないフリをしてやると
ライン毎のYスクロール値にVLINE-cosを適用してるだけだぞ

787:名前は開発中のものです。
11/10/23 19:29:59.24 81xQfjml
まとめwikiいらない?

788:名前は開発中のものです。
11/10/24 01:11:56.92 1mO5vtLi
要る

789:名前は開発中のものです。
11/10/30 13:02:16.03 xOKekvUI
そろそろ、何か書き込まんとね。wiki

790:名前は開発中のものです。
11/11/08 00:48:39.18 6sBEInJ/
>>640>>644
スレ違いだが、ザナックの2面っぽい音楽の気がした

791:名前は開発中のものです。
11/12/03 00:39:44.28 vMbWyTOA
誰かDPCMのフォーマットについて詳しく教えてくれ

792:名前は開発中のものです。
11/12/03 07:32:50.75 YgC67ZqP
自分でリサーチすらもできない程度の奴が理解できるとは思えません

793:名前は開発中のものです。
11/12/03 21:52:48.71 vAQ9vMfi
なんじゃフォーマットって。
アドレスと長さと音程を指定するだけだけど。 サンプルデータの1で+2、0で-2電圧が変化する。

794:>>791
11/12/04 00:35:50.87 2Aubg80L
>>793
フォーマットじゃないな、アルゴリズムか
例えばの話だけどの三角波を出したかったら、
7E 7E 7E 7E 7E 7E 7E 7E 00 00 00 00 00 00 00 00
のデータをループ再生すればいいってこと?

795:名前は開発中のものです。
11/12/04 01:30:34.87 Qbm57SBE
自分でwavファイルから変換するプログラム作って確かめろ
高周波が含まれていると追従できなくなるはず
低めの音だけに限る

ところで最近のこのスレのゆとり住人は
市販ゲームをなぜ調べない?
製品にいくらでもヒントが眠っているだろ

自分でプログラム作る気がないなら
他人のDPCM変換ツールをブラックボックスとして使えよ

796:>>791
11/12/04 03:30:11.97 2Aubg80L
>>795
悪かった
もう一度全ての資料及びゲームのROMデータを調べなおしてみる

797:名前は開発中のものです。
11/12/04 04:55:20.19 +0tBkh9C
URLリンク(www.geocities.co.jp)
にある、DMC converterを落として使ってみなされ。
 後DPCMの指定方法は、ニコニコ大百科の"FC音源"のページも
いい参考になるよ。

798:名前は開発中のものです。
11/12/10 21:21:00.72 /T4Zmsfu
>>795
犯罪行為をすすめてんじゃねえよ、ハッカー気取りの糞が。

799:名前は開発中のものです。
11/12/10 22:21:45.76 bm97yxgn
どこのメーカーも当たり前にやってたけど言葉にして言うもんじゃないよな

800:名前は開発中のものです。
11/12/11 02:50:36.46 SdTJMKQn
>>798
犯罪行為?

801:名前は開発中のものです。
11/12/11 12:22:32.17 lhDcqR5b
>>795
こういう奴いるよな~

802:名前は開発中のものです。
11/12/11 13:42:41.83 K6GvO3X4
法律なんてあったっけ?

803:名前は開発中のものです。
11/12/11 13:55:35.64 l0jw4cwN
ダビングと同じで個人で使用するなら別に問題は無い。
ただし配った地点で犯罪。

804:名前は開発中のものです。
11/12/11 14:01:06.56 x07eS4w0
リバースエンジニアリングは犯罪(キリッ
って言いたいんじゃないの

そんな法律はないが

805:名前は開発中のものです。
11/12/11 17:35:03.96 jaMIVBp3
>>795romを逆アセンブルしろってこと?

806:名前は開発中のものです。
11/12/11 17:39:54.85 hG7D3Asz
嘘吐けこの野郎おまえらなんか違法ダウンロードしまくりだろうが私はやってませんみたいな態度とりやがって

807:名前は開発中のものです。
11/12/11 18:17:41.58 jaMIVBp3
>>806
romカセットを持っている状態で同じデータをどっかからダウンロードしたら違法?

808:名前は開発中のものです。
11/12/11 19:11:25.71 fGCqOjvy
ここは○ジ○ンなんかが出てくるより、5年以上前から自力で吸い出してる人しかいないがな。
この板の他のゆとりスレとは違うんだよ。
ということで>>794はキチゆとりということで二度と書き込むなよ。
>>730需要なし、ゆとり症の典型コピペ。

809:名前は開発中のものです。
11/12/11 21:44:23.11 drf+od2z
>>807
違法だぞ

810:名前は開発中のものです。
11/12/11 21:48:14.60 K6GvO3X4
>>809
判例が無いから何とも言えない筈だけど?

811:名前は開発中のものです。
11/12/11 21:51:44.08 drf+od2z
>>810
著作権法に照らし合わせると黒だったはずだが
自前で吸い出したのならともかく

812:名前は開発中のものです。
11/12/11 21:54:39.49 K6GvO3X4
>>811
だから、その根拠を言ってみてくれ。 絵画に例えてもいいぞ。

813:名前は開発中のものです。
11/12/11 21:55:13.55 4ucPJgxO
ここまでコピペ

814:名前は開発中のものです。
11/12/11 23:17:18.63 F+Z83Gid
つまらんから別スレでやれや

815:名前は開発中のものです。
11/12/11 23:37:11.41 K6GvO3X4
>>814
わざわざID変えて逃げるのかい?

816:名前は開発中のものです。
11/12/12 00:15:02.52 nBVxYvq+
お前らはここをどんなスレにしたいんだよ

817:名前は開発中のものです。
11/12/12 09:35:00.87 QbmH/FSR
>>816
ときどき誰かが自作ソフトを投下してくれるのを哀願して待つ乞食供の巣窟

818:名前は開発中のものです。
11/12/12 20:47:58.66 G+8HPzW6
>>815
俺を待つのはいいけど、そんなにがっつきなさんなw
おじさんこまっちゃうよ
とりあえず、複製権読んで落ち着きなさい

819:名前は開発中のものです。
11/12/14 18:29:03.94 MNIieFoj
ファイナルファンタジーの飛行艇に影が付いてるのがどうして難しかったんでしょうか

820:名前は開発中のものです。
11/12/17 16:35:16.57 VZSM0cA6
URLリンク(www.dotup.org)
スプライトの描画と移動に成功した!
低次元ながらとても嬉しい
ただソースが汚いかもしれないんで間違いとか、気になったことがあったら教えてもらいたいです。
今は移動方向に向きが変わるようにしたいんですが、苦戦しています。
キー入力を取得したらスプライトが変わるように追記しても反応しねぇ……

821:名前は開発中のものです。
11/12/17 16:38:06.01 VZSM0cA6
↑のファイルは転載とかご自由にどうぞ
役立たないだろうけど

822:名前は開発中のものです。
11/12/17 17:45:08.40 MUZ3q3xG
>>820
fceuで動作しました
車のようなキャラが上下左右に動きました
報告まで

823:名前は開発中のものです。
11/12/17 18:57:55.39 kgyLm/AB
日記はチラシの裏でやってくれ

824:うろ覚えだけど
11/12/18 19:36:54.57 4dl3E88q
>>820
>>  mainLoop:
の下
>>  lda $2002
>>  bpl mainLoop
は要らない。

スプライトやBGに書き込むときは、$2001でそれぞれの表示をオフにすること。
BGのスクロールをリセット。
VBlankから出る前に表示をオン。


>>  jmp NOTHINGdown
こういうやりかただと、この先キーの複数同時押しに対応できない予感。
if-elseの構造をよく考えて分岐命令を組み立てること。

825:名前は開発中のものです。
11/12/21 18:32:49.55 hZ3qyhWY
>>824
ありがとうございます。
キー入力は「キー入力からスプライトの変更」ではなく、
「スプライトの分岐にキー入力」と組み込むようにしました。

相変わらず、方向キーに従ってスプライトの向きが変わる所で苦戦しています。
流れとしては、
スプライト初期化の時点でリセット後に表示されるべきスプライトの初期化を行う。
NMI割り込み中に、各キー入力に対応したスプライトの表示や座標の設定、
タイルの選択を行う。
割り込み復帰。
という流れで合っていますよね。



826:名前は開発中のものです。
11/12/23 12:55:40.24 mf7Mi7yx
>>825
各タイミングは良好。
VRAMやSPRRAMへの転送は出来ていた。


8x16のスプライトを使ってたのね。
move.spr内のタイルについて
#3, #5はいいけど
#7, #9, #11(, #13)の配置が合理的じゃないね。
奇数番号に配置するのは気持ち悪くないかな。

827:名前は開発中のものです。
11/12/26 22:43:06.81 JK9VAiar
これ面白かった
URLリンク(www.nicovideo.jp)

828:名前は開発中のものです。
11/12/29 17:44:35.60 iN0eE6WX
>>826
ありがとうございます。
タイルは奇数と偶数番号の違いによって起こる弊害がよくわからなかったので、このままにしてあります。
>>820でいっていたように十字キーに合わせた向きにスプライトが変化させようとしています
苦戦しつつもコードを書いてみたのですが、
実際のところアセンブルしても、何も表示されないというどうしたらいいかさっぱりになってしまいました。
PPU制御レジスタのタイミング等も問題無いはずなのに。
ファイル類をupしますが、原因が分かるかたがいらしたら教えていただければ幸いです。

URLリンク(www.dotup.org)

ちなみに上記ファイル内の.nesを実行しても白い画面が出るだけです。
スプライトは8x8の4つつなぎで16x16を表示させようとしています。
また、ほかにもコード上の間違いなどありましたらアドバイスをお願いします。
教えて君で失礼しました。

829:名前は開発中のものです。
11/12/29 18:59:24.03 dc9DkpcP
>>828
うわぁ…めちゃくちゃになってる。
G-NESのデバッガやメモリビューアーなど使ってないな?⇒>>455-458

jsrでサブルーチン呼ぶ方法と(jsrはスタックに復帰アドレスを積む)、
rtsでサブルーチンから復帰する仕組み(rtsはスタックから復帰アドレスを取り出す)、
jmp命令の置き方、
NESASMのラベルやローカルラベルの意味、
理解してないね。

いくらラベルを書いても、CPUは勝手にジャンプしてくれないよ。
ラベルはアセンブラだけが理解するから。
  161-164行目
  jsr .sprite2
  .sprite2
こういうのが全部おかしい。
move3.asmはかなりの修正が必要なので、
古いソースを使うなどソースコードの規模縮小して、
jsrとrtsの実験して挙動を徹底的に理解してからだ。

830:名前は開発中のものです。
12/01/02 13:09:32.77 lSsFyPQm
>>829
G-nesのデバッガを使ってみましたが、逆アセンブルした結果と同じものが
表示されることはわかりました。ただ、そこから、どうやって間違いをさがして
いくのかがわからずじまいでした。
ソースを作り直し、
URLリンク(www.dotup.org)
(スプライトが表示されるだけ)
URLリンク(www.dotup.org)
(スプライトが前に進むだけ、実際はパッド入力無視で上に動きまくる)
というものをつくり直しましたが、どうやら「パッド入力のコード」か「jsrやjmp」命令
のどちらかがおかしいところまでしかわかりませんでした。


831:名前は開発中のものです。
12/01/02 17:47:39.54 X3dxf4vn
URLリンク(www.nicovideo.jp)

832:名前は開発中のものです。
12/01/02 19:09:13.80 n94y3PyC
>>830
だけど、解決したかも
少ししたらソース上げます

833:名前は開発中のものです。
12/01/02 19:09:30.94 wj3bEWpd
日記でやってくれ

834:名前は開発中のものです。
12/01/03 01:48:08.06 +lUngSpx
>>832です
URLリンク(www.dotup.org)
これからはじめる方の参考にでもなればと思い、段階的に作っていったファイルもupします。
作ってはみたものの、入力する向きによって移動速度が変わってしまうのはなぜでしょうか

コードの間違いがあるかと思いますので、気になったところがあればご指摘下さい。
ここまでお世話になった方々には大変感謝いたします。


835:名前は開発中のものです。
12/01/03 04:06:45.60 u8qw4Hxp
>>834
そんなゴミコードいらん
他人の書いたコードを読むよりも自分でコード書いたほうがはるかに学習できる
つーか、ロダのファイルが流れたらそれまでじゃねえか

いいからお前はブログにでもしこしこ成果を書き連ねておきなさい
そのほうが後でトレースできるだろうが
ここはお前だけのスレじゃねえんだよ

836:名前は開発中のものです。
12/01/03 07:21:47.04 Rs+NaMR1
透明あぼーんの機能って便利だな
835が見えない

837:名前は開発中のものです。
12/01/03 11:55:04.27 sDvhkVPg
単に自分のエゴを他人の為という大義名分で隠してるだけだよぉ

838:名前は開発中のものです。
12/01/03 12:18:02.07 v6rPdQJK
>>830
>>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られても添削以前にゴミコードと呼ばれるオチ。

839:名前は開発中のものです。
12/01/03 16:21:22.69 iFHvKPzU
URLリンク(www.dotup.org)
>>838さんありがとうございます
指摘の箇所を修正しました、斜めにも移動するようにしました

840:名前は開発中のものです。
12/01/03 17:08:42.74 bJlmRWM9
迷惑がられてることに気が付かんのか、このチビデブハゲは

841:名前は開発中のものです。
12/01/03 17:24:00.35 H6NFJvAO
スレタイ通りなんだから、こんな流れもいいんじゃね

842:名前は開発中のものです。
12/01/03 17:43:42.60 u8qw4Hxp
このスレが>>839の成長を見守るスレだったのならそれでいいかも知れんが
ここは日記帳じゃないんで、そういうことしたいなら別の場所でやれと

843:名前は開発中のものです。
12/01/03 18:03:41.10 I2Q5b+iT
何するスレなんだろう

844:名前は開発中のものです。
12/01/03 19:44:22.44 Nr8ebGF2
個人的には応援したいが、
blogやwikiでやってくれた方が、後で同じ事する人の役に立つかもしれんね。
今のようにやってたら、ログは残ってもASMソースは見れなくなるし。

>>839
短期間に何度も「●●を直したからアップロードした。そっちを見てくれ」ってのは、スレの私用と取られてもしかたないよ。
スレには問題で詰まった時、ある程度動くものができた時にでもアップロードするといい。

845:名前は開発中のものです。
12/01/03 21:02:37.82 XLqGvBE0
擁護しているヤツに限って何の知識も持っていないのが笑えるw

846:名前は開発中のものです。
12/01/03 22:32:14.86 I2Q5b+iT
私用、私物化ってことか
なるほどね

847:名前は開発中のものです。
12/01/04 22:45:57.55 wxSEW83G
私は、がんがん発言してくれる人がもっと多く出ないかな、と思っている。
むしろ、私物化してしまうくらいのパワーを持った人が出てこないかと。
ひたすらめげない、純粋な彼は凄い。839氏も。
 最後に、俺が言えることは・・.equは=で代用できるということと、
Vblankは2回待つ取りこぼしがなくていい感じということ位です。
あんまり冴えないけど。
 

848:名前は開発中のものです。
12/01/04 22:50:20.59 wxSEW83G
しまった,839ではなくて838氏であった。

849:名前は開発中のものです。
12/01/05 00:32:57.18 uFJ3/4+1
そりゃ単なるエゴだよ

850:名前は開発中のものです。
12/01/05 00:34:28.74 3AE7SFHG
持たざる側が言っても説得力ないっす

851:名前は開発中のものです。
12/01/05 01:41:10.97 2mwi10x4
ならおれもゴミとおっさんの思い出話をうpして駄レスで埋めていい?
一応モノはあげてるから私物化しても問題ないんでしょ
まあ、文字通り中身はただのゴミだけどな

852:名前は開発中のものです。
12/01/05 02:16:08.36 uFJ3/4+1
>>851
低次元な事はやめれ

853:名前は開発中のものです。
12/01/05 08:37:37.39 WUin/CUT
暴れてる奴はただの基地外なんだから黙って透明あぼーんにぶちこめばいい

854:名前は開発中のものです。
12/01/07 13:33:43.31 /em5qwMG
MMC5のサンプルって、もう無いんでしょうか?
今、作ってるんですけど、どうしてもBank切り替えで止まってしまうんで
参考にしたいんですが

855:名前は開発中のものです。
12/01/07 23:16:36.56 K3N5UYpY
>>854
nesdevのフォーラムのどっかにあったような気がする
間違えてたらごめん

856:名前は開発中のものです。
12/01/07 23:28:59.20 RM6ST/Gn
止まるってそんなに特別なことしてないだろ
根本的な把握不足じゃね?

857:名前は開発中のものです。
12/01/08 01:53:54.48 YPL704S7
PRGのバンク切り替えごときで止まるなら
先にMMC1でもやっとけ
$E000-$FFFFだっけ?をチェンジしたときにどういう構成で.asmに書いておかなきゃならないか
から学習しろ

858:名前は開発中のものです。
12/01/09 15:52:27.67 GULFH+5Q
bank0から3は切り替えられるんだけど
4を切り替えると止まるんです
MMC1とMMC3は、もうやりました

859:名前は開発中のものです。
12/01/09 16:56:10.53 MZhJhv7o
>>858
nintendulator
のデバッガを使ってみたら?

860:名前は開発中のものです。
12/01/09 17:33:04.46 86kLMrdo
どうせ切り替えた先のバンクに割り込みベクタ書いてないとかいう話でないの?

861:名前は開発中のものです。
12/01/09 17:33:14.97 xm0gl07F
実行中の領域切り替えるとそれ用の書き方していないと大概暴走するけど
まさかこんな初歩的なことじゃないよね。

どんなレベルの人かわからないから一応書くけど、理解してたらスマン。

862:名前は開発中のものです。
12/01/09 20:41:27.61 GULFH+5Q
単純すぎるミスでした
バンクの数え間違いでした
すいません

863:名前は開発中のものです。
12/01/11 20:25:41.59 Gg6iC/E0
いい加減このスレの方向性をきめろ

アセンブラを知ったばかりの初心者の質問にも答えるようなものなのか、
初心者お断りの硬派プログラマーのためのようなものなのか

864:名前は開発中のものです。
12/01/11 20:47:09.65 pf4UDMRr
初心者から玄人までどうぞ。

865:名前は開発中のものです。
12/01/11 20:55:12.62 qUiNaTW5
メトロイドのソースがあったんだけど
これ見たら勉強になるよね?(´・ω・`)

866:名前は開発中のものです。
12/01/11 20:56:07.14 4yQAEVxN
それぞれが節度ある行動をしてくれれば問題ない
そもそも決めたところで出てってくれるのか?
それならID:Gg6iC/E0がいないスレに1票

867:名前は開発中のものです。
12/01/11 20:58:19.90 hCxZnmx9
>>863
おまえが来なきゃいいだけ

868:名前は開発中のものです。
12/01/11 21:38:45.95 Gg6iC/E0
ここが>>864の言う通りのスレだと思ってたら
なんか>>794あたりから荒れだして
一体なにするスレなのかよくわからんってだけ
ちょっとイライラしてたのは謝る

869:名前は開発中のものです。
12/01/11 21:56:52.65 fC2GtEJd
進行遅いんだしなんでもいいんじゃない?

870:名前は開発中のものです。
12/01/11 23:25:50.70 0rV0JscD
そいつのレベルに合わせて教えるだけ。
最低限試そうともしないで甘えるなら突っぱねる、
それはいつの2ちゃんでも同じ掟だ。


>>794の場合、NesDevの資料読んでないか理解出来てないし、>>797のソース読んでないのが明らかだったから駆除された。
本当に厳しくいうなら「NESエミュのソース読めば?」

6502の命令の挙動が分からないなら、
6502の資料に乗ってるC言語のサンプルを見る、
x86~i386、CASLⅡあたりのアセンブラ関連書籍を見る、
本来の最低ラインだぞ。

そこまで努力するのは大変だから、多少は近道ヒントを出すがな。

871:名前は開発中のものです。
12/01/12 03:08:39.00 aD3EcQgI
ファミコンで3Dワイヤーフレーム表示を実現してるのってElite以外にあったのかな
GBのXとかX68kのスターウォーズとかPC-88のシルフィードとか
個人的にワイヤーフレーム表示は未来を感じさせるから好きだ


872:名前は開発中のものです。
12/01/12 08:16:22.88 G1Vk0Vj7
ただの擬似ワイヤーフレームです
好きな割に何もわからないのですね

873:名前は開発中のものです。
12/01/12 10:01:18.07 F//iZi+q
Tankというデモくらいしか知しらない。
NesDevのここからソースが落とせるよ。
これは3D計算をいちいち行っているのだろうか。
>URLリンク(www.iancgbell.clara.net)

874:名前は開発中のものです。
12/01/12 19:19:01.21 aD3EcQgI
>>872
シルフィードのこと?

>>873
おお、すごい
やっぱり作っている人はいたのか

875:名前は開発中のものです。
12/01/18 13:33:07.73 rALhV71b
>>872
擬似だろうと本物のワイヤフレームだろうと、
「ワイヤフレーム表示を行う」ことに意味があるのがわかっていないようだなw

876:名前は開発中のものです。
12/01/18 14:25:26.74 S1iAJYcz
意味も意義も無いからな

877:名前は開発中のものです。
12/01/18 18:09:54.33 nlChypdB
プレイヤーには内部処理とか全く関係ないからな・・・

878:名前は開発中のものです。
12/01/18 19:16:33.44 RKcC+g4f
意味以前にデザインの問題ならここで語る必要ないよね

879:名前は開発中のものです。
12/01/19 02:03:03.92 L8o1FtXY
夜遅くなってしまいましたが、nsfのmckアプロダにならって
プログラム用のアプロダを設置してみました・・・。
ぜひ使ってみてください。ここなら、しばらくはサンプルを残せるはずです・・・。
URLリンク(loda.jp)


880:名前は開発中のものです。
12/01/19 23:12:11.02 7gbjzQb6
どうなんだろうな
このスレにそこまでプログラム等をあげるやつがいるかどうか

881:名前は開発中のものです。
12/01/19 23:58:29.93 hHtCo2gV
作品を出し合うmckスレと違って
デバッガすら使えない底辺層が動きませんって持ってくるだけだからなあ
キチンと作ってるなら自分で公開するだろうし

882:名前は開発中のものです。
12/01/20 00:30:36.45 Zdogrnih
どんどん出してゆくきっかけが大事だす。
投稿する勇気とプログラムを作り遂げるやる気があれば怖くない!

883:名前は開発中のものです。
12/01/21 06:07:37.03 9bEmjgCC
ろだ乙ー。
折角だから、昔ちょっと思いついてデモを作ったらNNNesterJでしかまともに動かなくて
仕様調べるのめんどくさくてそのままにほったらかしてた物を上げてみる。
URLリンク(loda.jp)
8×12の文字が出るだけ。ゴミが出るけど気にしない。

884:名前は開発中のものです。
12/02/04 01:29:41.51 2Pu07awT
やっぱりDLしてる人もUPしてる人も少ないね
LODA.JPも終わるみたいだし・・・・


885:名前は開発中のものです。
12/02/04 22:13:10.59 hU4F/CcW
「2a03」じゃ、どっかの音楽サイトみたいじゃん。

886:名前は開発中のものです。
12/02/05 20:23:38.13 frUzAJqn
よくドラクエを作る時にフォントが足りなかったって聞くけど
後期の作品だとどの作品見てもフォントが足りないようには
見えなかったんだけど、何か解決策が見つかったの?

887:名前は開発中のものです。
12/02/05 21:51:04.38 7qDYFAai
容量が解決しただけじゃね?

888:名前は開発中のものです。
12/02/05 22:22:17.86 frUzAJqn
>>887
その辺がよく分からないんだけど
結局グラフィックに割り当てた分、使えなくなるフォントが出るんだから
容量が増えても解決しなくない?

889:名前は開発中のものです。
12/02/05 22:32:48.60 DiMK2dc4
解決なんかしちゃいない。
平仮名は全部使えるが、カタカナは使い回しまくり。

890:名前は開発中のものです。
12/02/05 22:59:50.38 Ov8gxOpf
IRQ割り込みをうまく使えば、
なんとかなりそうではあるな。

891:名前は開発中のものです。
12/02/05 23:03:34.78 ruANVDhi
このスレ的に部外者なら仕方ないが
パターンテーブル見てこないゆとりバカうぜえ

892:名前は開発中のものです。
12/02/06 00:01:10.58 3h/dwAAc
類は友を呼ぶから底辺層隔離した方がいいわマジで

893:名前は開発中のものです。
12/02/06 00:10:28.33 3GeCH5V3
まず>>891は最高に頭が悪そうだから隔離対象だな

894:名前は開発中のものです。
12/02/07 00:31:08.33 WdJ6o1Xs
そして誰も居なくなった

895:名前は開発中のものです。
12/02/08 17:08:46.34 hRRRpEP8
このスレってゆとりとおっさんを除いたら
誰もいなくなると思うの

896:名前は開発中のものです。
12/02/08 20:06:57.16 4ST7s66W
20代後半以前と30代前半以降をオミットするのか?

897:名前は開発中のものです。
12/02/08 21:24:51.91 4qeAEpGe
世代関係なく日記書いたり場をわきまえないカスが叩かれる
いまのところそれが若年層に多く見られるってだけ
まともな奴だっているだろ?いないの?

898:名前は開発中のものです。
12/02/08 22:55:49.87 8Q9CDJtM
>>893
ヒント教えてもらっても、礼をいうどころか、こうやって捨て台詞吐いて勉強をやめるのがゆとり。

899:名前は開発中のものです。
12/02/08 23:14:06.21 gpqJUScR
>>898
ヒントどころかまるで間違った発言がか?www

こうやって自分が間違っていることにすら気付かないで
偉そうに勘違いしているのがゆとり。

900:名前は開発中のものです。
12/02/08 23:20:34.86 Y8a3Hkms
ゆとりって何?2ちゃん用語?

901:名前は開発中のものです。
12/02/09 00:29:33.61 /kEIoADq
な、自分で調べられないド低脳が居着いてるだろ

902:名前は開発中のものです。
12/02/09 17:43:44.55 VhURgzOj
インダイレクトY(Xも)を使わないと、てっきり960回ネームテーブルに出力できない
と思っていたが、ギコ猫さんのソースを少し改造したやつで
    lda #$20
    sta $2006
    lda #$00
    sta $2006
    lda #$01 ; 1番(レンガ)
    ; 120*8=960回出力する
    ldx #120 ; Xレジスタ初期化
    ldy #8 ; Yレジスタ初期化
.loadNametable2
    sta $2007 ; $2007に書き込む
    dex
    bne .loadNametable2
    ldx #112 ; Xレジスタ初期化
    dey
    bne .loadNametable2
とやれば出来ることが分かった。
よく考えればC言語で2重ループで掛け算の計算できるから当たり前といえば当たり前だが

903:名前は開発中のものです。
12/02/09 17:51:31.17 VhURgzOj
九九の掛け算ね。

904:名前は開発中のものです。
12/02/09 23:22:19.98 XoK1fOva
>>899一番間違ってるのは>>886だろ。

>>後期の作品だとどの作品
後期ってドラクエⅢ、Ⅳのこと意図してるの?
ドラクエだけの話なら、ⅠだけがCHRがROMで、Ⅱ,Ⅲ,ⅣはCHRはRAMなんだけど。
>>フォントが足りないようには 見えなかったんだけど
IからⅣでカタカナが入れ替わったり多少の変更があるけど、
フォントとウインドウのパーツ数の合計に差はない。
エミュやYY-CHRでパターンテーブル見てない奴の勝手な感想。

ファミコン後期って言いたかったのかな?
どちらかに当てはめれば>>887 >>889 >>890 >>891 >>892全部正解

ということで質問自体がおかしい。

>>902
初歩過ぎる、ミスって904回になってる、日記乙


最近この辺の板、スマホのバカ発見器のバカ増えてる?こんなの立てちゃったり
スレリンク(tech板)

905:名前は開発中のものです。
12/02/09 23:46:22.24 aYrAEr2k
>>904
お前も相当馬鹿なんだな
少なくとも>>887は正解ではない
>>889が最初の正解

なんでこんなレベルが低いのばかり住み着いちゃったんだか

906:名前は開発中のものです。
12/02/09 23:51:41.58 EYsae1tP
そりゃ当然、類は友を呼ぶってやつだろうな

907:名前は開発中のものです。
12/02/10 00:00:58.29 kmTaVqDA
なんでみんなそんなにイライラしているの?

908:名前は開発中のものです。
12/02/10 00:07:48.56 c+T5Rrwm
CHRRAMは特殊なのを除いて2KしかないからIRQからのバンク切替はできないし
町中とかウインドウ方式だとそもそもライン単位では無理

909:名前は開発中のものです。
12/02/10 09:50:24.25 T98mZ9CI
旧メーカー社員が紛れてるんだろ
腹いせだよ、腹いせ

910:名前は開発中のものです。
12/02/10 23:56:20.92 Bkz01ci5
>>905
解決したとは読み取れないように書いたと思うんだが。

MMC5のデカいフォントのゲームでは
「容量が解決」も間違ってはいない。

911:名前は開発中のものです。
12/02/11 03:02:16.61 DMNaSAjw
>>902
もっと簡単に

sta $2007

をいくつか並べのもアリだよ

912:名前は開発中のものです。
12/02/11 03:31:32.37 8uSTaWoM
ファザナドゥなんかはその会話で使うフォントだけをCHRRAMに転送してるね
一つ一つのメッセージが短く少ないならこういう方法もアリだけど
ドラクエほどメッセージ量が多いと逆にレスポンスが悪くなっちゃう

8bit機は制約が大きいからデザインとプログラミングは不可分だよね

913:名前は開発中のものです。
12/02/11 16:40:46.31 XH8T0Uvm
質問失礼します。
現在シューティングゲームを作ってみているのですが、BGの当たり判定で止まっています。

① ② ③ ④

とブロックがあった場合、スプライトの弾がぶつかったら消滅というコードをくんでいるのですが、
スプライトと違い座標を用いた方法以外で、衝突判定を見る方法はないものでしょうか
ブロックと弾にカウンタを置いて、弾のカウンタとand演算等で分岐をとも思ったのですが、
ブロックの数によっては汎用性がなさそうなので、なにかあれば教えて下さい



914:名前は開発中のものです。
12/02/11 19:08:00.50 DMNaSAjw
>>913
座標を使う以外にやりようはない。

基本は当たり判定を取りたい座標をブロックのサイズで除算。

除算をまじめにやるとしょぼいCPUでは遅いので、ブロックのサイズを
2^nにしてシフトで出来るようにする。

すり抜け対策とかドット単位当たり判定とかは説明がめんどいので
考えてくださいw

915:名前は開発中のものです。
12/02/11 23:11:04.33 XH8T0Uvm
>>914
あぁなるほど徐算でしたか、感覚としては因数分解みたいな感じですね
ありがとうございます。


一応確認なんですが、私は当たり判定ではcmpによるネガティブフラグで判定をしていますが、その調子で大丈夫ですよね

916:名前は開発中のものです。
12/02/11 23:29:41.07 bvbq0wS4
実際に作って確かめてみることが一番でしょう
何事も試行錯誤です

917:名前は開発中のものです。
12/02/11 23:38:43.03 qaTR3LgQ
ずいぶんマニュアル人間だな ゆとり教育の弊害か

918:名前は開発中のものです。
12/02/12 00:56:09.91 gUUDEgxL
>>917
インデックスレジスタを用いた擬似的乗徐算を乗徐算と意識していなかったから

と言い訳しておきます

919:名前は開発中のものです。
12/02/12 02:17:00.92 /ainxqCj
胸張って言い訳する神経が理解できませんが逆ギレみたいなものなのでしょうか?

920:名前は開発中のものです。
12/02/12 05:02:51.58 E+fNx3cK
ちと気になったんだけど除算の除の漢字はわざと間違ってるんかな?

921:名前は開発中のものです。
12/02/12 09:07:11.43 aKdW3vVV
既に知っているやつが居ないかどうか確かめるのはいいことだ。
各人が車輪の再発見をしなきゃいけないなんて無駄もいいとこ。

922:名前は開発中のものです。
12/02/13 00:48:33.85 lzhnxno4
持ち歌がまたひとつ消えてしまった遠藤

923:名前は開発中のものです。
12/02/13 01:49:33.22 +XSjeNKo
>>912
そういやGBのゼルダがそのやり方っぽいな
というかもしかしてGBはみんなそのやり方なのかな
GBでカタカナに制限があるゲームって見ない気がする

924:名前は開発中のものです。
12/02/13 05:57:30.53 P3L21QRY
>>923
GBはファミコンでいうCHR-RAMしかないからじゃないかな
カートリッジにCPU側のバスしか出ていない設計だったかと

925:名前は開発中のものです。
12/02/18 10:25:42.97 YR3CrAXp
>>879のろだ3月で終了だぞ

926:名前は開発中のものです。
12/02/18 23:48:26.97 E8fj6J+Z
>>923
キャラクタをROMとして提供したゲーム機はファミコンくらいでしょう。
任天堂ハードにおいても。他ハードは、VRAMに展開する方式だし。

927:名前は開発中のものです。
12/02/19 01:38:31.81 up1P9huo
あとはネオジオくらいかな
家庭用って言っていいのかわからんけど

928:名前は開発中のものです。
12/02/19 16:42:10.96 HsfNQTml
 ラスタスクロール割り込みでCHR-ROMバンク切り替えをして256パターン
以上を表示できる仕組み登場したことはおもしろいですわ。ファミコンが
発売された当初は想定されていないことだったでしょうけど。これがあった
から、10近くは持ったのでは?と思っとりますよ。



929:名前は開発中のものです。
12/02/19 18:20:39.95 h5opwI+K
通信アダプタでもその仕組みはあったよね。
アダプタに16KBのCHR-RAMと漢字ROM(第一水準?)を搭載したおかげで、
標準で日本語表示と4色のフルグラフィック表示に対応してた。
(バンク切り替えのタイミング管理の方法は知らないけど、
多分ハードウェア側で任意のラインでIRQ生成する機能があったと予想)

ゲームソフトがでなかったのが非常に悔やまれる・・・
ディスクシステムを使える機能(?)も結局使われてないし・・・
これを見たとき、ファミコンとディスクシステムとキーボードと通信アダプタが
合体すれば、どんな楽しみ方ができるだろうと妄想してたよ

930:名前は開発中のものです。
12/02/19 20:55:13.09 U6dbhp2V
ラスターでCHRバンク切り替えるだけだと1ラインごとに256パターンしか
出せない気がするんだが、それでどうやって漢字表示してたんだろう
結局キャラクタ自体も書き換える必要があるのかな

931:名前は開発中のものです。
12/02/19 21:53:51.47 h5opwI+K
ファミコンの解像度は256x240で、
1パターンは8x8ドットで構成されるのだから、
ファミコンの一つの画面上に出せるパターン数は
32(横に並ぶパターン)x30(縦に並ぶパターン)=960パターンとなる。
ファミコンのPPUが一度に参照できるキャラクタは256個までなので、
画面描画中に3回バンク切り替え等の処理をする必要がある。
(大体32、64、128ライン目描画後のH-BLANK時)

漢字自体は、CPU空間に存在するROM・RAMからデータを読み、
I/Oを通して、PPU空間のRAMに書き込む。

932:名前は開発中のものです。
12/02/19 22:06:17.26 yDN7dT+T
画面全体を重複なく別々のキャラクタで敷き詰めておいて
定義側を書き換えて表示させるってことか

933:名前は開発中のものです。
12/02/19 23:12:49.32 7lUDE9va
最近プログラマじゃない人種が居ついてるな。


934:名前は開発中のものです。
12/02/20 00:01:31.48 jCs3Lday
お前の言うプログラマってのがデバッガすら使えないで動きませんって言ってるレベルの奴なら
そうなんじゃね?

935:名前は開発中のものです。
12/02/23 22:29:16.92 9OQqfVZC
任天堂が大嫌いで反社会的な行為としてROM基板含めて自作ファミコンソフト作ってるわ

936:名前は開発中のものです。
12/02/24 23:13:20.04 aLx23JaI
決死隊ですか

937:名前は開発中のものです。
12/02/25 00:46:14.68 0truvwjh
>>929
ラグランジュポイントも8K以上のCHR-RAMを積んでいたのかと考えている
あの画像と、日本語フォントは512パターンで生成できなそう。VRC7はMMC5
の如く、Ex-RAMを使って2バイト指定でBGパターンを指定できるみたいなこと
はできなそうだし

938:名前は開発中のものです。
12/02/25 19:17:11.50 Abu3C86F
ラグランジュポイントは普通の8KiBのCHR-RAM仕様だよ。
文字関係(数字、ステータス表示に使う最小限の英字、ひらがなとカタカナを全文字、その他少々)で、都合約2KiB使ってる。
あとの2KiBが、マップとかのBG側のグラフィック用だけど、不足する場合でも、文字を置いてあるバンクは基本的に温存。
そのかわりスプライトのパターンを2KiBしか使わない。
それで浮かせたCHR-RAM領域を、バンク切り替えでBG側に持ってきて間に合わせてるだけ。
ヴィジュアルシーンのグラフィックとかは、デザインや演出上の工夫で、技術的に特に変わったことはやってない。

939:938
12/02/25 20:03:31.39 Abu3C86F
補足
当然だけど、常に>>938みたいにスプライトのパターンをケチって間借してるわけじゃなく、
普通にBGとスプライトで4KiBずつ分けあって、単に画面が暗転した際にパタンテーブルを書き換えるとか、
平凡にやりくりしてる状況の方がむしろ大半なので念のため。

940:名前は開発中のものです。
12/02/26 00:39:33.07 US8Vrh37
>>938
解説サンクスなり
職人芸だったわけね


941:名前は開発中のものです。
12/02/27 17:29:23.40 d2Rr2gFY
URLリンク(loda.jp)

上は当たり判定で、スプライトの座標をタイルに変換させる。でもたまにルーチンで誤変換起こしてしまってる

デバッグしてもよく分からない
原因すらわからねぇ


942:名前は開発中のものです。
12/02/28 11:32:31.06 FLxgWkDL
必要もなくモジュール内でJSR/RTSを多用してクロック浪費してるプログラム見ると、無性に書き直したくなってくる。


943:名前は開発中のものです。
12/02/28 13:11:12.77 DEMYa7pD
モジュール化

944:名前は開発中のものです。
12/02/28 21:05:59.53 FLxgWkDL
変換じゃなくて壊す側がおかしくないか?

945:名前は開発中のものです。
12/02/28 22:42:52.32 ac5+J/w/
>>941
・CrashBlock_Routine:でbcs, bccを使ってるのが敗因。 0<= 弾の中心座標 <8 の論理を構築できてない。
 bpl, bmiを使った方が大小関係が直感的に分りやすい。
 その際、lda <Bullet_Y_Center → cmp Block001y,x のように不等式で挟まれる側を先にレジスタにロードした方がやりやすいはず。
 またadc, sbcと違い、cmp系の前にはclcは必要ない。
・ゲームループがまずく、infinityLoop:内のルーチンの実行回数のフレームレートが一定でない、不安定動作のおそれあり。以下のループが無難。

__ここでNMI有効にせよ__
infinityLoop: ;VBlankを待つ間は無限ループ
jmp infinityLoop
mainLoop: ;メインループ
__ここでNMIを無効にせよ__
;BGとスプライトの表示をOFF
lda #%00000110
sta $2001
lda #$3 ;スプライト描画のためのDMA転送
sta $4014
jsr BlockDisappear ;ブロック消滅;$2006-$2007への書き込みはNMI直後に、VBlankが終わる前になるべく早めに
jsr SetScroll ;スクロールセットもVBlankが終わる前になるべく早めに
;BGとスプライトの表示をON
lda #%00011110
sta $2001
jsr PadGet ;パッド入力チェック
jsr NormalBullet ;弾丸発射
jsr PlayerSpriteMove ;機体の移動
jsr CrashBlock ;ブロックと弾丸の当たり判定
jsr BulletPositionConvert ;弾丸の座標をタイル番号に変換
__ここでNMI有効にせよ__
NMIEnd:
rti

946:名前は開発中のものです。
12/03/22 16:43:43.53 NBlMXw6A
簡単にROM作る方法ない?

947:名前は開発中のものです。
12/03/22 16:44:38.63 NBlMXw6A
簡単にROM作る方法ない?

948:名前は開発中のものです。
12/03/23 05:49:38.45 EKmbrKmy
それは物理的にかい?

949:名前は開発中のものです。
12/03/24 23:29:09.53 pi7aftbx
そう言う感じ

950:名前は開発中のものです。
12/03/25 01:14:37.28 c32Eu5AG
形式判明してるカセット分解して、ROM引っこ抜いて、代わりにソケット取り付けて、ROMライタで焼いた自作ROMを差し込む。
という話じゃなくて?

951:名前は開発中のものです。
12/03/25 17:19:57.67 W0Y8frQC
誰かいますか?

URLリンク(ll.la)

ファミコンプログラミングがやりたくて、
試しにN106で全画面表示をやってみたんですが、
G-NESだとうまく表示できなくて……

VirtuaNES、nestopiaだと期待通り動くんですが……

上のURLにソースコードと、各環境で実行したSSをupしました。
詳しい方、原因とか教えてくれませんか?

952:名前は開発中のものです。
12/03/25 17:49:36.89 sx4Vwb9x
G-NESのエミュレ-トが不完全なだけ

953:名前は開発中のものです。
12/03/25 23:12:13.63 Ih97tOjy
>>947
自作のnesをfdsファイルに変換して、fdsloadrでRAMアダプタに転送したことならある
(市販のnesをfdsファイルに変換するのは無理っぽい)

954:名前は開発中のものです。
12/03/26 21:41:21.79 q32IwSYQ
>>951です。

>>952
返信ありがとう。
環境によってIRQカウンタの進み方が微妙に違うっぽいです。
初回にとりあえず1フレーム描画して、IRQカウンタの速度を取得しようと思います。


あと、>>951にupしたコードだと、VBLANK終了待ちに$2002のbit7を見たりしてますが、
これじゃVBLANKの検出ってできないんですね……。
(x,y)=(0,0)にゼロスプライトを置いて、それを見るように変えています。
なかなかむずかしいですね……。

955:名前は開発中のものです。
12/03/26 23:40:41.01 uRvDMM79
何がしたいのか知らんが実機の挙動が唯一の正解だろ

956:名前は開発中のものです。
12/03/31 14:42:03.41 upBLiWOt
>>337>>343のzipファイルが正常に解凍できません。
どうやればいいのでしょうか?

957:名前は開発中のものです。
12/03/31 18:44:20.80 lM09VNG1
スレ違い


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch