BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
NEC PC-8801 emulator for macOS — written almost entirely by AI
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Bubilator88 は、NEC パーソナルコンピュータ PC-8801 の macOS ネイティブエミュレーターです。 このプロジェクトのコードは、ほぼすべて AI(Claude, Codex)によって書かれています。 レトロ PC エミュレーターは、未文書化されたハードウェアの挙動再現、T ステート精度のタイミング制御、複数 LSI の協調動作など、深い専門知識と緻密な実装を要求される特殊なソフトウェアです。「AI はこの種のソフトウェアをゼロから構築できるのか?」— の興味から開発しました。 macOSらしいUIと機能を追求しています。 一応、Windows版もあります。 • Z80 CPU エミュレーション(T ステート精度) • YM2608 (OPNA) サウンド — FM 6ch、SSG 3ch、リズム、ADPCM • uPD765A FDC • uPD3301 CRTC + DMA テキスト表示 • Metal による高速な画面描画 • AVAudioEngine による低遅延サウンド出力 • ゲームコントローラー対応(ハプティックフィードバック) • Apple Silicon ネイティブ Metal シェーダーによる複数の画面フィルターを搭載しています。README 전문 보기 ↗
日本語 | English
NEC PC-8801 エミュレーター for macOS
https://bubio.github.io/Bubilator88/
Bubilator88 は、NEC パーソナルコンピュータ PC-8801 の macOS ネイティブエミュレーターです。
このプロジェクトのコードは、ほぼすべて AI(Claude, Codex)によって書かれています。
レトロ PC エミュレーターは、未文書化されたハードウェアの挙動再現、T ステート精度のタイミング制御、複数 LSI の協調動作など、深い専門知識と緻密な実装を要求される特殊なソフトウェアです。「AI はこの種のソフトウェアをゼロから構築できるのか?」— の興味から開発しました。
macOSらしいUIと機能を追求しています。
一応、Windows版もあります。
https://github.com/bubio/Bubilator88/releases/tag/win-v1.2.0
Metal シェーダーによる複数の画面フィルターを搭載しています。
CoreML 上で超解像モデルを実行し、PC-8801 の画面をリアルタイムに高解像度化します。M4 Pro 以上の性能がないと実用は難しいと思います。
AirPodsなどのヘッドトラッキングと連動した空間オーディオを実現します。FM、SSG、リズム、ADPCM の各チャンネルを 3D 空間上に自由に配置でき、頭の動きに追従してサウンドが変化します。
モノラル出力のサウンドに左右の微小なディレイ差を加え、擬似的なステレオ広がりを生成します。
Apple Vision OCR + Translation フレームワークを使い、画面上の日本語テキストをリアルタイムで認識・翻訳してオーバーレイ表示します。
ゲームコントローラーの振動機能に対応。SSGによる効果音に連動した触覚フィードバックを提供します。
画面上の領域をクリックすると、登録したキーを入力します。キーボードでしか操作できないゲームを、マウスやゲームコントローラーで遊べます。
88PAR 形式のチートコード(.pat)に対応しています。69 本分のコード集を同梱しています。
エミュレータの画面テキストを macOS のクリップボードへコピー、またはクリップボードのテキストを擬似キー入力として流し込むことができます。半角カナを含む BASIC プログラムのリスト転記や、サンプルコードの貼り付けが手打ちなしで行えます。
brew install --cask bubio/bubilator88/bubilator88
Releasesページから最新版をダウンロードしてください。
注意: このアプリは Apple によるノータリゼーション(公証)を受けていないため、初回起動時に Gatekeeper によってブロックされる場合があります。以下のいずれかの方法で回避できます:
方法1: ターミナルで隔離フラグを削除
xattr -cr /Applications/Bubilator88.app方法2: システム設定から許可
- アプリを開こうとしてブロックされた後
- 「システム設定」→「プライバシーとセキュリティ」を開く
- 「"Bubilator88"は開発元を確認できないため、使用がブロックされました」の横にある「このまま開く」をクリック
PC-8801 の起動には実機の ROM ファイルが必要です(本プロジェクトには含まれていません)。リズム音源用 WAV は無くても代替音で鳴り、漢字 ROM は無くても同梱の代替(東雲フォントから作成)で漢字が表示されます。
~/Library/Application Support/Bubilator88/ に配置してください。
~/Library/Application Support/Bubilator88/
├── N88.ROM N88-BASIC ROM(必須)
├── N80.ROM N-BASIC ROM
├── FONT.ROM フォント ROM ※任意。無ければ内蔵フォント
├── KANJI1.ROM 漢字 ROM(第1水準)※任意。無ければ同梱の代替
├── KANJI2.ROM 漢字 ROM(第2水準)
├── JISYO.ROM 辞書 ROM(かな漢字変換)
├── DISK.ROM サブ CPU ファームウェア(8KB)
├── N88_0.ROM N88 拡張 ROM バンク 0
├── N88_1.ROM N88 拡張 ROM バンク 1
├── N88_2.ROM N88 拡張 ROM バンク 2
├── N88_3.ROM N88 拡張 ROM バンク 3
├── 2608_BD.WAV YM2608 リズム音源(バスドラム)※任意。無ければ同梱の代替音
├── 2608_SD.WAV YM2608 リズム音源(スネア)
├── 2608_TOP.WAV YM2608 リズム音源(シンバル)
├── 2608_HH.WAV YM2608 リズム音源(ハイハット)
├── 2608_TOM.WAV YM2608 リズム音源(タム)
└── 2608_RIM.WAV YM2608 リズム音源(リムショット)
cisc 氏が公開している起動専用の代替 BIOS
pbios の n88.rom と disk.rom を
N88.ROM と DISK.ROM として置くと、BASIC を使わないソフトの一部が起動します。
エミュレーションコアは別リポジトリの Swift パッケージ
Bubilator88Core です。
Bubilator88.xcodeproj を開けば、固定されたバージョンのコアを取得してビルドできます。
コアも一緒に編集するときは、このリポジトリと同じ階層にコアを clone し、
Bubilator88Dev.xcworkspace を開きます。手元のコアがリモートより優先されます。
git clone https://github.com/bubio/Bubilator88.git
git clone https://github.com/bubio/Bubilator88Core.git
open Bubilator88/Bubilator88Dev.xcworkspace
コマンドラインからはCMakeでもビルドできます(CMake 3.21以降)。 リポジトリ直下で実行すると、手元のコアを使うDebug・排他チェック有効のビルドになります。
cmake --preset dev
cmake --build --preset dev
Releaseのchecked/unchecked切替や、CMake不要のシェルスクリプトは ローカルビルド手順を参照してください。
内部設計資料は private submodule (docs/develop) にあります。ビルドや実行には不要で、
アクセス権があるコントリビューター向けです。
git submodule update --init docs/develop
Sources/FMSynthesis/fmgen-readme.txt、改変内容は同ディレクトリの fmgen-changes.md を参照)