6502tinymachines

中まで見える
チップ

ここには命令デコーダも、アドレッシングモード表も、サイクル数の一覧も無い。あるのは、実物のチップから撮影されたダイ上の 1725 本の配線と 3510 個のスイッチで、動作はそれらをシミュレートした結果として現れる。レジスタの値はその記憶ノードから読み戻したもので、サイクル数は書き留められた数字ではなく、生じた数字だ。

プロジェクト

この屋根の下には 4 件のプロジェクトがあり、合わせて 12 の部品を持つ。

hotbits

放射性崩壊から得る真の乱数バイト: Pi につないだガイガーカウンターで、崩壊イベント間の時間からビットを取り出す。

ntsc-crt

信号レベルの NTSC: コンポジット波形そのものを、三つのソースからエンコードし、四種類のフィルタで引き剥がし、五段の CRT モデルで表示する。どの段にも、失敗できる検査がある。

the NES console

一族の部品から組み上がる動く NES: チップはスイッチのレベルで、チップ間の規約は記録済みのリファレンストレースで証明され、信号経路はすでに実在する。

作る人はここから

The halfphi mark: a wave breaking off a DIP package

halfphi

スイッチレベルのエンジン: ダイデータのパーサ、ネットリスト、ソルバ。特定のチップを名指しせず、ダイデータを一切埋め込まない。それこそが自由に依存できる理由のすべて。6502 も 6800 も Z80 も、同一の呼び出しで読み込む。

提供中のリリース(v0.325)は halfphi 0.1.6 を積む。共有 6 ファイルのハッシュは 6102efce4863。二つのリポジトリで同一

6502 の仕事を、ピースごとに

どれも実在して動いている。6 個のうち 4 個は公開アドレスで応答し、残る 2 個はなぜアドレスを持たないかを述べる。

halfphi

スイッチレベルのエンジン: ダイデータのパーサ、ネットリスト、ソルバ。特定のチップを名指しせず、ダイデータを一切埋め込まない。それこそが自由に依存できる理由のすべて。6502 も 6800 も Z80 も、同一の呼び出しで読み込む。

形態
a Rust crate
コード
MIT
ダイデータ
none: embeds no die data

クレートは依存物であって、動いているサービスではない。HTTP に答えるものが無いのだから、このピースに報告すべき到達性は無い。

the 6502 info site

情報サイト: WebGL2 のダイレンダラ、25 種ほどの導出コンテナ、チップマップ、入門、ラボ、そして実測の表。

形態
built into a content-hashed dist/, served from a release symlink
コード
MIT
ダイデータ
CC BY-NC-SA 3.0, derived from visual6502 die data

the 6502 API

実チップ上のステートレス HTTP: マシン全体が毎リクエストに載って移動し、サーバはセッションを持たない。FastAPI と Pydantic、それにチップアトラス、カートリッジ鋳造所、MCP エンドポイント。

形態
uvicorn, with --root-path /api behind nginx
コード
MIT
ダイデータ
CC BY-NC-SA 3.0, derived from visual6502 die data

halfwave

API が話しかける常駐のエンジンプロセス: 行プロトコル、パース済みネットリスト一つ、マシン一台、依存ゼロ。加えて、レビュアーが建てたラボが自分の敷地に。

形態
a release binary, plus a static lab
コード
MIT
ダイデータ
CC BY-NC-SA 3.0, derived from visual6502 die data

Die Runner

コンソール: 6502 の ROM、画面はそのメモリの 1 ページ、描くのはブラウザ。カートリッジ、ビルダーページ、エディタ。

形態
static ES modules
コード
MIT
ダイデータ
CC BY-NC-SA 3.0, derived from visual6502 die data

Die Runner API

カートリッジ鋳造所、コンソール仕様、レジストリ。公開時には、ファイルに付いてきた verify ブロックを信じる代わりに、すべてのカートリッジをチップ上で走らせ直す。ファイルとは、作者が編集できるものだから。

形態
routes on the same FastAPI app as the 6502 API, not a service of its own
コード
MIT
ダイデータ
CC BY-NC-SA 3.0, derived from visual6502 die data

独立のサービスではない。6502 API 上のルートなので、これを監視すれば同じサービスの健全性を別名でもう一度報告するだけになる。chip-api のピースを参照。

読む場所