VOGONS


New frondend

Topic actions

First post, by MabusRaeen

User metadata
Rank Newbie
Rank
Newbie

I'm planning on building a new frontend for DosBox.

I have a few ideas on how to do this. But I could always use some input.
First, some things that I am planning.

- EVERYTHING that DosBox offers as a configuraton option will be available through the GUI of the frontend. By setting defaults you can make your life a lot easier.

- A per game profile which is build using a wizard. EVERYTHING that DosBox offers as a configuration option is manageble per game with this wizard. However, by configuring default options you can click through the wizard quite fast. In an ideal situation you only have to enter something in 3 screens.

- The ability to start games using the frontend (doh)
However I'm thinking about doing this a little different. I'm planning on having the frontend close (to save resources) at game launch and open when you close dosbox.

- Exporting a game profile.
When you have a working configuration why not share it?

- The ability of creating a shortcut of a gameprofile on your desktop.
Saves you the trouble of having to boot to frontend.

- The frontend will be properly documented with a help file (chm)

- The frontend will be distributed with a setup program.

- It won't cost you a dime.

If anyone has any good idea's. Please, do share.

Input please!

Reply 1 of 8, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I am already looking forward to it 😀
One thing I would like to see, is the possibility of exporting only the changes relative to the default DOSBox configuration.

A dummy run of DOSBox, with an completely empty dosbox.conf and "config -writeconf P:\ath\to\some\temp\dir\default.conf" on the command line, will give you a configuration file with the current defaults for whatever version of DOSBox that is installed, right?

So the frontend would need to compare the customised settings to the defaults, and only write out a mini-config with the changes. For some games, this will be as simple as (beware: example only - writing from memory):

# Mini-config for: "Attack of the Killer Bees"
# Generated by: The New FrontEnd v. 1.0
# Platform: Gentoo 1.2.3, DOSBox 0.82
#
# Rem: And here would be a little comment text entered through
# Rem: the frontend, describing the configuration.

[dosbox]
core=dynamic
ems=false
[sdl]
machine=cga

As you can see, I have also imagined that the frontend would create a little comment section at the top, documenting a little bit about how and where the configuration was generated. And the user making the export, should be able to add/save a few lines describing the configuration, perhaps with contact information?
--
MiniMax

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 2 of 8, by MabusRaeen

User metadata
Rank Newbie
Rank
Newbie

MiniMax.

Good point. I like it 😀

However the problem is that people's default configuration might differ a LOT.

e.g. Whether or not you want a game to start in full screen is tricky bussness.

What about sound settings, someone else's game configuration might differ a lot.
Say I play a Game using the soundblaster emulation and you prefer the gus emulation. In that case my Gus config is useless to you, you'll still have to configure the game manually. There's no way around that.

However there are settings that are quite relevant to game performance. Namely Cycles. I actually had the chance to experiment with this using two totally different computers (2 ghz and 1 ghx). On my machine this particulare game ran perfect at 6500 (2 ghz 512 mb). On my buddies machine the Game ALSO ran perfect at 6500. But it was slower machine with LESS memory.

This tells me the following. If you have a working config. It'll work for ANYONE. (well I hope so)

So when it comes to exporting I have to following idea. (which is very much inspired by you comment)

Export:
Title
Cycles
Mem settings (amount, XMS?, EMS?)
And maybe some other settings as well.

As to implementing IMPORTING well, I'm already planning on using a wizard that defauls to your OWN configuration. So why change that? Say you import a Game profile and the Add Game wizard pops up with all those neat little tweaked settings already loaded and ready. All you'll have to do from that point is configure your own personal settings (like the game's folder, etc)

Hmmm yes I can see this happening 😁

Thanks for the input. Great idea, made me rethink things.

Reply 3 of 8, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I think I understand were our goals differ.

You want a frontend that works well with a given persons default configuration (like GUS as the prefered sound emulation, cycles, etc). The export will be the changes as they apply to a personalised default config.

Let us call this the base config.

You are correct in your analysis, that such an diff-export will be useless to anyone that do not have a copy of the base config.

I want to use the frontend to generate an diff-export than records the changes to a non-personalised base configuration (the defaults built into a given version of DOSBox).

Since everyone with the same version of DOSBox also has access to the same base config, the diff-export will be useful to them - as long as it contains just the minimum set of changes needed to succesfully run the game. And the changes should only apply to DOSBox itself (as you said, amount of memory, XMS, EMS, cycles, core, ...)

In that respect, GUS is a bit problematic, since it also requires that you have installed the GUS patches in DOSBox.

Luckily, both goals can be accomplished with the frontend.

If the default is to create a diff-export that is only useful for you (with your personalised base config), then that is fine with me.

I can still use the diff-export. I will just initialise my base config to be identical with the built-in defaults, manually apply the changes that I can easily identify in your diff-export (leaving out GUS, screen settings, and other non-essentials tweaks), and then make my own diff-export, as it applies to a standard DOSBox installation.

When the next newbie passes by and asks how to configure his/her clean DOSBox installation for a given game, I can just point him/her to a 4 line diff-export and say: "Load this into the frontend, and it is garaunteed to work".
--
MiniMax

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 4 of 8, by MabusRaeen

User metadata
Rank Newbie
Rank
Newbie

Hmmmmmm.....

I think exporting and importing is going to be VERY interesting.
However I have to make the whole bloody thing work.

With a little luck I can start coding tomorrow, I'm a little pressed for time today.

Reply 5 of 8, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Will there be a boxing fight, or friendly feature competition?

Boxer, a new DOSBox frontend

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 8 of 8, by MabusRaeen

User metadata
Rank Newbie
Rank
Newbie

I've started coding the new frontend yesterday.

Work is progressing nicely.

I might post some screen shots of the userinterface this evenening.
If I get around to it that is.