DOSBox ECE (for Windows & Linux)

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

Re: DOSBox ECE (for Windows & Linux)

Postby _Rob » 2019-3-18 @ 14:09

pantercat wrote:Maybe you've downloaded the binary instead of the source?

DOSBox ECE rXXXX (Linux).7z is 32-bit. If your system is 64-bit and you do not want ie install multiarch, download DOSBox ECE rXXXX (Linux source).7z && extract && compile.

./configure && ./autogen.sh && make

You will have the binary in the src directory.


You may also want to strip it, otherwise you end up with quite a large binary.

Code: Select all
strip dosbox


Before strip my 64bit binary was 35563992 bytes (33MB), after stripping it, this was reduced to 3959544 bytes (3.8MB).
Strip discards debugging symbols, and unless your a developer your unlikely to need that additional data.
_Rob
Newbie
 
Posts: 15
Joined: 2019-2-03 @ 10:46

Re: DOSBox ECE (for Windows & Linux)

Postby Roger Wilco » 2019-3-18 @ 14:35

Thanks to all for the answers! :blush:

My programming skills are limited to writing simple bash scripts, so compiling is not something, I completely understand in all its glamour - but I understood, what you were saying, with the dependencies :-)

If I understood everything right:
The binaries (that I downloaded) are 32-bit and won't work, because the dependencies installed on my system are 64 bit -- and they have the same names.
Solutions: install 32-bit dependencies and use the binaries that I downloaded OR compile the 64-bit version from source to use allready installed dependencies.
The source code on yesterplay80 contains both, 32 and 64 bit....? I guess, if dependencies are missing, I will get a message during compiling.

What do you think is the better solution? Is there a difference in performance? My laptop is not amongst the fastest.
Is one of the two versions more likely to work over time, when updates are released? I am using Debian Stable, so I will not have access to the newest libraries, like in Ubuntu.
Multiarch support is allready installed on my system.

@kcroft: To understand your answer, it will take some time ;-)

@_Rob: thanks for the tip. I never heard of strip, but I understand, what it does and will use it - I am not a developer, but I'd love to try some of the new features in the SVN :-) Can I simply run the command after compiling, in the folder of the binary?
User avatar
Roger Wilco
Newbie
 
Posts: 50
Joined: 2016-6-03 @ 14:33

Re: DOSBox ECE (for Windows & Linux)

Postby _Rob » 2019-3-18 @ 15:37

Roger Wilco wrote:Thanks to all for the answers! :blush:

My programming skills are limited to writing simple bash scripts, so compiling is not something, I completely understand in all its glamour - but I understood, what you were saying, with the dependencies :-)

If I understood everything right:
The binaries (that I downloaded) are 32-bit and won't work, because the dependencies installed on my system are 64 bit -- and they have the same names.
Solutions: install 32-bit dependencies and use the binaries that I downloaded OR compile the 64-bit version from source to use allready installed dependencies.

Correct.
Roger Wilco wrote:The source code on yesterplay80 contains both, 32 and 64 bit....? I guess, if dependencies are missing, I will get a message during compiling.

There is only one source tree, irrespective of architecture. You get a 32bit binary if you use a 32bit build environment, and a 64bit binary if you use a 64bit build environment. If your running a 64bit operating system, your build environment will by default be 64bit.

For setting up a 32bit build environment on a 64bit operating system is beyond the scope here, and you should check elsewhere.
Roger Wilco wrote:What do you think is the better solution? Is there a difference in performance? My laptop is not amongst the fastest.

Technically this is not an easy answer to give, there are claimed advantages and disadvantages to both. 32bit binaries are smaller, so use less RAM, and occupy less space on the CPUs stack. On the other hand, a 32bit binary will require (potentially many) additional 32bit libraries to be installed, and loaded into memory, which may mean you have both 32bit and 64bit versions in RAM which is a waste.
Roger Wilco wrote:Is one of the two versions more likely to work over time, when updates are released? I am using Debian Stable, so I will not have access to the newest libraries, like in Ubuntu.
Multiarch support is allready installed on my system.

My understanding (correct me if I'm wrong), is that the DOSBox developers mainly target the 32bit version.

I don't think DOSBox requires the latest and greatest updates, so this should not really matter.
Roger Wilco wrote:@kcroft: To understand your answer, it will take some time ;-)

@_Rob: thanks for the tip. I never heard of strip, but I understand, what it does and will use it - I am not a developer, but I'd love to try some of the new features in the SVN :-) Can I simply run the command after compiling, in the folder of the binary?


strip is only applicable if you build dosbox yourself. The pre-compiled versions you can download are already stripped.
_Rob
Newbie
 
Posts: 15
Joined: 2019-2-03 @ 10:46

Re: DOSBox ECE (for Windows & Linux)

Postby Roger Wilco » 2019-3-18 @ 16:27

Thank you very much, _Rob.

This contributes a lot to my understanding of how compiling works. Sounds doable :-)

It's not so easy to understand, if you are missing some basics. Or maybe all of the basics.
Almost all of the literature and help files I found were expecting a much higher level of understanding code.

The first program I ever tried to compile myself had the following instructions:

"Installation: Simple cmake procedure."
And that was that :-D

It's quite a steep curve, but its doable.
Thanks again to all
User avatar
Roger Wilco
Newbie
 
Posts: 50
Joined: 2016-6-03 @ 14:33

Re: DOSBox ECE (for Windows & Linux)

Postby jmarsh » 2019-3-18 @ 17:09

For DOSBox there is a big difference between 32-bit and 64-bit builds.
The dynamic-x86 recompiler gives much better performance than the regular dynamic recompiler, but can only be used in 32-bit builds.
jmarsh
Newbie
 
Posts: 91
Joined: 2014-1-04 @ 09:17

Re: DOSBox ECE (for Windows & Linux)

Postby Roger Wilco » 2019-3-19 @ 03:45

Success :blush:

Just in case, another Debian noob reads this:

I had to:
apt install libsdl1.2-dev

Then I ran across the ....mt32... error discussed a few pages back during make. Installing Scummvm didn't fix it.

I had to install these two debs
libmt32emu-2.3.0.deb
libmt32emu-dev-2.3.0.deb
from here:
https://sourceforge.net/projects/munt/files/munt/2.3.0/Ubuntu-16.04/x86_64/
User avatar
Roger Wilco
Newbie
 
Posts: 50
Joined: 2016-6-03 @ 14:33

Re: DOSBox ECE (for Windows & Linux)

Postby Bluddy » 2019-3-22 @ 15:41

I'm not up to date on Dosbox matters. It looks like GOG has a new Dosbox version that has the `mount X -t overlay` command, redirecting all writes to their cloud save directory. Is this included in ECE?
Bluddy
Newbie
 
Posts: 2
Joined: 2009-6-03 @ 16:42

Re: DOSBox ECE (for Windows & Linux)

Postby Qbix » 2019-3-22 @ 15:48

Probably not, as I didn't add the code yet to the SVN, I planned to do it today, but my coding time ran out.
Of course, he could create a patch of it himself is he is in a hurry, but doubt that it is worth the effort, if I add it anyway...
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10807
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: DOSBox ECE (for Windows & Linux)

Postby Yesterplay80 » 2019-3-22 @ 21:02

Exactly, I'll wait for Qbixs official SVN release, so I can make a new vanilla and a ECE build again. We managed without this feature so far, a few days more won't kill anyone.
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 390
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (for Windows & Linux)

Postby krcroft » 2019-3-22 @ 21:27

I'm very curious to see how this GOG-Cloud-Save change is implemented!

Ideally it will be absolutely generic and agnostic of GOG the company. That is, it will intercept filesystem writes and push them to a configurable HTTP server via standard POST API. Reads will also be intercepted and the HTTP server checked first before falling through to the local filesystem layer.

The actual server hostname / IP / credentials / and so on would be provided externally either via command line arguments or the config file. That way, DOSBox stays company-agnostic. This approach will allow anyone to run their own HTTP service and supply their own server details, so we're not bound to using GOG's services.

What's really interesting is it will allow people to share their save game libraries with others, by sharing their overlay server details. (yes, people could clobber those save games, so it would have to be backed up; or maybe the base set of save-games could be write-protected).
User avatar
krcroft
Member
 
Posts: 181
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox ECE (for Windows & Linux)

Postby jmarsh » 2019-3-22 @ 23:24

krcroft wrote:I'm very curious to see how this GOG-Cloud-Save change is implemented!

Ideally it will be absolutely generic and agnostic of GOG the company. That is, it will intercept filesystem writes and push them to a configurable HTTP server via standard POST API. Reads will also be intercepted and the HTTP server checked first before falling through to the local filesystem layer.

The actual server hostname / IP / credentials / and so on would be provided externally either via command line arguments or the config file. That way, DOSBox stays company-agnostic. This approach will allow anyone to run their own HTTP service and supply their own server details, so we're not bound to using GOG's services.

What's really interesting is it will allow people to share their save game libraries with others, by sharing their overlay server details. (yes, people could clobber those save games, so it would have to be backed up; or maybe the base set of save-games could be write-protected).

You can view the source code by downloading one of the updated DOSBox based games from gog.
DOSBox doesn't handle any of the networking, it just places new/modified files in a separate directory. The "cloud" implementation is handled by the galaxy client.
jmarsh
Newbie
 
Posts: 91
Joined: 2014-1-04 @ 09:17

Re: DOSBox ECE (for Windows & Linux)

Postby krcroft » 2019-3-22 @ 23:47

jmarsh wrote:You can view the source code by downloading one of the updated DOSBox based games from gog.
DOSBox doesn't handle any of the networking, it just places new/modified files in a separate directory. The "cloud" implementation is handled by the galaxy client.

Very nice! On Linux, I've been managing each game as a single Zstandard-compressed SquashFS archive plus an OverlayFS directory to handle writes, in a similar fashion. I use a common script to mount and launch the games. This DOSBox overlay feature will let me eliminate the Linux-provided OverlayFS feature.

There are also some DOSBox users who want to freeze their installed game directories in a pristine state, and feel that subsequent writes (save games, high-score files, and so on) act as pollution. This will let them direct all writes to a separate "pollution" directory that they can manage out-of-band.

Thanks for the info jmarsh!
User avatar
krcroft
Member
 
Posts: 181
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox ECE (for Windows & Linux)

Postby Qbix » 2019-3-23 @ 09:17

Yep, the trickier points are dealing with files that are in the pristine folder, but deleted by the game and things like that, but that is all handled transparently as well.
Currently only creating new directories, renaming and removing them is missing, but that is being worked on as well.

krcroft wrote:
There are also some DOSBox users who want to freeze their installed game directories in a pristine state, and feel that subsequent writes (save games, high-score files, and so on) act as pollution. This will let them direct all writes to a separate "pollution" directory that they can manage out-of-band.

Thanks for the info jmarsh!


During the design, the "pristine" directory was treated as CD-ROM, so all code should be precisely doing what you are thinking off. (and in fact you can even have non-write access to the files, which should offer some interesting ways of setting up the game. In the non-overlay version, certain games do need write-access even when they don't write to it, but it was common in DOS to open files in read/write mode, even if you only read) (some sierra games do this, build engines games etc))
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10807
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: DOSBox ECE (for Windows & Linux)

Postby Dagar » 2019-4-03 @ 19:41

Yesterplay80,

Both the ECE screens seem a bit wonky in r4201. Not sure if it's intentional?
They are ok in r4198

Image
Dagar
Newbie
 
Posts: 50
Joined: 2008-1-20 @ 17:01

Re: DOSBox ECE (for Windows & Linux)

Postby Yesterplay80 » 2019-4-03 @ 21:19

I accidently uploaded a build where I messed around with the colors first, just download it again, should be ok now again.
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 390
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: DOSBox ECE (for Windows & Linux)

Postby Dagar » 2019-4-04 @ 02:26

Yes, it's now OK again. Thanks.
Dagar
Newbie
 
Posts: 50
Joined: 2008-1-20 @ 17:01

Re: DOSBox ECE (for Windows & Linux)

Postby Issun » 2019-4-06 @ 14:39

Any idea why (when using fullborderless/openglpp/aspect=true at 1920*1080) DOSBox ECE doesn't render the dos prompt window in 4:3? It's still 8:5 there. But if I start a 320x200 game, lsl 1 for an example, then the screen renders at 4:3 (4:3.125).
Issun
Newbie
 
Posts: 9
Joined: 2019-4-06 @ 09:54

Re: DOSBox ECE (for Windows & Linux)

Postby FulValBot » 2019-4-06 @ 16:25

That window is a resolution of 640x400 scaled to a 1280x800 with your display

i don't have tested borderless mode for now and i'm using an old version of DOSBox ECE

edit: tested build 4202, and yes... in the spash screen i see that resolution of 640x400 scaled to a 1280x800, and it's wider... (this with both fullscreen and borderless)

no problems with 320x200 and 640x480 games, but this only with scaler=none; with other scalers all 320x200 games are doubled to 640x400 and scaled to 1280x800...

DOSBox 0.74-2 has not a doublescan feature (and this with all scalers), DOSBox ECE is using it...
FulValBot
Newbie
 
Posts: 72
Joined: 2008-3-01 @ 18:43

Re: DOSBox ECE (for Windows & Linux)

Postby Issun » 2019-4-06 @ 17:00

Yeah, both my windowed/fullborderless DOS prompt is scaled to 1280x800 (i.e. upscaled from 640x400) which is a ratio of 8:5. My 'windowresolution' is set to 'desktop'. 'scaler' is set to 'none'.

The ECE readme mentions: "Whereas the standard PARs are themselves ratios of small integers, this mode will yield the exact aspect ratio, provided the output resolution is high enough for the game."

Is 1920x1080 too low a resolution to upscale (with aspect) 640x400 with the openglpp technique?
Issun
Newbie
 
Posts: 9
Joined: 2019-4-06 @ 09:54

Re: DOSBox ECE (for Windows & Linux)

Postby FulValBot » 2019-4-07 @ 07:51

Issun wrote:Yeah, both my windowed/fullborderless DOS prompt is scaled to 1280x800 (i.e. upscaled from 640x400) which is a ratio of 8:5. My 'windowresolution' is set to 'desktop'. 'scaler' is set to 'none'.

The ECE readme mentions: "Whereas the standard PARs are themselves ratios of small integers, this mode will yield the exact aspect ratio, provided the output resolution is high enough for the game."

Is 1920x1080 too low a resolution to upscale (with aspect) 640x400 with the openglpp technique?



Yes, is too low... but this is caused by doublescan; with output=surfacepp it works fine, but with that you can use only scaler=none

i'll test it soon with a different display (a 2k display)
FulValBot
Newbie
 
Posts: 72
Joined: 2008-3-01 @ 18:43

PreviousNext

Return to DOSBox Development

Who is online

Users browsing this forum: No registered users and 2 guests