en:docs:win16

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:win16 [2023/12/23 10:57] prokusheven:docs:win16 [2025/12/21 13:59] (current) prokushev
Line 1: Line 1:
 {{page>en:templates:win16api}} {{page>en:templates:win16api}}
  
-==== Win16 personality ====+======  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.
  
-=== Introduction ===+=====  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.
  
-Win16 Personality for osFree is planned to be implemented as Windows clone based on various sources. Most notable is HX-DOS Extender for KERNEL, Wine and Twin for USER and other core DLLs. GDI.EXE not handled yet. Applications collected and backported to Win16 mostly from ReactOS and Wine implementations. Also other third parties source code are used, like MAX386.+===== Current Status =====
  
-=== Applications ===+The project is in early development (alpha stage). Current work focuses on the core 16-bit KERNEL. Critical GUI subsystems USER and GDI, required to run most Windows 3.x programs, are not yet implemented. The first practical milestone is to correctly run simple system utilities like WinVer.
  
- ^ Name ^ Status ^ +=====  Components and Applications =====
- | [[en:docs:win16:applications:CALC]] | | +
- | [[en:docs:win16:applications:CALENDAR]] | | +
- | [[en:docs:win16:applications:CARDFILE]] | | +
- | [[en:docs:win16:applications:CHARMAP]] | | +
- | [[en:docs:win16:applications:CLIPBRD]] | | +
- | [[en:docs:win16:applications:CLOCK|Clock]] | Done | +
- | [[en:docs:win16:applications:CONTROL|Control Panel]] | | +
- | [[en:docs:win16:applications:DRWATSON]] | | +
- | [[en:docs:win16:applications:EXPAND]] | | +
- | [[en:docs:win16:applications:FASTOPEN]] | | +
- | [[en:docs:win16:applications:MPLAYER]] | | +
- | [[en:docs:win16:applications:MSD]] | | +
- | [[en:docs:win16:applications:NOTEPAD|Notepad]] | Done | +
- | [[en:docs:win16:applications:PACKAGER]] | | +
- | [[en:docs:win16:applications:PBRUSH]] | | +
- | [[en:docs:win16:applications:PIFEDIT|PIF Editor]] | | +
- | [[en:docs:win16:applications:PRINTMAN]] | | +
- | [[en:docs:win16:applications:PROGMAN|Program Manager]] | | +
- | [[en:docs:win16:applications:REGEDIT]] | | +
- | [[en:docs:win16:applications:SETUP]] | | +
- | [[en:docs:win16:applications:SOL]] | | +
- | [[en:docs:win16:applications:SOUNDREC|Sound Recorder]] | | +
- | [[en:docs:win16:applications:SYSEDIT]] | | +
- | [[en:docs:win16:applications:TASKMAN|Task Manager]] | Done | +
- | [[en:docs:win16:applications:WINFILE]] | | +
- | [[en:docs:win16:applications:WINHELP]] | | +
- | [[en:docs:win16:applications:WINMINE]] | Done | +
- | [[en:docs:win16:applications:WINSHELD]] | | +
- | [[en:docs:win16:applications:WINVER]] | Done | +
- | [[en:docs:win16:applications:WRITE]] | |+
  
-=== API ===+==== 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]] |  | |
 +| [[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:bios:api|BIOS API]]
   * [[en:docs:dos|DOS API]]   * [[en:docs:dos|DOS API]]
Line 55: Line 69:
   * [[en:docs:win16:modules:mouse|MOUSE driver]]   * [[en:docs:win16:modules:mouse|MOUSE driver]]
   * [[en:docs:win16:modules:display|DISPLAY driver]]   * [[en:docs:win16:modules:display|DISPLAY driver]]
-  * [[en:docs:win16:modules:kernel|KERNEL library]] +  * [[en:docs:win16:modules:kernel|KERNEL module]] 
-  * [[en:docs:win16:modules:gdi|GDI library]] +  * [[en:docs:win16:modules:gdi|GDI module]] 
-  * [[en:docs:win16:modules:user|USER library]] +  * [[en:docs:win16:modules:user|USER module]] 
-  * [[en:docs:win16:modules:shell|SHELL library]] +  * [[en:docs:win16:modules:shell|SHELL module]] 
-  * [[en:docs:win16:modules:lzexpand|LZEXPAND library]]+  * [[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]] 
 + 
 + 
 +