[WEB App] Game Gear Emulator — ブラウザで動くゲームギアエミュレーター (Z80コア・SMS VDP Mode 4・RGB444 CRAM・Segaマッパー)
Game Gear Emulator
自作Z80 CPUコアをベースに、SEGA Game Gear(1990)の携帯ゲーム機ハードウェアをブラウザ上にエミュレート。
Game Gear - Wikipedia
The Game Gear is a 8-bit handheld game console released by Sega in 1990.
en.wikipedia.orgSMS(Master System)互換のVDP Mode 4(4bpp planarタイル)、Game Gear固有の12bit RGB444 CRAMラッチ制御、Segaマッパーによるバンク切替、さらにCPUサイクルと同期したSN76489 PSGの音量制御によるSEGAロゴの「セーガー♪」PCM音声再生に対応。
ドラッグ&ドロップによるROMローダーを搭載しており、お手持ちのROMファイル(.gg, .sms, .bin)を直接読み込んでプレイできます。
SMS Power!
SMS Power!
The Sega Master System and Game Gear homebrew & emulation community.
www.smspower.orgゲームの起動方法
JS GAME GEAR EMULATOR
以下、リンクを開くと起動します。
Game Gear Emulator — ブラウザで動くゲームギアエミュレーター
Z80A 3.58MHz / SMS VDP Mode 4 / SN76489 PSG — ドラッグ&ドロップROMローダー対応
lain-lab.comスタートメニューから起動
トップページのスタートメニューからも起動できます。
Z80 EMULATOR PROJECT
Z80 EMULATOR PROJECT
フルスクラッチ JavaScript Z80 コアと、その上に構築されたレトロシステムエミュレーター群
lain-lab.comスクリーンショット
SEGAロゴ起動画面
ソニック・ザ・ヘッジホッグGG タイトル画面
Homebrew作品動作
Wolfenstein // under4mhz
動画
SMS Powerさんのサイトより、under4mhz様作の「Wolfenstein」をお借りしてます。
Wolfenstein // under4mhz
Captured by the enemy, it's up to you to escape from Castle Wolfenstein and inform the Allies of the dark plans of the Axis. Escape your cell and find your way to the next level, collecting weapons, ammo and treasure along the way. Defeat the mutant general to escape the castle and to reveal your discoveries and save the world.
www.smspower.orgMai Nurse // lunoka
動画
SMS Powerさんのサイトより、lunoka様作の「Mai Nurse」をお借りしてます。
Mai Nurse // lunoka
Help Mai get rid of viruses with pills, line up 4 slots of the same color horizontally or vertically to destroy them and progress through the levels in this classic puzzle game! Made with GBDK2020. Game Gear version also available!
www.smspower.org特徴
-
ドラッグ&ドロップ ROMローダー:
ROMファイル(.gg,.sms,.bin)を画面にドロップするかクリックしてファイル選択するだけで起動。512バイトのコピアヘッダ(ヘッダー付きROM)の自動判定および除去に対応。 -
SMS VDP Mode 4 描画エンジン:
1タイル32バイトの4bpp planar構造(プレーン0〜3)をリアルタイムデコード。水平スクロールレジスタ(R8)およびスキャンライン割り込みによるラインカウンタ制御に対応。 -
Game Gear固有 RGB444 CRAM:
2バイト書き込みラッチ方式による4096色中32色同時発色カラーパレットの再現。 -
Segaマッパーによるバンク切替:
$FFFC〜$FFFFの制御レジスタ書き込みによる Slot 0 / 1 / 2(最大512KB ROM)の動的ページ切替と、先頭1KB($0000-$03FF)の固定領域マッピングに対応。 -
CPUサイクル同期 PSG PCM音声再生:
SN76489 PSGの音量レジスタを高速に書き換えるPCMサウンド再生に対応。CPUサイクル数をタイムスタンプとして AudioWorklet へ転送することで、「セーガー♪」のロゴボイスをクリアに再現。 -
GGビューポート & SMS表示切替:
マスターシステムの内部解像度(256×192)から、ゲームギア実機液晶のビューポート(中央160×144)へのクロップ表示およびフル解像度表示の切り替えに対応。
使い方
1. ROMのロード
- エミュレーターページを開く
- 点線エリアにゲームギアのROMファイル(
.gg,.sms等)をドロップ、またはクリックしてファイル選択 - 自動的にヘッダ除去・バンク構成が解析され、即座に起動
2. 対応フォーマット
| 拡張子 / 種類 | 内容 | 処理 |
|---|---|---|
.gg | Game Gear ROM | 自動ロード |
.sms | Master System ROM | SMSモードでロード |
.bin | バイナリデータ | 自動ロード |
| ヘッダ付きROM | 512 bytesヘッダ付与ファイル | ヘッダを自動検出・除去 |
キーボード操作
| 機能 | キー |
|---|---|
| 方向キー(D-Pad) | 矢印キー または W / A / S / D |
| 1ボタン | Z または J |
| 2ボタン | X または K |
| Startボタン | Enter または Space |
モジュール構成
| モジュール名 | 主要機能 |
|---|---|
| Z80 CPU CORE | Z80A命令セット(3.58MHz動作、スキャンライン割り込み対応) |
| VDP MODE 4 | 4bpp planarタイル描画・ネームテーブル・水平/垂直スクロール |
| CRAM COLOR | RGB444(12bit)2バイトラッチ式パレット制御 |
| SEGA MAPPER | $FFFC-$FFFFメモリ制御による最大512KB ROMバンク切替 |
| SN76489 PSG | 3音+ノイズ合成、CPUサイクル同期書き込みによるPCM再現 |
| GG VIEWPORT | 256×192 → 160×144 クロップ処理 |
| UI | Canvas描画、ROMドラッグ&ドロップ、表示モード切替 |
技術スタック
- JavaScript (ES6+ / Modules) — Z80コア・VDP・Segaマッパー
- HTML5 Canvas (2D Context / ImageData) — フレームバッファ描画
- Web Audio API (AudioWorklet) — サイクル同期SN76489 PSG & PCM再生
- Astro — Webアプリケーション基盤
更新履歴
- [2026-09-19]: v1.0 初回公開。
- SMS VDP Mode 4(4bpp planar)描画エンジンの実装
- Game Gear固有 2バイトラッチRGB444 CRAMパレットの実装
- Segaマッパー(512KB ROM対応)バンク切替の実装
- サイクル同期AudioWorkletによる「SEGAロゴ」PCM音声再生の実装
- 256×192 / 160×144 ビューポート切り替え機能の実装
- ドラッグ&ドロップROMローダーの実装
技術記事
[JavaScript] 自作Z80コアでゲームギアエミュレーターを実装。SMS VDP Mode 4・RGB444 CRAM・Segaマッパー・SEGAボイス再生まで完了した全記録
VDP Mode 4 planarデコード・CRAMラッチ・Segaマッパー・サイクル同期PSG PCM音声再生の実装全記録。
lain-lab.com
[JavaScript] 自作Z80コアでPac-Manエミュレーターを実装。MAMEのビットプレーン解析からZIP ROMローダーまでの全記録
Z80コアの7台目。MAMEのtilelayout解析からNamco WSGサウンドまで。
lain-lab.com
[JavaScript] 自作Z80コアでZX Spectrumエミュレーターを実装。48K/128K・AY-3-8910・Kempston対応の全記録
Z80コアの6台目。ZX Spectrum 48K/128K対応、AY-3-8910 PSGサウンド実装。
lain-lab.com