NTSCtinymachines

コンポジット、終端して

コンポジット映像は一本の線で全部を運ぶ: 各ラインがどこで始まるか、色のクロックがどこにあるか、そして絵そのものを、時間に対する電圧として。このページはその線を、本物のフロントローディング NES から、設計どおりの 75 オームで終端して、経路にスコープ以外何も置かず、毎秒 1 億 2500 万点でサンプリングして読む。下の数字はすべて、記録済みコミットでリポジトリ自身のツールが記録から測ったもので、図はそのツールが描いたもの、挿絵ではない。

ADC が見た一本のライン

ラインは同期で始まる: 信号は最低レベル、ここでは -0.076 V まで落ち、4.7 マイクロ秒それを保つ。ブランキングの 0.124 V に戻る。この 0.200 V の段差を、どのデコーダも物差しにする。次にバースト、次に絵、そして次の同期までまたブランキング。この記録の 1512 本のラインで、同期は 63.512 マイクロ秒おきに来る。放送の NTSC はラインを副搬送波 227.5 サイクル、63.556 マイクロ秒と定める。NES は 227 と 3 分の 1、63.509 を描き、記録は小数第 3 位までそう言っている。この差が、ランディングページの最初のデコードがつまずいたものだ。

NES の 1 走査線をマイクロ秒に対する電圧で: 同期パルス、バックポーチのカラーバースト、クロマ変調されたタイルの有効画面。
記録の中ほどの一本、同期エッジをゼロに、スコープは 1 目盛 200 mV。破線は全ラインで測ったチップとブランキングのレベル。

バースト

8 マイクロ秒目、バックポーチの上で、実機は色副搬送波 3.579545 MHz を約 9 サイクル、何も変調せずに送る。これがバースト: 受信側が自分の発振器を合わせる基準で、これがあって絵の中のクロマの位相が色相を意味する。このサンプルレートでは 1 サイクルが 34.9 サンプルなので、図の点はすべて実サンプルだ。振幅はピーク間 0.280 V で、記録の全ラインでミリボルトまで同じ。同期からブランキングまでの段差で割ると比は 1.40。別の実機を 75 オームで測った転記済みレベル表は 1.42 を与える。

カラーバーストの拡大: ブランキングのすぐ上に座る 3.579545 MHz 約 9 サイクル、サンプルをすべて点で描いたもの。
全サンプルを示したバースト。谷はブランキングの同期側、山はその上: 表が言うとおり、バーストはブランキングより少し上を中心にしている。

なぜ終端するのか

ランディングページの最初のキャプチャはプローブだけで録った: 75 オーム向けに設計された信号に 1 メガオームの入力。重ね図はその記録の一本を、この記録の一本に重ねる。終端なしでは、同期からブランキングまでの段差は 2.50 倍に見えた。バーストは 3.57 倍に見えた。同じ数ではなく、その差が話の全部だ: DC レベルはある倍率で、3.58 MHz の副搬送波は別の倍率で伸びたので、終端なしの記録はバースト対同期の比 2.00 を運び、終端した記録は 1.40、表は 1.42。同期の段差を物差しにするデコーダは(デコーダとはそういうものだ)、自分のフィルタの前で色を約 40 パーセント強く見て、フィルタの後でランディングページは World 1-1 の空が合成より 28 パーセント熱いと報告した。プローブのせいで、実機のせいではなかった。

二本のライン先頭の重ね図: 赤の終端なし記録は 2.5 V を超えて振れ各エッジでリンギングし、青の終端した記録は 4 分の 1 の大きさで澄んでいる。
同じ実機をプローブだけ(赤)と 75 オーム(青)で、同期エッジで揃えて。画面の内容は別のフレームなので 9 マイクロ秒より先の絵は違う。同期とバーストとリンギングはフレームに依らない。

表の隣に置いたレベル

この実機の絶対レベルは表より低い: 同期からブランキングの段差が 0.264 に対して 0.200 V、同期チップは -0.076 V でゼロより下。表の実機はゼロより上に置いていた。実機は出力段が違い、表はそのうちの一台で測られた。デコーダに要るのはボルトではなく比で、リポジトリの復元はどの記録もまず表の同期とブランキングに正規化してから他を見る。その物差しの上で、終端したバーストは表と 2 パーセント以内で一致する。

終端した記録の全サンプルの対数ヒストグラム。測った同期チップとブランキングに印を付け、その隣に表の同期とブランキングの印。
1200 万サンプルがどこに居るか。高い棒は絵が時間を過ごすレベル。印はこの記録のチップとブランキング、そして表のもの。

デコードが作るもの

このフレームは、終端した記録をリポジトリの復元に端から端まで通したものだ: 同期を見つけ、バーストにロックし、NES のグリッドにリサンプルし、色と明るさをもう一度引き離す。画面はカートリッジのメニューだった。画面は任天堂のもので、測定への論評のために転載した。

終端したスコープ記録からデコードしたスーパーマリオブラザーズ / ダックハントのカートリッジメニュー: 黒地にタイトルロゴとシアンの DUCK HUNT の文字。
終端した記録から端から端までデコード。

数字の出どころ

m4-report third addendum, 2026-09-04: the same console into a 75 ohm feedthrough terminator, CH3 DC 200 mV/div, 12 Mpt at 125 MSa/s, the cartridge menu on screen, measured by tools/composite-figures.py。このページは bb310f5 でコミットされたとおりの記録を読み、打ち込んだ数字は一つもない。

sync tip -0.076 Vblanking 0.124 Vburst 0.280 Vburst / sync 1.40table 1.42

まだ無いもの

終端した空。ランディングページの彩度の所見は一時停止した World 1-1 の空で採点され、その確認は終端した記録から同じ領域を同じ採点器に通すことだ。実機のマリオをもう一度一時停止させる必要がある。そうなれば数字は記憶からではなく、このページの他の数字と同じく実測されコミットされて、ここに来る。NTSC のランディングへ戻る。