1 ポイント 投稿者 GN⁺ 5 시간 전 | 1件のコメント | WhatsAppで共有
  • クラシックなCPUから8ビットコンピューター、アーケードシステムまで、各機種のソフトウェアをすぐに実行できるエミュレーターページを一か所に集約
  • Visual 6502 Remix・Visual Z80 Remixに加え、Amstrad CPC、ZX Spectrum、Commodore、Acorn Atom、Robotron 系列など多様なシステムを提供
  • URLの typefileinputjoystickexpmod パラメーターで、機種とディスクイメージ、初期入力、ジョイスティック、RAM拡張、モジュール構成を指定可能
  • BASIC、FORTH、ASMDEV、CP/M 2.2のほか、多数のCPC・C64・VIC-20・KC85のデモやゲームを収録し、Boulderdashのような作品は複数機種版を比較して実行できる
  • 一部の項目は開始キーやコマンド入力、ジョイスティック選択が必要で、Demoizartにはストロボ警告があるため、実行条件もあわせて確認する必要がある

CPU動作の可視化

対応コンピューターエミュレーター

言語と開発環境

  • 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デモ

Commodore C64とVIC-20のデモ

KC85のデモとゲーム

複数機種で提供されるゲーム

単一機種およびアーケードゲーム

1件のコメント

 
GN⁺ 5 시간 전
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

    • 0x10c をもとに基本的な Zachtronics 式パズルゲーム を作ったことがあり、今でも最も気に入っている構想の1つだ。みんながコーディングに没頭するローンチ初期でさえ、世界中のユーザーはせいぜい数百人程度になりそうで、財務的にはひどい選択になる
      宇宙船のハードウェアを扱うために、ユーザーがOS全体を自分で作りたがるのか、ゲーム内にソフトウェア市場を置いて宇宙船制御プログラムを売買できるようにすべきなのか、というところから難しい。誰かが報酬もなしに DCPU 用の Windows 3.1 を本当に作るだろうかと思う
      成功させたいが、以前出たオープンソースゲームは BIOS レベルまで降りていて、ほとんどの人には技術的すぎた。ただ宇宙船を動かすためだけに API/ABI の作業から始めたいユーザーは少ないだろう
  • このプロジェクトの ピンレベルエミュレーション の方式が気に入っている。各コンポーネントが自己完結的かつモジュール式に動作し、柔軟性が高い
    極めて薄いが明示的に定義されたインターフェースは、相互運用性の面でまだ十分に探求されていない領域かもしれない。双方が決められた時点で値をサンプリングし、時間的なアクセスのために少数の信号だけを提供するなら、ピンであれ、少数のレジスタであれ、メモリマップ領域であれ、適合性テスト の優れた対象になる
    AI生成コードの時代には、明示的な適合性要件を持つモジュール式コンポーネントが特に有用かもしれない。ブラックボックスの内部がどう実装されていようと、求められた動作に違反できないのであれば気にしなくてよい

    • それこそが ソフトウェアライブラリ の基本的な発想であり、AIがなくても可能だ ;)
      実際に自己完結的なライブラリを作るには少し規律が必要で、DRYを唱える側の言うことに従いすぎないようにしなければならない
    • 私の Amstrad CPC エミュレーター のすべてのチップをピンレベルまで実装したが、このモードでリアルタイム速度を出すには M2 以上のCPUが必要だ
      そこでモジュール性を少し犠牲にして速度を上げた "soldered" モードも追加した。ここでは CRTC を取り外すことはできず、結局高速モードも別に入れた。それでもピンレベル実装は、いつでも正確性を検証できる優れた 検証オラクル になり、それ自体に大きな価値がある
      次はUSB接続の拡張ポートを作って、実機ハードウェアをすべてつないでみたい。ピンレベルのコードはまだ公開していないが、1週間ほど待てばよい
    • ハードウェアとソフトウェアは、ずっと以前から内部を知らなくてもよい ブラックボックスとモジュール として設計されてきた。すべてがそうではないが、大半はモジュール性を目指している。今になってAIを満足させようとする過程で、より多くの人がこの発想を改めて認識している様子が面白い
  • 本当に素晴らしい。子どもの頃はテープからゲームを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...