Tiny Emulators - 小さなエミュレーター集
(floooh.github.io)- クラシックなCPUから8ビットコンピューター、アーケードシステムまで、各機種のソフトウェアをすぐに実行できるエミュレーターページを一か所に集約
- Visual 6502 Remix・Visual Z80 Remixに加え、Amstrad CPC、ZX Spectrum、Commodore、Acorn Atom、Robotron 系列など多様なシステムを提供
- URLの
type、file、input、joystick、exp、modパラメーターで、機種とディスクイメージ、初期入力、ジョイスティック、RAM拡張、モジュール構成を指定可能 - BASIC、FORTH、ASMDEV、CP/M 2.2のほか、多数のCPC・C64・VIC-20・KC85のデモやゲームを収録し、Boulderdashのような作品は複数機種版を比較して実行できる
- 一部の項目は開始キーやコマンド入力、ジョイスティック選択が必要で、Demoizartにはストロボ警告があるため、実行条件もあわせて確認する必要がある
CPU動作の可視化
- Visual 6502 Remix: 6502の可視化
- Visual Z80 Remix: Z80の可視化
対応コンピューターエミュレーター
-
Amstrad 系列
-
ZX Spectrum 系列
-
Commodore 系列
-
その他のシステム
- Acorn Atom
- LC-80
- Robotron Z1013
- Robotron Z9001: BASICとRAMモジュールを含む
- Robotron KC87: BASIC起動後にEnterを入力する
言語と開発環境
- FORTH for KC85/4: M026モジュールと
forth.853イメージ、初期コマンド入力を指定する - FORTH for Z1013: Z1013 64KB構成で実行する
- BASIC for Z1013: Z1013 64KB構成と
kc_basic.z80を使用する - ASMDEV for KC85/4: M027モジュールと
develop.853イメージ、初期コマンドを指定する - CP/M 2.2 for CPC:
6128sp_4.dskを読み込んだ後、|cpmを入力する
Amstrad CPCデモ
-
初期CPCデモ
- DTC
- Tire Au Flan: Spaceを押して進める
- Wolfenstrad
- Byte'98
- Ecole Buissonniere
- Demoizart: ストロボ警告あり
- Logon's Run
- YAP!
- Backtro
- Isometrikum
-
追加CPCデモ
- SotB Demo:
Preview 1を選択してからSpaceを押す - Points Barres: Spaceを押して進める
- Still Rising
- Octopus Pocus
- Gloire a Piou!
- phX / Condense
- Batman Forever
- CRTC
- Wunderbar
- Phortem
- Pheelone
- Phreaks
- Phat 2
- Wobbler
- Battro
- SotB Demo:
Commodore C64とVIC-20のデモ
-
C64デモ
-
VIC-20デモ
- PPY:
maxram拡張を使用 - Muna.Paluu: 8KB RAM拡張を使用
- PPY:
KC85のデモとゲーム
-
KC85/4デモ
-
KC85/3ゲーム
-
KC85/4ゲーム
- Chess:
CHESSを自動入力 - Enterprise
- Tetris
- Sokoban
- Chess:
複数機種で提供されるゲーム
-
Boulderdash
-
Bomb Jack
-
Cybernoid
-
Arkanoid 系
- Arkanoid for CPC
- Arkanoid RoD for CPC
- Arkanoid RoD for ZX128: Sinclair 1 ジョイスティックを使用する
-
Silkworm
-
Chase HQ
-
Ghosts'n'Goblins
-
Bruce Lee
-
Head over Heels
-
Nebulus
単一機種およびアーケードゲーム
-
アーケードとC64
- Pengo Arcade:
1でコインを投入し、Enterで開始 - Zaxxon for C64
- Dig Dug for C64
- Pengo Arcade:
-
CPCゲーム
-
ZX Spectrumゲーム
- Batty for ZX48K
- Great Escape for ZX128: Kempstonジョイスティックを選択
- Flying Shark for ZX48K: Kempstonジョイスティックを選択
- Cyclone for ZX48k: Kempstonジョイスティックを選択
- Exolon for ZX48k: Kempstonジョイスティックを選択
- Quazatron for ZX128: Kempstonジョイスティックを選択
- Rainbow Islands for ZX
- Sir Fred for ZX48K: Kempstonジョイスティックを選択
-
KC85/3
- Breakout:
BREAKOUTを自動入力
- Breakout:
-
Acorn Atom
- Chucky Egg:
*LOAD後、Spaceで開始 - Jet Set Willy:
*LOAD後、JOYMMCを選択
- Chucky Egg:
-
VIC-20
-
Robotron Z1013
1件のコメント
Hacker News のコメント
-previewが付いた URL は、いくつか試すために作ったもので、2021年以降更新されていない古いアドレスだ。最新のアドレスは https://floooh.github.io/tiny8bit/ であるピンのエミュレーションに加えて、CPUを サイクル単位で進める 点が興味深い。CPUがシステムの特別な制御者として振る舞うのではなく、他のチップと一緒にティックごとに動く。Z80では命令1つにつき分岐1つではなく、命令サイクルごとに
switch-caseの分岐を1つ置いており、詳しい方式は https://floooh.github.io/2021/12/17/cycle-stepped-z80.html にまとめたもともとクリスマス休暇中に主に作業していたプロジェクトで、2023年以降はほとんど手を入れられていない。その後は sokol と Dear ImGui の依存関係を更新し、ときどき https://www.pouet.net/ や https://csdb.dk/ に投稿された新しいデモを追加した程度だ
このプロジェクトを見ると 0x10c を強く思い出す。仮想ミニコンピュータが存在する世界観に今でも魅了されており、宇宙旅行とサイバーパンクをベースにいくつか構想し、チップ設計には Zachtronics 風の要素を混ぜ、ファンタジー風の派生まで考えてみた
ただ、どう見ても極めてニッチな題材だという考えは拭えない。興味があればここで話してもいいし、プロフィールのメールに連絡してもよい。参考: https://en.wikipedia.org/wiki/0x10c
宇宙船のハードウェアを扱うために、ユーザーがOS全体を自分で作りたがるのか、ゲーム内にソフトウェア市場を置いて宇宙船制御プログラムを売買できるようにすべきなのか、というところから難しい。誰かが報酬もなしに DCPU 用の Windows 3.1 を本当に作るだろうかと思う
成功させたいが、以前出たオープンソースゲームは BIOS レベルまで降りていて、ほとんどの人には技術的すぎた。ただ宇宙船を動かすためだけに API/ABI の作業から始めたいユーザーは少ないだろう
このプロジェクトの ピンレベルエミュレーション の方式が気に入っている。各コンポーネントが自己完結的かつモジュール式に動作し、柔軟性が高い
極めて薄いが明示的に定義されたインターフェースは、相互運用性の面でまだ十分に探求されていない領域かもしれない。双方が決められた時点で値をサンプリングし、時間的なアクセスのために少数の信号だけを提供するなら、ピンであれ、少数のレジスタであれ、メモリマップ領域であれ、適合性テスト の優れた対象になる
AI生成コードの時代には、明示的な適合性要件を持つモジュール式コンポーネントが特に有用かもしれない。ブラックボックスの内部がどう実装されていようと、求められた動作に違反できないのであれば気にしなくてよい
実際に自己完結的なライブラリを作るには少し規律が必要で、DRYを唱える側の言うことに従いすぎないようにしなければならない
そこでモジュール性を少し犠牲にして速度を上げた
"soldered"モードも追加した。ここでは CRTC を取り外すことはできず、結局高速モードも別に入れた。それでもピンレベル実装は、いつでも正確性を検証できる優れた 検証オラクル になり、それ自体に大きな価値がある次はUSB接続の拡張ポートを作って、実機ハードウェアをすべてつないでみたい。ピンレベルのコードはまだ公開していないが、1週間ほど待てばよい
本当に素晴らしい。子どもの頃はテープからゲームを1本読み込むのに永遠のように長い時間がかかったが、今では一瞬で実行される。ZX Spectrum の Bruce Lee が特に好きだった
Oric ももっと必要だ: https://oric.games/
一部のゲームは予想より 音量がかなり大きく 設定されている。ゲームを直接クリックするまでは分かりにくい
サイトUIで 音量を調整 できるとよい。いくつかのゲームの音が大きすぎる
アドレスを https://floooh.github.io/tiny8bit/ に更新してほしい。公式にリンクされているアドレスで、以前の投稿でも使われており、開発者も昨年 https://news.ycombinator.com/item?id=43821756 でこれを知らせていた
投稿者がこの プレビュー用アドレス をどこで見つけたのか、他の場所にリンクされていたのかも気になる
このプロジェクトは 少なくとも8年前 から存在していた: https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...