logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·02.11.26
← Back to news

Windows CE Dreamcast Community Edition (wince-dc)

Original article
github.com|37 points|3 comments|by msephton|Jul 4, 2026

Windows CE Dreamcast Community Edition (wince-dc)

🖥️ Project Overview

The Sega Dreamcast originally shipped with a highly restricted version of Windows CE 2.12. While retail games utilized this environment, it was completely hidden never exposed to the end-user.

The Windows CE Dreamcast Community Edition transforms that dormant on-disc runtime into a functional, multitasking windowed desktop. It integrates a working GUI and an evolving TCP/IP stack via the Broadband Adapter, all packaged as a standard bootable disc.

The project is entirely self-contained; the repository includes the necessary SH-4 PE compiler and the full CE image toolchain. A single cmake command can transform the source code into a bootable disc.gdi file.


🚀 Core Features

The DCWin Desktop Shell

A custom shell that provides a windowed environment composited on PVR2 / Direct3D. Users can:

  • Move, resize, minimize, and maximize windows.
  • Interact via a Start button, taskbar, and mouse cursor.

Integrated Applications

The environment includes several built-in processes:

  1. Explorer: Navigate \, \Windows, and \CD-ROM to launch binaries.
  2. Task Manager: Monitor active processes and RAM usage in real-time.
  3. Utility Apps: A live Clock, Calculator, and a memory diagnostic tool.
  4. Network Tester: A dedicated tool for testing winsock connectivity.

Networking (Work in Progress)

The project utilizes a universal link shim called mppp.dll. The goal is to allow the stock microstk.exe and winsock.dll to operate over Ethernet instead of dial-up PPP.

  • Logic: DHCP/ARP/DNS are handled within the shim.
  • Resolution: DHCP option-6→Dreamcast Flash ISP Config→Public Resolver\text{DHCP option-6} \rightarrow \text{Dreamcast Flash ISP Config} \rightarrow \text{Public Resolver}DHCP option-6→Dreamcast Flash ISP Config→Public Resolver.
  • Backends: Support is being developed for both the Broadband Adapter and W5500/MACRAW via SPI (currently not end-to-end functional).

🛠️ Build System

Build Pipeline

The following diagram illustrates the transformation from source to disc:

Prerequisites

  • CMake: Version ≥3.20\ge 3.20≥3.20
  • Generator: Ninja (The version bundled with Visual Studio is compatible).
  • Host OS: Windows (PowerShell is required for disc-imaging).

Compilation Steps

  • Step 1: Configure
    # Ensure -DCMAKE_MAKE_PROGRAM points to ninja if not in PATH
    cmake -G Ninja -S . -B build
    
  • Step 2: Build SH-4 Modules (e.g., dcshell.exe, mppp.dll)
    cmake --build build
    
  • Step 3: Generate OS Image (build/0winceos.bin)
    cmake --build build --target image
    
  • Step 4: Create Final GDI (build/disc/disc.gdi)
    cmake --build build --target gdi
    

Configuration Options

OptionDefaultDescription
-DKERNELretailretail for silent boot; debug for SCIF serial console.
-DDLLSretailretail for stock OS DLLs. debug includes asserts (may break some titles like DirectDraw).
-DAUTORUNdcshell.exeDefines the binary launched at boot via HKLM\init Autorun.
-DEXTRADATA(none)Folder to be placed in \CD-ROM.

Example: Creating a debug image with a game included: cmake -S . -B build -DKERNEL=debug -DEXTRADATA=path/to/game →\rightarrow→ cmake --build build --target gdi


🎮 Running the OS

The resulting disc.gdi is a standard multi-track image compatible with:

  • Optical Emulators: GDEMU, MODE, or USB-GD-ROM (copy files to SD card).
  • Physical Media: Use toolchain/make-gdi-real.ps1 to ensure the layout matches original IP.BIN and track geometry for GD-R.

Diagnostic Tip: If the system hangs, build with -DKERNEL=debug and monitor the Dreamcast's SCIF serial console.


📂 Repository Structure

PathPurpose
shell/DCWin shell, PVR2/D3D compositor, and client apps.
net/netif/The mppp.dll shim (BBA and W5500 backends).
drivers/dcspi/SPI transport (Hardware-SPI + SCIF bit-bang).
toolchain/Imaging scripts (make-gdi.ps1) and build documentation.
vendor/sh-toolchain/SH-4 PE compiler and CE headers.
vendor/wcesdk/CE 2.12 SDK: Kernels, OS modules, and image tools.

⚠️ Important Notes

This project is based on the vendored Sega "Dragon" Windows CE SDK. While the shell, SPI driver, and networking shim are original creations, the kernel and system modules are stock SDK binaries. Please do not redistribute the vendored SDK binaries outside the context of this research project.