対応画像
モデル
- 初代ゲームボーイは、日本では1989年4月21日、アメリカでは1989年7月31日、ヨーロッパでは1990年9月28日に発売された。
- 次世代の後継機であるゲームボーイカラーは、日本では1998年10月21日、北米では1998年11月18日、ヨーロッパでは1998年11月23日に発売された。
マザーボード
ダイアグラム
簡単な紹介
- ゲームボーイは、性能が制限された携帯型NESとしてイメージできるが、非常に興味深い新機能も備えている。
レインボー分析
- このコンソールは非常に人気が高かったため、さまざまなリビジョン(例: ゲームボーイポケット、ライト、スーパーファミコン用カートリッジ形態など)が登場した。
- ゲームボーイブランドは2世代にまたがっている。
- 第4世代にはモノクロのゲームボーイとそのリビジョンがあり、次の世代にはゲームボーイカラーがある(バーチャルボーイの終焉後に発売された)。
- この記事は両世代を扱っているため、最終的にはゲームボーイの仕組みと、その技術がどのように進化してゲームボーイカラーになったのかをよく理解できるだろう。
CPU
- 任天堂は、複数の市販チップをマザーボード上に配置する代わりに、ほとんどの構成要素を収めた(そして隠した)単一チップ設計を選択した。
- この種のチップは System On Chip(SoC)と呼ばれ、この場合はこのコンソール向けに特別に製造され、任天堂の要件(電力効率、アンチパイラシー、追加I/Oなど)に合わせて調整されている。
- このチップは一般の小売カタログでは見つからなかったため、当時の競合他社はクローンを作るのがより困難だった。
- ゲームボーイで使われたSoCは DMG-CPU または Sharp LR35902 と呼ばれ、Sharp Corporation が製造した。
- この会社は任天堂と緊密な関係を維持している。
CPUコア
- DMG-CPU内部の主要プロセッサは Sharp SM83 で、Z80(セガ・マスターシステムで使われたCPU)とIntel 8080の混成である。
- 約 4.19 MHz で動作し、平均的な1-MHz CPUより高速である。
- SM83にはZ80の
IX や IY レジスタ、あるいは8080の IN や OUT 命令は含まれていない。つまり、I/Oポートは使用できない。
- Intel 8080のレジスタセットだけが実装されているため、Z80の16個のレジスタとは異なり、8個の汎用レジスタしかない。
- Z80の拡張命令セットの一部(ビット操作命令のみ)を含んでいる。
- Sharpは、Z80や8080にはないいくつかの新命令を追加した。これは、任天堂/Sharpがハードウェアを構成した方式に関係する特定の処理を最適化するためである。
カラー効果
- ほぼ10年後、バーチャルボーイとその革新的なハードウェアを捨てた後、控えめな後継機である ゲームボーイカラー が登場した。
- 内部には、いくつかの追加機能を含む新しいSoC CPU CGB があり、SM83 CPUコア自体は同じだが、クロック速度が2倍に引き上げられた(現在は 約8.38 MHz で動作する)。
- 開発者は新しいコンソールをプログラミングするために既存の技術を再利用でき、新アーキテクチャ向けにシステムを再設計する必要がなくコストを節約できるうえ、大きな労力なしで下位互換性も実現できた。
- CPU CGBは2つの動作モードを実装している:
- 通常モード: SM83が 約4.19 MHz で動作する。
- デュアルスピードモード: SM83が 約8.38 MHz で動作する。
ハードウェアアクセス
- SM83は 8ビットデータバス と 16ビットアドレスバス を維持しているため、最大 64 KBのメモリ をアドレス指定できる。
- メモリマップは主に次のエンドポイントで構成される:
- ゲームパック(ゲームカートリッジ)領域。
- ワークRAM(WRAM)、ハイRAM(HRAM)、およびディスプレイRAM(VRAM)。
- I/O(ジョイパッド、オーディオ、グラフィックス、LCD)。
- 割り込み制御。
利用可能なメモリ
- 任天堂はマザーボードに 8 KBのRAM を搭載した。これは一般用途に使われる(Work RAM または「WRAM」と呼ばれる)。
- SoC内部にはさらに 127 B のRAMがあり、即時アクセスが必要なデータのための小さな領域を提供する(例: スタック)。
グラフィックス
- すべてのグラフィック計算はCPUで実行され、その後 Picture Processing Unit(PPU)がそれを描画する。
- 統合LCD画面に表示され、解像度は 160×144ピクセル で、モノクロゲームボーイでは 4段階のグレー(白、明るいグレー、暗いグレー、黒)を表示する。
コンテンツ構成
- PPUは 8 KBのVRAM、つまり「ディスプレイRAM」に接続されており、CPUにも調整されたアクセスを提供する。
- ゲームは、さまざまな領域に適切な種類のデータを埋める責任を負う。
フレーム構成
- PPUが画面上にオブジェクトを描く方法を見るために、スーパーマリオランド2 を例に取ることができる。
タイル
- PPUは、グラフィックスを描画するための基本素材として タイル を使用する。
- タイルは 8x8ビットマップ で、VRAMの タイルセット または「タイルパターンテーブル」と呼ばれる領域に保存される。
背景レイヤー
- 背景レイヤーは、256x256ピクセル(32x32タイル)のマップで、静的タイル を含む。
- 画面に表示される部分はゲームが選択し、ゲームプレイ中に見える領域を移動させることができる。
ウィンドウ
- ウィンドウは、背景とスプライトの上に表示される 160x144ピクセル のレイヤーで、このレイヤーはスクロールしない。
スプライト
- スプライトは、画面の周囲を独立して移動できるタイルである。
- このレイヤーは、透明 という追加の色を使用/必要とする。
結果
秘密と制限事項
- ウィンドウレイヤーと追加割り込みの導入により、新しい種類のコンテンツや効果が可能になった。
カラーでの追加事項
- ゲームボーイカラーのPPUは、オリジナルの上位互換として動作する。
オーディオ
- オーディオシステムは、Audio Processing Unit(APU)、4チャンネルのPSGチップによって実現される。
機能
- 4つの各チャンネルは、それぞれ単一の波形タイプに割り当てられている:
秘密と制限事項
- ミキサーはステレオサウンドを出力するため、チャンネルを左または右に割り当てることができる。
オペレーティングシステム
- NESとは異なり、ゲームボーイは常に内部の 256バイトROM から起動し、その後ゲームコードへジャンプするよう設計されていた。
ゲーム
- ゲームはアセンブリで書かれ、最大サイズは 32 KB である。
外部通信
- ゲームボーイリンクケーブルを使って、ほかのゲームボーイと通信できる。
アンチパイラシー
- コンソールはゲームをすぐに実行せず、未認可カートリッジの実行を防止し、カートリッジが正しく挿入されているか確認するための一連の検査を行う。
GN⁺の見解
- ゲームボーイの技術的進化は、携帯型ゲーム機の歴史における重要な発展を示している。
- 任天堂のSoCアプローチはハードウェア設計において革新的であり、競合他社がクローンを作ることを難しくした。
- ゲームボーイカラーの下位互換性は、開発者とユーザーの双方に大きな利点をもたらした。
1件のコメント
Hacker Newsのコメント