
2026/07/04 23:52
Windows CE Dreamcast コミュニティ版 (wince-dc)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
DCWin Community Edition は、セガ ドリームキャストコンソール上の非公開 Windows CE 2.12 ランタイムを、外部開発者キー、SDK インストール、または Platform Builder を必要とせずに、完全なマルチタスクデスクトップ環境へと変換します。この自己完結型のソリューションは、システムの制約に代わり、Direct3D コンプーシティング機能、スタートメニュー、タスクバー、マウスカーソルを備えたカスタムシェルを提供し、すべてのアプリケーションがそれぞれ独立したプロセスで動作します。搭載アプリには、エクスプローラ、メモリアプライビュー付きのタスクマネージャー、クロック、計算機、メモリテスタ、Winsock ネットワークテスタが含まれます。ネットワーク機能は、Broadband Adapter を経由するイーサネットまたは SPI 経由の W5500/MACRAW をサポートするために、ユニバーサルリンクシム (
mppp.dll) を使用しており、エンドツーエンドの機能性の精査は引き続き行われています。プロジェクトは完全に自己完結しており、リポジトリ内に SH-4 PE コンパイラと CE イメージツールチェーンがベンダー化されています。ビルドには、Windows PowerShell 上で Ninja ジェネレーターを用いた単一の CMake 呼び出し(≥ 3.20)が必要であり、レティールカーネル対デバッグカーネル(SCIF シリアルコンソール)や DLL の選択オプションが可能で、安定性を重視してデフォルトは沈黙するレティールモードに設定されています。このプロセスにより、GDEMU、SD カード、または光学ディスクにて起動可能な disc.gdi または 0winceos.bin イメージが生成されます。ビルドオプションでは、レティールカーネル対デバッグカーネル(SCIF シリアルコンソール)および DLL の選択が可能で、安定性を重視してデフォルトは沈黙するレティールに設定されています。プロジェクトにはデスクトップシェル、ネットワークシム、SPI ドライバに関する元々の作業が含まれており、CE カーネルについては標準 SDK バイナリを使用しています。リポジトリ構成では、デスクトップシェル (shell/)、ネットワークシム (net/netif/)、SPI ドライバー (drivers/dcspi/)、およびベンダー化されたツール(SH-4 コンパイラ、CE 2.12 SDK)が区分されています。可変パラメータ -DAUTORUN を指定することで、起動時に特定のバイナリの自動起動を実行することが可能で、実行ファイルのパスを指定します。ユーザーは、研究プロジェクトの精神に反してベンダー化された SDK バイナリを外部に再配布してはなりません。
(注:改善されたサマリーには、欠落していたビルドの詳細とアプリケーションに関する具体情報が統合されつつも、明瞭性と流れが維持されています。)
本文
Windows CE デスクトップ環境「Windows CE ドリームキャスト コミュニティ エディション」
実在するセガ・ドリームキャスト(DC)上で動作する、ウィンドウ化された Windows CE デスクトップ環境です。
概要
ドリームキャストは当初、リテールゲーム起動時のみ利用される簡略化した Windows CE 2.12 が搭載されていました。本プロジェクトはオンボードの CE ランタイムを活用し、実用的なデスクトップ環境へ変換しました。
主要特徴
- 完全自己完結: SH-4 用の PE コンパイラやイメージ作成ツールチェーンがすべてリポジトリに含んでいます。
- 簡易ビルド: 単一の CMake コマンドで起動可能なディスクイメージを作成可能です。プラットフームビルダーのインストールや SDK の個別設定、CD キー登録は不要です。
- 統合機能: マルチタスク対応のウィンドウ型デスクトップ機能と、ブロードバンドアダプター向けの TCP/IP スタック(現在開発中)を標準起動可能ディスクに統合しています。
スクリーンショット
以下の要素を実装済みです:
- デスクトップ画面
- マルチタスク対応の実働状況
- アイコン、スタートメニュー、タスクバー、マウスカーソル
- タスクマネージャー、ファイル閲覧用のエクスプローラー、リアルタイム時計表示
すべてのアプリケーションは、独立した CE プロセス として動作します。
主な機能
DCWin デスクトップシェル
PVR2(Direct3D)上でコンポジットされたウィンドウ化かつマルチタスク対応のデスクトップ環境です。
- ウィンドウの移動、サイズ変更、最小化、最大化が可能
- スタートボタン、タスクバー、マウスカーソルを備える
内蔵アプリケーション:
- エクスプローラー: ルートディレクトリ(
,\
,\Windows
)の閲覧およびバイナリーの実行\CD-ROM - タスクマネージャー: プロセス一覧とメモリのリアルタイム表示
- ツール類: 時計、電卓、メモリ診断ツール、Winsock ネットワーク診断ツール
ネットワーク機能(開発中):
- ユニバーサルリンクシャイム (
):mppp.dll- 標準マイクロスタック実行環境をダイヤルアップ PPP からイーサネットに変更
- DHCP/ARP/DNS の処理をシャイム側で代行
- DHCP オプション 6 でドリームキャスト固有のフラッシュ ISP 設定へ連携
- リンクバックエンド: ブロードバンドアダプターおよび W5500/MACRAW over SPI の両方の構築・テスト中(完全なエンドツーエンド動作確認は進行中)
ビルド形式:
- SH-4 用
コンパイラと CE イメージ作成ツール(cl.exe
,makeimg
など)をバンドルromimage - リテール(サイレントモード)またはデバッグ(シリアルコンソール出力)のイメージ作成可能
- 標準的な起動可能な GDI ディスクも生成
ビルド方法
前提条件
- CMake 3.20 以上
- ジェネレータ:Ninja
- Visual Studio にバンドルされた組み合わせそのまま使用可能(VS から別途要素を入手する必要はない)
- ディスクイメージ作成時:PowerShell を使用
ビルドコマンド
# 構成(パス上に Ninja が存在しない場合は -DCMAKE_MAKE_PROGRAM で指定します) cmake -G Ninja -S . -B build # 1) SH-4 モジュールのみ -> build/modules/ # (dcspi.dll, mppp.dll, dcshell.exe, dcw* アプリなど) cmake --build build # 2) 起動可能な OS イメージ -> build/0winceos.bin cmake --build build --target image # 3) 完全なチェーン -> build/disc/disc.gdi cmake --build build --target gdi
ビルドオプション
| オプション | デフォルト値 | 効果 |
|---|---|---|
| | : サイレント起動のカーネル: SCIF シリアルコンソール出力を有効にしたカーネル(起動時のロギング内容のみが変化) |
| | : 標準 OS DLL(実際のゲームで動作するもの): チェック済み(アサート重視)DLL注意: DirectDraw/DDHAL などで動作を崩す可能性があるため、システム DLL のバグ追跡以外の場合は を維持してください。 |
| | 起動時に実行されるプログラム(HKLM\init Autorun)。パス指定時は斜線 を使用。例: でディスク上のバイナリーを自動起動。 |
| | ディスクの に置かれるフォルダの内容(例:ゲームファイル)。相対パスはリポジトリルートに対して解決され、0WINCEOS.BINには常に自 OS イメージが優先されます。 |
応用事例
動作するリテール DLL の上にある SCIF シリアルコンソール用イメージで、ディスクにゲームを配置する場合:
cmake -S . -B build -DKERNEL=debug -DEXTRADATA=path/to/game cmake --build build --target gdi
実行方法
ビルドにより生成される
build/disc/disc.gdi は標準的なマルチトラック形式であり、実際のドリームキャストハードウェアで起動できます。
- GDEMU / MODE / USB-GD-ROM:
ファイルおよびトラックファイルを SD カードまたはイメージにコピーし、メニューから選択します。.gdi
- 焼录されたディスク:
- GD-R / GDEMU 完全互換レイアウトを作成するには、
を使用して実際の CE ゲーム GDI の上で再ビルドしてください(元のtoolchain/make-gdi-real.ps1
とトラックジオメトリと一致します)。IP.BIN
- GD-R / GDEMU 完全互換レイアウトを作成するには、
デフォルトイメージ: 起動すると直ちに DCWin デスクトップへ進みます。 診断用:
でビルドし、ドリームキャストシリアル(SCIF)コンソールを監視してください。-DKERNEL=debug
リポジトリ構成
| パス | 内容 |
|---|---|
, | 全体のビルドプロセス(モジュール → イメージ → GDI) |
| DCWin デスクトップシェル、PVR2/D3D コンポジット機能、クライアントアプリケーション |
| ユニバーサル mppp.dll リンクシャイム(BBA と W5500 バックエンド、DHCP/ARP/DNS) |
| W5500 用の再利用可能な SPI トランスポート(SCI ハードウェア SPI および SCIF ビットバンガリング) |
| / / 、およびビルドのための README |
| SH-4 PE コンパイラと CE ヘッダー |
| バンドルされた Windows CE 2.12 SDK:ヘッダー、ライブラリ、イメージツール、OS モジュール、カーネル |
ビルドの内部実装については
をご参照ください。toolchain/README.md
備考
本プロジェクトはセガから配布されているドリームキャスト用の「ドラゴン」Windows CE SDK(バンドル済み)の上に構築されています。
- オリジナル実装: シェル、ネットワークシャイム、SPI ドライバー
- 標準利用: CE カーネルおよびシステムモジュール
注意: この研究プロジェクトの精神に反して、バンドルされた SDK バイナリを外部に再配布しないようご注意ください。