Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Emulation (Games) Operating Systems Technology Games

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."
This discussion has been archived. No new comments can be posted.

DOS Emulation Arrives For the Raspberry Pi

Comments Filter:
  • by Custard Horse ( 1527495 ) on Tuesday March 26, 2013 @09:03AM (#43280483)

    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?

    • by Narcocide ( 102829 ) on Tuesday March 26, 2013 @09:06AM (#43280497) Homepage

      Judge not, lest ye be judged.

      • No judging going on - just curious to see how many people are interested in the project. Asking here at slashdot seems like a good idea although it is obviously open for others to misinterpret my curiosity as a venomous attack.... [sigh]
    • by h4rr4r ( 612664 ) on Tuesday March 26, 2013 @09:07AM (#43280505)

      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.

    • by acariquara ( 753971 ) on Tuesday March 26, 2013 @09:07AM (#43280509) Journal

      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.

      • But not on something the speed of a 25MHz 486SX, right...?

      • by Hatta ( 162192 ) on Tuesday March 26, 2013 @09:32AM (#43280717) Journal

        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.

    • Does anybody want to play Doom like it was 1993?

      1993? It can't manage a 66MHz 486DX2....

    • 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

    • by jedidiah ( 1196 )

      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.

    • 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].

    • by niko9 ( 315647 ) on Tuesday March 26, 2013 @10:07AM (#43281037)

      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.

    • If you wanna play Doom like it's 1993, there's always Chocolate Doom [chocolate-doom.org]...
    • Ummm running Renegade 10-05 ANYWHERE.

    • 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.

    • by Cito ( 1725214 )

      who is gonna play doom on it?

      the real reason to use dos emulator is to run Windows 3.11 or Windows 95
      a much better OS than trying to run X on Raspberry :P

      har har

    • I spent many hours this weekend playing Colonization (1994, $3 from GOG). Fullscreen with scanline effects.
  • DOSBox? (Score:5, Interesting)

    by Anonymous Coward on Tuesday March 26, 2013 @09:06AM (#43280503)

    Can someone explain why you wouldn't be able to run DOSBox? Isn't this reinventing the wheel?

    • by h4rr4r ( 612664 )

      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)

        by BobNET ( 119675 ) on Tuesday March 26, 2013 @09:49AM (#43280853)

        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)

      by DarkOx ( 621550 ) on Tuesday March 26, 2013 @09:21AM (#43280627) Journal

      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)

        by DrYak ( 748999 ) on Tuesday March 26, 2013 @11:24AM (#43282017) Homepage

        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).

  • by F34nor ( 321515 ) on Tuesday March 26, 2013 @09:14AM (#43280561)

    Like dungeon crawlers? Try Ultima Underworld!
    Like Mass Effect? Try Starcontrol 2!
    Like Sydicate? Try Sydicate!
    Like BioShock? Try System Shock!

  • How about the mid 90s FPS Duke Nukem Forever? Oh wait a sec...
    • Joke aside, Duke 3D was awesome. Even its map editor was awesome. Some one should try and run it on the Pi and report back.
  • I heard you liked DOS.
  • 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...

    • by DarkOx ( 621550 )

      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

      • 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...

      • I mostly played duke 3d on my DX4-75 laptop with 36MB ram when I was in college and that rocked (and now I feel old). That machine also could manage Quake but it wasn't anything impressive and pretty low res. Before that it was duke 3d on a DX2-66 with 32MB ram and that was still pretty good.
      • Since Duke3D has been open sourced running it natively seems a better idea, especially on something without excess CPU power like the Pi.

  • 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.

    • 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.

      • by sjwt ( 161428 )

        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..

      • by ledow ( 319597 )

        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

        • While the min spec for Quake was a Pentium it could run on a 486 DX4, I did it and while playable it wasn't what I would call a good experience. I didn't get my ass handed to me in death match but I was never very good because of the lag. At that time there seemed to be a number of pieces of software that was min speced for a Pentium that would run on a DX4 without issue. The CD burner I had claimed a similar thing but I never had problems with it on that DX4.
      • by Hatta ( 162192 )

        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.

        • 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

      • With respect, I think you're misremembering things. Doom I can almost believe, but busy scenes would still give it an occasional hiccup. Duke might have given playable framerates if you used its abominably ugly "low detail" mode in 320x200. But Quake was very unforgiving - you'd be lucky to manage 512x384 on a then-scalding Pentium Pro 150 with a decent video card. The included TECHINFO.TXT file warned that id Software wouldn't accept bug reports about slow performance on 486 chips. It just wasn't desi
    • 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.

    • I distinctly remember playing Doom on a 33 MHz 386 in normal mode with no problems whatsoever.

      Duke3D now, yeah...

  • 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

  • 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?

    • by Hatta ( 162192 )

      You can run FreeDOS in DOSBOX if you want.

      • 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?
        • by flux ( 5274 )

          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.

        • 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.

        • by caseih ( 160668 )

          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)

    by sl4shd0rk ( 755837 )

    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.

  • 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 mone

  • 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?

    • Never mind, there's PiMAME for that.

    • Um, wouldn't it make more sense to run an ARM port of MAME? I'm not sure anyone's still maintaining an MS-DOS port of MAME, and even if they were a low-end 486 wouldn't handle arcade games that were contemporary around the time of its heyday.
    • So they can emulate on an emulator?

  • 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.

  • But, how do I get all my old SSI role playing games onto it?

  • 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.

  • 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.
  • The emulation runs at a speed around that of a 20MHz 80486 [...] Perfect for playing old classics such as Doom

    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

    • 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.

  • 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.

  • by KPexEA ( 1030982 ) on Tuesday March 26, 2013 @02:21PM (#43284069)
    Cool, I wrote Stunts on a 16mhz 386 so this should be powerful enough to play it.

After all is said and done, a hell of a lot more is said than done.

Working...