MSDOS emulator built on top of Unicorn engine
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
AUTHORS.TXT import Oct 28, 2015
COPYING import Oct 28, 2015
Makefile fix int 20h Oct 28, 2015 import Oct 28, 2015
int20.h import Oct 28, 2015
int21.c Fix build on NetBSD-7.99.21 Dec 12, 2015
main.c update uc_hook_add() to the recent API change in Unicorn Mar 31, 2016


UniDOS is an emulator to run Microsoft DOS executables.

Built on top of Unicorn engine, UniDOS should be able to work wherever Unicorn works.


Unicorn must be installed before going to the next step.

On Mac OSX/Linux/BSD, simply run make to compile unidos.

$ make


Simply pass the DOS file and options to unidos. Below is an example on how to run a sample tool with our emulator.

To run, do:

$ ./unidos bin/

To unzip sample file, do:

$ ./unidos bin/ -o


Currently UniDOS can only handle COM file with some basic DOS interrupt services (INT 20h, INT 21h). Pull-requests to extend this tool are welcome.


This tool is released under the GPL license.


Nguyen Anh Quynh (aquynh at gmail dot com)