Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Strange error in Dosbox

    Emulateurs Arcade/PC/Console
    strange dosbox
    3
    62
    15105
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • lmerckx
      lmerckx last edited by lmerckx

      @Dragu @voljega
      Back home ...

      I've just tested my DosBox RPI2 (updated to 18.03.30) and I confirm: I have no lag problem on games Wolfenstein 3D, Epic Pinball, Ultima 7.
      The size of my dosbox is 5046488.

      Can you send a support archive ?

      Edit: Now, I can reproduce the /usr/share/dosbox bug ! I've never tested without dosbox.bat, in fact.
      I look for a correction.
      Still no idea for lags.

      Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
      Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

      1 Reply Last reply Reply Quote 0
      • lmerckx
        lmerckx last edited by

        @Dragu Mine is still 32 bits.
        Here is the result of the "file dosbox" command, launched from another Linux workstation:
        dosbox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 4.4.0, stripped

        Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
        Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

        voljega 1 Reply Last reply Reply Quote 0
        • voljega
          voljega Banned @lmerckx last edited by voljega

          @lmerckx doesn't work in recalbox for me : # file dosbox -sh: file: command not found

          tried Epic Pinball, lags horribly too :s

          @lmerckx do you have a RPI3 ?

          1 Reply Last reply Reply Quote 0
          • lmerckx
            lmerckx last edited by

            @voljega Yes, I had to transfered my dosbox exec to another Linux workstation to get "file" command.
            I have a RPI2.

            Do you also launch games with autoexec or with a dosbox.bat script ?

            Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
            Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

            voljega 1 Reply Last reply Reply Quote 0
            • lmerckx
              lmerckx last edited by

              @dragu So, I think I have solved the "/usr/share/dosbox" problem:
              When there is no dosbox.bat file in directory, DosBox scan other parameters to find a valid file to execute or directory to mount. When it find the share directory, it stops and go on with it.
              It explains why I had no problem. I always use the dosbox.bat file.

              So, the solution was to put the initialization of the virtual keyboard before the autoexec startup.

              But, I'm curious, how do you configure your autoexec ?
              Do you need to specify the mount and exit in it ?
              Do you have an example ?

              Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
              Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

              1 Reply Last reply Reply Quote 0
              • voljega
                voljega Banned @lmerckx last edited by voljega

                @lmerckx said in Strange error in Dosbox:

                s**t I f you don't have a rpi3, it's not gonna be easy to find the issue ...

                Do you also launch games with autoexec or with a dosbox.bat script ?

                I always use a dosbox.bat with all necessary instructions in it (mount for instance but no need for exit), I keep no command at all in dosbox.cfg (I always have one too)
                If you need, I can give you my dosbox.bat and dosbox.cfg for Epic Pinball

                @lmerckx said in Strange error in Dosbox:

                Yes, I had to transfered my dosbox exec to another Linux workstation to get "file" command.

                figured as much, but I don't have any linux at home other than my recalbox ...

                1 Reply Last reply Reply Quote 0
                • Dragu
                  Dragu Banned last edited by

                  @lmerckx
                  In general I have always an dosbox.bat file to start games, and mostly the mount operations I make at the end of dosbox.cfg. But this is just personal choice and no issue.
                  I found the story with the VK at testing a game. Because, if you start with dosbox.bat and have an error, you will never see it 🙂 Screen erase instantly.
                  I for this reason sometimes start a game with no dosbox.bat, for debugging.
                  Concerning the speed lag, it is in relation important 1/2 as before if not less.
                  What is surprising that you have with the PI2 no problems, but we with PI3 have.
                  So, I think solution between both build. 🙂

                  1 Reply Last reply Reply Quote 0
                  • Dragu
                    Dragu Banned last edited by

                    @lmerckx
                    I have another idea. Would it be possible to upload somewhere your version of PI2, to test with PI3 ?

                    1 Reply Last reply Reply Quote 0
                    • lmerckx
                      lmerckx last edited by

                      @Dragu Good idea. The link is here: https://www.proximuscloud.be/web/app/share/invite/HLQ1C8rABR
                      If it doesn't work with it ... can you send me your configuration file. Perhaps, is it a change I made which still allow to get good performance.

                      Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                      Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                      1 Reply Last reply Reply Quote 0
                      • Dragu
                        Dragu Banned last edited by

                        @lmerckx
                        I think it was not so brillant as idea, as the file is not executable under PI3. I dont know the reason and expected downward compatibility, what is not the case. So, this will unfortunately not help us.

                        1 Reply Last reply Reply Quote 0
                        • lmerckx
                          lmerckx last edited by

                          @Dragu Sh... Can you send me your confiuration file anyway ?

                          Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                          Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                          1 Reply Last reply Reply Quote 0
                          • voljega
                            voljega Banned last edited by

                            keeps getting stranger and stranger !

                            1 Reply Last reply Reply Quote 0
                            • Dragu
                              Dragu Banned last edited by

                              @lmerckx
                              Sure, but they are not all the same :

                              # This is the configuration file for DOSBox 0.74. (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)
                              #            vsync: Sync to Vblank IF supported by the output device and renderer (if relevant).
                              #                   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, texture, texturenb.
                              #         renderer: Choose a renderer driver if output=texture or output=texturenb. Use output=auto for an automatic choice.
                              #                   Possible values: auto, opengl, software.
                              #         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.
                              
                              fullscreen=true
                              vsync=false
                              fullresolution=desktop
                              windowresolution=original
                              output=texture
                              renderer=auto
                              autolock=true
                              sensitivity=100
                              waitonerror=true
                              priority=higher,normal
                              mapperfile=nremorse.map
                              
                              [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=16
                              
                              [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=false
                              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=auto
                              cycles=max
                              cycleup=100
                              cycledown=100
                              
                              [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=default
                              midiconfig=
                              
                              [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, opl3gold, 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=true
                              pcrate=44100
                              tandy=auto
                              tandyrate=44100
                              disney=true
                              
                              [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=auto
                              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=dummy
                              serial2=dummy
                              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=de129
                              
                              [autoexec]
                              # Lines in this section will be run at startup.
                              # You can put your MOUNT lines here.
                              
                              1 Reply Last reply Reply Quote 0
                              • lmerckx
                                lmerckx last edited by

                                @Dragu The only difference between yours and my standard one is the
                                cycles=max

                                I prefer now auto for most games. But, I'm pretty sure this is not the cause of the problem.

                                Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                                Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                                1 Reply Last reply Reply Quote 0
                                • Dragu
                                  Dragu Banned last edited by

                                  @lmerckx
                                  I just rolled back, as I have a few versions in usr/bin, easy with rm and cp.
                                  But there is no effect as you expected.

                                  1 Reply Last reply Reply Quote 0
                                  • lmerckx
                                    lmerckx last edited by

                                    @dragu "The truth is elsewhere"
                                    Can I use you as tester ? Because I'm blind without RPI3.

                                    I will first compile a previous version (17.12.01?) of the code in current environment to detect where the problem could be.
                                    If it's still lagging, it could be a problem in "inherited" compilation directive.

                                    Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                                    Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                                    voljega 1 Reply Last reply Reply Quote 0
                                    • voljega
                                      voljega Banned @lmerckx last edited by

                                      @lmerckx I can help too, if there's no need to switch on a dev update branch 😛

                                      1 Reply Last reply Reply Quote 0
                                      • lmerckx
                                        lmerckx last edited by

                                        @voljega Thank you too. For a simple test, it will be preferable to simply update the dosbox executable.
                                        Perhaps a first version available this evening.

                                        Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                                        Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                                        1 Reply Last reply Reply Quote 0
                                        • Dragu
                                          Dragu Banned last edited by

                                          @lmerckx
                                          Thanks for your work. What I can still not understand, why there are different versions in Dosbox between PI2 and PI3. Just curiosity. 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • lmerckx
                                            lmerckx last edited by

                                            @Dragu I don't know either: same sources, same compiler directives (in package).
                                            It is why I want to check if it can be external to the package.

                                            Recalbox 9.1 on RPI 4, SSD 250Gb, 2 Logitech F710, Nespi4case
                                            Contributions for DosBox, ScummVM, ResidualVM, Daphne (Hypseus)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            88
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com