The Black Art of DOS Emulation on Raspberry Pi
Total Page:16
File Type:pdf, Size:1020Kb
The Black Art of DOS emulation on Raspberry Pi Using FastDOSBox. By : [email protected] www.norisc-nofun.co.uk Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 Table of Contents What is DOS emulation for who and for what ?..................................................................................3 Why choosing FastDOSBox for DOS emulation on the Rpi ?............................................................4 Installing FastDOSBox on the Raspberry Pi........................................................................................5 For RISC OS....................................................................................................................................5 For Raspbian....................................................................................................................................5 Recommended Raspberry Pi CPU settings for FastDOSBox..............................................................6 Recommended configuration settings for FastDOSBox......................................................................7 [dosbox] Section..............................................................................................................................7 [render] Section................................................................................................................................7 [cpu] Section....................................................................................................................................7 Sound Section..................................................................................................................................7 [dos] Section....................................................................................................................................8 Installing Windows 3.x (and others) with FastDOSBox......................................................................9 Requirements...................................................................................................................................9 Make an hard-drive image usable under FastDOSBox...................................................................9 Partitioning the Hard-Drive image................................................................................................10 Mount and Format the Hard-Drive image with FastDOSBox.......................................................11 Copy the Windows 3.x installation files on the Hard-drive image................................................13 Run Windows Installer from FASTDosBOX................................................................................16 Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 What is DOS emulation for who and for what ? DOS (Disk Operating System) is / was the operating system for PC prior to the Microsoft Windows era. Between 1981 and 1995, DOS was dominating the market for the IBM PC platform (x86). During almost 15 years of technology all kind of applications and games have been released, probably thousands of games that constitute an invaluable legacy for any Retro Gamers. Many companies decided to re-release these old DOS games using the principle of emulation that simulates the behavior of a PC hardware and Operating System from the 1981-1995 era. Several DOS emulators have been released to work across modern platforms like Windows, OSX, Linux, Android. DOSBox is one of the most popular and most complete as it offers all the different features of these old-school PC. These last years DOSBox started to be a mandatory program for anyone who likes Retro gaming, this is why NoRisc-NoFun decided to bring to the Raspberry Pi community the best possible version of DOSBox called FastDOSBox (DOSBox Turbo name was already taken on Android platform). Raspberry Pi by its form factor, price and target audience is the perfect platform for Retro gaming. Looking at the RetroPie project is quite convincing. Reference : A proper definition of what is DOS about : http://en.wikipedia.org/wiki/DOS Reference : Official homepage of DOSBox : http://www.dosbox.com Reference : Good Old Games, selling DOS games : http://www.gog.com Reference : Excellent Blog about RetroPie : http://blog.petrockblock.com/retropie/ Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 Why choosing FastDOSBox for DOS emulation on the Rpi ? The Raspberry Pi is an amazing small piece of hardware but no-one can say it is specially shining with its raw CPU power. There is not a single smartphone or tablet with a ARMv6 single core on the market today, that makes the emulation of a x86 PC pretty tough on the Raspberry Pi. Somebody told me recently : “The Raspberry Pi needs some special ARM code”, this is exactly where the challenge is : Straight ports of applications coming from the PC world won't run efficiently on ARM platforms, specially when it comes to emulate other architecture. NoRisc-NoFun (www.norisc-nofun.co.uk) is implementing the best possible routines and optimizations and aim to bring the most efficient version of software for the ARM platform. FastDOSBox is a fork of Dosbox based on the sources of the SVN and 0.74 version of Dosbox, this is the fruit of almost 9 month of work and the result can be consider as the little brother of DosBox Turbo available for Android. The features of FastDOSBox are the following : - All the standard features of DosBox as shown here : http://www.dosbox.com/status.php? show_status=1 Plus more specifically for the Raspberry Pi : - Dynrec emulation for ARM, offering the speed of a 386 DX at 25Mhz. - 1080p native resolution with upscale using dispmanx (GPU aided). Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 Installing FastDOSBox on the Raspberry Pi For RISC OS Only version 1.0 is available for RISC OS, this version is slightly slower than the Raspbian version, mainly due to the fact that dispmanx (the GPU routines) are not used. However it provides a serious boost over the official version of Dosbox available from riscos.info website. You can download freely !FastDosBox here : http://www.norisc-nofun.co.uk/downloads/fastdosbox_1.0.zip Just extract the !FastDosBox folder from the ZIP archive, and double click on the icon, ! FastDosBox will load automatically. On RISC OS !FastDosbox is not limited to the Raspberry Pi, it runs beautifully on a Beagleboard or even better on a Pandaboard. For Raspbian Version 1.5 is available on the Pi Store, to install it, you have to run the pistore application from X11 and download it from there. The direct link on the Pi Store is : http://store.indiecity.com/projects/fastdosbox Once the installation process is complete, the application is installed in this directory : /usr/local/bin/indiecity/InstalledApps/fastdosbox/Full/fastdosbox-1.5/ To do a first run of fastdosbox under the console (X11 is not supported) : $ /usr/local/bin/indiecity/InstalledApps/fastdosbox/Full/fastdosbox-1.5/fastdosbox Alternatively as FastDOSBox is under GPL v2.0, you can download the sources from norisc-nofun website : www.norisc-nofun.co.uk and try to compile your own version. Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 Recommended Raspberry Pi CPU settings for FastDOSBox. Emulating is really CPU consuming no matter how good are the optimizations that have been implemented. To get the most performance out of FastDOSBox, we recommend you to overclock your Raspberry Pi. Edit the /boot/config.txt file and change the following parameters : arm_freq=1000 gpu_mem=64 core_freq=500 sdram_freq=600 over_voltage=6 The new parameters are applied after a reboot. You may also check that the scaling governor is set on “ondemand”, if not you can use this command : $ echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Reference : http://elinux.org/RPi_config.txt Reference : http://megakemp.com/2013/02/26/adventures-in-overclocking-a-raspberry-pi/ Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 Recommended configuration settings for FastDOSBox By default FastDOSBox is using the most efficient settings according to our tests. It does not mean that they are the best for a perfect faithful emulation, but they are “to our opinion” a good compromise between speed and accuracy. This section does not cover explanation for all the settings as the official Dosbox wiki page does a fantastic job at it : http://www.dosbox.com/wiki/Dosbox.conf The default configuration file for fastDOSBox is located in ~/.fastdosbox/fastdosbox-1.5.conf [dosbox] Section [dosbox] machine=svga_et3000 memsize=16 In most documentation svga_s3 is recommended, however we noticed a boost of few FPS using svga_et3000 on the Raspberry Pi. [render] Section [render] frameskip=0 aspect=false scaler=none [cpu] Section [cpu] core=dynamic cputype=386 cycles=max cycleup=10 cycledown=20 Sound Section [mixer] Version 1.0 – May 2013, Author : Franck / NoRiscNoFun , [email protected] – twitter : @Noriscnofun1 nosound=false rate=22050 blocksize=2048 prebuffer=20 [midi] mpu401=intelligent mididevice=default midiconfig= [sblaster] sbtype=sb16 sbbase=220 irq=7 dma=1 hdma=5 sbmixer=true oplmode=auto oplemu=default oplrate=44100 [gus] gus=false gusrate=44100 gusbase=240 gusirq=5 gusdma=3 ultradir=C:\ULTRASND