はい、miku_JK_Jbです
今回は2026年の上半期の間にどのくらい自作OSの開発が進んだのかについて紹介していきます
色々あってYouTubeの動画やブログの更新が遅れているけど、まぁ気にすんな😁
色々ってのも愛車の燃料タンクが死んでハイオクガソリンがダバァ🤪したんだけどね。
とりあえず今の自作OSがどんな感じか見せるとこんな感じ
前にも似たようなのを上げたのだが、それと見た目的に変わったところは画面にマウスカーソルが描画されることだけw
まあ、見えないところが若干変わってるので
行った2026年の上半期に行った作業はこんな感じ
・高校生の間に作成したxHCIドライバを使用してUSB3.0に対応しマウスカーソルを描画できるようにした。
・EHCIドライバを作成してUSB2.0にも対応し、マウスカーソルを描画できるようにした。
・自作OSのUIアイコンを決めた
・SVG形式のUIアイコンを描画できるようにIconManagerを作成した。
・サウンドドライバので音声出力の実装を行った
これが上半期に行った作業だ。
主にUSB関連が多かったと思うし、実際苦労しまくった。
順番に解説していくと
高校生の間に作成したxHCIドライバを使用してUSB3.0に対応しマウスカーソルを描画できるようにした作業と、
EHCIドライバを作成してUSB2.0にも対応し、マウスカーソルを描画できるようにした作業は
前回と前々回の動画やブログでしっかりと解説とかどんな感じにマウスカーソルが描画できるようになったのか説明しているんで省略する
なので自作OSのUIアイコンを決めたところから解説する。
これは個人的にシンプルで見やすいUIを探していた
やっぱり、アイコン含め綺麗なUIだと使ってくモチベ上がるじゃん?
で、最初に使おう思ったUIアイコンがMaterial Designだ。
ただこれはあまりにもデザインがGoogle Pixelすぎる
ちょっとこれを自作OSのUIアイコンなどに採用しちゃうとPixelのPC版みたいになりそうだったので、辞めた。
そこで。自分で探すのも面倒になったので、Claudeに聞いてみた。
他にもChatGPTとMS Copilotにセカンドオピニオンをした。
Claudeには、Phosphor IconsとHeroiconsが候補に挙がり、
ChatGPTには、Phosphor IconsとTabler Iconsが候補に挙がり、
MS Copilotはなぜかポエムを書いてきたので無視した。
ClaudeやChatGPTの2つのAIが勧めてきたPhosphor Iconsを見ると、
シンプルで見やすく、ライセンスもMITライセンスと扱いやすいライセンスだったので、Phosphor Iconsを採用した
アイコンはSVG形式で使用する
Phosphor Iconsはここから見れる
https://phosphoricons.com/
次にSVG形式のUIアイコンを描画できるようにIconManagerを作成した作業について解説する
ちなみにこれと次に解説するサウンドドライバの音声出力に関しては、実装しただけで、まだ実機での検証などは行っていない。
これはさっき紹介したSVG形式のUIアイコンを読み込んで、内部形式に変換し、必要サイズにラスタライズして、キャッシュしながら画面に描画する機能だ。
マウスカーソルやUIなどとは別枠で、タスクバーや設定アプリ内、UIのボタンアイコンやアプリのアイコンに使うアイコンの管理や描画を行う
他にもアイコンの管理などもする
次にサウンドドライバの音声出力の実装について解説する
これもさっき書いた通り、実装済みなだけで、まだ実機での検証はしていない
これは、ユーザー空間アプリなどがPCMを書き込むとAudioCore が各再生ストリームを管理し、必要ならリサンプリングして 48kHz / 16bit / stereo に統一し、複数アプリの音をミキサで合成し、音量、マスター音量、リミッタ、ソフトクリップ、underrun処理をかけ、最終的なPCMは、既定の出力デバイスへ送られる。
HDAならcodec経路を設定してDMA/BDLでスピーカー、イヤホン、HDMI、DisplayPortへ流し、USB AudioならPCMをUSB Audio形式に詰めてxHCIのisochronous OUTで送る。
簡単に言えばアプリの音をAudioCoreで整えて混ぜ、HDA/USB Audioの実ハードウェアへ継続的に流すサウンド出力の基盤と言った感じだ。
一番こいつに時間食った。尚、実機検証はしていない模様
これが2026年の上半期の間に行った自作OSの開発作業だ。
今後は、IconsManagerやサウンドドライバの音声出力の実機検証などをしたり、
UIを綺麗にしたり、キーボードなどに対応して、OSの基本的な操作を可能にしたい。
ということで、以上miku_JK_Jbでした

