VRChat CS集会で発表!8ビットマイコンZ80にCollapseOSを載せる挑戦!

詳細情報

集会名 CS集会
日時 2024年03月12日 22:00 - 22:30
テーマ LSI設計委員会
発表者 夜鍋ヨナ
発表資料 ファイル

発表のハイライト

VRChatのCS集会で、夜鍋ヨナさんチームが「LSI設計委員会」というテーマで発表を行いました。チームは、エンジニア作業飲み集会のハッカソンに参加し、8ビットマイコンZ80に8ビットOSのCollapseOSを搭載するという、ちょっと無茶振りな挑戦に挑みました!FPGAを活用することでバーチャルなZ80マイコンを構築し、OSを動作させるという、まさに「バーチャル」な要素を取り入れたプロジェクトです。

8ビットマイコンZ80とCollapseOSって?

レトロで魅力的な8ビットマイコンZ80

Z80は、1976年に登場した8ビットマイクロプロセッサーです。かつてのパーソナルコンピューターやゲーム機などで広く使われ、現在でも組み込み機器などで活躍しています。Apple IIなど、古き良きパソコンを彷彿とさせる存在ですよね!

文明崩壊後でも使えるOS?CollapseOS

CollapseOSは、文明崩壊後でも最低限の部品で動作するOSを目指して開発された、非常にシンプルな8ビットOSです。テキストやバイナリの編集、CPUのアセンブラのコンパイルなど、基本的な機能を備えています。Z80のようなシンプルなマイコンでも十分に動作する点が特徴です。

LSI設計委員会の挑戦:Z80とCollapseOSの融合!

プロジェクトの目標

夜鍋ヨナさんチームの目標は、Z80マイコンにCollapseOSを搭載すること!一見、簡単そうに見えるかもしれませんが、実際には様々な課題がありました。

プロジェクトの工程

  1. Z80マイコンボードの設計: Z80マイコンを中心としたアーキテクチャを設計しました。
  2. FPGA上への実装: Z80や周辺機器のFPGA IPコアを実装することで、バーチャルなマイコン環境を構築しました。
  3. CollapseOSのポーティング: 設計したボードのアーキテクチャに合わせて、CollapseOSを移植しました。
  4. プログラム作成と動作確認: バス幅8ビット、メモリ空間128kByteという制限の中で、CollapseOS上でプログラムを作成し、動作確認を行いました。

バーチャル要素を取り入れる工夫

今回のプロジェクトでは、「バーチャルな○○」というハッカソンのテーマに沿って、バーチャルな要素を取り入れる工夫が凝らされています。それは、実物のZ80マイコンを使わずに、FPGAで仮想化したこと!まさに、バーチャル空間でZ80を再現したと言えるでしょう。

なぜこんなことになったのか?

当初は「バーチャルな○○」というテーマをもっと自由に解釈し、架空のCPUを作ろうと考えていたそうです。しかし、開発期間の短さから、既存のZ80を使うことに方針転換。それでも、既存の部品を使うだけではテーマに沿わないため、FPGAによる仮想化というアイデアに行き着いたんですね。

チーム紹介と役割分担

夜鍋ヨナさんチームは、CS集会の常連メンバーで構成されており、4人のフルパーティで開発を進めました。チームリーダーの夜鍋ヨナさんがハードウェア設計などを担当し、pokioさんがハードウェアマクロ設計、れもんさんがミドルウェア設計、Mizarさんがソフトウェア設計を担当していました。それぞれの得意分野を活かした役割分担によって、スムーズな開発が進められたようです。

開発の苦労話と成果

完成度は30%!?

開発期間は2週間と短く、当初の予定通りに進むことは難しかったようです。夜鍋ヨナさんは、「頭の中では動いている」「4人いるし、実際4馬力は出てるので問題はない」と前向きな発言をしていましたが、「2週間で完成しないのでは?」と不安を漏らす場面もありました。

それでも、ハッカソンはゴールじゃない!

夜鍋ヨナさんは、「ハッカソンはゴールじゃない。スタートだ。」と語り、開発を続ける意思を示しました。

発表された成果物

  • マイコンボード設計図
  • OS動作モック
  • ボード動作モック

Z80アーキテクチャ設計の感想

Z80の設計経験から、夜鍋ヨナさんはいくつかの発見がありました。 - Z80に関する資料が豊富なこと - Z80自体はシンプルなCPUなので、周辺回路の設計が重要となること - Z80には不思議な魅力があること

特に、周辺回路を組み合わせることで、Z80が想像以上にパワフルな構成になることに驚いたそうです。また、電源やクロックの仕様がシンプルだったため、ボード設計が非常に楽しかったとも語っていました。

まとめ

夜鍋ヨナさんチームの「LSI設計委員会」は、8ビットマイコンZ80とCollapseOSという、レトロで魅力的な技術を用いた、チャレンジングなプロジェクトでした。FPGAを用いたバーチャル化というアイデアによって、「バーチャルな○○」というテーマを見事に体現したと言えるでしょう。完成度こそ30%でしたが、ハッカソンはあくまでスタート。今後の開発にも期待が高まります!

スライド資料はこちら

CS集会の他の発表もチェック!

シフト演算ってなぁに?10進数と2進数で考えてみよう!

VRChatで量子コンピュータの世界を体験!CS集会#33で夜鍋ヨナさんが紹介した量子コンピュータの世界

VRChat CS集会で発表!量子コンピュータで半加算回路を実装してみたよ!

生成AIとプログラミング:夜鍋ヨナさんが語る、LLMとシステム開発の未来!

VRChat CS集会で学ぶ!比較器の仕組みと引き算を用いた実装

シフト演算をわかりやすく解説!コンピュータ内部でどう動いているの?