Skip to content

Repository files navigation

BubiFM77AV40EX

BubiFM77AV40EX

English

FUJITSU FM77AV40EX のエミュレーターです。マルチプラットフォームです。

Latest Release License CI macOS Windows Linux Downloads

BubiFM77AV40EXとは


BubiFM77AV40EXは、武田俊也さんの Common Source Code Project に含まれる eFM77AV40EX のエミュレーションコアを使った、FM77AV40EX のマルチプラットフォームエミュレータです。

エミュレーションコアには手を加えず、Flutter で作ったフロントエンドから FFI で呼び出しています。macOS、Windows、Linux に対応しています。

UIは日本語と英語に対応しています。

BubiFM77AV40EX Screenshot


インストール方法


リリースからお手持ちの環境にあった実行ファイルをダウンロードしてください。ファイル名は BubiFM77AV40EX-<version>-<platform>-<arch>.<ext> です。

プラットフォーム 最小OSバージョン 形式 アーキテクチャ
macOS macOS 13.5 Ventura .dmg apple-silicon, intel
Windows Windows 10 .zip x64
Linux(Debian / Ubuntu) Ubuntu 24.04以降 .deb amd64, arm64
Linux(Fedora / RHEL / openSUSE) - .rpm x86_64, aarch64
Linux(ポータブル) - .AppImage x86_64, aarch64

  • macOS: DMGを開いてBubiFM77AV40EX.appをアプリケーションフォルダに移動するなどして実行してください。署名・公証をしていないため、初回起動時にブロックされた場合は、システム設定のプライバシーとセキュリティから開くことを許可してください。
  • Windows: ZIPを展開し、BubiFM77AV40EX.exeを実行してください。
  • Linux: GTK 3とALSAのライブラリが必要です。deb、rpmはパッケージマネージャーでインストールしてください。AppImageは実行権限を付けてそのまま実行できます。

ROMファイル


ROMファイルは同梱していません。実機から吸い出したROMをご用意ください。

ファイル名 サイズ 用途
INITIATE.ROM 8KB 起動必須
SUBSYS_A.ROM 8KB 起動必須
SUBSYS_B.ROM 8KB 起動必須
SUBSYS_C.ROM 10KB 起動必須
SUBSYSCG.ROM 8KB 起動必須
EXTSUB.ROM 48KB 起動必須
FBASIC302.ROM(またはFBASIC301.ROM / FBASIC300.ROM / FBASIC30.ROM) 31KB BASICモードでの起動に必要
KANJI1.ROM(またはKANJI.ROM) 128KB 第1水準漢字(任意)
KANJI2.ROM 128KB 第2水準漢字(任意)
DICROM.ROM 256KB 辞書(任意)

F-BASIC ROMがない場合も、DOSモードで起動できます。


配置場所

ROMファイルの配置場所は以下になります(一度、アプリケーションを起動するとフォルダが作成されます)。アプリケーションのROM確認画面からフォルダを開くこともできます。

OS 配置場所
macOS ~/Library/Application Support/BubiFM77AV40EX/roms
Windows %APPDATA%\BubiFM77AV40EX\roms
Linux ~/.local/share/BubiFM77AV40EX/roms

使用方法


コマンドライン起動

最大2個のディスクイメージをコマンドラインで指定できます。指定順にFD1、FD2へ挿入されます。

BubiFM77AV40EX [-option ...] image-file [image-No] [image-file [image-No]]

BubiFM77AV40EX game.d88
BubiFM77AV40EX game.d88 2
BubiFM77AV40EX system.d88 data.d88
BubiFM77AV40EX -dos -x2 game.d88

image-No はD88などのマルチバンクイメージのバンク番号で、1始まりです。マルチバンクイメージを1つだけ指定してバンクを省略した場合は、バンク1をFD1、バンク2(あれば)をFD2に挿入します。

オプション(大文字・小文字は区別しません。同じ設定を複数指定した場合は最後のものが有効です):

-basic / -dos                       ブートモード
-2mhz / -1.2mhz                     CPU速度
-x1 / -x2 / -x4 / -x8 / -x16        速度倍率
-fullspeed                          速度制限なし
-cycle_steal / -no_cycle_steal      サイクルスチール
-extram / -no_extram                拡張RAM
-hsync / -no_hsync                  HSYNC同期
-h / -help / --help                 ヘルプを表示して終了

終了コードは、0=成功またはヘルプ表示、2=構文エラー、3=メディアエラー、4=ROM/起動エラー、5=内部エラーです。


ビルド方法


どのプラットフォームでも FVM と Git が必要です。Flutterは必ずFVM経由で実行し、バージョンは.fvmrcで固定しています。エミュレーションコアは、ビルドスクリプトがGitサブモジュールとして固定リビジョンを取得します。

git clone https://github.com/bubio/BubiFM77AV40EX.git
cd BubiFM77AV40EX
fvm install

開発中は以下で実行・検査できます。

fvm flutter run -d <macos|windows|linux>
./scripts/check.sh   # 書式・静的解析・テスト

macOS

必要なもの

Xcode、HomebrewでインストールしたCMakeとCocoaPodsが必要です。

brew install cmake cocoapods

ビルド

./scripts/build_macos.sh

build/macos/Build/Products/Release/BubiFM77AV40EX.appが作成されます。

DMGを作成する場合は以下を実行します。build/macos/dmgフォルダにApple Silicon版とIntel版のDMGが作成されます。

./scripts/build_macos_dmg.sh arm64 x86_64

Windows

必要なもの

Visual Studio 2022(C++によるデスクトップ開発)とGit for Windowsが必要です。

ビルド

Git Bashでエミュレーションコアを取得してから、PowerShellでビルドします。

./scripts/build_native_core.sh fetch
pwsh scripts/build_windows.ps1

build/windows/distフォルダにZIPファイルが作成されます。


Linux

必要なもの

Debian系(Ubuntuなど / apt):

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev libasound2-dev liblzma-dev libstdc++-12-dev

パッケージを作成する場合は、imagemagick、desktop-file-utils、rpmも必要です。

ビルド

ビルドしたマシンと同じアーキテクチャ(x86_64 / arm64)向けに作成します。

./scripts/build_linux.sh release
./scripts/package_linux.sh

build/linux/distフォルダにdeb、rpm、AppImageファイルが作成されます。./scripts/package_linux.sh debのように形式を指定することもできます。


ライセンス


GPLv2です。エミュレーションコアである Common Source Code Project のライセンスに準じます。詳細はLICENSEを参照してください。


謝辞


エミュレーションコアを公開してくださっている武田俊也さんにお礼申し上げます。