動いているところを見る
ページの中で動いている機械たちです。録画は一つもありません。フレームも波形もバイトも、見ているあいだに計算されています。動かしているのは、チップ自身のトランジスタから組んだ模型です。
ここには命令デコーダも、アドレッシングモード表も、サイクル数の一覧も無い。あるのは、実物のチップから撮影されたダイ上の 1725 本の配線と 3510 個のスイッチで、動作はそれらをシミュレートした結果として現れる。レジスタの値はその記憶ノードから読み戻したもので、サイクル数は書き留められた数字ではなく、生じた数字だ。
ページの中で動いている機械たちです。録画は一つもありません。フレームも波形もバイトも、見ているあいだに計算されています。動かしているのは、チップ自身のトランジスタから組んだ模型です。
物語と記録です。作業の流れを最初から一度きり語ったもの、長めの読みもの、計画と報告のノート、そして各プロジェクトの入口が並んでいます。
使える部品です。HTTP で答えるチップ、カートリッジの形式、公開するものを自分で走らせ直すレジストリ、そして本物のガイガー管から出たバイト。
この屋根の下には 4 件のプロジェクトがあり、合わせて 29 の部品を持つ。
ダイ写真からトレースしたトランジスタレベルの MOS 6502 と、その上に築かれたすべて: エクスプローラ、実チップ上の API、常駐のエンジンプロセス、そしてコンソール。
概要エクスプローラ長めの読みもの6502 APIDie RunnerエディタレジストリHalfwave Labvisual6502 アーカイブ
放射性崩壊から得る真の乱数バイト: カウントのひとつひとつをハードウェアで時刻付けするガイガーカウンターで、崩壊イベント間の時間からビットを取り出す。
私たち自身の部品から組む動く NES: 二つのチップをスイッチごとに模擬し、チップ間のつながりはすべて記録済みのリファレンス走行と照らし合わせ、絵の経路はすでに実機で試してある。
概要遊ぶ作る人の速さで見るファミコンチップコンソール信号信号のベンチコンポジット、終端してベンチ較正カートリッジコンソールの弧のノートコンソールの弧を振り返る
ゲームを走らせて分解する: ゲームが入ったすべてのルーチン、コードにあるパターン、テーブルとメモリを、カートリッジへ組み立て直せるリスティングとして書き残す。

スイッチレベルのエンジン: ダイデータのパーサ、ネットリスト、ソルバ。特定のチップを名指しせず、ダイデータを一切埋め込まない。それこそが自由に依存できる理由のすべて。6502 も 6800 も Z80 も、同一の呼び出しで読み込む。
github.com/tinymachines/halfphiMITa Rust crate
提供中のリリース(v0.367)は halfphi 0.1.6 を積む。共有 6 ファイルのハッシュは 6102efce4863。二つのリポジトリで同一
どれも実在して動いている。6 個のうち 4 個は公開アドレスで応答し、残る 2 個はなぜアドレスを持たないかを述べる。
スイッチレベルのエンジン: ダイデータのパーサ、ネットリスト、ソルバ。特定のチップを名指しせず、ダイデータを一切埋め込まない。それこそが自由に依存できる理由のすべて。6502 も 6800 も Z80 も、同一の呼び出しで読み込む。
クレートは依存物であって、動いているサービスではない。HTTP に答えるものが無いのだから、このピースに報告すべき到達性は無い。
情報サイト: WebGL2 のダイレンダラ、25 種ほどの導出コンテナ、チップマップ、入門、ラボ、そして実測の表。
実チップ上のステートレス HTTP: マシン全体が毎リクエストに載って移動し、サーバはセッションを持たない。FastAPI と Pydantic、それにチップアトラス、カートリッジ鋳造所、MCP エンドポイント。
API が話しかける常駐のエンジンプロセス: 行プロトコル、パース済みネットリスト一つ、マシン一台、依存ゼロ。加えて、レビュアーが建てたラボが自分の敷地に。
コンソール: 6502 の ROM、画面はそのメモリの 1 ページ、描くのはブラウザ。カートリッジ、ビルダーページ、エディタ。
カートリッジ鋳造所、コンソール仕様、レジストリ。公開時には、ファイルに付いてきた verify ブロックを信じる代わりに、すべてのカートリッジをチップ上で走らせ直す。ファイルとは、作者が編集できるものだから。
独立のサービスではない。6502 API 上のルートなので、これを監視すれば同じサービスの健全性を別名でもう一度報告するだけになる。chip-api のピースを参照。