GithubHelp home page GithubHelp logo

noodled / winevdm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from otya128/winevdm

0.0 1.0 0.0 7.36 MB

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

License: GNU General Public License v2.0

C 94.28% C++ 2.99% Objective-C 0.66% Ruby 1.03% Makefile 0.09% Python 0.04% Logos 0.03% Yacc 0.72% CMake 0.18%

winevdm's Introduction

winevdm on 64-bit Windows

screenshot

Download stable version

Download latest version (unstable)

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

An altered version of winevdm (a 16-bit Windows emulator), ported to 64-bit Windows.

How to compile(Visual Studio)

  • Install Visual Studio 2017
  • Edit PropertySheet.props
  • Compile

How to compile(cmake)

git clone https://github.com/otya128/winevdm.git
cd winevdm
mkdir build
cd build
cmake ..
make

How to run

How to install

  • Download or compile
  • Edit install.inf
  • Right-click on install.inf and select "Install"
  • You can execute Win16 binaries directly!

If you install v0.4.x, you should replace [Strings] section of install.inf with these and install install.inf again.

[Strings]
NtVdm64=SOFTWARE\Microsoft\Windows NT\CurrentVersion\NtVdm64
CommandLine="""%m"" %c"
MappedExeName=otvdm.exe

How does it work?

This program contains the following items

  • CPU Emulator
    • 64-bit Windows cannot modify LDT(NtSetInformationProcess(,ProcessLdtInformation,,) always returns error)
  • wine based Win16->Win32 conversion codes:
BOOL16 WINAPI DestroyWindow16( HWND16 hwnd )
{
    return DestroyWindow( WIN_Handle32(hwnd) );
}

Relay routines from 16-bit to 32-bit are autogenerated by convspec

53  pascal -ret16 DestroyWindow(word) DestroyWindow16
  • DOS emulation for Win16
  • 16-bit <=> native HANDLE conversion
  • Fix compatibility problems, fix compatibility problems

install.inf

When 64-bit Windows detects a 16-bit installer, it has a mechanism to start an alternative installer which is not 16-bit. This program uses it.

WINDOWS directory redirection

Some Win16 programs try to save their settings in %WINDIR%<filename>.ini

In recent Windows, it is not allowed to save to %WINDIR%, so it redirects.

winevdm

winevdm.exe [--app-name app.exe] command line
winevdm.exe CALC.EXE

It can also run DOS executables (DOS emulator-like). You can set the DOS version with the VDMDOSVER environment variable.

winevdm's People

Contributors

00cpxxx avatar aeikum avatar alesliehughes avatar alexhenrie avatar andrerh avatar aricstewart avatar ariscop avatar austin987 avatar cracyc avatar darkshadow44 avatar dlehman-work avatar fgouget avatar geraldpfeifer avatar grapeharvest avatar hdmdavies avatar jacekcw avatar jozefkucia avatar julliard avatar mmueller2012 avatar mstefani avatar mstorsjo avatar nsivov avatar orudge avatar otya128 avatar pietjankbal avatar piotrcw avatar shinchiro avatar slackner avatar thfabba avatar zfigura avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.