1 ポイント 投稿者 GN⁺ 2023-08-28 | 1件のコメント | WhatsAppで共有
  • 1980年代のクラシックなホームコンピュータであるCommodore C64で、Linuxの動作に成功したことを紹介する記事
  • LinuxオペレーティングシステムはCommodore C64上では非常に低速で動作し、コンピュータの限られた64KiBメモリのためにRAM拡張ユニット(REU)が必要
  • システムはメモリ管理ユニット(MMU)を使用して仮想メモリをエミュレート
  • 著者はまだ実機でこの構成をテストしておらず、読者に体験の共有を勧めている
  • システムを構築するにはmakeコマンドとmos-c64-clangツールを使用する必要がある
  • カーネル構成は、大きなセクションアラインメントのため元のsemuカーネルとは異なる。より適したカーネル構成はconfigサブフォルダにある
  • VICEエミュレータに必要なREUイメージをすべて組み立てるためにmk_linux_reu.pyスクリプトを使用
  • システムを実行するには、コンパイル済みのsemu実行ファイルを含む.d64ファイルを生成する。このファイルはその後VICEエミュレータにロードされる
  • 著者は、必要なすべての事前ビルド済みバイナリを含むアーカイブをGitHubに追加する予定
  • 著者はまた、コンパイルされた6502コードを最適化して性能を向上させること、そして長いブート処理を避けるためにチェックポイントVMを実装する可能性にも言及
  • 記事は、このプロジェクトを可能にしたミニマルなRISC-V32エミュレータであるsemuと、llvm-mosツールの取り組みに謝意を示して締めくくられている

1件のコメント

 
GN⁺ 2023-08-28
Hacker Newsのコメント
  • Onno Kortman は、semu という最小限の RISC-V エミュレータと、MOS 6502 プロセッサ向けの LLVM ポートである llvm-mos を使って、Commodore 64 上で Linux の起動に成功しました。
  • このプロセスには非常に時間がかかり、「ワープモード」でスクリーンショットを生成するだけでも数時間かかります。実機の C64 では、1週間以内に Linux を起動できるはずです。
  • このプロジェクトには、16MB REU という珍しいハードウェアが必要です。当時 C64 で利用可能だった REU は 256kB と 512kB でした。
  • このプロジェクトは 386 で Doom3 を動かすことにたとえられていますが、386 は現代の PC の PCI カードです。この比較は技術的には可能であることを示唆していますが、元のハードウェアの能力を代表するものではありません。
  • 元の SuperCPU 回路図が失われた後、オープンソースの「スーパー CPU」回路図を求める声があります。SuperCPU とその DMA コントローラは、現在は強力な FPGA を使ってエミュレートされています。
  • 一部のユーザーは「Kung Fu Flash」のような最近の C-64 アクセサリを試しています。これは「スーパー スナップショット」をエミュレートできますが、REU には対応していません。
  • 現代の Linux を起動でき、かつ日常的に使える最古のハードウェアは何か、という議論があります。
  • このプロジェクトはチューリング等価性の実演と見なされており、十分な時間があれば、あらゆるチューリング完全なコンピュータは、別のチューリング完全なコンピュータができることを実行できることを示しています。
  • このプロジェクトが、Commodore 64 向けの小型マルチタスク OS である Lunix とどう違うのか、という質問があります。
  • 一部のユーザーは、C64 で Linux を実行する別の方法として、RAM に複数のフロッピーディスクを使い、必要に応じて入れ替える案を提案しています。
  • このプロジェクトは、C64 が Linux を直接実行しているのではなく、RISC-V 環境をエミュレートしているのだと明確に説明されています。
  • このプロジェクトをきっかけに、Gameboy 上で RISC-V を動かしたり、TRS-80 Model 4 に Unix 風システムを導入したりするような、似たプロジェクトを思い浮かべる人もいます。