シフトレジスタ
しふとれじすたハード
複数の入力を1本の線に1ビットずつ並べて順番に送り出す(または受け取る)IC。ファミコンのコントローラーは8ビットの4021というシフトレジスタを使い、8個のボタンの状態をクロックに合わせて1本のデータ線でシリアル転送している。少ない配線で多くの信号を扱える、古い機器の定番の仕組み。
仕組み
シフトレジスタは、複数ビットのデータを1ビットずつクロック信号に合わせて順番に送り出す(または取り込む)回路。代表的なIC「4021」シリーズは、8個の並列(パラレル)入力ピンを持つ8段の記憶回路で、各段はD型のマスター・スレーブ・フリップフロップで構成される。PARALLEL/SERIAL CONTROL入力がHighのときは8個の入力データがクロックの立ち上がりに同期して一括で取り込まれ(パラレル入力)、Lowのときはクロックのたびに1ビットずつSERIAL OUTPUT端子から順に送り出される(シリアル出力)。複数の4021を数珠つなぎにして段数を拡張することもできる。
実例
ファミコンの標準コントローラーは、この4021を1個使い、8個のボタン(十字キー上下左右・SELECT・START・A・B)の状態を一度に取り込んで、本体へは1本のデータ線でビットを1個ずつ順番に転送している。本体側がラッチ信号を送ると4021が現在のボタン状態を取り込み、続けてクロック信号を8回送るたびに1ビットずつ読み出される。少ない配線数で多数のボタン信号をやり取りできるこの方式は、当時の家庭用ゲーム機のコントローラーで広く使われた基本的な仕組みだった。
| 代表例 | 4021(CMOS 8ビット) |
|---|---|
| 方式 | シリアル転送(パラレル入力→シリアル出力) |
関連項目
- ファミリーコンピュータ任天堂の8ビット家庭用ゲーム機。安価で高い表現力を持ち、日本の家庭用ゲーム市場を一気に築いた。コントローラの方向キー+ボタンという操作系は、その後の家庭用ゲーム機の基本形になった。
- スーパーファミコン任天堂の16ビット家庭用ゲーム機。豊かな色数と拡大縮小・回転機能で当時の表現力を大きく広げた。ROMカートリッジは暗号化されておらず平文で読めたため、後年のROM解析・改造文化が育つ土壌になった。