6502tinymachines

ヘッドの手の早見表

印刷用: 図面一式「NES controller-port bridge, v1b」TM-NESB-001 版 P (PDF、英語)。

tools/cheatsheet.py --sheet bench-v1b-head が生成する。ジャンパ、配線の一覧、 各モジュールの「このベンチでは」の列は、回路図の三枚目 (bench-v1b-3.svg) から 読み出す。ブレイクアウトの線は立ち上げツール自身の表から来る。書き下ろしの文は 各モジュールのピンが部品の上で何をするかだけで、それはそのツールの一箇所に 置かれ、回路図がピンを別の名で呼んでいれば拒まれる。ブレイクアウトのどの 2 極が リセットの対なのかは 2026-09-17 にコンソールで当たって測った。その読みが 書いてあるのは下の J3 の表だ。同じ配線を直角で描いたもの: wiring-v1b-head.svg。

シート: bench-v1b-head。

シート 3 の全配線

ネットごとに 1 行、回路図から読み取ったもの。RST_HI が 3 橙、RST_LO が 4 黄で、 これがリセットボタンだ。橙が二つのうち電位の高い側。PWR_BROWN と PWR_RED は リレーをフロントパネルの電源スイッチに並列で渡す。ヘッドが電源を握っている間、 そのスイッチは切ったままだ。

ネットからへ
LANPI ETHLAN 越しの SCPI
PI_USBPI USB-APi への USB
PWR_BROWNK1 COMJ3-1 1 茶、電源
PWR_DRIVEPI GPIO27 (位置 13)K1 IN
PWR_REDK1 NOJ3-2 2 赤、電源
RST_DRIVEPI GPIO17 (位置 11)OK1 INPUT +
RST_HIOK1 OUTJ3-3 3 橙、リセット +
RST_LOOK1 GNDJ3-4 4 黄、リセット -
GNDPI GND (位置 6)OK1 INPUT -; K1 GND
PI_5VPI 5V (位置 2)K1 VCC

ヘッドの四本のジャンパ

Pi のヘッダから出るデュポン線 4 本、ブレイクアウトは無し (2026-09-10)。位置は Pi 自身の番号で、奇数が内側の列。反対側の端はシート 3 から読み取ってある。 ここからコンソールへ行く線は無い: Pi のグラウンドがコンソールに届くのは UNO の USB ケーブル経由だけだ。

Pi のピン位置先役割
5V2PI_5V レールコイルの電源
GND6GND レール貸す唯一のグラウンド
GPIO1711OK1 INPUT +リセット、100 ms の高
GPIO2713K1 IN電源: 高でオン

電源とリセットのブレイクアウト、J3

5 極が素通しで、フロントパネルのハーネスと色は色のまま、1 番ピンが奥、パネルと 並列で分岐させてある。どの極が何なのかは 2026-09-17 にテスタで測った。グラウンド の極は無い。コンソールがオンでボタンを離した状態で、橙は黄より 4.40 V 高い (2026-09-17)。だから OK1 の OUT は橙へ、その GND は黄へ行く。

極NES のハーネスブレイクアウトの線それが何か
1茶茶電源スイッチ
2赤赤電源スイッチ
3橙橙リセット、+ 側 (4.40 V)
4黄黄リセット、- 側、および LED
5白白LED

OK1: PC817 モジュール

キャリア基板に載ったフォトカプラ一つ: 入力側は直列抵抗の先の LED、出力側は フォトトランジスタ、両者を繋ぐものは光だけだ。キャリア基板は OUT から VCC への プルアップを足している。VCC を開けておけば OUT は素のコレクタ、GND はエミッタに なるので、出力側は自分の GND へのスイッチであってそれ以上ではない: つまり リセットボタンで、ヘッドがそれを閉じる。INPUT + を高にすると (Pi のピンの 3.3 V で足りる) LED が点き、スイッチが閉じる。

側ピン部品ではこのベンチでは
入力INPUT +直列抵抗を介した LED のアノード: 高で点くRST_DRIVE: PI GPIO17 (位置 11)
入力INPUT -LED のカソード、入力側の帰りGND レール
出力OUTコレクタ: LED が点いている間 GND に引かれるRST_HI: J3-3
出力GNDエミッタ、出力側自身のグラウンドRST_LO: J3-4
出力VCCOUT のプルアップ電源。開けてあるので OUT はオープンコレクタ未接続: 意図して開けてある

K1: リレーモジュール、5 V コイル

5 V コイルのリレーがキャリア基板に載り、入力はフォトカプラで絶縁され、それが コイルのトランジスタを駆動する。コイルは VCC から約 80 mA を取る。だからこれは GPIO ではなく Pi の 5V ピンに繋がっている。接点は切り替えで、COM が NO か NC に 付く。モジュールの表記から読むのではなく、コンソールで 2026-09-17 に実測: GPIO27 の HIGH でコンソールに電源が入り、LOW で切れる。だから起動時の設定は これを低で休ませている。

側ピン部品ではこのベンチでは
コイルVCCコイルとキャリア基板の電源、5 VPI_5V レール
コイルGNDコイルとキャリア基板の帰りGND レール
コイルIN制御: GPIO27 の高でコンソールがオン (実測)PWR_DRIVE: PI GPIO27 (位置 13)
接点COM接点の共通PWR_BROWN: J3-1
接点NO常開: コイルがオンの間 COM に付くPWR_RED: J3-2
接点NC常閉: コイルがオフの間 COM に付く未接続: 意図して開けてある

立ち上げツールが走らせるままの、二つの手順

tools/bringup.py から。docs/build-guide.md もこれと同じ表から書かれている。 手順ごとに一つ、Pi の上で:

cd ~/nes-bench && yes '' | python3 tools/bringup.py --step 6.2 --bridge /dev/ttyACM0 --scope SCOPE --operator NAME
cd ~/nes-bench && yes '' | python3 tools/bringup.py --step 6.3 --bridge /dev/ttyACM0 --scope SCOPE --operator NAME

6.2 リセットのフォトカプラがコンソールにパルスを入れる

  • ブレイクアウト J3 は 5 極が素通しで、色は色のまま (1 茶、2 赤、3 橙、4 黄、 5 白)。3 橙と 4 黄がリセットボタンで、コンソールがオンのとき橙は黄より 4.40 V 高い (実測 2026-09-17)。
  • PC817 モジュール: OUT を 3 橙へ、その GND を 4 黄へ、VCC は未接続、Pi の GPIO17 を INPUT + へ、INPUT - を Pi の GND へ。フロントパネルのボタンは並列の ままにしておく。

6.3 電源リレーがコンソールを切り替える

  • リレーの COM と NO を J3 の 1 茶と 2 赤、つまりフロントパネルの電源スイッチ (2026-09-17 にテスタで確認) に、それと並列に渡す。この手順の間、前面の スイッチは切ったままにする。商用電源の安全: ここにあるものは一つも商用電源側 には無い。
  • リレーモジュールの VCC を Pi の 5V ピンへ、IN を GPIO27 へ (高でコンソールに 電源が入る、実測 2026-09-17)、GND を Pi の GND へ。

ビルド時に nes-bench/docs/cheat-sheet-head.md から取り込んだもの。リポジトリが唯一の写しだ。報告は独自の作業用の言葉をいくつか使う: 報告書で使われる言葉。