QuickdrawKid
Posts: 10
Joined: Tue Nov 18, 2014 9:07 pm

rpi2 and dosbox games

Wed Apr 08, 2015 2:39 pm

I'm looking to build a second portable gaming system that focuses on mouse and keyboard based games. Basically a gameboy with a trackball. We all know that minecraft and point and click scumm games work, but I have an interest in running the early elder scrolls games.
I know this topic has pretty much been beat to death earlier, but that was on the rpi1. The rpi2 has greater capabilities and should have an easier time of emulating dos games.
Anyway, is there any hope of getting arena or daggerfall running on the rpi2?

User avatar
Djinny
Posts: 122
Joined: Sat Jul 05, 2014 12:21 am
Contact: Website

Re: rpi2 and dosbox games

Thu Apr 09, 2015 10:26 am

Well, Arena is somewhat playable on the pi 2 using Rpix86. It was fairly smooth last time i played it.
I haven't tried daggerfall, but i'm going to guess no. And if it does, i doubt it'll play very well, not because the pi2 can't handle it, but because the emulator likely isn't programmed to use the pi2's power.

Thing is, with all the power of the pi 2, we could probably have daggerfall running at full speed with sound. Someone would just have to go back and update it to use all the new hardware instructions. the NEON etc.
My RPi needs a fan, heat will leech into the battery, so people saying I don't need a fan, don't understand how Li-Po batteries are affected by high temps. Cool pi = cool battery.
I would very much so like to see a Pi2/Pi3 Zero, power and size.

QuickdrawKid
Posts: 10
Joined: Tue Nov 18, 2014 9:07 pm

Re: rpi2 and dosbox games

Thu Apr 09, 2015 8:42 pm

I figured Daggerfall might not work. Just like you said, not because the Pi can't handle it, but the emulation isn't fast enough. But great to hear that Arena works! Did it require any special setup? I'm hoping to be able to launch all the games from Emulation Station or some other front end as it will be mainly a gaming device. However, that's not entirely necessary since it will have a built in mouse...hopefully...

User avatar
Djinny
Posts: 122
Joined: Sat Jul 05, 2014 12:21 am
Contact: Website

Re: rpi2 and dosbox games

Thu Apr 09, 2015 11:50 pm

I just used Rpix86

I had Arena "working" on my B+ but it wasn't playable, the "framerate" was really bad. really choppy.
It's playable now on the pi2b,
arm_freq=900
gpu_mem=192
core_freq=500
sdram_freq=450
over_voltage=2
It's kind of modest, but it seems more stable for me.

If it were updated to use the new A7 cpu, it would easily play arena and daggerfall.
My RPi needs a fan, heat will leech into the battery, so people saying I don't need a fan, don't understand how Li-Po batteries are affected by high temps. Cool pi = cool battery.
I would very much so like to see a Pi2/Pi3 Zero, power and size.

13i11
Posts: 12
Joined: Fri Jan 24, 2014 4:03 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 12:11 am

First thing I did when I received my pi2 was see if daggerfall would install. It does however the only part that runs smooth is the character creation, when game loads it lags really bad. This was on the repository version of dosbox, I don't know how much better rpix86 would run it because I haven't figured out how to mount the DFCD folder as a CD like I can in dosbox. If anyone does know please post instructions.
Edit: So I have now tried with the retropie version of dosbox and it runs much better but still not quite playable. Arena however is totally playable with the proper tweaks to dosbox.conf file. Better sound can be achieved by installing timidity-daemon and using alsa as midi device.
Here is my dosbox-svn.conf settings for arena.

Code: Select all

# This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox)
# Lines starting with a # are comment lines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
#       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
#   fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
#                     Using your monitor's native resolution with aspect=true might give the best results.
#                     If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
#                     (output=surface does not!)
#           output: What video system to use for output.
#                   Possible values: surface, overlay.
#         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
#      sensitivity: Mouse sensitivity.
#      waitonerror: Wait before closing the console if dosbox has an error.
#         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry.
#                   Possible values: lowest, lower, normal, higher, highest, pause.
#       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=true
fulldouble=false
fullresolution=original
windowresolution=original
output=overlay
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-SVN.map
usescancodes=false

[dosbox]
# language: Select another language file.
#  machine: The type of machine DOSBox tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
captures=capture
memsize=32

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
#    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
#            then the scaler will be used even if the result might not be desired.
#            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
aspect=true
scaler=none

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and
#            appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually
#                              need if 'auto' fails (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to
#                              handle.
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=dynamic
cputype=pentium_slow
cycles=auto 18200
cycleup=10
cycledown=20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=20

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
#               or in the case of coreaudio, you can specify a soundfont here.
#               When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
#               In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
#               See the README/Manual for more details.

mpu401=intelligent
mididevice=alsa
midiconfig=128:0

[sblaster]
#  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
#      gus: Enable the Gravis Ultrasound emulation.
#  gusrate: Sample rate of Ultrasound emulation.
#           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#  gusbase: The IO base address of the Gravis Ultrasound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis Ultrasound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis Ultrasound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=false
pcrate=44100
tandy=off
tandyrate=44100
disney=false

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               (Remember to reset dosbox's mapperfile if you saved it earlier)
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=none
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
#          Can be disabled, dummy, modem, nullmodem, directserial.
#          Additional parameters must be in the same line in the form of
#          parameter:value. Parameter for all types is irq (optional).
#          for directserial: realport (required), rxdelay (optional).
#                           (realport:COM1 realport:ttyS0).
#          for modem: listenport (optional).
#          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                         transparent, port, inhsocket (all optional).
#          Example: serial1=modem listenport:5000
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=disabled
serial2=disabled
serial3=disabled
serial4=disabled

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support. The default (=true) provides the best
#                 compatibility but certain applications may run better with
#                 other choices, or require EMS support to be disabled (=false)
#                 to work at all.
#                 Possible values: true, emsboard, emm386, false.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=auto

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.


You may need to adjust cycles depending on your overclock settings with ctrl-f11/ctrl-f12.
Hope this helps Arena fans out there! 8-)

Also as far as mounting a folder with rpix86 as a cdrom for Daggerfall; I figured that part out but the executable checks the "label" of the disk. When it sees that it is not labeled the game fails to start. In dosbox you can set the label but not sure if you can with rpix86.
Last edited by 13i11 on Tue Apr 28, 2015 12:30 am, edited 2 times in total.

User avatar
Djinny
Posts: 122
Joined: Sat Jul 05, 2014 12:21 am
Contact: Website

Re: rpi2 and dosbox games

Sat Apr 11, 2015 3:05 am

I don't know the commands sadly, but it wasn't hard to mount folders.
rpix86 is vasty faster, i'm wondering if there's a modded non-cd version of daggerfall that would work without needing to mount anything special. Might be something to look into, and i'll check later.

I can't remember where the config folder is.
Edit: i may have been thinking of [Redacted] config file, for some reason i can't find the one for rpix86. so you may need to find a way to mod daggerfall instead.

Found an altered daggerfall guide, doesn't work though rpix86 just crashes, i'll tinker with it until i find a way to make it work.
Last edited by Djinny on Sat Apr 11, 2015 10:34 am, edited 1 time in total.
My RPi needs a fan, heat will leech into the battery, so people saying I don't need a fan, don't understand how Li-Po batteries are affected by high temps. Cool pi = cool battery.
I would very much so like to see a Pi2/Pi3 Zero, power and size.

Vanfanel
Posts: 433
Joined: Sat Aug 18, 2012 5:58 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 10:15 am

Fastdosbox is a SCAM. It's simply Dosbox built with dynarec and packed with my SDL 1.2 version which has dispmanx support hacked in.
The person behind Fastdosbox is clearly violating GPL by making a commercial use of GPL code, both on Dosbox and my SDL libs.
Don't use it.

User avatar
xoopha
Posts: 106
Joined: Mon Feb 09, 2015 9:52 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 11:56 am

GPL only states that you have to share the source code modifications, not that you can't put a price on it.
If Fastdosbox authors don't include the source code for their modifications then they are breaking the license, otherwise they are not. Getting money out of GPL licensed software is explicitly allowed.

User avatar
mrpi64
Posts: 931
Joined: Sat Feb 16, 2013 5:13 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 12:28 pm

By the look of it, the Pi2 should be able to run the original Elder Scrolls OK. Haven't tried though.
I'm happy to help.
https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=51794 - List of games that work on the Pi.

Vanfanel
Posts: 433
Joined: Sat Aug 18, 2012 5:58 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 1:35 pm

xoopha wrote:GPL only states that you have to share the source code modifications, not that you can't put a price on it.
If Fastdosbox authors don't include the source code for their modifications then they are breaking the license, otherwise they are not. Getting money out of GPL licensed software is explicitly allowed.
The problem is that they (he, the person who is asking for money for other people's work) don't include the sources for the SDL libs they distribute with it, because that's my work, which I did for free for everybody to use it.
No way how you look at it, it's illegal and inmoral.

User avatar
xoopha
Posts: 106
Joined: Mon Feb 09, 2015 9:52 pm

Re: rpi2 and dosbox games

Sat Apr 11, 2015 1:49 pm

Not including the source code for everything or providing means to obtain it easily is breaking the license. Asking for money for modified GPL-licensed code, however, isn't.

franck
Posts: 20
Joined: Sat Dec 08, 2012 9:39 am
Contact: Website

Re: rpi2 and dosbox games

Sun Apr 26, 2015 2:47 pm

Removed content due to bad language. To the poster, please report information without bad language.
Franck / NoRisc-NoFun - [email protected]
http://www.norisc-nofun.co.uk
Twitter : @noriscnofun1

franck
Posts: 20
Joined: Sat Dec 08, 2012 9:39 am
Contact: Website

Re: rpi2 and dosbox games

Sun Apr 26, 2015 5:29 pm

Mod edit: Deleted this one as well. To the poster, if you cannot post without bad language, or slagging off another forum member, then please don't post at all. We have very little patience for slanging matches.

Subsequent reply also deleted.
Franck / NoRisc-NoFun - [email protected]
http://www.norisc-nofun.co.uk
Twitter : @noriscnofun1

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24192
Joined: Sat Jul 30, 2011 7:41 pm

Re: rpi2 and dosbox games

Mon Apr 27, 2015 2:57 pm

A quick reminder to people about how the GPL2.0 works.

If you write code that include GPL'd code and distribute it, then you must release ALL the source code, including your own. GPL is a copy left licence.

There is nothing in the GPL that means you cannot charge for your distribution, but you must release all the code you use.

The GPL contains no morality clauses. There is no moral obligation to not charge.

If you have code that you think someone is using that contravenes the GPL, then you must talk to the distributors, and if you get nowhere, someone like the FSF who may be able to apply extra pressure.

If you are annoyed that someone is packaging up some of your software you intended to distribute for free, then you should either do your own package and release it for free, thereby destroying the sales of the user of your code, or find a different licence to the GPL that explicitly forbids making money from the code.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

ghans
Posts: 7878
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: rpi2 and dosbox games

Mon Apr 27, 2015 5:00 pm

Note that SDL 1.2 was to be distributed under the LGPL 2.1 , not the GPL.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24192
Joined: Sat Jul 30, 2011 7:41 pm

Re: rpi2 and dosbox games

Mon Apr 27, 2015 6:57 pm

ghans wrote:Note that SDL 1.2 was to be distributed under the LGPL 2.1 , not the GPL.

ghans
Which is even more 'free' in that you don't actually need to distribute the source, and can do with it pretty much what you want, as long as, I think, accreditation is given.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

Return to “Gaming”