チップたちが共有する規約
N0 報告、作業の後に書かれたもの。
走行スタンプ: 2026-09-02、rustc 1.97.1。コンソールのスケッチ (v0.2、nes
リポジトリができるまでは 6502 リポジトリの中にある) は N0 を最初に置いた。
nes-bus を独立したリポジトリとして立て、どのチップクレートも話すフレーム型を
そこに置き、ゲートはコンパイル検査ではなくゴールデン検査にする、と。
何が閉じたか
- クレート:
FrameParity、NES のフレーム定数とDotFrame(ntsc-crt から 移し、あちらは再エクスポートしている)、PpuPins、CpuPinsと二つの 40 ピン DIP 表、CartEdgeと 72 ピンの表、NROM 付きのCartridgeトレイト、AudioSamples。依存は無い。七つのテストがこれを自分自身に押さえる (符号化は 値で留め、表は閉じていて位置も欠けが無いこと、NROM の CIRAM ピンが半田 オプションどおりであること、/RD のミューテーションがちょうど一本のピンだけを 反転させること)。 - ntsc-crt が採用 (あちらの
051ef9d、ピン留めしたタグv0.2.2): 移した型は 再エクスポートになり、それ以外は何も変わらなかった。あちらのスイート全体 (58 テスト) と 54 件のセルフカウントの主張は緑のまま。 - 2c02 が採用 (あちらの
58dc408):DotFrameはここから取り込むようになり、 ハーネスの CHR バスの給仕は、半ステップごとに抽出したPpuPinsのフレームを 通してチップを読む。P1 のノードゴールデン (3,624 状態、レジスタプログラム全体と 3,000 半ステップの描画) はREQUIRE_GOLDEN_P1=1でフレームを通して緑に再生し、 ワークスペースの五つのテストはすべて通り、ゴールデンは P1 を閉じた時点と バイト単位で同一だ。 - ミューテーションのゲート、両方向:
MUTATE=rdは CHR の給仕をPpuPins::mutated_rd_for_proof(規約が一本のピンの極性について嘘をつく) 経由に し、P1 の再生は赤になる。MUTATE=1(CHR のバイトが 1 ビットずれる) はいまも_db0、状態 623 で赤になる。P1 報告が刻印したのと同じ差分であり、書き換えた 経路が古い証明を生かしたままにしていることの証拠だ。
途中で決めたこと
- アナログのピンは
Option<f32>(vout、ad1、ad2): デジタルの抽出では 標本化できないし、そこに数字を詰めれば偽の読みをフレームに洗い込むことになる。Noneは標本化していないという意味で、それを必要とする消費側はNoneを 名指しで拒まなければならない。消費側が一つも存在しないうちに変えた (v0.1.0 から v0.1.1)。 - 一つのビルドに規約は一版だけ。 どのリポジトリも同じ
nes-busのタグに ピン留めする。同じクレートの git ソースが二つあれば、一つのビルドに互換性の 無いDotFrame型が二つ立つからだ。上げる順番は、ここでタグを打ち、ntsc-crt を 上げてタグを打ち、2c02 の二つのピンを同時に上げる。 - フレームは瞬間である。 構造体の中に半ステップの計数器は無い。トレースの
形式と比較のドライバは、
v6502-pinsが自分のフレームをTraceで包むのと 同じように、各チップのリポジトリ自身のゴールデン機構のものだ。
書き下ろし済み、ゲートを待っているもの
CpuPinsとCartEdgeにはまだ消費側が無い。最初のゲートは N1 (2A03 のピン ロックステップ) と N4/N5 (糊とコンソール) だ。それまで DIP とエッジの表は nesdev wiki からの主張で、ソースに日付が入っている。- 2c02 のハーネスにある
ad/a_hiの抽出は、内部のアドレスバスをパッドから 見た姿として読む。リファレンス自身の handleChrBus に忠実だ。AD0..7 のパッド 多重 (アドレス相とデータ相) の全体は N5 でのコンソールの問題であり、ハーネスは それをやっている箇所でそう述べている。 - スケッチはマイルストーンごとに
check-self-counts.pyの行を求めているが、この リポジトリはまだその道具を持っていない。上の主張は、それが記述する走行から テスト数を引いており、道具はリポジトリがずれるだけの散文を持ったときに来る。
ビルド時に nes-bus/docs/n0-report.md から取り込まれる。リポジトリが唯一の写しだ。報告書は独自の作業用語をいくつか使っている: 報告書で使われる言葉。