[WEB App] ColecoVision Emulator — ブラウザで動くColecoVisionエミュレーター (Z80コア・TMS9918A・SN76489・BIOS HLE/実ROM デュアル対応)
ColecoVision Emulator
自作Z80 CPUコアをベースに、ColecoVision(1982年、Coleco社)のハードウェアをブラウザ上にエミュレート。
ColecoVision - Wikipedia
The ColecoVision is a second-generation home video game console developed by Coleco and launched in North America in August 1982. It was released later in July 1983 in Europe by CBS Electronics as the CBS ColecoVision.
en.wikipedia.orgTMS9918A VDPによるグラフィック描画(Mode 0/1/2/3+スプライト32枚)、SN76489 PSGによるサウンド出力(3矩形波+ノイズ)、ジョイスティック+テンキーの2モードコントローラ入力に対応。
TMS9918 - Wikipedia
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments and introduced in 1979
en.wikipedia.orgTexas Instruments SN76489 - Wikipedia
The Texas Instruments SN76489 is a programmable sound generator (PSG) chip released in 1979, used to create music and sound effects on computers and video game systems
en.wikipedia.orgBIOS HLE(High Level Emulation)による公式ROM不要モードと、ユーザーが実BIOS ROMファイル(8KB)を持ち込むフル互換モードのデュアル構成で動作する。
COLECOVISION EMULATOR
ColecoVision Emulator — ブラウザで動くColecoVisionエミュレーター
Z80A 3.58MHz / TMS9918A / SN76489 — BIOS HLE + 実ROM デュアル対応
lain-lab.comZ80 EMULATOR PROJECT
Z80 EMULATOR PROJECT
フルスクラッチ JavaScript Z80 コアと、その上に構築されたレトロシステムエミュレーター群
lain-lab.comスタートメニューから起動
トップページのスタートメニューからも起動できます。
スクリーンショット
動画(GIF)
CREDIT // Sample Data
sample romは、ArugulaZ様の「Barbarricade for Master System & ColecoVision」をお借りしています。
Barbarricade for Master System & ColecoVision by ArugulaZ
Break the bricks, before they break you!
arugulaz.itch.io特徴
-
BIOS HLE / 実BIOSデュアル構成:
公式BIOS ROMなしでも一部ゲームが動作するHLEモード(約40関数実装)と、ユーザーが8KBのBIOS ROMファイルを持ち込むことでフル互換動作する実BIOSモードの両方に対応。 -
TMS9918A VDP 全モード対応:
Graphics Mode 0(32×24)、Mode 1(テキスト 40×24)、Mode 2(Graphics II、3セクション独立パターン/カラー)、Mode 3(マルチカラー 64×48)、および最大32枚のスプライト描画(8×8/16×16、マグニファイ対応)を実装。 -
SN76489 PSG サウンド:
3チャンネル矩形波+1チャンネルノイズ(周期/ホワイト)。対数音量テーブル、Web Audio API経由でリアルタイム出力。 -
2モードコントローラ:
ジョイスティック(4方向+Fire A)とテンキー(0-9, *, #+Fire B)の2モード。ゲームがI/Oポートへの書き込みでモードを切り替えるストローブ方式を再現。画面上のソフトキーパッドにも対応。 -
Z80コア共有設計:
MSX1、SG-1000、PC-G850Vと同一のZ80コアを使用。TMS9918AレンダラーとSN76489 PSGもcore/から共有。ColecoVision固有のコードはシステム層1ファイルのみ。
モジュール構成
| モジュール名 | 主要機能 |
|---|---|
| Z80 CPU CORE | Z80A命令セット全実装(ZEXDOC 67項目パス、IM1割り込み、NMI対応) |
| TMS9918A I/O | VRAMアクセス、レジスタ書き込み、ステータス読み取り、read-aheadバッファ |
| TMS9918A RENDERER | Mode 0/1/2/3描画、スプライトレンダリング、衝突検出 |
| SN76489 PSG | 3ch矩形波+ノイズ、対数音量、LFSR、Web Audio ScriptProcessor出力 |
| COLECOVISION SYSTEM | メモリマップ(BIOS/RAM/ROM)、I/Oポートルーティング、BIOS HLE 40関数 |
| CONTROLLER | ジョイスティック/キーパッドのストローブ切替、キーコードエンコーディング |
| UI | Canvas 256×192描画、ROMファイルローダー、デバッグダンプ、ソフトキーパッド |
使い方
モード1: HLE(BIOS不要)
- ページを開く
- 「📂 Load ROM」でカートリッジROMファイル(.col / .rom / .bin)を選択
- 自動的にゲームが起動
- テンキー「1」でゲーム開始(ゲームによって異なる)
一部のゲーム(けっきょく南極大冒険、Alcazar等)がBIOS不要で動作します。多くのゲームは実BIOSが必要です。
モード2: 実BIOS ROM
- 「🔑 Load BIOS」でColecoVision BIOS ROMファイル(8KB)を選択
- 「📂 Load ROM」でカートリッジROMファイルを選択
- 実BIOSのタイトル画面(約12秒)が表示された後、ゲームが起動
- テンキーでプレイヤー数/難易度を選択 → Fire ボタンまたは
*/#で決定
実BIOSモードではほぼ全てのColecoVisionゲームが動作します。
ROM入手先
Homebrew(自作)ゲームのROMは itch.io などで無料配布されています。
Mahjong by Under4Mhz
The classic tile matching game for ColecoVision, MSX, and more.
under4mhz.itch.ioキーボード操作
ジョイスティック(移動+攻撃)
| 機能 | PCキーボード |
|---|---|
| 上 | W / ↑ |
| 下 | S / ↓ |
| 左 | A / ← |
| 右 | D / → |
| Fire A(左ボタン) | Z / Space |
| Fire B(右ボタン) | X |
テンキー(ゲーム選択・特殊操作)
| 機能 | PCキーボード |
|---|---|
| 0-9 | 0-9(メインキー / テンキー) |
| * | - (ハイフン) |
| # | = (イコール) |
技術スタック
- JavaScript (ES6+ / Modules) — Z80コア・TMS9918A・SN76489・システム層
- HTML5 Canvas (2D Context / ImageData) — 256×192 VDP描画
- Web Audio API (ScriptProcessorNode) — PSGサウンド出力
- Astro — Webアプリケーション基盤
更新履歴
- [2026-09-17]: v1.0 初回公開。
- BIOS HLE(40関数)による公式ROM不要モードの実装
- 実BIOS ROM読み込みによるフル互換モードの追加
- TMS9918A レンダラー(Mode 0/1/2/3 + スプライト)の実装
- SN76489 PSG サウンドエンジンの実装
- ジョイスティック+テンキー 2モードコントローラの実装
- デバッグログ機能(HLEコール追跡、VDP状態ダンプ)の搭載
技術記事
[JavaScript] 自作Z80コアでColecoVisionエミュレーターを実装。BIOS HLEで限界まで攻めて、実BIOSで完走した全記録
BIOS HLEで限界まで攻め、NMI PC競合・CBサイクル欠落・patternTable計算ミス・キーパッド幽霊入力の4つの致命的バグを潰し、最終的に実BIOS ROM対応で完走した全記録。
lain-lab.com
[JavaScript] 自作Z80コアでSG-1000エミュレーターを実装。BIOS不要・SN76489音源・TMS9918A共有設計の全記録
SG-1000エミュレーターの実装記録。Z80コアとTMS9918Aの共有設計によるコスト削減。
lain-lab.com
[JavaScript] 自作Z80コアでSHARP PC-G850Vポケコンエミュレーターを実装
Z80コアの4台目。Grant Searle BASIC搭載のポケコンエミュレーター。
lain-lab.com