ファミコンのプログラ ..
[2ch|▼Menu]
23:名前は開発中のものです。
12/08/30 00:13:48.09 2dcDlWaJ.net
>>16
ヒット検出しないのが正解だろうね。 実機でそうなったんだし。
上から覆い隠してる訳ではなくキャラクタを表示していない(と俺は考えてる)のだから、ヒットしなくて当然と思うけど。
左端がダメとかは、関係ない。横スクロールの指定はいつでもできる。

24:名前は開発中のものです。
12/08/30 04:48:24.33 YFBZ+1yV.net
検出してからレジスタ叩いてるクロック分だけ画面描画進んでるから
次のラインまで最低でも12クロックはズレたままでしょ
ライン単位での描画しかサポートされてないエミュだと再現できないけど

25:名前は開発中のものです。
12/08/30 23:09:45.06 mbhkbHVJ.net
>>23 がはぼ正しい
>>20 はどちらかというと間違い HBlank中が必須というわけではない

>>24 のようにCPUがフェッチ&デコード&実行&ライトやってる時間にも、PPUのドットは結構動くことに注意

普段はG-NESの使いやすいデバッガでデバッグ。
使いやすいVirtuaNESやNNNesterJでおおまかな確認。
際どいタイミングが必要なデバッグはFCEUXとNintendulator。
Nestopiaでタイミングの最終動作確認。

26:名前は開発中のものです。
12/08/31 04:25:11.05 qhg8Zh3g.net
大まかなデバッグはエミュでやって最終的に実機で動作確認してるわ

27:名前は開発中のものです。
12/08/31 23:35:00.18 gnF3SCUx.net
0爆弾の設置場所は捨てライン用意するならどこでもいいけど
右端なら画面に影響は出ないわな

28:名前は開発中のものです。
12/10/10 21:49:54.07 Z4BAuN6X.net
ファミコンゲーム作ってみたいんだけど時間がないんだよなー
現実的な問題がな

29:名前は開発中のものです。
12/10/11 19:34:39.57 9I6Jco6V.net
プログラミングにアセンブラから入った身だから
最初のうちはなれていたけど
CとかC++とかASに触れていくにつれて
面倒になっていったな・・・

30:名前は開発中のものです。
12/10/12 00:52:25.78 Z8DOmKFZ.net
ASってのはFlashですか?
あぁそれはありますよね…。感覚というか形態が違いますからね…アセンブラは

31:名前は開発中のものです。
12/10/12 01:31:47.39 EPkxezrz.net
そうActionScript(2.0だけどw)

最初のうちは高級言語のクラスとかオブジェクト指向とか全く理解できなくて、
アセンブラ至上主義で6502とか8080とか8086とかいろいろ手を出してたんだけどね・・・

6502向けのCコンパイラとかいいのないよね
てかそもそも8bitCPUに高級言語使うのもおかしな話だけどさ

某C言語が使えたポケコンは、全然速くなかったよ
さすがにBASICよりは速かったけど・・・

32:名前は開発中のものです。
12/10/12 03:23:49.62 fS+ezBRP.net
そもそも6502でC言語を使う需要が無いしな
Z80なら需要があって割とあるけど

33:名前は開発中のものです。
12/10/12 10:06:06.38 H0vAZjLv.net
cc65があるだろう。
最適化があまりうまくないけどな。
素人レベルだと十分だわ。

34:名前は開発中のものです。
12/10/14 05:44:02.35 XxvV8AOh.net
Cは16bitな石からでいい。色々ともったいない。

35:名前は開発中のものです。
12/10/17 13:25:16.84 R5qyF0uk.net
メガドラ以降ってことですか

36:名前は開発中のものです。
12/10/18 18:23:21.69 VBrCRfaf.net
同じ6502でもPCエンジンだと、ハドソンが優秀なCコンパイラ作ってたりしたんだろか?

37:名前は開発中のものです。
12/10/18 19:42:59.84 l5n3aOad.net
SFC末期やプレイステーション頃まではC言語に出番はなかった。

C言語だけでリアルタイム処理なゲームを作って動かせる、それを配布できるってことは、今で考えるよりもずっと贅沢な事。
個人ユーザ中心のホビー分野ではそれなりに需要あったんだろうけど。
それとFDみたいに安いメディアかつ少数生産で済む16bit世代なPCゲーとか。

8bit機だと非力すぎる上にどうせ機種依存バリバリな処理系しかないからCで書いても他で流用のしようがない。
使うことにデメリットは多くても、メリットになる部分が全くと言っていいほど無い。

メガドラは時期的に言ってアセンブリ言語手書きだと思われる。
人間が手書きしても全然苦にならない整然としたアーキテクチャだったし、セガが発売したゲームがどれもROM容量ケチってるあたり、C言語使って容量無駄に使うことが許されたとは思えない。

38:名前は開発中のものです。
12/10/18 20:01:24.07 IES3MNvB.net
しかし、Cで組むとなんであんなにコード太るんだろうな

39:名前は開発中のものです。
12/10/18 23:13:52.20 63+xOnKC.net
ただ単に、
当時は、ハードメーカーから提供されているのが
アセンブラだけとかだったからだろう。
プログラムといえば、BASICかアセンブラという時代なんだから、
c言語がなくてもしょうがない


40:名前は開発中のものです。
12/10/19 08:19:37.01 sjsgdMuz.net
当時を知らない人間は、そう考えるのね。

41:名前は開発中のものです。
12/10/21 15:54:50.15 JbO9yeZu.net
アセンブラでやったって速度足りなくて神業が要るっていうのに
なぜC厨が湧く

42:名前は開発中のものです。
12/11/04 00:17:55.67 CsVJLmvl.net
実機的MMC1の初期化について書いておいた
スレリンク(gameurawaza板:908-909番)
必要ならコピペでもなんでもどうぞ

43:名前は開発中のものです。
12/11/04 21:10:23.38 vueKXrfu.net
最近MMC1AとMMC1Bをいじったけど、電源投入時はバンクサイズ16kモードで後半の16kは最終バンクで確定してるみたい
よく言われるように16k毎にベクターやリセットルーチンとかを設置する必要はなく、
32k毎の設置で一切問題はなかったので、リセットで偶数バンクが後半16kにあてがわれることはない模様

ファイナルファンタジーや三國志とかを見ると最終バンク以外にリセット等のベクタを置いていないから
バンクサイズ16kで後半最終バンクFIXモードだと不定になることはなさそうな感じ
無印のMMC1が手元になく確認していないのでひょっとしたら仕様変更があったのかもしれないけど

それとbit7立ててバンクの初期化って古いエミュだと実装されていないから
GNESとかVirtuaNES使ってると理解できないのはしかたがないと思う

44:名前は開発中のものです。
12/11/13 20:19:26.33 CAAAMru1.net
話割ってしまうけど、自作したデータを既存のROM内のデータと交換して売るのって違法なの?売っているのを見たことないんだが。

45:名前は開発中のものです。
12/11/14 20:00:04.73 ukh7V0Cy.net
カートリッジは意匠があるからやるなら基板むき出しか。
でも動作保障とかめんどいからキット販売がせいぜいか。

46:名前は開発中のものです。
12/11/15 16:13:50.41 oP0LY2A3.net
>>36
pcエンジンエミュレータ「MagicEngine」の作者が作ったものを
バージョンアップしたコンパイラHuC
URLリンク(www.zeograd.com)
HuC使ったけどすごく重いです
stgを作ろうとしたんだけれど
タスクを自機弾10、敵3、敵がばらまき弾8方向くらいで処理オチしてやる気無くなた
この程度のゲーム30fps20fpsにする意味無いし
エミュもリアル本体並み程度の能力しかないから処理落ちします

処理落ちしても良いアドベンチャーならまだしも
日本語表示の壁が
最大容量もPCEは2メガバイトが限界

古いHuCは多少軽いし、マジックエンジンHPからダウンロードできますが
機能が足りないです

47:名前は開発中のものです。
12/12/17 11:39:43.53 pzS/xX0F.net
Silver Surfer - Level 1 - Nes Music
URLリンク(www.youtube.com)


これ内蔵音源のみってマジかよ

48:名前は開発中のものです。
12/12/17 12:03:19.58 PXXYK1Gg.net
Timの仕事だとこっちも有名

URLリンク(www.youtube.com)

49:名前は開発中のものです。
12/12/20 20:27:31.68 Og5HQO4K.net
NESはファミコンと違ってカセットに音源積めないから
そういう方向に進化せざるをえなかったのかな

50:名前は開発中のものです。
12/12/23 01:13:37.02 fIW1BS2m.net
クソゲと酷評されるソルスティスだが面白かったね
主人公キャラクタがオブジェに隠れる演出はすごいよ〜

51:名前は開発中のものです。
12/12/23 04:35:01.34 qQHuwdYA.net
パターンがRAMでキャラ側をマスクで消してるんだっけ

52:名前は開発中のものです。
12/12/23 07:05:53.14 X9VTHfNw.net
曲とデモプレイ画面しか見たことなかったが…。

キャラと重なるBGオブジェを、重なっているときだけスプライトにしてるのかと思ってた…。
でも素直にそうやっちまうと、スプライト用のパレットが足りなくなるのね。
ほんと凄まじい発想だわ…


もっと派手な演出なら、既出だろうがRareのBattletoadsも良いな。
URLリンク(www.youtube.com)

しっかりした2重スクロールは、PCエンジン以降でしか見たことない気がする。

53:名前は開発中のものです。
12/12/24 08:48:47.89 6xMrwyA9.net
カエルのしゃがみポーズで笑う

54:名前は開発中のものです。
12/12/25 16:58:20.87 XIb3z3nT.net
ずっと気になってて最近確認した物に関連する話題が出てたので…。

スプライトモード8x16の時、普通指定するのとは逆のキャラ番号(偶数なら奇数、
奇数なら偶数)を指定すると、BGバンクのキャラがスプライトで出ます。

また、このBGバンクのスプライトを他の表示するスプライトよりも優先度を上げ、
BGより優先度を下にすると、他のスプライトはこのスプライトより下、つまり
BGより下に表示されます。
BGより下に表示されるのでパレットコストは必要ありません。

これを効果的に使えば細かいマスク処理が出来るはず。
横並びが厳しいので使い所は限られると思いますが…。

自分もソルスティスはコレを使ってるのかと思ってたんですが違いましたね。
何か問題があるのか、単にこの方法を知らなかったからなのかは分かりませんが。

PCエンジンでは使われてたらしいけど、ファミコンでこの方法を使ってるゲームはあるのかな?

55:名前は開発中のものです。
12/12/25 17:17:14.81 XIb3z3nT.net
具体的には(分かりにくいけど)こんな感じ
URLリンク(www.dotup.org)

上にスプライトで表示してるのを4枚、下の同じキャラの岩の所にも
BGより優先度下にして表示してあります。

シルバーホークがBGの地形より下、BGのボスより上に表示されてます。
柱に隠れる演出とかにも使えるかと。

56:名前は開発中のものです。
12/12/25 17:25:01.69 Fl9SbcCz.net
そのスクショ実機じゃないならなんの証明にもならんよ

57:名前は開発中のものです。
12/12/25 21:55:26.03 kWjHNajW.net
ていうか、全然分からない。(8*16スプライトの仕様はおいといて)
スプライトの優先度とBGの前後の関係は、まずスプライト番号の若いものが最優勢され、
1番目のsprがbgの裏、2番目がbgの表だったら、2番のsprは1番に重なる部分は1番に消されて、表示されない。
1番sprからはみ出た部分だけがBGの表に見える。

がんばれゴエモン外伝のオープニングで、えびす丸がドアから出るシーン、スプライト優先度をうまく使ってる。

58:名前は開発中のものです。
12/12/26 00:28:12.82 9XrAfUmn.net
シルバーホークとか固有名詞を当然のように出されても伝わらない
いまどきダライアスとか言ってるのってリタイアしたキチガイ互助会の方なのかな

59:名前は開発中のものです。
12/12/26 04:05:00.41 2BH9NGSG.net
いやいや、ダライアスは新作出たよw

60:名前は開発中のものです。
12/12/26 06:20:41.97 zMNlG5zP.net
わざとスプライトを8個以上置いてスプライトを消してるソフトもあるな

61:名前は開発中のものです。
12/12/26 06:31:02.45 CVnOhUO6.net
>>54-55
結局BGをスプライトにしてるから、VRAMの余裕はできても、
スプライトパレットの余裕はできないんじゃね?

62:名前は開発中のものです。
12/12/26 07:20:36.29 CVnOhUO6.net
あとソルスティスのデモ画面、パターンテーブルで見たけど、
CHR-RAMは極めるとすごいな。

弱点としては、VBLANK時に1フレームあたり
10キャラくらいしかロードできないんだっけ。
扱い方が難しいところも燃えるなぁ。

63:名前は開発中のものです。
12/12/31 23:43:32.17 dplgqzsF.net
CHR-RAM直打ちでいちいちキャラクタを書き換えているのが
ソルスティスの技術。上位オブジェクトの重なりと非描画判定は凄い。

後にラグランジュポイントはCHR-RAMって8KBなんかな。あのパターン
量を見ると8KBではなさそう。
セリフ用の文字画像部分を足して16KB搭載かつセリフウィンドウ部分
で割り込みバンク切り替えしているんじゃないかと推測しとるんだけど。
それともただのCHR-RAMなのだろうか。

64:名前は開発中のものです。
13/01/01 12:13:51.02 wi03Ie1H.net
>>63
ラグランジュポイント、CHR-RAMの実体は8K
URLリンク(bootgod.dyndns.org:7777)
ただし、参照配置換え可能。
普通のCHR-RAMならBGを4K、SPRを4Kと固定で、$0000か$1000に配置するけど、
参照配置換え可能ならばBG、SPRそれぞれ0〜8Kまで1K(page)単位で柔軟なサイズ変更が出来る。
割り込みかけて途中で参照を変える、と。
SPR:BG = 1:7〜3:5、位じゃないのかな。

65:名前は開発中のものです。
13/01/01 23:57:35.10 dHbpOLgO.net
わかってないなら適当なこと言わなきゃいいのに

66:名前は開発中のものです。
13/01/02 01:00:10.06 sqh/nOWC.net
>>65
あ り え な い 。それは。
バストダンジョンでリリカのおっぱい値を800近くまで調教強化してやらないと、そのフラグは立たない。
仮にフィリオナをメンバーから外してリリカを集中調教しても、アナルバイブが使えないその段階では
スカリバーはまだ手に入れられないはず。 妄 想 で つ か ?
とりあえずアンダー草原で淫獣マリリスを大量に調教して淫度をどんどん稼いどけ。
展開が不安ならバックアップ取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。

67:名前は開発中のものです。
13/01/02 22:10:18.03 9vEznEQL.net
は?

68:名前は開発中のものです。
13/01/02 23:31:25.14 zErWDyJm.net
昔どっかで見たコピペだな

69:名前は開発中のものです。
13/01/05 22:50:06.11 Kcs0H07R.net
いつのコピペだw

70:名前は開発中のものです。
13/01/06 16:49:46.39 vL3Xl6d1.net
63です。本気の解説ありがとうござんす。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。

71:名前は開発中のものです。
13/01/06 19:38:07.98 Nbv6CYGv.net
64です。CHR-RAMなのは知っていたけど、
63の書き込みを見て調べた結果に驚きました。
ROMを乗せるはずのところに、一工夫してRAMを乗せるとこうなるのですね。

( ;∀;)イイハナシダナー

72:名前は開発中のものです。
13/01/07 17:29:05.26 Snw5yZJz.net
逆にネームテーブルのRAMを置くべきとこにバンクROM配置ってのもなかったっけ

73:名前は開発中のものです。
13/01/07 20:19:59.31 YCNSEchh.net
サン電子のアフターバーナーだね

74:名前は開発中のものです。
13/01/13 21:44:45.31 SvwqFKWD.net
某サイトに$4018-$401Aにもレジスタがある(ミラーではなく)みたいな記述があるんだけど
誰か何のことか分かる人いる?
今調べてるんだけど出てこない・・・

75:名前は開発中のものです。
13/01/13 23:43:50.36 Xsknydlc.net
これかな
URLリンク(wiki.nesdev.com)

矩形波とか三角波とか、現在の値が見れるっぽいね

76:名前は開発中のものです。
13/01/13 23:50:04.93 P2tocX8p.net
まじか。あさってやってみる。
でも、実用上ほぼ全く役に立たなそうだな。

77:名前は開発中のものです。
13/01/13 23:52:24.91 78BX4ehY.net
decapまでされてるのか

78:名前は開発中のものです。
13/01/13 23:55:52.07 SvwqFKWD.net
>>75
有益な情報をありがとう
ファミコンのプログラムはもうずっと前からしてるがこれははじめて知った・・・

79:名前は開発中のものです。
13/01/14 01:42:33.45 9rveIWjC.net
>>78
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う

使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?

80:名前は開発中のものです。
13/01/14 02:00:53.73 9rveIWjC.net
リンク先にまだ情報あったわ

URLリンク(wiki.nesdev.com)

TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム

81:名前は開発中のものです。
13/01/14 10:39:53.71 tzjT4Zjb.net
>>75
やっぱり
NesDev界隈には回路の写真から解析しちゃう人いるんだな
色付きの線で実に説明上手だ

祭りだワショーイ

>>80
オープンバスって「レジスタに繋がってないただのアドレス」
という意味でいい?

82:名前は開発中のものです。
13/01/14 18:03:11.53 9rveIWjC.net
どうなるんだか試さないとわかんねw

83:名前は開発中のものです。
13/01/14 23:45:03.97 XSpdI2pt.net
ちょっと質問なんだけど、アセンブラってみんな何使ってる?

ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・

84:名前は開発中のものです。
13/01/15 00:44:21.46 bZUsNHpr.net
Cライクってのがわからん
このスレにCは需要無い

Cでやるならcc65のCを使うでしょ


x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった

85:83
13/01/15 10:34:28.65 DThX962j.net
>> 84

自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。


> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。

> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw

86:名前は開発中のものです。
13/01/15 20:25:38.47 /uFBc3xt.net
4018-401Aを読んでみたけど、どれも64が返ってくるだけだった。

87:名前は開発中のものです。
13/01/17 00:19:49.08 hcjbSNgf.net
がっかりして書き込みなし?

88:名前は開発中のものです。
13/02/04 21:07:41.31 fkuzgt9B.net
/:/: FAMILY NEWS
 2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
 様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。

URLリンク(globalgamejam.org)

 小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。

89:名前は開発中のものです。
13/02/12 19:45:05.71 9xgYPqEW.net
nesdev消滅したのかと思った

90:名前は開発中のものです。
13/02/19 22:29:22.33 O/soUU/G.net
数年前に比べてファミコンに関する資料がかなり増えたね

91:名前は開発中のものです。
13/02/20 20:52:03.13 JiXwRlwj.net
10年前はもっと…

92:名前は開発中のものです。
13/03/02 00:41:19.83 hFHJmNkE.net
 ファミコン用の音楽ドライバを見つけたぜ。cc65でコンパイルした
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
URLリンク(shaw.la.coocan.jp)

93:名前は開発中のものです。
13/03/02 00:47:42.77 8Km8c4Ly.net
あ、そういうことする人なんだ

94:名前は開発中のものです。
13/04/18 23:16:17.58 IMzwu5mh.net
>>92
すごい.
なによりも,この開発者さんの情熱が凄い.
ぜひ使わせてもらおう.

95:名前は開発中のものです。
13/06/02 03:27:36.01 3ZWnZLQL.net
来月はファミコン発売30周年だな

96:名前は開発中のものです。
13/07/16 NY:AN:NY.AN V4wzSO+/.net
初歩的なこと聞くけどBGのネームテーブルとかスプライトデータ64*4
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?

97:名前は開発中のものです。
13/07/16 NY:AN:NY.AN x8PldMXb.net
画面描写中はVRAM見れないよ
デュアルポートRAMなんてなかったし

98:名前は開発中のものです。
13/08/06 NY:AN:NY.AN 3KQG/adI.net
マリオブラザーズなら
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?

こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る

99:名前は開発中のものです。
13/08/14 NY:AN:NY.AN qLnn+CpW.net
URLリンク(www.nicovideo.jp)

100:名前は開発中のものです。
13/08/17 NY:AN:NY.AN uCbYKHDz.net
>>98
>VRAMのデータで当たり判定してたはず
>画像ハックすると永久落下とか?

自機の移動先座標のドット色情報で当たり判定してたベーマガの投稿プログラムを思い出した

101:名前は開発中のものです。
13/10/13 05:30:26.19 2zt6NDsD.net
スクロールなしの固定画面で
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください

102:名前は開発中のものです。
13/10/13 06:09:25.87 j6RhH/8y.net
3Dホットラリー

103:名前は開発中のものです。
13/10/13 14:35:35.53 WWg/r0Uv.net
メタルスレイダーグローリー

104:名前は開発中のものです。
13/10/17 22:51:09.98 JAf2Y+Vq.net
元々の選べる色が50数色程度じゃ
パレット書き換えしても劇的な変化はないんだな

105:名前は開発中のものです。
13/10/21 23:14:22.41 JGQ8j3II.net
パレットを高速で入れ替えると中間色みたいになる

106:名前は開発中のものです。
13/10/22 01:38:09.46 fuBZsr5L.net
ドルアーガでやってたな

107:名前は開発中のものです。
13/10/28 15:22:51.38 mnXgpw7y.net
キラキラスターナイトの音楽って当初はmckで作ってログなんだってな。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。

108:名前は開発中のものです。
13/11/22 17:22:34.78 0CxishgT.net
すいません、16進数でFCはリターンですか?

109:名前は開発中のものです。
13/11/22 19:13:43.33 ePLUfS2n.net
難しい質問だ

110:名前は開発中のものです。
13/11/22 21:49:34.37 dQaQiKPU.net
6502の話ならRTSは0x60でしょ
0xFCは未定義

111:名前は開発中のものです。
13/11/27 18:47:29.95 2qPkVWWu.net
6502は未定義命令多いよね

112:名前は開発中のものです。
13/11/27 22:25:07.60 AIPgO1s0.net
108です、ポートピア連続殺人事件のバイナリを見ていて
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います

113:名前は開発中のものです。
13/11/27 22:34:47.33 2GaPYVty.net
な、なんだってー!! Ω ΩΩ

114:名前は開発中のものです。
13/11/27 23:17:01.96 H3/K2JY+.net
ただ単に、文章の最後を表すために、FC使っているだけ。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。

115:名前は開発中のものです。
13/11/27 23:56:34.99 xJTLP5X/.net
なんだ、ただのバカじゃねえか

116:名前は開発中のものです。
13/11/29 23:43:36.26 +yLhVUXN.net
>>112
君はまず命令とデータの区別をつけるところからだな
あと未定義というのは何らかの既定の動作はするが使い道が無いということ
他と同じ動作だったり、ナンセンスな動作だったり、何かを破壊したり

117:名前は開発中のものです。
13/12/28 09:38:36.09 NXkYsMWn.net
6502の未定義命令表ってどっかに落ちていたような・・・
とはいっても2a03とオリジナルで違うような気もする

118:名前は開発中のものです。
14/02/25 00:48:36.47 PEseuuNL.net
同人でファミコンゲーだしてみたいので勉強中
実機でできるようになるまで遠いなぁ

119:名前は開発中のものです。
14/03/11 21:45:52.01 xOOt/lks.net
BG読書き時のレジスタアクセス等の手順を日本語で正しく説明しているサイトってないかね?

120:名前は開発中のものです。
14/03/11 23:17:40.95 Ee7AGpD7.net
古い情報を掲載してるとこしか知らない。
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?

121:名前は開発中のものです。
14/03/12 00:28:23.93 WZH/SRI7.net
ロジックは正しいハズなのにBG表示上手く行かねーって時あるけど
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする

ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。

122:名前は開発中のものです。
14/03/12 01:37:23.21 sVRc03+V.net
スクロールレジスタ戻してないに1票

123:名前は開発中のものです。
14/03/12 21:31:45.55 AKXlzqE0.net
まだこのスレ見てる人結構いるんだな。。。。

124:名前は開発中のものです。
14/03/20 16:18:48.51 NcrvcaHS.net
スレチかもしれんがSFCのことについて聞きたい。
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?

125:名前は開発中のものです。
14/03/20 23:57:41.03 nDoqvjBg.net
別枠で跳び先用意してるだけで、仕組み自体はソフトウェア割り込みそのもの。
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。

ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)

126:名前は開発中のものです。
14/03/21 00:22:20.42 P1JaUJrV.net
【65816:SNES】アセンブリ【6502:NES】
スレリンク(gamedev板)

127:名前は開発中のものです。
14/03/21 00:23:50.90 P1JaUJrV.net
スーファミのプログラム
スレリンク(gamedev板)

128:名前は開発中のものです。
14/03/27 11:27:04.95 Boex24sn.net
去年あたりにCPUとPPUのデータシートが流出したって聞いたが本当かね?

129:名前は開発中のものです。
14/03/27 11:33:55.73 6ZjkSFol.net
バーイ ハドソン

130:名前は開発中のものです。
14/03/31 23:12:27.47 2ZMIQNqL.net
ネトウヨ「国際司法際はチョン」

なのに竹島問題もハーグで決着つけようとかいってるジャップwwww

131:名前は開発中のものです。
14/04/04 07:14:22.67 stHAjJOS.net
URLリンク(www1.axfc.net)
ファミコンゲームです。操作方法は付属のtxtを参照

132:名前は開発中のものです。
14/04/04 08:34:30.32 FAM6mLE7.net
>>131
fceuでは正常に動作しています

133:131
14/04/04 16:51:41.09 stHAjJOS.net
>>132
動作確認ありがとうございます。

134:名前は開発中のものです。
14/04/05 21:35:51.55 RihLvMZN.net
nnnesterJでも動いた
ずっとやってたらCLEARって表示されたわ

135:131
14/04/07 06:20:21.08 ANvPoB1w.net
ありがとうございます。あと、透明な敵が現れるバグがあるのと、
静岡県立沼津工業高校の校歌を使っています。

136:名前は開発中のものです。
14/04/07 07:28:54.96 fDBMyb5C.net
>>119の子か。お礼ぐらい言えないのかね。

137:名前は開発中のものです。
14/04/07 15:41:53.87 YJHniqKP.net


138:名前は開発中のものです。
14/04/09 17:36:23.74 Aiee0k4j.net
6502プログラミングの基礎はどうやって勉強するんだろ
アセンブラ言語そのものは分かるけど実装技術が・・・

139:名前は開発中のものです。
14/04/10 21:35:34.35 hnCuty6F.net
>プログラミングの基礎
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。

ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。

140:名前は開発中のものです。
14/04/10 21:41:45.23 hnCuty6F.net
開発途中で、まだゲームの体裁になっていないけど、自作のソフトをさらしてみる。
src.zipにソース一式入っているので、参考頂ければ幸いです。

URLリンク(homepage3.nifty.com)

十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。

141:名前は開発中のものです。
14/04/12 04:57:10.26 IdgE9LS/.net
おお、すげぇ

宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・

142:名前は開発中のものです。
14/04/12 13:04:08.62 BjcqFb8t.net
すごい
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う

143:名前は開発中のものです。
14/04/12 16:34:03.45 D7Ld43hD.net
>>140
なかなか出来が良さそう
.macro 〜 .endm (引数付きで)
.func
なんかも使うと楽になる場合もあるよ

>>140
URLリンク(wiki.nesdev.com)
$4017への書き込み(W)によるstrobe(コントローラーのリセット行為)は無意味、
そもそも出力ポートにつながってないかと。
strobe行為は$4016だけで十分。

$4016のbit0が1か0かで、
Tコン、Uコン、bothのコントローラーの中のTC4021BP(シフトレジスタのIC)の、
パラレル、シリアルの各モードが変わる。
1→0で押しボタンのパラレルデータがシフトレジスタに取り込まれて、
シリアル化されたということだ。

シリアル化されたデータは
Tコンは$4016の読み込み(R)で、
Uコンは$4017の読み込み(R)で、
それぞれ独立にシフトされる。

URLリンク(green.ap.teacup.com) この回路図もいいな
URLリンク(nesdev.com)

>>141
パレットはいじってないよ?

144:名前は開発中のものです。
14/04/12 19:24:29.80 Gzkbouk5.net
欲を言えば、宝石回転をもっと速くして欲しい。

145:141
14/04/13 00:08:08.07 KkvqpUBo.net
>>143
>パレットはいじってないよ?
パレットというか、アトリビュートテーブル?
ラスターしないとパレットの違う宝石が水平に8ドットずれの位置で表示できないよね

146:名前は開発中のものです。
14/04/13 16:38:48.65 SW34DfG1.net
ラスタスクロールでずらす、って発想すごいなー。
こういう使い方初めて見た。勉強になりました。

当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。

147:名前は開発中のものです。
14/04/13 21:10:32.33 mdytbhuJ.net
>>146
理解力なさすぎ
いくらでもある

スプライト0ヒットで同期とった分割スクロール
  スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
  F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
  >>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
  スレリンク(gameurawaza板:143番)


>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど

148:145
14/04/14 00:05:28.57 Ye30GFaz.net
>>147
なんでそんな否定からはいるのさ?

「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。

146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。


まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^

149:146
14/04/14 00:18:00.10 BSoZ156l.net
>>147
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
URLリンク(www.youtube.com)

でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。

150:145
14/04/14 00:44:20.53 Ye30GFaz.net
補足。
ラスターに関して147の言ってることは技術的に正しいんだけど、
他人がそれを理解してないのを前提に、否定してるのが、ちょっとカチンときたということ。
(145も146もこの件に関して技術的に勘違いはしてないと思う)

>>140 とか >>131 とか手を動かしてるひとを応援してるんで、こんなレスでスレを汚してごめんよ。

>>146
当時のこういう使い方はあったのかは気になるね。
ヘックスといったら信長の野望くらいしか記憶にないなぁ・・・あれは4x4だから問題ないし。

151:名前は開発中のものです。
14/04/14 18:55:50.61 dbr8gs6R.net
140です。

>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。

>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。

>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。


今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。


ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。

152:名前は開発中のものです。
14/04/14 18:57:07.18 Ye30GFaz.net
コズミックイプシロン、初めて知ったけど、たしかにすごいね・・・
デバッガで見るまで、どうやってるか想像もできんかった。

しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw

good luck!

153:名前は開発中のものです。
14/04/14 19:22:56.78 PHq3J+m9.net
>>151
カーソル枠でまわる宝石が▽と△の時でカーソル枠の上と下を少し
狭くしたほうがわかりやすいかなと思いました

154:名前は開発中のものです。
14/04/14 19:58:14.37 BSoZ156l.net
>>151
テトラスターは知らなかったんで見てきた。おんなじ感じっす。
それにしても、バンク切り替えでやるのか…すげーな。
ちゃんと地形の模様になってんだもん、良く考えついたもんだ。

いま手元にないんでアレだけど、そのうちデバッガで見てみたい。


>>151
思いついたのか、発想力すげー…。

155:名前は開発中のものです。
14/04/14 20:06:28.23 dbr8gs6R.net
>>153
最初、指摘の通り、カーソル枠を台形にして、▽か△かわかるようにしたのですが、
カーソル移動時にうねうねカーソルの形が変わるのが気持ち悪く感じたので、
今のただの四角にしています。

156:名前は開発中のものです。
14/04/14 21:32:22.23 qn3GgaV0.net
>>148-150 >>131
自演気持ち悪い

わかってないからってファビョって「他人」を弁護?w

>>148
>「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
>指定できないのを回避するために、ラスターでずらしてるのね」
>まで言わないと伝わらない?

伝わってるからそれは違うって言ってるんだけどね

手を動かしていてもね
延々と即値でスプライト初期化してたから変な奴と思ったらやっぱりな




ずらしてパレット指定の限界突破という謎技術を語ってる人が他にもいるようだけど

157:145
14/04/14 22:05:09.05 Ye30GFaz.net
>>131 の名誉のために、131と私は別人だよ。
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^

158:名前は開発中のものです。
14/04/14 22:40:16.03 Ye30GFaz.net
>>140 さんに質問です。

勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?

...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...

また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?


C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;

不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。

159:名前は開発中のものです。
14/04/14 23:59:40.63 qn3GgaV0.net
>>158
立ってる、立ってないが逆

160:名前は開発中のものです。
14/04/15 00:19:44.09 Rogly49M.net
>>158 さん

> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)

Yesです。


> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?

あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。

私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。

161:名前は開発中のものです。
14/04/15 00:22:16.34 Rogly49M.net
>>159

Yesと書いちゃったけど、確かに、zフラグが立っている場合に抜けるでした。

162:名前は開発中のものです。
14/04/15 00:24:55.54 4gJhlsqp.net
あ、ご指摘どうもです。逆でした

163:名前は開発中のものです。
14/04/15 00:25:59.35 4gJhlsqp.net
あら、、、フラグは z なのに beq/bne だから、頭が混乱する(xx

164:名前は開発中のものです。
14/04/15 00:52:17.35 4gJhlsqp.net
すいません、書き込み順の前後で混乱しました。160さんの指摘で正解ですね。

>>160
なるほど〜。ジャンプテーブルより柔軟性がありそうですね。
あと、継続っぽくてカッコイイ。

ありがとうございます

165:名前は開発中のものです。
14/04/18 18:15:30.91 jpWSPUfh.net
画面表示中にパレットを書き換えるサンプルプログラムつくってみたので、興味があるひとはみてみてね。
自分は、情報がなくてけっこう試行錯誤したので。

URLリンク(www1.axfc.net)

メタルスレイダーグローリーのIRQ割り込みを参考にしたんだけど、
7ラインくらい表示ができないのはしかたないのか。
もっといい方法とかあったら、教えてくだしあ。

166:名前は開発中のものです。
14/04/18 21:05:20.40 GCyjwP+C.net
>>165
中央が黒いのは、書き換え中に色が付くのを防ぐため?

167:166
14/04/19 02:10:32.86 ENCcy0CN.net
>>166

うん。

たぶん、ラスター使えるようになってラスターでパレット変更もできるぜぃ、
と思って試した人(過去の俺とか)は、なぞのゴミが表示されて悩まされてると思う。
そのゴミをHBlankに押し込めるために、16byteの書き換えに7lineも画面表示を消してるって感じです。

168:名前は開発中のものです。
14/04/19 09:55:49.50 5+3bbh99.net
>>167
そうですか。知ってたらあれですが、3Dホットラリーはもろ見えてます。
URLリンク(img.gamefaqs.net)

169:名前は開発中のものです。
14/04/19 13:11:45.50 ENCcy0CN.net
あ、ほんとだw
実は、3Dホットラリーの名前は以前でてたんで画面見たんだけど、
上2パレット、下2パレットくらいでやってるんじゃない?とおもって、スルーしてた。
ちゃんとパレット書き換えしてたのねw 失礼しますた

170:名前は開発中のものです。
14/04/21 00:26:08.69 /pAmCg0v.net
ゴミなんて消してやんよ
って思ったら
意外と無理だった


if ((!IsRendering) && ((VRAMAddr & 0x3F00) == 0x3F00))
PalIndex = Palette[VRAMAddr & 0x1F];

こんな仕様しらんがな
nintendulatorのPPU.cppより

171:名前は開発中のものです。
14/04/21 10:13:40.71 LbIV6qH+.net
おお、こういう原理だったのか。トンクス >>170

URLリンク(forums.nesdev.com)
コレみて、なんとなくパレットカキコミすると色が出るのは、理解してたんだけど、
細かい挙動はよくわかってなかった。

172:名前は開発中のものです。
14/04/21 10:17:13.69 LbIV6qH+.net
ちなみに、これってハードウェア的にはどういう原理なの?
詳しい人いたら教えて。

173:名前は開発中のものです。
14/04/21 17:28:24.83 rQaSv6+b.net
>>170
そんな断片ソースで理解できるのがすごい。

174:名前は開発中のものです。
14/04/21 23:59:09.10 /pAmCg0v.net
>>165を改造させてもらった

URLリンク(www1.axfc.net)

ゴミ消した


パレットの0x0dは使えないよ
垂直同期のパルスみたいな電圧になるから

175:名前は開発中のものです。
14/04/22 00:47:42.57 Ncm5fcM0.net
レンダリング止めていればBGの色が出ると思ってた

>>165のおかげで本気出せていろいろ勉強になったわ
>>171系のやつへの理解向上
レベルが一気に3あがった!

rtiの戻り書き換えだとか組み終わった後に
URLリンク(forums.nesdev.com)
full_palette.s
の偶奇同期を見つけた
この簡潔なソースで横ブレの無さのキモさといったら


>>172
BGのレンダリングは内部で$3f00へアクセスするんだろうけど
そのバグ挙動なのかね
URLリンク(wiki.nesdev.com)
これ結局まだいじったことないんだけど、使いこなせれば理解できるのかな!?



ところで、また謎現象を見つけてしまった
URLリンク(wiki.nesdev.com)
URLリンク(forums.nesdev.com)

176:166
14/04/22 03:41:30.42 +4JN+sCM.net
>>174
おおお、これは技術の粋が詰まったコードですね!素晴らしい!!
私もレベル3上昇して、レベル4になった〜

クロック管理が神々しく緻密・・・
ちなみに、ゲームでこのテクニックを使うとすると、IRQが入りそうなタイミングで
メインスレッドはnop連打になってないとダメという認識でおk?
とすると、実用は難しいけど、、、
ジャストアイデアとしては
2、3ラインくらい前にIRQいれて、一時的にメインスレッドをnop連打ループに切り替えて、
終わったらまたもとのメインスレッドに戻すというのは可能かな?
考えるだけで、脳髄が痛い・・・



>パレットの0x0dは使えないよ
一部の黒はつかっちゃだめというのは聞いてたんだけど、反対におぼえてたみたい(^^;
今後は0x0f使います〜


>>175 の情報も含めて、いろいろありがたい(^^
やっぱり、コードは晒してみるものだなぁ・・・

177:166
14/04/22 03:55:38.11 +4JN+sCM.net
いままでの自分の致命的な間違いに気づいた・・・
nopは2クロックだったのね。1クロックだとばっかり思ってた(^^;

よくいままでのコードうごいてたなぁw

178:名前は開発中のものです。
14/04/22 18:39:42.31 FEq/t9cI.net
てす

179:名前は開発中のものです。
14/04/22 20:21:50.77 SP0raU7v.net
>>174

ソース読ませてもらったけど、
ldy #0
sty $2001
で、PPUのレンダリング止めると、PPUのバスが空くので
その間は自由にVRAMアクセスできたと理解していたんだが
違っていたかな?

そうであれば、HBlank待つ必要ないので、パレット書き換えで
非表示になるライン数を減らせると思う。

あと、割り込み時にはiフラグが立った状態でルーチンが
呼ばれるので sei は要らないと思う。

URLリンク(wiki.nesdev.com)

180:名前は開発中のものです。
14/04/22 20:38:14.58 SP0raU7v.net
>>172

PPUのデータのバス(信号線)が1組で、PPUのレンダリング中はVRAMからデータを読み出している。
CPUがVRAMアクセスのためにPPUアドレスを設定するレジスタ($2006)とPPUがネームテーブルにアクセスするアドレスのレジスタが兼用のため、CPUがパレットのアドレスを書き込むとPPUはパレットデータを読み出してレンダリングすることになる。

と理解しているのですが、間違っていたら指摘お願いします。>他の人

181:166
14/04/22 20:46:59.02 +4JN+sCM.net
>>179

>で、PPUのレンダリング止めると、PPUのバスが空くので
>その間は自由にVRAMアクセスできたと理解していたんだが
>違っていたかな?
そう思ってたんだけど、PPUのアドレスレジスタが0x3f**だと、
**の色(=ゴミ)が出力されるっていうのが、171のコード片の意味。

182:166
14/04/22 20:59:26.06 +4JN+sCM.net
>>180
なるほど〜、
ハードウェアは素人(簡単なワンチップマイコンをいじったくらい)
なんで、解説してもらえて助かるっす。ありがと〜

用語があってるかわからないけど、バスコンフリクトってやつでいいのかな?
あとチップに損傷を与えたりはしないのかしら・・・
まぁ、あとは電子回路関係の情報で調べてみます。

183:166
14/04/22 21:04:00.85 +4JN+sCM.net
連投でスマソ

>>180
追加で疑問。
そうすると、0x3f**以外のアドレスでも、そのアドレスのVRAMデータの色が出力されそうなんだけど、
0x3f**以外ではそうはならないみたいなんだよね・・・
これはレジスタ兼用でもそうならないものなのかな?

184:名前は開発中のものです。
14/04/22 23:02:12.52 SP0raU7v.net
>>181
なるほど、了解です。
自分も実験してみよう。

185:名前は開発中のものです。
14/04/22 23:13:05.47 SP0raU7v.net
>>183

The PPUDATA read buffer (post-fetch)
URLリンク(wiki.nesdev.com)

ここに $0000-$3effは内部リードバッファから返すが、$3f00-$3fffは(PPU内部の)データバスに直接配置されている
と書かれているので、この辺りの差で挙動が変わるっぽいですね。

186:名前は開発中のものです。
14/04/22 23:47:45.15 Ncm5fcM0.net
>>179
>seiは要らない
しまった、モロ立ってた
どうも

>>180
パレット$3fxxは通常はPPU内部アクセス、つまり擬似NTSC信号を生成する回路とのやりとりであって
普通のPPU空間には出力されないとどこかに書いてあった気がする

URLリンク(nesdev.com)
- palette RAM is accessed internally during playfield rendering (i.e., the
palette address/data is never put on the PPU bus during this time).

URLリンク(wiki.nesdev.com)
画像の通りパレットのアクセスはない

しかしこういう挙動もある、これはレンダリング止めた場合だろう?
Additionally, when the programmer accesses palette RAM via $2006/7, the
palette address accessed actually does show up on the PPU address bus, but
the PPU's /RD & /WR flags are not activated.
この辺あやしいね


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

45日前に更新/213 KB
担当:undef