Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
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:
  • DOSBox? (Score:5, Interesting)

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

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

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

    I'd rather play DOOM like it's 2008 []. 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:DOSBox? (Score:5, Interesting)

    by BobNET ( 119675 ) on Tuesday March 26, 2013 @10: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.)

  • SDL ; DOSEMU (Score:5, Interesting)

    by DrYak ( 748999 ) on Tuesday March 26, 2013 @12:24PM (#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).

Money is better than poverty, if only for financial reasons.