Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSC展示とLUNAとNetBSD / OSC2024Kyoto

OSC展示とLUNAとNetBSD / OSC2024Kyoto

OSC2024 京都 の NetBSDセミナーで発表した『OSC展示とLUNAとNetBSD』のスライドです。
発表時のものから誤記やフォーマットの修正、URLの追記等をしています。

Izumi Tsutsui

July 27, 2024
Tweet

More Decks by Izumi Tsutsui

Other Decks in Programming

Transcript

  1. 始まりは OSC2011関西@京都  NetBSD/m68k Never die! ・元々は「MC68030 workstation コラボ展示」 ・ご当地ということで

    LUNAをサプライズネタに 詳細はこちら http://www.ceres.dti.ne.jp/tsutsui/osc2011kyoto/index.html
  2. OSC京都展示まとめ  今年で12回目 •2011年 NetBSD/luna68k復活展示 •2012年 LUNA-IIも復活しました展示 •2013年 LUNA+mlterm-fb で

    Twitter •2014年 LUNA-II mikutter「今年はカラーだ!」 •2015年 LUNA88kとコラボ展示 •2016年 LUNA SubCPUの PSG演奏 •2017年 LUNA+PC-6001 PSGx2の6重和音演奏 •2018年 @moveccrさん LUNA PSG PAM再生 •2019年 LUNA-IIで Mastodon タイムライン •2023年 X.org 256色サーバーとMPlayerとか
  3. NetBSD 10.0  今回もリリースまで時間かかりました…… •2024年 3月28日リリース なおnetbsd-10ブランチ作成は 2022年12月16日 •18回目のメジャーリリース •Aarch64

    サポート等を書かれた 「清水了さんに捧げる」とされています Dedication NetBSD 10.0 is dedicated to the memory of Ryo Shimizu, who passed before it could be released. ryo@'s contributions to NetBSD, to our community, to ARM and networking (and indeed, to this release) were beyond immense. We are all deeply saddened at the loss of an excellent technical contributor and good friend. https://www.netbsd.org/releases/formal-10/NetBSD-10.0.html
  4. NetBSD/luna68k 10.0 新機能一覧  OSC展示したものも OSC休止中作業のものも •SubCPU PSG PAM audio

    (2018年展示) •X.org 256色サーバー (2023年展示) •フレームバッファコンソール高速化 •キーボードのLED制御とBEEP音制御 地味ながらもまだまだ頑張っています https://www.netbsd.org/changes/changes-10.0.html#port-luna68k
  5. OSC京都2018セミナーでの @moveccr さんのスライドより  展示相乗効果? •「すごく面白そう」 •「でももっときれいな音が出るはず!」 •音質が悪い原因 →LUNAのH/W回路の問題 •「PSG

    PAM方式」により解決 •NetBSDのaudioドライバ改良をされた @isaki68kさんとともにaudioドライバ化 https://www.slideshare.net/slideshow/luna-108741757/108741757
  6. 展示準備① NetBSD OS更新  備えあれば憂いなし? •LUNAは NetBSD 10.0が出た直後の4月に  アップグレードしてました ただし、だいたい一晩はかかります

    • NWS-3260はしばらく作業できておらず  3日前の 7月23日に NetBSD 9.4 に更新 こちらはもう少し速かったような 10.0_RC2のときはなんか動きが変だったのでまた調べます
  7. 展示準備② 展示デモ ネタだし  昔Twitter 今は Mastodon/Misskey •「SNSのタイムラインを流す」デモ •コンテンツ用意が不要という利点 •遅マシン用クライアントもあります

    • sayaka : CUI Misskeyクライアント •nanotodon: CUI Mastodonクライアント •PSG PAMは…… audioplay(1)で適当に  wav音楽ファイル再生で考える
  8. sayaka  CUI Misskey クライアント https://github.com/isaki68k/sayaka ターミナルに特化したMisskey ストリームクライアントです。 元々はTwitterクライアントと して開発されていましたが、

    2023年Twitter APIサポート終了 とともにMisskeyクライアントとして生まれ変わりました。 ターミナルでのsixelグラフィック表示をサポートするとともに、 「X68030/25MHz、メモリ12MHzでも快適(?)動作。」 と公式説明にある通り画像処理や減色処理についても軽量動作す るよう工夫が凝らされています。
  9. nanotodon  CUI Masotdonクライアント https://github.com/taka-tuos/nanotodon 「OSCでの謎マシンデモで  使えるように」 というコンセプトで開発された、 C99実装のテキストベース 軽量Mastodonクライアントです。

    バージョン 0.3.1までは ncursesを使っていましたが、 新バージョン 0.4.0では「OSC京都展示用に」と、 sixelグラフィックスサポートに向けて ncursesを使わない実装に変更され、 sixelグラフィックスの実験的サポートも追加されています
  10. 展示準備③ デモ用パッケージバイナリビルド  「何をするにも遅すぎる」問題 •LUNA (68030 20MHz 16MB)でビルドすると  永遠に終わらない? •NetBSDは

    m68kマシンはすべてバイナリ互換 •「速くて大容量メモリNetBSD/m68kマシン」 ➔2017年までは LUNA-II (68040 25MHz 64MB, SSD SATA→IDE→SCSI変換)  2018年〜は ATARI互換機 Milan (68040 25MHz 128MB, PCI-IDE付き)
  11. 展示準備③ デモ用パッケージバイナリビルド  MC68040 25MHz 128MB でもこれくらいかかります •Perl-5.38.2: 2日+9時間 (各種ビルドツールで必要)

    •curl-8.5.0: 10時間 (nanotodonで必要) •nanotodon は 20分くらいで優しい •sayaka は C++17なので 128MBはやや苦しく 4時間くらい 気を使っていただいてます⇒ •cmake-3.28.1: 10日23時間 今どきのツールがツラい
  12. nanotodon on LUNA 問題  ビルド後の nanotodon 0.4.0 テスト •Sun3/60

    (MC68020 20MHz 24MB)では  X.org上でも問題なくタイムライン表示可能 •初代LUNA (MC68030 20MHz 16MB) + mlterm では  いつまでもタイムラインが出ない?  ……と思ったら5〜7時間後に出ている •RAM 8MBの差はあるが、Xなしでもダメなの?
  13. nanotodon on LUNA 問題  調査の結果 •wiresharkでモニタ調査等したが、  実はTLS1.3認証でも問題はなかった ✔タイムアウト300秒に対して 40秒くらい

    ✔なおタイムアウトが数秒だと RSAでないと無理 •ビルドが遅いので後回しにしていたが、  進行状況ログを入れたところ  起動時のタイムライン取得(20トゥート分)の  JSON処理が重くスラッシングしてると判明 •nanotodonに「TL toot取得数制限option」を  追加してもらって解決!
  14. 展示準備③ デモ用パッケージバイナリビルド  NetBSD時間軸 •展示の3か月くらい前にビルド開始しましょう •NetBSD 10.0で gcc10になりまた遅くなった? •NetBSD/m68k は

    68040だと仮想アドレス 480MB制限があり、ビルドできないものも  →gnutlsなど。それらは 030 256MBのATARI TT030でビルド •エラー時の修正はさらに大変 •今だとエミュレータのほうが速いかも