First post, by scarnie
- Rank
- Newbie
As the title indicates, I've been porting DOSBox 0.72 to C# and the Common Language Runtime (CLR). It will run within the Microsoft and Mono runtimes, natively supporting Linux, Windows, FreeBSD and OSX in a single executable.
A simple FAQ:
Q: Why?
A.1: Just an interest...
A.2: Gathering data about running software with hi-perf requirements within the CLR
A.3: I've already converted the Frodo C64 emulator (C/C++/SDL) to C# successfully, and it runs under the MS and Mono runtimes from a single executable. It's pretty efficient too. Mono lags a bit behind the MS runtime in CPU utilization, but Mono 1.2.6 preview build has a 25% lesser memory footprint than MS!
Q: Where are you at today?
A: Roughly 30%. Still a ways to go, but not bad for about 4 days work. I imagine another 10 days and I'll have the basics up and running.
Q: Will you be maintaining it?
A: For the short term. I will port the next major release of DOSBox, which appears to have initial support for Windows 3.x
Q: Will you release the source code?
A: Yes, of course. I will create a Google project very soon.
Q: Why, again?
A: Cause I wanted to revisit the old x86 days. I wrote a lot of x86 assembly 13 years ago for fun and this was a good way to dig into that again.
Q: Some technical info, please...
A:
- Utilizing .NET 2.0 and C# 2.0 (not 3.0) to maximise cross-platform compatibility
Libraries- SDL.NET
Tao.OpenGl
Tao.Sdl
Tao.OpenAl
- SDL.NET
Short term is to do a fairly straight port.
Long term is to refactor a little, becoming more canonical .NET. This will complicate maintenance, but I'll investigate ways of minimising this.
Curious if there is any interest from anyone?
FYI: Here is a post about my original port of Frodo to C# / Mono / .NET
Cheers,
Stu