2 ポイント 投稿者 GN⁺ 2023-10-11 | 1件のコメント | WhatsAppで共有
  • DSLinuxは、Nintendo DSとDS LiteでLinux環境を動かすための移植プロジェクトで、古い携帯ゲーム機をLinux実行デバイスとして活用できるようにする
  • DSiや3DSなどの後続機種も、DS互換モードで動作できると整理されている
  • 実機だけでなく、desmumeのような一部のNDSエミュレーターでも実行でき、テスト環境を広げられる
  • プロジェクトは動作可能な状態で、ドキュメントとDS向けのLinuxプログラム集も提供している
  • 現在活動中の開発者はいないが、新しいコントリビューターはwikiやリポジトリなど既存のリソースをもとに引き継げる

実行対象と互換環境

  • DSLinuxは、LinuxNintendo DSNintendo DS Liteへ移植したプロジェクト
  • DSiや3DSなど、より新しいモデルはDS互換モードで動作できる
  • 実機のほか、desmumeのような一部のNDSエミュレーターでも実行される

ドキュメント、プログラム、貢献リソース

1件のコメント

 
GN⁺ 2023-10-11
Hacker Newsの意見
  • ずいぶん前にこのプロジェクトへ小さな貢献を何度かしたことがあるので、まだWebサイトが生きていると知ってうれしい
    このプロジェクトで一番面白かった部分はメモリ処理だった。DSにはRAMが4MBしかなく、MMUもないのでスワップも不可能だったが、Game Boyカートリッジポートにはバスにマッピングされた32MBのアドレス空間があった。その空間を32MB RAMで埋める自作/クローン系カートリッジがあったのだが、DSはカートリッジポートに16ビット整列アドレスでしか書き込めないという問題があった。ほとんどのソフトウェアは8ビット整列の書き込みができると仮定しているため、開発者たちは、非整列位置への書き込みを適切な読み出し、16ビット書き込み、シフト演算の組み合わせに置き換える、パッチ済みGCCを作った

    • 公式製品もあった。Opera Web Browserには、「GBA」スロットに挿して8MB RAMとMMUを追加する2つ目のカートリッジが同梱されていた: https://en.wikipedia.org/wiki/Nintendo_DS_Browser#Memory_Exp...
      Opera DSカートリッジはずいぶん前になくしてしまったが、メモリ拡張パックはいまでもDS Liteにスロットカバーのように挿さっている
    • もう一つ変わった点として、Game Boyポートに挿したカートリッジから自作ソフトウェアをロードすることがかなり一般的だった
      こうしたカートリッジはRAMとフラッシュベースのストレージ、またはCFカードを組み合わせて搭載していて、一種のバンク方式の背後にあり、ストレージやRAMを露出するよう指示できた。そのためストレージシステムがバスに直接マッピングされ、RAMを節約するためにプログラムを先にRAMへコピーせず、ストレージから直接実行する**XIP(execute in place)**を行っていた
    • 子どものころ、このプロジェクトには本当に良い思い出があり、カーネル開発に興味を持つきっかけだった
      ある産業制御ソフトウェアをDSLinuxへ移植しようとして、メモリ圧迫下でSLOBアロケータが動作する方式のバグに遭遇し、私のパッチの一つがアップストリームに取り込まれた。いまではSLOBは廃止されたが、組み込みに入門していた若いころに自作ハックの楽しさを知る経験だった。面白いことに、改造したDSはいまでも私たちの地域天文台の機器の大部分を動かしている
  • 最近DSの自作ソフトを深く掘ってみたが、すごいものがたくさんあった。Yu-Gi-Oh!計算機、MP3プレイヤー、Doom移植版などだ
    特にDS LiteとDSiのハードウェアが本当に気に入っている。2023年に触っても感触がよく、縦持ちで電子書籍を読んだりHotel Duskを遊んだりするとき、対称的な画面が素晴らしい。中国語学習用としても歴代級のソフトウェアであるMy Chinese Coachがあり、DS Zhongwenのように中国語に焦点を当てた自作パッケージも少なくともあと2つある。DSは過小評価されていて、良いゲームが多く、エミュレーションにも夢のような機器だ。強力すぎず、バッテリーを食う「現実的」なグラフィックに執着していない点もいい

    • 高校生のとき、DOOMをDSへ移植したのは自分で、私たちはみんな同じDS自作IRCチャンネルにいた
      いまの親しい友人の何人もが別のプロジェクトをやっていて、その中にはDS Linuxの作者もいた。偶然にも、みんな後にSilicon Valleyのさまざまな技術企業で働くことになり、数十年後に現実世界で再会することになった
    • DS Zhongwenとは、久しぶりに聞く名前だ。それを作ったのは私だ :-)
      Knytt Stories DSのような他のものも作った。Nintendo DS向けの自作ソフトを作るのは素晴らしい経験で、ハードウェアの制約と可能性が、創造性と工学的な挑戦の両方を発揮するだけの余地を与えてくれた
    • DSとSwitchの自作ソフトで最も驚いたのは取り付きやすさだった。なぜかこういう機器で何かを作るのは魔法のようなことだと想像していたが、実際にはまったくそうではなかった
    • 記録として言っておくと、言及に値する自作ソフトウェアは何十本もある
    • VNDS[0]というビジュアルノベルエンジンもあり、かなり多くの移植版が作られた。私の知る限り、ほとんどの「古典的」ビジュアルノベルの移植版がある
      3DSを持っているならTwilightMenuプロジェクトも確認する価値がある。SDカードから自作タイトルなどをロードできるDSiMenuクローンで、フラッシュカードにも対応している
      [0]: https://github.com/BASLQC/vnds
  • Webサイトに載っていたWikipedia記事は「特筆性なし」で削除されたが、アーカイブは残っている: https://web.archive.org/web/20170708075915/https://en.wikipe...

    • 興味深いことに、この記事はまだ生きている: https://en.wikipedia.org/wiki/IPodLinux
      iPodで動いていた同等のプロジェクトで、これもμCLinuxベースだ
    • 地獄を信じているわけではないが、もしあるならWikipedia削除主義者たちのための特別な場所がある気がする。ショッピングカートを決して元の場所に戻さない人たちの近くあたりだろう
  • HNのトップページでこれを見られて本当にうれしい。何年もの間、DSLinuxに参加していた
    自分のWebサイトでほぼ毎日nightlyビルドを維持していた。当時の私のCとシステムプログラミングの腕はまだ初心者レベルだったので、コードを貢献したことはなかったと思うが、テストやコミュニティの人たちを助けることはかなりやった。Nintendo DSは売ってしまったが、Linuxを保存して起動するのに使っていたSupercardはまだどこかにある。こんな見た目だった: [https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg](https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg)
    この素晴らしい仕事を可能にした功績は、何人かの個人に大きく帰せられる。特にMalcolm Parsons(pepsiman)、後にOpenBSD開発者になったStefan Sperling、そしてAmadeusだ: http://dslinux.org/wiki/ContactingDevelopers.html

  • 正確には現代的な対応物ではありませんが、改造した Nintendo Switch はいくつかの Linux イメージでデュアルブートできます: https://wiki.switchroot.org/
    公式の Tegra ドライバーがベースなので、古くはあるものの、意外と多くのものを動かせます。Box86 で SkiFree を動かしてみて、それで満足しました

    • さらに Switch は、L4T イメージが当初ターゲットにしていた Tegra Shield とほぼ同じハードウェアにかなり近いです
      DRAM チップもまったく同じモデルですが、これは汎用部品に近く、メーカーのサプライヤー関係を反映した結果だったのでしょう。これまでの Nintendo ハードウェアの中では、公式サポートの Linux ディストリビューションに最も近い事例と言えます
  • 興味深いことに、いま HN のホームに上がっている別の記事と同じ uCLinux 作業の一部をベースにしています
    789 KB Linux Without MMU on RISC-V
    https://news.ycombinator.com/item?id=37822082

  • 高校生のころ、M3 カートで DS Linux を動かし、自転車で近所を回りながらウォードライビングをしていました
    これが存在していたことをほとんど忘れていましたが、共有してくれたおかげで楽しい記憶を思い出しました。DS と M3 カートはまだ持っていますが、昔のビルドが入っていた SD カードはずいぶん前になくなりました

  • 11歳くらいのころ、この Homebrew を自分の DS にインストールした記憶があります
    当時は Linux が何なのかまったく知りませんでしたが、DSLinux のおかげでコンピューターサイエンスへの関心が深まりました。作った人たちと、コードを貢献したすべての人に感謝しています

  • これが私の Linux 入門ルートでした。BSDgames[0] と Frotz[1] のパッケージをまとめてくれた人が誰であれ感謝しています
    おかげでテキストアドベンチャーゲームとインタラクティブフィクションが一生好きになりました。子どもが bin ディレクトリを漁って、単純なアドベントカレンダーアプリを期待してプロンプトに “advent” と入力したら、まったく別の世界[2]に落ちたときの驚きを想像してみてください
    [0] https://wiki.linuxquestions.org/wiki/BSD_games
    [1] https://davidgriffith.gitlab.io/frotz/
    [2] https://en.wikipedia.org/wiki/Colossal_Cave_Adventure

    • 私も似たようなものでしたが、最初は Winfrotz/ZX Spectrum でインタラクティブフィクションゲームを遊んでいました
      その後、Unix 用 Frotz で advent や battlestar のようなものを Linux 上で動かし、trek も一緒に遊ぶようになって、すっかりハマりました
    • DS のタッチスクリーンキーボードにスタイラスで入力してテキストアドベンチャーを遊んでいたって?!
  • 数カ月前、DSi から自分のサーバーへ SSH 接続してみたくて、これを調べました。ただ笑いを取るためにやってみたことです
    そこまで深掘りするつもりはなかったので、Wi-Fi が「そのままでは動かない」と分かったところで諦めましたが、いつかそこで SSH をぜひ動かしてみたいです

    • DSi で DSLinux チームが最終的に動くようにできたのか気になります
      私の DSi はまだあり、まだ動きますが、DSLinux は動かなかったと記憶しています
    • 最近のほとんどの Wi-Fi ルーターは、デフォルトで 802.11b サポートが無効になっていそうです。そうでなければ SSH は可能なはずです