BFE001
LED / low-pass filterワイヤーフレームで考える頭の中の地図——ディジョンの ZX Spectrum からAmigaのメモリマップドハードウェアまで、 その間に配線されたすべてのこと。
自己紹介
Mark Karpelès です。システム思考の人間です。人生のほとんどを、 ものごとの仕組みを理解するためのメンタルモデルを作ることに費やしてきました。 CPUの内部構造からトランジスタまで、ドアの取っ手の機構から分散ソフトウェア アーキテクチャまで。仕組みを理解すること自体がご褒美です。あるシステムの 動きが予測できるようになると、脳は次の未知へと移っていきます。
このサイトの名前は $BFE001 に由来しています。AmigaのCIA 8520チップ上の
ハードウェアレジスタです。そのアドレスのbit 1に書き込むと、電源LEDと
オーディオのローパスフィルターが切り替わりました。トンネルを通過するような
くぐもった音を再現するために使うゲームもありました。Amigaでコードを書いた
中で、あの一つの命令——MOVE.b #$02,$BFE001——だけが何十年も
頭に残り続けました。1行のコードでマシンの物理的な状態に手を伸ばして
変えてしまう、そんな感覚でした。
その感覚——システムの内部が見えて、構造を理解して、どの線を引けばいいか 正確にわかる——それが物心ついた頃から自分が世界を体験してきた方法です。
この名前の由来
AmigaはハードウェアをそのままCPUのアドレス空間にマッピングしていました。
メモリアドレスに書き込むというのは、単に値を保存するだけでなく、マシンの
物理的な状態を変えることでした。$BFE001 はCIA-AのPort Aレジスタの
アドレスで、キーボード、ゲームポートのボタン、電源LED、オーディオの
ローパスフィルターを制御していました。
ゲームではbit 1を切り替えて、トンネル内のくぐもった音のようなエフェクトを 作っていました。Amiga 2000では、電源LEDは完全に消えるのではなく暗くなりました。 たった1ビット、たった1つのアドレスで、マシンの物理的な挙動が変わる。
あの命令——MOVE.b #$02,$BFE001——は、ソフトウェアとハードウェアの
境界が溶ける瞬間を初めて感じた出来事のひとつでした。
このサイトが存在する理由です。コンピュータをブラックボックスとしてではなく、
あらゆるレベルで中を見て、理解して、操作できる構造として捉える
——そういう考え方を表しています。