パスワードを忘れた? アカウント作成
16774148 story
ゲーム

Commodore 64で動作するLinux 30

ストーリー by nagazou
趣味 部門より
Commodore 64上でLinuxを実行しようとする「semu-c64」プロジェクトという試みがあるそうだ。とはいえ実機で動作させているのではなく、RISC-V32アーキテクチャのマシン上で仮想化されたCommodore 64を動かし、その上でLinuxがエミュレートされるという無理矢理な形で開発が進められているようだ。現状で動作させるにはRAM拡張ユニットも必要な状況。現時点では起動だけでも数時間が必要とされ、最適化をして10倍の速度向上が図られたとしても実用性は全くないと思われる。それでも、プロジェクト側は新たな技術的なトリックやアプローチに対する驚きや楽しさがあると述べている(GitHub semu-c64LINUX ON A COMMODORE 64)。
  • 320KBなのか。フットプリント足らなくない?

    ここに返信
  • してそのうち1bitをアドレスバスとしてROM/IO と RAMをバンク切り替え出来るようにしたものらしい
    よくわからないけど、実質8bitCPUの6502にlinuxを移植したってこと?
    Cコンパイラとライブラリが頑張れば実行時間はかかるものの動きはするってことだろうか。

    ここに返信
    • ストーリーには

      実機で動作させているのではなく、RISC-V32アーキテクチャのマシン上で仮想化されたCommodore 64を動かし、

      って書かれてますがこれは逆で、

      This is in essence a fork of the very nicely minimalist RISC-V32 emulator named semu, compiled and ported using the new llvm-mos and would not have been possible without all that previous work.

      ってことで、
      RISC-Vのエミュレーター「semu」を、
      6502のコードを吐くllvm-mosを使って、Commodore64で動くように移植して、
      その上でLinuxを動かしてるみたいです。

      C64自体も実機ではなくVICE [sourceforge.io]というC64エミュレーター上で動かしてますが、
      そのC64エミュがRISC-V上で動いてる、って記述は見当たりませんでした。
      でも、エミュレータを動かすのに、わざわざRISC-Vプラットフォームを用意する可能性は低いと思います。

      おまけ:参考ストーリー: 8ビット/24MHz動作の「ATmega1284p」プロセッサでARM Linuxを動かす、ログインできるまで6時間 [hardware.srad.jp]
      こっちは、8bit ワンチップマイコンの実機で、ARMエミュレーターを動かしてその上でLinuxを動作させてました。

      • by Anonymous Coward

        仮にエミュレーターじゃなくネイティブ移植だったら数時間が数時間に短縮されるの?

        • by Anonymous Coward

          「6502ネイティブコードで動くLinux」となると大幅に書き換えが必要で「Linuxクローン」にも程遠い「Linuxっぽい何か」にしかならないと思う。
          それよりC64エミュレータはC64の動作に合わせるために稼働中のほとんどが待ち時間だろうから、いっしょにエミュレーションしてるはずの周辺デバイスも含めてノーウェイトに近い動作にすれば100MHz相当くらいはいけるんじゃないかな

      • by Anonymous Coward

        力技にも程がすぎる
        普通?に8bitcpuにポートしたと(できたと)してもまともに動きそうにないのにCPUエミュレーターを動かしてその上で動かすとかクレイジーだ

        • by Anonymous Coward

          linuxは32bitが前提なので、RISC-Vシミュレータは最も安易な方法だよ。
          メモリ容量をのぞけば(これは難問)、動くのは当たり前でごくつまらない話。youtuberの「やってみた」レベル。

    • by Anonymous Coward

      6809ならわかる(6809にはOS-9というUNIXライクOSがある)が、6502で???すごい話だ。

      • by Anonymous Coward

        https://en.wikipedia.org/wiki/GeckOS [wikipedia.org]
        unixライクなだけなら実機で動くのがある。

      • by Anonymous Coward

        6809でLinuxを動かそうとしたら今回と同じアプローチは採りやすい方法だと思うがOS-9が何関係あると言いたいんだかサッパリわからん。

  • by Anonymous Coward on 2023年08月31日 19時41分 (#4520571)

    Commodore 64やAmigaに対する熱意は日本でいうと何に相当するんだろう

    ここに返信
    • by Anonymous Coward

      MSXとX68000かな

      #C64とかAmigaの信者が他機種を攻撃しまくるかは知らない

    • by Anonymous Coward

      TOWNSとX68000 ?
      AT互換機になる前のFMRもなかなか独特で面白かった、結構TOWNSに継承されてるけど。

      • by Anonymous Coward

        TOWNSってそんなにユーザーの熱意が注がれているんかな?
        X68000は、今でもたまにニュースになったり、
        X(旧ツイッター)でも関連ツイートが流れてくることが結構多いけどTOWNSは見た記憶が無い。
        TOWNSは教育用に売れてビジネスでは成功したけど一般ユーザー向けのイメージがちょっと薄いような気がするのだけど。

        • by Anonymous Coward

          TOWNSも富士通からフリーソフトウェアコレクションなんてソフトウェア集が何本も出るくらい一般プログラマ層厚かったですよ。
          ソフト流通ルートとしてNiftyを抱えていたのも大きかったのでしょうね。
          開発環境は独特で高価でしたが……

          • X68000にはアセンブラとリンカがこっそり標準添付だったので、
            本体を買うだけでいきなりプログラミングできた、というのが大きいかな、と。
            XC(X68k標準の有償Cコンパイラ)がバカすぎた最適化が貧弱だったせいか、
            結構早期に、gcc+glibcが移植されて、フリーなC言語開発環境も出来たし。

            TOWNSの方も、公式の開発ツールは 「RUN386(386|DOS Extender)」上の「HIGH-C」でしたけど、
            RUN386互換のEXE386が無償公開され、その上でGCCが動いたので、フリーで開発環境をそろえることもできたと思います。

            • by Anonymous Coward

              X68000はMS-DOSがMASMを付属してるからアセンブラを付けてみた的な感じで
              TOWNSはmacのHyperCardを意識したかどうかはわからないけどオーサリングツールのTownsGEARが付属してた。

            • by Anonymous Coward

              バカすぎるXCでもVer1.0はコンパイルが速かったので好きでした。
              2.0になってコンパイルが非常に遅くなってしまい、1.0はアセンブラで書かれてて2.0はCで書いたのかなーなどと思った。

        • by Anonymous Coward

          今の熱気の違いは「X68kのときはこれしかなく飛びついたが、TOWNSのときはX68kと選べた」というのがある気がする。

          • by Anonymous Coward

            「俺にはこれしかないんだ!だからこれが最高のマシンなんだ!」的な

            あとは、BIOSから開発環境までのかなりの部分が無償公開されているのでエミュの障壁が低いのはあるかもしれない。
            当時の環境完全再現しようとすると、あれが入ってないこれも入ってないってなったりしますが・・

            • by Anonymous Coward

              カスタムチップ全盛時代に登場したX68000と比較すると
              TOWNSはカスタムチップへの依存度が低かったこともエミュレーションしやすい理由だろうな

              • by Anonymous Coward

                TOWNSのエミュレータって、恐ろしく出来が良い「うんづ」と「津軽」以外知らないが他に何がある?
                今ほどCPUパワーがない時代でも、PC互換機ではCPUエミュが必要なくて、パフォーマンスが出やすそう。

          • by Anonymous Coward

            選べたら選べたで
            「俺が選んだこっちは最強」というバイアスはあるように思う。
            ただ、あえて当時32ビットのTOWNSではなく16ビットで速度的にも不利なX68kを選んだ場合の思い入れのほうが強いのかな。

typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...