DOS Emulation Arrives For the Raspberry Pi 189
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."
never understood the appeal (Score:3)
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?
Re:never understood the appeal (Score:5, Insightful)
Judge not, lest ye be judged.
Re: (Score:2)
Re:never understood the appeal (Score:4)
People still play DOOM, I still play DOOM2 online every once in a while.
I have SCUMMVM installed on my smartphone so I can play games of similar vintage.
I guess it is something us older folks do. Kids these days, off my lawn, etc.
Re:never understood the appeal (Score:4, Insightful)
Yes, Most people are using some other DOOM engine with original WADs.
What do you mean willing? Is DOOM now a form of punishment?
Re: (Score:2)
Re: (Score:2)
Is DOOM now a form of punishment?
Technically, yes [wikipedia.org].
Re: (Score:2)
Re: (Score:2)
Is DOOM now a form of punishment?
I remember the days of having to shrink Doom and Wolfenstein3D down to the size of a postage stamp (no support for hardware-accelerated scaling under DOS) to get smooth frame-rates... yeah, punishment just about describes it. :p
Re: (Score:2)
More modern source port info: ZDoom has support for tons of mods. GZDoom is based off of ZDoom and adds OpenGL and 3d support (in level architecture and lighting mainly). Zandronum (formerly Skulltag) is based off of GZDoom and is excellent for online multiplayer (supporting very useful features like in-game joining). All are cross-platform, and each besides Zandronum/Skulltag are open source.
Re:never understood the appeal (Score:5, Insightful)
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?
Yes.
Re: (Score:2)
But not on something the speed of a 25MHz 486SX, right...?
Re: (Score:2)
He is getting about a 120% 386.
Still a cool thing. I am tempted to get it :)
Sooooo....approximately a 25MHz 486SX then?
Re:never understood the appeal (Score:4, Informative)
What you really want is to just run DOOM v1.9 with the command line option '-timedemo demo3'. That will give you a pair of numbers that is easily converted into average FPS. There's even a nice list [tuwien.ac.at] of machines and their results in this benchmark.
You'll notice that performance is also dependent on the amount of cache available, and the type of video card. This is why it's hard to do simple CPU benchmarks and extrapolate that to game performance. A 100mhz 486 with an ISA video card performs worse than a 66mhz 486 with a VLB video card. How this relates to performance in emulation is anyones guess.
Re:never understood the appeal (Score:5, Interesting)
I'd rather play DOOM like it's 2008 [sourceforge.net]. Native, high res, 3D accelerated DOOM will be far nicer than emulated 320x240 at 25fps, which is what you'd expect from a 486. I'd like to see the output from doom -timedemo demo3 on this thing.
Re: (Score:2)
Does anybody want to play Doom like it was 1993?
1993? It can't manage a 66MHz 486DX2....
Re: (Score:3)
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?
It's really not primarily about games which have been remade and the remakes given away. Who is trying to emulate to play Star Control II any more, right? But there's lots of games which haven't been remade and yet somehow also haven't been superseded. You can find scads of them on gog.com, for very little money.
For my money I'd rather buy Playstation games and slap them into an emulator. My phone (Xperia Play, bought used because it was cheap) came with Crash Bandicoot and some clever folks figured out how
Re: (Score:2)
There's plenty of following for classic games of all kinds.
This is why the entire emulator scene exists to begin with.
Sometimes, there's just no replacement for the original.
Re: (Score:3)
Does anybody want to play Doom like it was 1993?
I don't have any real sentimental attachment to Doom, but I did pay money to have R-Type [wikipedia.org] on my Android phone/tablet [google.com].
Re:never understood the appeal (Score:4, Informative)
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?
I can think of one: DHPOS Link: http://en.wikipedia.org/wiki/DHPOS [wikipedia.org]
It would make one hell of a dirt cheap advanced POS for the small business owner. Especially those in developing countries. DHPOS website has people using this software all of the world where they can't afford expensive monthly support costs. Link: http://keyhut.com/pos.htm [keyhut.com]
With DOS and just DHPOS installed your employees can't mess with we browsing, etc.
Re: (Score:2)
Re: (Score:2)
Ummm running Renegade 10-05 ANYWHERE.
Re: (Score:2)
Yes. But I don't emulate, I'm running a *real* 486 for the purpose of running old stuff.
Emulation might be enough for most people, but it's not like the real thing.
Re: (Score:2)
who is gonna play doom on it?
the real reason to use dos emulator is to run Windows 3.11 or Windows 95 :P
a much better OS than trying to run X on Raspberry
har har
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Regardless of your dismissiveness, it is a scene that is self-sustaining. Nothing you do to try to engage in petty insults will change that really.
That's kind of the point of this whole article.
You naysayers are pretty irrelevant. This stuff will continue despite your attempts to be a big fat wet blanket.
Re:"A lot"? (Score:5, Insightful)
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.
With only 1000 users, gog.com could not exist. AFAICT old dos games represent most of their business.
Re: (Score:2)
If we assume that games listed as "windows + mac" are dos games running in dosbox while those listed as "windows" are native windows games then it seems that 7 out of the 10 games in their top sellers list are windows games.
Re: (Score:2)
I think their top sellers list only covers the last week or so, because most or all of the games on it were on sale last weekend.
There's lists of games that use DOSBox here [dosbox.com] and here [gog.com]. They're a year or two out of date but probably not far off, since most of the recent additions to GOG.com are Windows games from the late 1990s or 2000s or modern indie games.
Re: (Score:2)
Old adventure games, especially the LucasArts ones, have such humour in them that it's really hard to find equal games in 2013.
Re: (Score:2)
DOTT is one of my favorites
Re:"A lot"? (Score:5, Informative)
-VOGONS /vr/ (retro games)
-GoG
-4chan
-Abandonia
All active DOS gaming communities.
There are certainly more than 1000 people playing DOS games today.
Re: (Score:3)
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.
Have you met me? You probably would not know that I play some retro games at times too. It's not exactly a fantastic conversation piece. But just because I don't shout from the rooftops that I have DOSBox installed with quite a library doesn't mean I don't do it.
Maybe you should ask some of the people you interact with face-to-face. You may be surprised.
Re: (Score:2)
Hmmmm... I would consider playing some of the old Wing commander titles again...
Try The Darkest Dawn [wcsaga.com]
Re:never understood the appeal (Score:4, Informative)
BTW there is no need for emulation to program in pascal. The version of freepascal in the raspbian repo works fine.
DOSBox? (Score:5, Interesting)
Can someone explain why you wouldn't be able to run DOSBox? Isn't this reinventing the wheel?
Re: (Score:3)
Dosbox is not that fast, and it targets pretty generic ARM so I am almost certain this was done to get usable performance in a DOS emulator.
Re:DOSBox? (Score:5, Interesting)
There's patches out there for DOSBox's dynamic recompiler, but they're for ARMv4 and I'm not sure how effective they are on the Pi's processor. My unscientific measurements put it somewhere around a low-end 386: Doom runs but isn't playable, while EGA sidescrollers are almost perfect with the occasional stutter. I haven't tried Wolf3D yet, though.
(I should point out this is in X on SlackwareARM which is probably one of the worst environments one could use for this sort of thing.)
Re:DOSBox? (Score:5, Informative)
DosBox works pretty well on ARM. It comes with lots of baggage though. You have X server and everything else sucking up the PI's limited memory (granted most Dos games and applications are probably expecting 16MB top to work with but...) It looks like this runs on the metal; so its probably faster.
If you don't need or want to do any multitasking and you want the very best retro-gaming experience this might be a nice choice. That said yes it a bit of a wheel re-advent; but so was DosBox, DosEMU existed for what a decade before it? Nothing wrong with having more options.
SDL ; DOSEMU (Score:5, Interesting)
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).
Home of the Underdogs is your friend. (Score:3)
Like dungeon crawlers? Try Ultima Underworld!
Like Mass Effect? Try Starcontrol 2!
Like Sydicate? Try Sydicate!
Like BioShock? Try System Shock!
Re: (Score:2)
Like Star Control 2? Play The Ur-Quan Masters!
How about... (Score:2)
Re: (Score:2)
Yo dawg... (Score:2, Funny)
What do you mean perfect for Duke3d? (Score:2)
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...
Re: (Score:2)
It would probably run alright if you turned the detail down quite a bit a chose one of the smallest screen resolutions.
Duke 3d was generally a better experience on Pentium class hardware but if you had one of the later 486 machines it was almost as good. 486DX-50s and 486DX2-66s with 72 pin memory could pretty well keep up with the Pentiums.
I had friends with DX2-66s and I had both a DX-50 and DX-33 still using 30 pin SIMMs. You could play on the 33 with stuff turned way down; but it was un-playable with
Re: (Score:2)
Seconding this - on less than a 50 MHz 486 with VLB video Duke Nukem 3D chugged badly. It ran pretty effortlessly on a friend's 133 MHz 486, as I recall, and on my Pentium 90 it was bearable at 640x480 when I used the SciTech Display Doctor.
Christ, that was a long time ago...
Re: (Score:2)
Re: (Score:2)
Since Duke3D has been open sourced running it natively seems a better idea, especially on something without excess CPU power like the Pi.
HORRIBLE for Doom or Duke (Score:2)
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.
Re: (Score:2)
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.
I could play Quake fluidly at 512x384 on my 33 MHz 486. Doom would run perfectly at normal res. Duke ran just fine at low res as well. You're full of crap.
Re: (Score:2)
Or more to the point,
Its more likely he didn't optimise his Autoexec.bat and config.sys
I could usually clear a good 50-120K out of lower memory and tweak a few things around much better them memaker could..
Lots of old DOS tricks that I am sure I would have little to no chance of remembering these days..
Re: (Score:2)
Really?
http://www.youtube.com/watch?v=KbcFvUOGA44 [youtube.com]
I doubt it. And Duke3D would be closer but still quite bad. Either you and I have different definitions of playable, or the OP isn't the one full of crap
Hell, you'd be lucky to do 320x240 in Quake with that processor, and the min spec was a Pentium (that was widely advertised at the time, had been out for three years, and was widely condemned as being a "high" system requirement for a game at the time).
I have seen Doom run on a 25Mhz 386. It *was* playable
Re: (Score:2)
Re: (Score:2)
You are misremembering. I benchmarked my 486 DX2/66 on DOOM just last year, and got about 28-25fps depending on configuration. And that falls in line with published benchmarks. At half the CPU speed, you're looking at 15FPS tops, which can't be described by anyone as "fluid".
And that's just talking about DOOM. Quake makes heavy use of the Pentium's FPU, so you'd get much worse performance on a 486, even if it were clocked the same as the pentium.
Re: (Score:2)
You are misremembering. I benchmarked my 486 DX2/66 on DOOM just last year, and got about 28-25fps depending on configuration.
That is not a 486DX33.
At half the CPU speed, you're looking at 15FPS tops, which can't be described by anyone as "fluid".
Not true. The clock-doubled processors didn't have any more bus bandwidth.
And that's just talking about DOOM. Quake makes heavy use of the Pentium's FPU, so you'd get much worse performance on a 486, even if it were clocked the same as the pentium.
That's why I had to play at sub-VGA resolution. Sure, the frame rate would drop when playing 16-player quakeworld and everyone was launching explosive stuff and firing lightning, but so what? I was playing on a modem anyway. Today we all expect high frame rates, but back then it wasn't unusual to deal with some low frame rates. Ever play Marathon on a Mac II, e.g. an si? Every so often that game went into full po
Re: (Score:2)
Re: (Score:2)
Having had LAN parties that long ago. (yeap) I can say my 486DX2/66 was able to run Doom fine. However my friends's 486DX/33 was noticeably slower, around 15FPS. Castle Wolfenstien was doable on a '33 though.
Re: (Score:2)
I distinctly remember playing Doom on a 33 MHz 386 in normal mode with no problems whatsoever.
Duke3D now, yeah...
OS/X? (Score:2)
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
Is this emulator better than dosbox? (Score:2)
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?
Re: (Score:2)
You can run FreeDOS in DOSBOX if you want.
FreeDOS on Pi? (Score:2)
Re: (Score:2)
I'm not sure what you expect to win by porting FreeDOS to RPi. RPi doesn't run in 16-bit mode, and certainly it won't run x86 executables in any sense, so even if you ported FreeDOS to RPi, you would have no ARM-based DOS-software to along with it, unless you ported them as well.
Re: (Score:2)
It could. It's pointless but it could be done.
But you'd need to fund binaries of your applications you want to run compiled for ARM. Last I checked, not much legacy software for DOS was compiled for ARM.
Re: (Score:2)
Why would you want to do that? No it's not a trivial matter of porting. FreeDOS is an OS for a specific piece of hardware (real-mode x86). Even if it could be done why would you want to? DosBox and this emulator serve and entirely different purpose: to run older DOS apps (games) on modern computers regardless of the platform and OS.
This is cool (Score:2, Insightful)
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.
yeeeeah (Score:2)
Error. Poor genre selection. (Score:2)
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 mone
The real question (Score:2)
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?
Re: (Score:2)
Never mind, there's PiMAME for that.
Re: (Score:2)
Re: (Score:2)
So they can emulate on an emulator?
Killer App (Score:2)
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.
Re: (Score:2)
They're free are they? Or if you can prove you already possess the floppy disc are they free?
Or should you just buy another software license because the media your old one came with is faulty?
OMG! YES! (Score:2)
But, how do I get all my old SSI role playing games onto it?
Duke won't run on 20MHz (Score:2)
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.
I don't get it (Score:2)
Re: (Score:2)
Can you not connect a bluetooth keyboard to an Android device and have QEMU or Doxbox use it?
486 20MHz? (Score:2)
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 cou
Re: (Score:2)
Duke Nukem 3D struggled on my old 486DX2-66 with 32MB RAM and a 2MB VESA bus video card.
A 20MHz 486 would be a bit shit.
Doom 2 was pretty good on it though. With its old 512K ISA video card though, it got a bit slow firing the plasma gun.
386 40Mhz? (Score:2)
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.
Stunts! (Score:3)
Re: (Score:3)
My main desktop machine for poking about with sound is a Dell Optiplex 755 with a "laptop-style" floppy drive. The Intel floppy controller works really well for weirdass formats like the Ensoniq Mirage with its mixed sector lengths, and disks like the Roland S-series ones where the low-level format is "normal" but the filesystem is weird.
What old musical equipment do you need to create floppies for?
Re: (Score:2)
Many of us have played through the DOS classics a million times and could just grab a PC with DOSBox if we wanted to play any DOS games.
So my question is: where did the author find all the motivation to create this? It's not really a weekend project either.
Re: (Score:3)
As a Unix user, I expect to be able to run any software I own on any microprocessor architecture I can manage to get my hands on. That's just the way that Unix is supposed to work.
If I get a PI, then I expect it to run all of my non-commercial software that has source code available for it.
Just comes with the territory.
mysql, apache, mate, firefox, slrn, mame, mythtv, gimp, sane, libreoffice, xbill... pretty much everything except my Loki and Steam games.
Re:What about DosBOX ? (Score:4, Insightful)
Okay, this "now on the Raspberry Pi" craze is getting really ridiculous.
No, it isn't. Let's have it become a stable platform with a flourishing software and hardware ecosystem.
Re: (Score:3)
No, it isn't. Let's have it become a stable platform with a flourishing software and hardware ecosystem.
You can run all the popular Linux distributions on it; with a pretty full Desktop experience (all the packages are there performance is generally pretty good). So I think we are there.
The trouble is the ARM world is evolving pretty fast. The Raspberry Pi is so much faster than the Kirkwood based stuff that was filling the same niche spaces before it. I am really glad that $35 + a little extra for some storage and a power supply gets you a computer that is "good enough for most projects" that is great.
I
Re: (Score:2)
You can do anything with Raspberry Pi...
Anything at all.
The only limit is yourself!
The infinite is possible with Raspberry Pi.
The unattainable is unknown with Raspberry Pi.
Welcome to Raspberry Pi.
This is Raspberry Pi... welcome!
Re:What about DosBOX ? (Score:5, Insightful)
You can get a perfectly good little Linux running computer for $50 and you're whining about it? The Raspberry Pi Foundation was set up with the goal of getting more children to do programming at home and in school. That is their purpose. The board is as cheap as it is partly because Broadcom are supporting the initiative. I don't know what you mean by "the device doesn't work right". Of course it works right. Hundreds of thousands of people are using them.
Re: (Score:2)
You can get a perfectly good little Linux running computer for $50 and you're whining about it?
No, I think the cubieboard is a great machine.
Re: (Score:2)
You should have bought one of those then!
Re: (Score:2)
You should have bought one of those then!
I couldn't agree more.
Re: (Score:2)
Then how about you spin up a board that is better? Or better yet, get the NDA agreement with Broadcom in place so you can help fix the issues. It is easy to throw rocks at the dirty glass building, but it's harder to grab the glass cleaner and help fix the problem.
Where I don't exactly like the NDA requirements of Broadcom, it seems a reasonable compromise to meet the cost goals. I suspect that a lot of the issues you have with your Pi have work arounds or are being worked if they are known. I suspect th
Re: (Score:2)
I was a victim of the so-called ethernet and USB issues before I returned 3 of the 5 boards as defective. I've got 5 good 512MB boards - one is running Raspmbc streaming video without a hitch, and the other is pumping 2 MS/S over the USB from a wideband receiver and doing DSP to decode ADS-B packets that are then sent to FlightRadar24 [flightradar24.com]. I've seen NO ethernet or USB issues since the bad batch boards were replaced (these were originally shipped out aro
Re: (Score:2)
The only ones that I remember being ubiquitous were CWSDPMI and DOS/4GW, mainly because they came bundled with compilers of the time. The only other one I recognise the name of is GO32, but that's a CWSDPMI predecessor by the looks of it.
And DOS/4GW was indeed bundled into DOOM.
I think the claims of the capabilities are stretching it a bit in terms of sheer processor power, the features needed in the virtual machine it runs, and the amount of usefulness there would be in emulating games at pathetic rates t
Re: (Score:2)
why bother? It's still sold and you can run the current version on MS Windows
http://www-01.ibm.com/software/lotus/products/smartsuite/ [ibm.com]
Re: (Score:2)
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.