X88000M は、Manuke 氏による PC-8801 エミュレータ X88000 をベースにした macOS / Windows 向け移植版です。
X88000のLinux版からGTK 2.0依存を排除し、SDL3 + Dear ImGuiで構築しています。
- SDL3 + Dear ImGui ベースの単一 frontend macOS / Windows で同じ操作感で利用できます。
- メディア操作が速い
D88、T88、CMTをメニュー、ドラッグ&ドロップ、起動引数から読み込めます。 - D88 の複数イメージ管理に対応
Disk Managerで D88 内のイメージを一覧し、Drive 1〜4 に割り当てできます。 - 普段使いに必要な機能を搭載 BASIC モード切り替え、4/8 MHz 切り替え、環境設定、スクリーンショット保存、画面テキストのコピー、テキスト貼り付け、プリンタプレビュー、フルスクリーンに対応しています。
- YM2203 / YM2608に対応
YM2203 (OPN) に加え、YM2608 (OPNA / Sound Board II) の FM 6ch、リズム音源、ADPCM の初期実装に対応しています。
Environment Settings の Sound board で
YM2203 / OPN、YM2608 / OPNA native、YM2203 + Sound Board IIを切り替えられます。 FH/MH 以降の内蔵 OPNA 構成はYM2608 / OPNA native、SR/FR/MR などの YM2203 搭載機に Sound Board II を追加した構成はYM2203 + Sound Board IIを選んでください。 - デバッグ用途にも強い 別ウィンドウのデバッガ、逆アセンブル、メモリダンプ、ブレークポイント、RAM エクスポート、実行ログ記録を利用できます。
- ROM 読み込みと実行
D88の挿入・イジェクトT88/CMTの読み込みとテープ操作- メディアファイルのドラッグ&ドロップ
- 起動引数
--disk1=...--disk2=...--tape=... Disk Manager/Tape ManagerEnvironment Settings- BEEP / PCG / OPNA の音声出力
Debug Window/Record Execution Log/Export RAM- スクリーンショット保存、クリップボード連携、プリンタプレビュー
- macOS 13.5 (Ventura) 以降
- Apple Silicon または Intel Mac
- Windows 10 以降
- x64 または ARM64
- Ubuntu 22.04 LTS 以降
- x86_64
- SDL3 の依存ライブラリ(alsa, pulseaudio, wayland, x11 等)
Releasesページから各 OS 用のパッケージをダウンロードしてください。
Ubuntu/Debian 系(.deb):
sudo apt install ./X88000M-1.0.6-Linux.debFedora/RHEL 系(.rpm):
sudo dnf install ./X88000M-1.0.6-Linux.rpmmacOS での注意: このアプリはAppleによるノータリゼーション(公証)を受けていないため、初回起動時にGatekeeperによってブロックされる場合があります。以下のいずれかの方法で回避できます:
方法1: ターミナルで隔離フラグを削除
xattr -cr /Applications/X88000M.app方法2: システム設定から許可
- アプリを開こうとしてブロックされた後
- 「システム設定」→「プライバシーとセキュリティ」を開く
- 「"X88000M"は開発元を確認できないため、使用がブロックされました」の横にある「このまま開く」をクリック
X88000M には ROM イメージは含まれていません。ROM 一式を次の場所に置いてください。
| OS | ROM 配置先 |
|---|---|
| macOS | ~/Library/Application Support/X88000M/ |
| Windows | %APPDATA%\X88000M\ |
| Linux | ~/.local/share/X88000M/ |
端末から起動する場合はカレントディレクトリからも探します。必要に応じて X88_ROM_DIR 環境変数でも ROM ディレクトリを指定できます。
代表的に参照されるファイル名:
pc88.romn88.romn80.romn88_0.romn88_1.romn88_2.romn88_3.romdisk.romkanji1.romkanji2.romfont80sr.romoptfont.rom
pc88.rom がある場合はそこからまとめて読み込み、無い場合は分割された ROM 名を順に探します。
Media -> Open Media...でディスクやテープを開けます。D88/T88/CMTをウィンドウへドラッグ&ドロップしても読み込めます。System -> Environment Settings...から BASIC モード、CPU クロック、ドライブ数、各種オプションを変更できます。Debug -> Debug Window...で別ウィンドウのデバッガを開けます。
よく使うショートカット:
Ctrl+O: メディアを開くCtrl+R: リセットCtrl+P: 一時停止 / 再開Ctrl+1/Ctrl+2: Drive 1 / 2 をイジェクトCtrl+Enter: フルスクリーン切り替え
ドラッグ&ドロップ時は Shift+drop で Drive 2、macOS では Cmd+Ctrl+drop で Drive 1 に優先投入できます。
- CMake 3.16 以上
- C++11 対応コンパイラ
- macOS: Xcode (Apple Clang)
- Windows: Visual Studio 2022 (MSVC)
SDL3 と Dear ImGui はデフォルトで自動取得されます (X88000M_FETCH_SDL3=ON, X88000M_FETCH_IMGUI=ON)。
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target X88000M -jbuild/X88000M.app が生成されます。
Developer Command Prompt for VS 2022 から:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --target X88000M --parallelbuild\X88000M.exe と build\fonts\ が生成されます。Ninja がない場合は Visual Studio ジェネレータも使えます:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
```cmd
cmake --build build --config Release --target X88000M --parallelUbuntu 22.04 以降:
# 依存ライブラリのインストール
sudo apt install build-essential cmake ninja-build pkg-config \
libasound2-dev libpulse-dev libdbus-1-dev libudev-dev \
libx11-dev libxcursor-dev libxext-dev libxi-dev \
libxinerama-dev libxrandr-dev libxkbcommon-dev \
libwayland-dev libegl1-mesa-dev libgl1-mesa-dev libpipewire-0.3-dev \
libdecor-0-dev libxtst-dev libibus-1.0-dev libdrm-dev
# ビルド
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --target X88000M --parallelbuild/X88000M が生成されます。
- ROM イメージは同梱していません。
- YM2203/YM2608 の実装はPDSライセンスを維持するためデータシートなど公式に得られる情報で作成しています。
- YM2608 リズム音源を使う場合は、ROM と同じ場所に
2608_BD.WAV,2608_SD.WAV,2608_TOP.WAV,2608_HH.WAV,2608_TOM.WAV,2608_RIM.WAVを置いてください。 - オリジナルの Linux 版 / Windows 版と完全に同一の挙動を保証するものではありません。
- Original X88000 by Manuke
- macOS / Windows / SDL3+ImGui port maintained by bubio
- オリジナル配布物の説明文書は src/X88000Src.txt に収録しています。
オリジナル配布物では、X88000 ソースは PDS (Public Domain Software) と表記されています。標準的な SPDX ライセンス識別子にそのまま対応するものではないため、このリポジトリでは upstream の文言を LICENSE にそのまま収録しています。
本プロジェクトは以下のサードパーティソフトウェアを利用しています。ビルド時に自動取得され、静的リンクされます。
| ライブラリ | ライセンス | 用途 |
|---|---|---|
| SDL3 | zlib License | ウィンドウ、入力、オーディオ、レンダリング |
| Dear ImGui | MIT License | GUI (メニュー、設定、デバッガ) |
| Noto Sans JP | SIL Open Font License 1.1 | 日本語フォント |
各ライセンスの詳細は以下を参照してください:

