6502
ダイ写真からトレースしたトランジスタレベルの MOS 6502 と、その上に築かれたすべて: エクスプローラ、実チップ上の API、常駐のエンジンプロセス、そしてコンソール。
概要エクスプローラ6502 APIDie RunnerエディタレジストリHalfwave Labvisual6502 アーカイブ
ここには命令デコーダも、アドレッシングモード表も、サイクル数の一覧も無い。あるのは、実物のチップから撮影されたダイ上の 1725 本の配線と 3510 個のスイッチで、動作はそれらをシミュレートした結果として現れる。レジスタの値はその記憶ノードから読み戻したもので、サイクル数は書き留められた数字ではなく、生じた数字だ。
この屋根の下には 4 件のプロジェクトがあり、合わせて 12 の部品を持つ。
ダイ写真からトレースしたトランジスタレベルの MOS 6502 と、その上に築かれたすべて: エクスプローラ、実チップ上の API、常駐のエンジンプロセス、そしてコンソール。
概要エクスプローラ6502 APIDie RunnerエディタレジストリHalfwave Labvisual6502 アーカイブ
放射性崩壊から得る真の乱数バイト: Pi につないだガイガーカウンターで、崩壊イベント間の時間からビットを取り出す。
信号レベルの NTSC: コンポジット波形そのものを、三つのソースからエンコードし、四種類のフィルタで引き剥がし、五段の CRT モデルで表示する。どの段にも、失敗できる検査がある。
一族の部品から組み上がる動く NES: チップはスイッチのレベルで、チップ間の規約は記録済みのリファレンストレースで証明され、信号経路はすでに実在する。

スイッチレベルのエンジン: ダイデータのパーサ、ネットリスト、ソルバ。特定のチップを名指しせず、ダイデータを一切埋め込まない。それこそが自由に依存できる理由のすべて。6502 も 6800 も Z80 も、同一の呼び出しで読み込む。
github.com/tinymachines/halfphiMITa Rust crate
提供中のリリース(v0.325)は 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 のピースを参照。