Opened 11 years ago

Last modified 8 years ago

#526 new enhancement

Port DOSBox to HelenOS

Reported by: Martin Decky Owned by:
Priority: minor Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc13, gsoc14, gsoc15, gsoc16, gsoc17 Cc:
Blocker for: Depends on:
See also:


Port the DOSBox x86 emulator to HelenOS

DOSBox is a special-purpose x86 emulator targeting primarily 1980's and 1990's DOS games and applications. It contains an integrated emulator of MS-DOS system calls, command interpreter and various other components. It tries to faithfully emulate specific hardware devices (e.g. VGA and SVGA graphics cards, various sound cards, etc.) while several other hardware models are extremely simplified. This allows DOSBox to run many real-mode and protected-mode applications from the "golden" MS-DOS era, but it is not a complete machine emulator in the usual sense.

The goal is to port DOSBox to HelenOS (using the native HelenOS graphics stack), preserving the most important features while possibly omitting others (e.g. the sound output). The solution must provide a functional emulator with at least rudimentary graphical output.

What Gains and Benefits will this bring?
DOSBox would be a great application for testing and optimization of the brand new graphics stack of HelenOS. And of course, the basic possibility to play some vintage DOS games in HelenOS might make the system more attractive for hobbyists.
Required skills
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX application environment. Previous experience with the source code of DOSBox, SDL and other software components would be beneficial.
Possible mentors
HelenOS Core Team, Martin Decky

Change History (5)

comment:1 by Martin Decky, 10 years ago

Keywords: gsoc14 added

comment:2 by Jakub Jermář, 10 years ago


comment:3 by Jakub Jermář, 9 years ago

Keywords: gsoc15 added

comment:4 by Jakub Jermář, 8 years ago

Keywords: gsoc16 added

comment:5 by Jakub Jermář, 8 years ago

Milestone: 0.6.1
Note: See TracTickets for help on using tickets.