osFree Janusは、古典的な16ビットMicrosoft Windows 3.0オペレーティングシステムを完全でオープンソースかつ互換性のある形で再実装するプロジェクトです。これはosFreeプロジェクトの一環として開発されており、単にカーネルだけでなくWindows 3.0環境全体を完全にコピーしたものです。
このプロジェクトの目標は、カーネル(KERNEL)、グラフィックスサブシステム(GDI、USER)、システムドライバ、およびコアコンポーネントを含む、歴史的なWindowsの独立した現代的な再実装を構築することであり、これにより「純粋な」DOS上でも仮想DOSマシン(VDM)セッション内でも単独で動作可能になります。
このプロジェクトは、VDMやスタンドアロン環境で利用できる16ビット版Windowsカーネルを再実装しようとする試みです。開発にあたっては、TWIN、WINE、ReactOS、HX-DOSといったプロジェクトのコードが幅広く活用されています。また、カーネルやシステム構造の再構築においては、Matt Pietrek著「Windows Internals」、Andrew Schulman著「Undocumented Windows」、**Daniel Norton著「Writing Windows Device Drivers」**といった書籍が大きく参考になっています。
- 完全なWindows 3.0のクローン – カーネルだけでなく、GDI、USER、ドライバもすべて含まれる
- 複数環境対応 – 純粋なDOS上でもVDMセッション内でも動作する
- 独立した再実装 – Win32やXFreeといった下層システムは不要
- KRNL286/KRNL386カーネル – リアルモードのDOSから自律的に起動する
- 既存のWin16アプリとの互換性 – 元のソフトウェアを実行できるように設計されている
- 実績のあるオープンソースコードをベースに構築 – TWIN、Wine、ReactOS、HX-DOS
元のOS/2はほぼそのままのWindowsを使用していたため、このプロジェクトは従来の「純正」なWindows 3.xの再実装と見なすことができます。つまり、ほとんどのコードはWin32やXFreeといった下層システムなしでも動作するように書かれています。KRNL286/386カーネルは純粋なDOSから起動し、自律的に動作しなければなりません。
ほとんどの初期化コードおよびモジュールマネージャーは、実装の出発点となるHX-DOSから派生しています。
その他のほとんどのAPI関数は、純粋な16ビット環境への移植の難易度に応じてWineやTWINから採用されています。多くの関数は、純粋なDOS 16ビット環境向けに再移植されています。
このプロジェクトはまだ極めて初期のアルファ開発段階にあります。グラフィックスサブシステム(GDI)はまだ実装されていません。ユーザーインターフェースライブラリ(USER)には既に多くの動作可能な機能が備わっています。また、ほとんどの上位レベルのDLLもある程度実装されています。
最初の目標は、WinVerやClockといったシンプルなシステムアプリケーションを正しく起動させることです。これには、カーネル(KERNEL)がドライバー(システム、マウス、キーボード)やGDI.EXE、USER.EXEを正しく読み込み、初期化する必要があります。
ターゲットとなるWindowsバージョンは3.0です。
このプロジェクトには、Windows 3.0の主要なシステムコンポーネントすべての再実装が含まれています:
| Directory | Description |
|---|---|
applications |
標準のWindowsアプリケーション – TWIN、Wine、ReactOS、MS File Managerからのコンテンツが混在 |
resources |
TWIN由来のアイコン、ビットマップ、カーソル、Wine由来のフォント |
dlls |
標準のWindows DLL |
docs |
配布用ドキュメント |
dosx |
286 DPMIホストおよびエクステンダー(まだ実装されていない、基盤としてHXDOSが使用されている) |
drivers |
標準のWindows/DOSドライバー |
include |
インクルードファイル(参照用のみ – OpenWatcomのヘッダーが使用されている) |
kernel |
KERNEL.EXE / KRNL286.EXE / KRNL386.EXE — 新しいカーネル |
MME |
マルチメディア拡張機能 |
pal |
プラットフォーム抽象レイヤー – X11ドライバー(使用されていない、参照用のみ) |
samples |
様々なサンプルプログラム |
tests |
WIN16単体テスト |
user |
USER.EXE |
utilities |
ユーティリティプログラム |
win |
WIN.COM — Windowsローダー |
winkrnl |
TWINプロジェクト由来のWindowsカーネル、GDI、USER(参照用のみ – 現在のカーネルはkernel/にある) |
ご貢献を心より歓迎します!以下の方法でお手伝いいただけます:
- 現在のアルファ版をテストし、バグを報告する
- もっと多くのWine/TWIN関数を16ビット環境に移植する
- 欠落している部分(GDI、ドライバなど)を実装する
- ドキュメントやサンプルコードを作成する
issue tracker をご利用の上、メインリポジトリにプルリクエストを送信してください。
GNU Lesser General Public License v2.1 (LGPL‑2.1) のもとで配布されています。詳細は LICENSE をご覧ください。
- osFree Project – オープンソースのOS/2クローンを扱う親プロジェクト
- osFree Janus Clock – サンプルアプリケーション
- WinVer – 「About Windows」ダイアログ
- Notepad – テキストエディタのクローン
- Taskman – タスクマネージャのクローン
プロジェクトリポジトリ:
https://github.com/osfree-project/WIN16
キーワード:
Windows 3.0 clone Windows 3.0 implementation Windows 3.0 reimplementation
Open-source Windows 3.0 Win16 KRNL286 KRNL386 16-bit Windows osFree
Windows 3.0 compatibility Run old Windows programs DOS Windows
Windows 3.0 repository
- コードベースを提供してくれた TWIN、WINE、ReactOS、HX-DOS チームの皆様
- 書籍を執筆してくれた Matt Pietrek、Andrew Schulman、Daniel Norton 様
- osFree プロジェクトのすべての貢献者およびテスターの皆様
最終更新日: 2026年6月10日