{{page>en:templates:win16api}} ====== Win16 Personality: A Windows 3.x Compatibility Layer ====== The Win16 Personality is a project to create a free, open-source reimplementation of the 16-bit Microsoft Windows 3.x operating environment. It aims to provide compatibility with Windows 3.0, Windows 3.1, and Windows 3.11 for running classic Win16 applications. ===== Project Goals ===== * Provide binary compatibility for a range of applications built for Windows 3.1/3.11. * Reimplement core system components: KERNEL.EXE, USER.EXE, GDI.EXE. * Serve as a research and educational platform for the classic Windows 3.x architecture. * Integrate the Win16 environment as one of the "Personalities" within the osFree microkernel OS, and ensure it can also run on pure DOS. ===== Current Status ===== The project is in early development (alpha stage). Current work focuses on the core 16-bit KERNEL and USER module. GDI is not yet implemented. The first practical milestone is to correctly run simple system utilities like WinVer, Clock and so on. ===== Components and Applications ===== ==== Windows 3.x Application Clones ==== Clones of classic Windows 3.x applications are also being developed: ^ Name ^ Description ^Status ^ | [[en:docs:win16:applications:CALC]] (pure API) | Standard calculator for basic arithmetic. | | | [[en:docs:win16:applications:CALENDAR]] | Desktop calendar for viewing dates and appointments. | | | [[en:docs:win16:applications:CARDFILE]] | Electronic index card database for organizing information. | | | [[en:docs:win16:applications:CHARMAP]] (pure API) | Utility for viewing and inserting special characters. | | | [[en:docs:win16:applications:CLIPBRD|Clipboard Viewer]] (pure API) | Viewer for inspecting the current clipboard content. | **Done** | | [[en:docs:win16:applications:CLOCK|Clock]] (pure API) | Analog or digital clock displaying the current time. | **Done** | | [[en:docs:win16:applications:CONTROL|Control Panel]] | Main panel for adjusting system settings and hardware. | | | [[en:docs:win16:applications:DRWATSON]] | Diagnostic tool for capturing system information and errors. | | | [[en:docs:win16:applications:EXPAND]] | Utility for decompressing files from distribution disks. | **Done** | | [[en:docs:win16:applications:FASTOPEN]] | Utility for speeding up file access by caching directories. | **Done** | | [[en:docs:win16:applications:MPLAYER]] | Media Player for playing multimedia files. | | | [[en:docs:win16:applications:MSD]] | Microsoft Diagnostics tool for detailed hardware analysis. | | | [[en:docs:win16:applications:NOTEPAD|Notepad]] (pure API) | Simple text editor for plain text files. | **Done** | | [[en:docs:win16:applications:PACKAGER]] | Object Packager for embedding and linking documents (OLE). | | | [[en:docs:win16:applications:PBRUSH]] (ATL) | Paintbrush graphics editor for creating bitmap images. | | | [[en:docs:win16:applications:PIFEDIT|PIF Editor]] (pure API) | Editor for creating Program Information Files (PIFs) for DOS. | | | [[en:docs:win16:applications:PRINTMAN]] | Print Manager for print jobs and printer queues. | | | [[en:docs:win16:applications:PROGMAN|Program Manager]] (pure API) | Main shell for organizing applications and documents into groups. | | | [[en:docs:win16:applications:REGEDIT]] | Registration Info Editor for the Windows registration database. | | | [[en:docs:win16:applications:SETUP]] | Windows Setup program for changing system configuration. | | | [[en:docs:win16:applications:SOL]] (pure API) | The classic Solitaire card game. | | | [[en:docs:win16:applications:SOUNDREC|Sound Recorder]] | Recorder for playing and editing sound files (.WAV). | | | [[en:docs:win16:applications:SYSEDIT|System Configuration Editor]] (pure API) | Editor for modifying system files (AUTOEXEC.BAT, CONFIG.SYS). | **Done** | | [[en:docs:win16:applications:TASKMAN|Task Manager]] (pure API) | Manager for switching between running applications and tasks. | **Done** | | [[en:docs:win16:applications:WINFILE]] (pure API) | File Manager for managing files, directories, and disks. | | | [[en:docs:win16:applications:WINHELP]] (pure API) | Windows Help engine for displaying application help files. | | | [[en:docs:win16:applications:WINMINE|Minesweeper]] (pure API) | The classic Minesweeper puzzle game. | **Done** | | [[en:docs:win16:applications:WINSHELD]] | The Windows (Win) Shield is the Windows counterpart of the PM Shield. It is both an executable file and a dynamic link library (WINSHELD.EXE and WINSMSG.DLL, respectively). Win Shield serves a complementary purpose, maintaining Workplace Shell windowing-state information for its DOS session. | | | [[en:docs:win16:applications:WINVER|Windows Version]] (pure API) | Dialog box displaying Windows version and copyright information. | **Done** | | [[en:docs:win16:applications:WRITE]] | Write word processor for creating formatted documents. | | The main project source code is available in the repository: [[https://github.com/osfree-project/WIN16 osfree-project/WIN16]] ==== Core System Modules & API ==== The reimplementation of the core Windows 3.x system modules and interfaces includes: * [[en:docs:bios:api|BIOS API]] * [[en:docs:dos|DOS API]] * [[en:docs:xms:api|XMS API]] * [[en:docs:tasklist|Task List API]] * [[en:docs:dpmi|DOSX (DPMI) API]] * [[en:docs:win16:logo|LOGO API]] * [[en:docs:grabbers|Screen grabbers API]] * [[en:docs:switcher|Task switcher API]] * [[en:docs:win16:modules:system|SYSTEM driver]] * [[en:docs:win16:modules:keyboard|KEYBOARD driver]] * [[en:docs:win16:modules:mouse|MOUSE driver]] * [[en:docs:win16:modules:display|DISPLAY driver]] * [[en:docs:win16:modules:kernel|KERNEL module]] * [[en:docs:win16:modules:gdi|GDI module]] * [[en:docs:win16:modules:user|USER module]] * [[en:docs:win16:modules:shell|SHELL module]] * [[en:docs:win16:modules:lzexpand|LZEXPAND module]] ===== Related Pages ===== * [[en:start|Main osFree page]] * [[https://en.wikipedia.org/wiki/Windows_3.1x|Wikipedia article about this OS family]]