DOS Emulation Arrives For the Raspberry Pi
An anonymous reader writes "Homebrew Coder Pate has released a DOS Emulator for the Raspberry Pi. Originally released for the Nintendo DS and Android, the emulator currently can emulate a CPU: 80486 processor, including the protected mode features (for running DOS4GW games) but without virtual memory support. The emulation runs at a speed around that of a 20MHz 80486 (which equals a 40MHz 80386) machine. It has support for Super VGA graphics, Soundblaster 2.0, Memory, USB keyboard and mouse. Perfect for playing old classics such as Doom, Duke Nukem 3D and Theme Park."
Other than as a proof of concept is there any fundamental use for this facility?
Does anybody want to play Doom like it was 1993?
Can someone explain why you wouldn't be able to run DOSBox? Isn't this reinventing the wheel?
source ports of doom are better and don't have the old dos limits
Let's run DOS on it!
At least it's only one layer of emulation. I appreciate this a lot more than DOS emulator in javascript so that you can run your Nintendo emulator in an emulator in a virtual environment in a browser.
I prefer my number of wasted cycles to be in a reasonable amount.
Like dungeon crawlers? Try Ultima Underworld!
Like Mass Effect? Try Starcontrol 2!
Like Sydicate? Try Sydicate!
Like BioShock? Try System Shock!
Okay, this "now on the Raspberry Pi" craze is getting really ridiculous.
DosBOX runs well on it, it always had, even before the Raspbian. Same goes for an aweful lot of programs.
How about the mid 90s FPS Duke Nukem Forever? Oh wait a sec...
I heard you liked DOS.
But a tiny machine running DOS coupled with a floppy is exactly what I need to make disk images for old musical equipment. I could use VM on my main machine, but I like the idea of having something that is dedicated to a function.
Yes, a lot of people enjoy playing retro DOS games, especially LucasArts adventure games.
If your definition of "a lot" is a number less than 1000 then sure.
Nothing wrong with playing old DOS games or hacking hardware so you can do so but let's not pretend it is an activity with wide appeal shall we? Nostalgic geeks and old hardware are not new but not common either.
I remember LAN gaming Duke3d in my dorm on a 75Mhz 486 Toshiba laptop and my frame rates didn't always equal my compatriots who had faster Packard Bells and the like. I find it difficult to believe a 20Mhz 486 would have decently run Duke3d. Oh the other hand, maybe my frame glitches were due to the parallel port to Ethernet adapter I was using at the time...
A 20Mhz 486 would suck for doom. It's playable, but just barely.. The minimum to reliably peg the 35hz ticrate and get a smooth experience would be a 486SX/2 50Mhz, preferably with 256kB of cache.
However, IIRC virtual memory support was practically essential for running serious apps on Intel chips in the early 1990s. There were some nasty hacks on both the DOS side and application side to enable that - a cottage industry of mezzanine-layer OS services companies sprang up that marketed "DOS extenders" to application developers, with names like Rational, PharLap, and QuarterDeck.
In fact, Duke needed minimum a 66MHz 486 (or was that Shadow Warrior?)
And you'd only be able to run DOOM in low-detail mode emulating a 20MHz 486, as a 33 MHz 386 could barely run it.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Does this mean it would run OS/X as well? I mean, I must have hung onto that stack of install floppies for a reason right? I just can't bring myself to throw it all away.... :P
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
Dosbox, an emulation of both the 16-bit x86 chip and DOS, has been around for years and is aimed at running old games. Dosbox has been ported to just about everything under the sun in recent years including my phone.
How does this emulator differ from dosbox? Is it faster, better graphics or fidelity? One nice thing is that it appears to be able to run any version of DOS you want, whereas Dosbox has its own DOS-compatible OS built in. Can you run FreeDOS on it?
Not really so much that it's DOS, but just the innovation. The RPI has given people a platform to experiment, innovate and just have fun. It's refreshing to know there are people out there using their minds for things other than mass-media termination points.
Join the Slashcott! Feb 10 thru Feb 17!
Will it run? Or is the emulator not done yet?
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
Theme Park and Jurrassic Park are seriously the best games ever made, lol. Oh and I believe the original Exile III from Spiderweb Software was also originally DOS so that's up there with them. It was like Skyrim with 16x16 2D characters but just as good of a quest structure and storyline.
What's the deal with games = 3D shooters these days? Except for a few real gems (System Shock spring to mind) a shooter is a shooter, and modern hardware means modern games (mostly) have smoother frame rates and prettier graphics than their predecessors, while the gameplay remains mostly unchanged. Well, okay, I'll admit gameplay-oriented level design seemed to be far more creative in the old days before all that creative effort got redirected into making things pretty rather than interesting.
For my money the real value of emulation is the gems that have never really been surpassed and don't benefit dramatically from better graphics, and genres that have largely been abandoned. Shadow Magic was a lot prettier than Master of Magic, but focused on a far more tactical game completely lacking in grand strategy. Galactic Civilizations did a far better job of reinventing Master of Orion, but added so much detail that a casual afternoon of galactic conquest is hardly an option. Dungeon crawlers have all but disappeared, replaced by mindless hack-and-slashes like Diablo.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
Can it run the MS-DOS version of MAME? Has anyone tried to see if it can run games up to, say, 1990~1995 with a 30/60FPS framerate with at least 32kHz audio without hiccups?
Get free satoshi (Bitcoin) and Dogecoins
I've been intending to buy one forever, but with this plugged into the TV and if my old Sierra Games floppies will read, this would be great fun for the kids. I've been avoiding introducing them to the FPS games, which IMO are boring and stupidifying.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
But, how do I get all my old SSI role playing games onto it?
I can hardly wait for the return of Windows 3.11 for Workgroups...
“He’s not deformed, he’s just drunk!”
There are certainly more than 1000 people playing DOS games today.
Fine. Make the number 10,000 or 30,000 and it still is a tiny little niche activity. I'm not sure I know a single person I interact with face-to-face who has even booted up DOS for recreational purposes in the last 10 years. Last time I personally booted a DOS machine was around 1997 or so.
Don't get me wrong, I think it is cool. It just isn't popular or common. As good as some of the games are, most of us moved on from them long ago.
My XBox 360 has had DDOS emulation for a while now. ...
Oh, guess I misread that.
Apologies for my crotchetiness but I have memories of trying to run Duke 3D on a 50Mhz 486 and it was painful. I remember it well because I upgraded with a Kingston Turbochip (133MHz AM5x86) and the difference was amazing. The single most impressive upgrade I have ever done to a computer.
Anyways Duke 3D on 20MHz 486 won't work.
You have X server and everything else sucking up the PI's limited memory
As far as I know, DOSBOX it self uses SDL (for portability). So instead of going after the whole X server, it would be possible to use a lighter SDL backend (framebuffer device, etc.) to avoid needing the whole X running.
That said yes it a bit of a wheel re-advent; but so was DosBox, DosEMU existed for what a decade before it?
Unlike what the name might suggest, DosEmu isn't an emulator. It only provides DOS APIs (mainly BIOS, and a few I/O ports for specific hardware that was programmed that way). The code itself runs natively on the CPU. Thus it requires a CPU which is able to run 16-bits x86 code (so its limited to 32bits Intel/AMD processors, because they have a "Virtual 86" mode to run 16-bits code alongside 32-bits. It does not even work on 64 bits processors, as there is no "Virtual 86" mode to run 16-bits code. Once the processor enters 64 bits mode, the "hardware virtual box" offered by Virtual 86 isn't here anymore).
It's close to the idea of Wine, it's very similar to the dos box of Windows (That's the same reason that the dos box got dropped out of the 64bits flavours of windows - their dos box also relies on Virtual 86 to provide the virtual sand box to run 16 bits code in it).
DosBox, on the other hand, isn't juse an API interface, it's a full virtual box emulating a complete PC. It does emulate the CPU too (like any other emulator - for exemple like a GameBoy emulator) and thus can run on anything on which you can compile it.
It also support dynamic recompiling, so it gets good performance for architectures it can target (currently: the x86 family, and ARMv4)
So they didn't really re-invent the wheel, they mostly solved different fundamental problems. That's why DosBox happened.
But, where we can criticise is that DosBox came with its own set of code to emulate the peripherals. DosBox and DosEmu could have shared much more (in terms of sound emulation for example) but each followed its way.
In this context, again - some of this project does make sense (they target a different CPU meaning the code could be better optimised for the RPi) but they'll have to reinvent the other parts. Thus prix86 emulates far less different options for audio (only FM + stereo digital) than dosbox (which in addition supported GUS-like wavetable synthesis, and MT-32-like MIDI).
Nothing wrong with having more options.
Well, they could have re-used some of the peripheral emulation of DosBox. On the other hand this might be power hungry for the small RPi (MT-32 is quite complex to emulate, and DosBox's OPL-FM is unoptimised and designed for fidelity rather than speed).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
QEMU and Dosbox are already ported to ARM and Rasbian, so what does this do that it couldn't do already (albeit slowly). I've even seen Dosbox running on ARM powered Android device though the lack of keyboard in most of them would get in the way I would think of using it in a meaningful fashion.
Emulators are great, but is this REALLY what the Raspberry Pi was created for? Surely this is the last platform where running an emulator makes sense.
The Pi actually has a great graphics chip, and loads of CPU power compared to home computers of yore. Shouldn't people be trying to benefit from these technology improvements to achieve something new?
There is an irony that both Doom and Quake were designed to be as 'state of the art' as possible, using available hardware to the max- not wasting a single CPU cycle. Now people see the games as desirable, because they are like some sort of 'steam punk' retro throw-back. Conceptually, this is very sad indeed.
In a way, this shows there are real computers, and toys/gimmicks. Tablets are certainly real, but most people reduce the Pi to a gimmick. Slashdot certainly doesn't help, when it promotes stories like this.
The Pi needed to be even more old school than it chose to be. It should have imposed a strong default software environment on users, with a decent OS, built in compiler, and strong APIs to drive the GPUs etc. Most owners would then have experimented with coding, and the Pi would have a ton of fun apps and games by now. Instead, we get these dull-witted and pointless ports.
Ya kinda begged for that interpretation.
"...is there any fundamental use for this facility?"
Especially with the use of "fundamental" many people will infer that you think these things are useless.
To answer your question. Doom II and Duke 3D are still in my top 5 games of all time. Is gaming a "fundamental use?" Who decides what qualifies?
I wrote my first ray tracer in 80486 assembly language, I might just want to see it run again. Is nostalgia a "fundamental use?" [sigh]
...I can haz WordPerfect 5.1 again????????? :D :D :) :D
So dropping an SD image when I get home tonight and giving it a shot.
Glad it emulates a 486 and not a 386. This means we can run the latest Linux Kernel with this.
Rather than griping about something that doesn't harm you on any way, you can fulfill your needs by designing your own hardware and platform for exclusive open-source enthusiasts such as yourself.
Look up projects on home brew computers made with the ARM, 6501, and/or discrete components. It can be done, your needs aren't satisfied by this product, so by all means go and make your own.
With all due respect, back in high school I owned a Packard Bell 486SX 20MHz. Every time I have ever told anyone that, even as a historical curiosity, I have had to follow it with "yes, they did make them that slow".
Did you know that DOOM had a "low detail" mode? I did, because that was the only way I was going to get the 486SX 20MHz to run it (after I upgraded the RAM to a whopping 6MB of course). It was unusuably slow otherwise. And when games like ROTT came out? They wouldn't even run unless they were in low detail mode. And lord help you if you accidentally hit the Turbo button, setting you back down to 8MHz.
So I hope for this thing's sake that it runs a bit faster than that otherwise DOOM is going to just flat out not work worth a damn.
Schnapple
My first PC was 386 DX 40Mhz, Duke Nukem required much stronger hardware.
However I think it's a bad idea to use DOS emulation for games like Duke or Doom because they are open source and you can play native builds on Linux.
Why can't FreeDOS simply be ported to the Pi? I know that the original DOS may have been written in 80286 assembly, but is the same true about FreeDOS? Or is it written in C? If they were going to undergo such a project, why not do it fully - do a mapping of the 80286 => ARM (the one used in the Pi), decide which registers would be used for what and so on, and redo the entire OS in ARM assembly if FreeDOS is written in assembly. If it's written in C, shouldn't porting it be somewhat trivial?
Cool, I wrote Stunts on a 16mhz 386 so this should be powerful enough to play it.
I found NeXT stations with that kind of power quite usable in 1996/1997, and thinking about it, I could probably do most of what I do using a modern PC on one of those...
Emulation on that little thing? Now this is going a bit too far.