VOGONS


First post, by Knito

User metadata
Rank Newbie
Rank
Newbie

DBFrontend is a new windows frontend for DOSBox.
It manages DOSBox projects, screenshots, documentation data links and weblinks for the projects.
It is puplic domain, free and open source.

Link to DBFrontend:
http://sourceforge.net/projects/dbknitofrontend/

Home Page:
http://www.ingoknito.de/produkte/dbfrontend/

Screenshot:
dbfrontend_shot_halve.gif

I hope you like it. Give it a try.

Gruß,
Knito

Last edited by Knito on 2004-02-21, 11:03. Edited 1 time in total.

Reply 3 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Gruß Knito,

Ich habt nicht dein frontent geprüft, nur der Pascal kode examiniert.

No, I think I better switch to English - it would take me 2½ hour to construct a readable answer in my very rusty German 😀

With the Knito DBFrontend we have 3 (soon 4) DOSBox frontend to choose from:

  1. DoBoxFro by SLRHUI
  2. A new, upcoming frontend (to be called?? DB Game DB?) by MabusRaeen
  3. Boxer by P-J
  4. DBFrontend by Knito

The original frontend, DoBoxFro v. 0.45, is in my view dead and obsolete 😵 The interface is a litle archaic, it can not handle paths with spaces, and it has not been updated to support any new settings since DOSBox 0.58(?). I used it for a few days, and while it did allow me to play around with DOSBox settings, I soon abandoned it, and have since hand-edited my configurations.

Rest in peace, DoBoxFro...

Boxer 0.61.4 looks the part! 😎 The interface looks very much like the normal Windows PIF Manager and the VDMSound LaunchPad.

DBFrontend v. 0.5.6A different interface - that someday will need a redesign. As the set of DOSBox options grow, the single-line, tabbed interface, will outgrow most desktops. I also noticed an old friend: DBFrontEnd do not like spaces in the paths... 🙁

As I said, I have gotten used to hand-editing my DOSBox configurations, so I have not tried Boxer and DBFrontend. I looked at the DBFrontEnd source because I was interested in seeing how it supported such a fast-moving target as DOSBox. And the sad answer is: It does not. Section names, settings names, and settings values, are all hard-coded into DBFrontEnd.

I can understand this method, as it makes the frontend simpler. But it also requires constant updates, tinkering, rebuilds and end-user installs, if it is to support any new DOSBox features.

The best method to solve this would be if DOSBox could export its supported configurations in a slightly more machine-readable format. The INI-file format currently used is machine-readable, but a lot of valueable information, e.g. alternate settings are hidden behind the universal '#' comment character:

[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:auto,hercules,cga,tandy,vga.
# Try a specific type if your game has problems with auto.

language=
machine=auto
memsize=16

With a little redesign of the generated configuration file, a frontend could dynamically pick up not only the section names and the current defaults, but also all the available alternatives.

[ dosbox ]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:auto,hercules,cga,tandy,vga.
# Try a specific type if your game has problems with auto.

language_options=word:english,spanish,german
machine_options=word:auto,hercules,cga,tandy,vga
memsize_options=int_range:16,256

language=
machine=auto
memsize=16

But let us face it: This method is a hack. A nice hack, since it requires very few changes to the DOSBox code, it is backwards compatible, and promises a future where better things exists.

I noticed that DBFrontEnd uses its own special configuration sector, [ general ], to keep track of items such as projectdir, manualfile, and wwwsite.

Again, it works, but it is a hack. A different frontend will have to adapt to the format of the 'general' section and any new configuration item could break other frontends.

So, where does all this lead, you ask? For one, I urgently ask that the programming leads from DOSBox and the frontends, start to communicate and synchronise the use of the current DOSBox configuration file. The DOSBox team needs to inform the frontend authors about new sections and settings, and the fronters need to inform the DOSBox team on their (mis)use of the configuration file for storing frontend-private information.

But this is just a stop-gab meassure. The real way forward lies, in my humble opinion, to define a common XML-DTD to be used by DOSBox and the frontends for its configuration file. An XML file (validated against the DTD) is always readable by a program, and also (in a pinch) readable by a human. If necessary, an XSL-translator can easily convert the XML-file to an INI-file, or into a nice-looking HTML-file. Similar, a generic XML-editor can, with access to the DTD, provide a - not a top notch, but usable - editing environment.
--
MiniMax - "Shutting the XML up now!"

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 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
robertmo wrote:

It doesn't work correctly in 800x600.
Not all menus are visible.

Yes. But you can resize it to fit on your screen and it will save that settings. Seems as if I have to redesign a bit.

Gruß,
Knito

Reply 5 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
robertmo wrote:

It also always uses my dosbox.conf, instead of configurations made with it.

Yes, again.
DBFrontend always loads the dosbox.conf as a default to start with.
All settings are loaded from dosbox.conf because I assume the basic configuration is mostly a good guess for a new setting.

Gruß,
Knito

Reply 6 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
MiniMax wrote:

Gruß Knito,

Ich habt nicht dein frontent geprüft, nur der Pascal kode examiniert.
...

Hi MiniMax,
thanks for the review. Yes I do not like spaces and so does DBFrontend. DBFrontend still is in alpha stage but already working satisfactorily.
It can change in many ways (and already did a little since the last release).

I like your idea of an ini file that contains the type and predefines for the configuration values. A good frontend could parse it and build up all visual configuration elements dynamically and would be up to date with every release of DOSBox.

Yes, I misuse the project ini file to store some hidden information (hidden from DOSBox with #-chars). I was surprised when I first tried the new section and the items where not hidden: DOSBox does not like this!
The parser seems to read whatever it finds, even if the value is not needed. Or is the name "General" a not so good name for my section?
Thinking of that "dbknitofrontend" would more likely have been a guess that nobody else but me would have chosen.

The next step willl make DBFrontend multi-language capable. Maybe someone translates my English to English. 😊

Gruß,
Knito

Reply 7 of 27, by robertmo

User metadata
Rank l33t++
Rank
l33t++

DBFrontend always loads the dosbox.conf as a default to start with.

I am not talking about starting. Let's take your screenshot at the top of this thread as an example.
If I double click on XCOM it starts the game, though it always uses cycles=2500, machine=auto. It doesn't use XCOM-TFTD.ini file created with your frontend

Reply 10 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
robertmo wrote:
Knito: you must use this command in your frontend: dosbox -conf "d:\program files\dbfrontend\xcom.ini" […]
Show full quote

Knito:
you must use this command in your frontend:
dosbox -conf "d:\program files\dbfrontend\xcom.ini"

not this:
dosbox -conf d:\program files\dbfrontend\xcom.ini

Thank you very much for examining so deeply the source of the error.
I will change it at this second. You know, I install everything to C:\Programme and there are no spaces within the path.
DBFrontend will become the smallest frontend for DOSBox on the desktop: The new version (not uploaded yet) will be able to cut off the configuration area.

Gruß,
Peter

Reply 11 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie

I have uploaded a new release of dbfrontend. This version is 0.0.5.8.
Here are the changes:
changes to dbfrontend 0.0.5.8

* No more buttons, they went to a new menu.

* Remember the last project used and reload it on startup.

* The snapshot image becomes less important and smaller and goes into the bottom left corner. This was done in order to waste less space and to fit on a 800x600 screen.

* New menu sections for all project tabs. Of course, all menus are new now, but "Sections" did not exist before and the buttons in "File" and "View" did.

* Hide the DOSBox settings away by moving the splitter bar or using the "View" menu "Show / Hide DOSBox settings" to gain more space for the configuration area.

* DBFrontend becomes the smallest frontend available with the new feature "Show / Hide configuration area". Now there is also some space left on 800x600 screens: 640x480 here I come!

* Menu translated to 3 languages: English, German and French.

* And, of course: Double quoted the dangerous path strings in the dosbox starting command. Thx robertmo.

Gruß,
Knito

Reply 12 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Knito, while you still "in the zone" hacking away at DBFrontEnd, consider changing your version numbering scheme to the same scheme adapted by Boxer. That is, the version number of the frontend includes the version of DOXBox that it supports. E.g. your current DBFrontEnd is 0.0.5.8 (not sure what all the zero's are for ...). You could change it to 0.61.5.8, indicating that it supports all the settings of DOSBOX 0.61.
--
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 13 of 27, by MabusRaeen

User metadata
Rank Newbie
Rank
Newbie

It seems we have a Front end war soon to erupt.

Well I'm back from a weekend away so tomorrow I can do some coding again.

BTW Game DB isn't the name of my frontend. I don't have a name for it at the moment.
Although I'm playing with the name D-fend.

(D)osbox-(F)ront (END).

Not sure yet though.

Reply 14 of 27, by Jiri

User metadata
Rank Member
Rank
Member

Thank you, Knito, DBFrontend is very good and I really like it. Minor things I miss are:
a) When I create a new project and then click on open snapshots directory icon, I´m in the C directory, not in C:\Program Files\DBFrontend\snaps\gameX directory where I would like to be. Maybe would be also nice, if the first taken snapshot (by ctrl+F5) was loaded automatically as the project picture.
b) I would rather run the project by pressing Enter instead of Ctrl+R.
c) Possibility to create project´s shortcut icon on the desktop.

Reply 15 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
MiniMax wrote:

...You could change it to 0.61.5.8, indicating that it supports all the settings of DOSBOX 0.61. ...

Hi MiniMax,

DBFrontend is still in alpha stage and as you already remarked, it is a hack.
I am thinking about extern configuration scripts, allowing to follow the changes of DOSBox versions by not re-writing the program, but generating a new configuration script with a text editor like notepad. This script then should have the correct DOSBox version number and will be plugged in at the DOSBox configuration section of the program.
It will be possible for anybody to quickly adopt DBFrontend to a new environment using his notepad.

Gruß,
Knito

Reply 16 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
Jiri wrote:
Thank you, Knito, DBFrontend is very good and I really like it. Minor things I miss are: a) When I create a new project and then […]
Show full quote

Thank you, Knito, DBFrontend is very good and I really like it. Minor things I miss are:
a) When I create a new project and then click on open snapshots directory icon, I´m in the C directory, not in C:\Program Files\DBFrontend\snaps\gameX directory where I would like to be. Maybe would be also nice, if the first taken snapshot (by ctrl+F5) was loaded automatically as the project picture.
b) I would rather run the project by pressing Enter instead of Ctrl+R.
c) Possibility to create project´s shortcut icon on the desktop.

Hi Jiri

do you really use the new version as of 0.5.8 ???
Here is a screenshot:

dbfrontend_shot_halve.gif

a) with version 0.5.8? I already was thinking about automatically loading the first snapshot, it would be easy to do. But I think there are reasons not to do it.
b) hmm ... I will remember this
c) a projects shortcut? Kewl idea!

Gruß,
Knito

Last edited by Knito on 2004-02-23, 06:43. Edited 2 times in total.

Reply 17 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie
MabusRaeen wrote:
It seems we have a Front end war soon to erupt. […]
Show full quote

It seems we have a Front end war soon to erupt.

Well I'm back from a weekend away so tomorrow I can do some coding again.

BTW Game DB isn't the name of my frontend. I don't have a name for it at the moment.
Although I'm playing with the name D-fend.

(D)osbox-(F)ront (END).

Not sure yet though.

Hi MabusRaeen,

I'm curious about your frontend.

Gruß,
Knito

Reply 18 of 27, by Jiri

User metadata
Rank Member
Rank
Member
Knito wrote:

Hi Jiri
do you really use the new version as of 0.5.8 ???

Yes. The problem with .ini was fixed, but I think that the snapshot problem has still something to do with spaces in the path. If I create and save "test" project: C:\Program Files\DBFrontend\snaps\test and click on snapshots directory icon, I am in the C directory. Now if I put the path in the question marks: "C:\Program Files\DBFrontend\snaps\test" and click on the icon, I am in the C:\Program Files\DBFrontend\snaps directory. Not in the C:\Program Files\DBFrontend\snaps\test, where I would like to be, but it is at least better. 😀
Now I also noticed than when I delete the test project, the test snapshots folder remains in the snaps directory, even if no snapshots were taken. So soon could be the C:\Program Files\DBFrontend\snaps directory filled with needless empty folders. Maybe a confirmation dialog if a project is deleted "do you also want to delete the snapshots folder?" or automatic deletion of empty folders and confirmation dialog only for full folders would solve this.

Last edited by Jiri on 2004-03-04, 23:43. Edited 1 time in total.

Reply 19 of 27, by Knito

User metadata
Rank Newbie
Rank
Newbie

After killing my new experimental external config.ini yesterday I was a bit of melancolic and had to play TFTD for hours.

This happened:

First I wrote an external config script and then implemented a testmodule to read it. This worked fine and I wanted later to work on on this point. After correcting the french xml section and implementing the dektop-shortcut creator I added the return key to start and then tried to improve the deleting algorythm. Not thinking of anything I had a configuration skript config61.ini and sillily made a project config61. Deleting the empty project resulted in a loss of my configuration script which previously was overwritten by my empty project when I saved it. I could not undelete it and was *very* sad. And there was no backup of the config file which took me an hour to write. I was depressed and stopped immediatly working. Today I'm better again and rewrote the configuration script in less than 10 minutes. I thought it would be a good idea to have a ending sequence unlike ".ini" for non-project ini files and named it now config_0_61.cfg.

I uploaded a new release 0.0.5.9 to sf.net.
I think that Jiri will be pleased about the shortcut generator.

Grüße an Alle,
Knito