# DOSEMU

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/DOSEMU
> Markdown URL: https://mediated.wiki/source/DOSEMU.md
> Source: https://en.wikipedia.org/wiki/DOSEMU
> Source revision: 1344923522
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{short description|DOS compatibility layer for Linux}}
{{multiple issues|
{{more footnotes|date=February 2014}}
{{primary sources|date=February 2014}}
}}
{{Infobox software
|screenshot = Dosemu.png
|caption = DOSEMU Running on C:\
|author = DOSEMU Team
|released = {{Start date and age|1992|09|03}}<ref name="3HVzb">{{Cite web|url=https://sourceforge.net/p/dosemu/history/commit_browser|title = DOSEMU for Linux / History / Browse Commits}}</ref>
|latest release version = 1.4.0
|latest release date = {{Start date and age|2007|05|05}}
|discontinued = yes
|operating system = [Linux](/source/Linux)
|genre = [Compatibility layer](/source/Compatibility_layer)
|license = [GPL](/source/GNU_General_Public_License)
|website = {{official url}}
|platform = [IA-32](/source/IA-32), [x86-64](/source/x86-64)
}}

{{Infobox software
| developer              =
| name                   = dosemu2
| latest release version =
| latest release date    = 
| latest preview version = 2.0pre9
| latest preview date    = {{Start date and age|2022|01|29|df=yes}}
| website                = {{URL|dosemu2.github.io/dosemu2/}}
| repo                   = {{URL|github.com/dosemu2/dosemu2}}
}}

'''DOSEMU''', stylized as '''dosemu''', is a [compatibility layer](/source/compatibility_layer) software package that enables [DOS](/source/DOS) operating systems (e.g., [MS-DOS](/source/MS-DOS), [DR-DOS](/source/DR-DOS), [FreeDOS](/source/FreeDOS)) and [application software](/source/application_software) to run atop [Linux](/source/Linux) on [x86](/source/x86)-based PCs ([IBM PC compatible](/source/IBM_PC_compatible) computers).

== Features ==
It uses a combination of [hardware-assisted virtualization](/source/hardware-assisted_virtualization) features and [high-level emulation](/source/high-level_emulation). It can thus achieve nearly native speed for 8086-compatible DOS operating systems and applications on [x86](/source/x86) compatible processors, and for [DOS Protected Mode Interface](/source/DOS_Protected_Mode_Interface) (DPMI) applications on [x86](/source/x86) compatible processors as well as on [x86-64](/source/x86-64) processors. DOSEMU includes an 8086 processor emulator for use with real-mode applications in x86-64 [long mode](/source/long_mode).

DOSEMU is only available for [x86](/source/x86) and [x86-64](/source/x86-64) Linux systems (Linux 3.15 x86-64 systems cannot enter DPMI by default.  This is fixed in 3.16).<ref name="bugs_debian_org">{{cite web|title= #751632 dosemu: DPMI fails to initialize on x86_64 with linux 3.15|url=https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751632}} 140715 bugs.debian.org</ref>

DOSEMU is an option for people who need or want to continue to use legacy DOS software; in some cases virtualisation is good enough to drive external hardware such as [device programmers](/source/Programmer_(hardware)) connected to the [parallel port](/source/parallel_port). According to its manual, "dosemu" is a user-level program which uses certain special features of the Linux kernel and the 80386 processor to run DOS in a DOS box. The DOS box, relying on a combination of hardware and software, has these abilities:
* Virtualize all input-output and processor control instructions
* Supports the word size and addressing modes of the iAPX86 processor family's "real mode", while still running within the full protected mode environment
* Trap all [DOS](/source/Disk_Operating_System) and [BIOS](/source/Basic_Input%2FOutput_System) system calls and emulate such calls as needed for proper operation and good performance
* Simulate a hardware environment over which DOS programs are accustomed to having control.
* Provide DOS services through native Linux services; for example, dosemu can provide a virtual hard disk drive which is actually a Linux directory hierarchy.<ref name="dosemu_sourceforge_net">{{cite web
	| title = The dosemu HOWTO
	| url = https://dosemu.sourceforge.net/docs/HOWTO/
	| url-status = live
	| access-date = 2026-03-23
	| archive-date = 2026-03-23
	| archive-url = https://web.archive.org/web/20260323002746/https://dosemu.sourceforge.net/docs/HOWTO/
}} 090430 dosemu.sourceforge.net</ref>
* [API-level](/source/Application_programming_interface) support for [Packet driver](/source/PC%2FTCP_Packet_Driver),<ref name="sourceforge_net-dosemu-135_tgz">{{cite web|title=dosemu v1.3.5 source|url=https://prdownloads.sourceforge.net/dosemu/dosemu-1.3.5.tgz?download}} 090430 prdownloads.sourceforge.net src/dosext/net/net/pktnew.c</ref> [IPX](/source/Internetwork_Packet_Exchange), [Berkeley sockets](/source/Berkeley_sockets) (dosnet).<ref name="sourceforge_dosemu140">{{cite web|title=dosemu v1.4.0 source |date=2007-05-05 |access-date=2016-04-06 |url=http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0.tgz?download}} src/dosext/net/net/ipx.c src/dosext/net/v-net/dosnet.c</ref><ref name="dosemu_announce140">{{cite web|title=The DOSEMU team is proud to announce DOSEMU 1.4.0 |date=2007-05-05 |access-date=2016-04-06 |url=http://dosemu.org/stable/announce |quote=NetWare and other network connectivity via built-in IPX and pktdrvr support /../ the dosemu-freedos binary package starts a DOS-"C:\>"-Drive 'out-of-the-box' in a normal user's $HOME directory and runs without any further configuration (no root rights needed) |url-status=unfit |archive-url=https://web.archive.org/web/20160315163935/http://dosemu.org/stable/announce |archive-date=March 15, 2016}}</ref>

== See also ==
{{Portal|Free and open-source software}}
* [Comparison of platform virtualization software](/source/Comparison_of_platform_virtualization_software)
* [Virtual DOS machine](/source/Virtual_DOS_machine)
* [DOSBox](/source/DOSBox)
* [Wine](/source/Wine_(software))
* [FreeDOS](/source/FreeDOS)

==References==
{{reflist}}

==External links==
* {{Official website}}
* [https://dosemu2.github.io/dosemu2/ dosemu2]

{{Virtualization software}}

Category:1992 software
Category:DOS emulators
Category:Compatibility layers
Category:Linux emulation software

---
Adapted from the Wikipedia article [DOSEMU](https://en.wikipedia.org/wiki/DOSEMU) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/DOSEMU?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
