This repository contains several applications to test and demonstrate the use of jwdpmi. It also serves as a project template to start developing and debugging DPMI programs in Visual Studio.
A simple "Hello World" application.
A basic video game where you control a character using the joystick or keyboard. Demonstrates the use of timers, vectors, remapped DOS memory, keyboard and joystick, etc.
Displays an animation with real-time alpha-blending, using both integer (MMX) and floating-point (SSE) math. Demonstrates the VBE graphics interface and pixel layout structures.
Application to test keyboard functionality.
Application to test ring 0 access.
- Build and install gcc with
--target=i386-pc-msdosdjgpp
. - Clone this repo with its submodules:
$ git clone https://github.com/jwt27/jwdpmi_test.git
$ cd jwdpmi_test/
$ git submodule update --init --recursive
- Configure:
$ mkdir build/
$ cd build/
$ ../configure --host=i386-pc-msdosdjgpp
- Build:
$ make -j all # build all subprograms
$ make -j hello # build only "Hello World"
$ make -j hello FDD=/media/floppy # build "Hello World" and copy it to a floppy disk
- Install Visual Studio 2019 and MSYS2.
- Build and install the toolchain with mingw-w64.
- Build and install gcc2vs with mingw-w64.
- Make sure your Windows
%PATH%
has access tobash
and your Bash$PATH
can access the toolchain. - From a mingw-w64 shell, run
./vs-configure.sh
to generate project files. - Open this project in Visual Studio by selecting "Open Folder".
- Select a build configuration from the dropdown menu on the toolbar.
- Right-click any
.cpp
file in the top-levelsrc/
directory and select Build.
I can no longer get this to work with recent Visual Studio versions :(