VOGONS

Common searches


D-Fend Reloaded (DOSBox frontend)

Topic actions

Reply 2200 of 2280, by JemyM

User metadata
Rank Newbie
Rank
Newbie

I was experimenting with the archive mount feature and with the "ease of use" philosophy in mind I felt that the setup of archives could have been smoother. Preferably I would have prefer to just pick the Program File, Setup File, Archive file and let D-Fend figure out the rest. Also the current setup destroys savefiles and such if you whipe the folder, potentially other folders too (like if you have UltraSND). If D-Fend remembered the files the archive added only and kept everything added by a game safe it would be quite nice. By using some kind of "prioritize by date" feature, updated config files and save files could be prioritized.

To make it work I had to do the following;

1. Manually find, download, install and select Archiving program. I decided to use 7z.
2. Manually add ;RAR;ZIP to the "File extensions to handle" field.
3. Manually change "Commandline for extracting an archive file" to e "%1" -o"%2"* -y (note the "*", else it extracts the files directly into C:)
4. Set the Program and Setup file "relative to the DOSBox directory".
5. Manually open the archive and find the name of the game/setup file and manually add it with a DOS formatted folder imagined from the Archive name (Like C:\Leisur~1\SIERRA.COM)

I could in theory just use the game without subfolder, so that things are extracted into the virtual C:. My gutfeeling tells me things would be more compatible if it use subfolders instead.

Okay, now roll sanity.

Reply 2201 of 2280, by lukeman3000

User metadata
Rank Member
Rank
Member
JemyM wrote:

I have teamed up with pycur to produce a library for D-Fend Reloaded, making DOS-games as accessible as frontends like MAMEUI (arcadegames), Gamebase 64 (Commodore 64) and FS-UAE (Amiga).

What it looks like

The goal is to build a library of preconfigurations with snapshots. To accomplish this we test all sorts of titles, examine their content, test them, determine the name of the executable and setup, find the cycles, set proper audiocards and capture snapshots if needed etc. If you are interested in helping out, drop pycur an e-mail at robotkuutya at gmail.com.

If I'm understanding this correctly; you're modding D-Fend Reloaded to allow for the addition of MAME and other games? So in other words, in addition to being able to add a DOSBox and ScummVM profile, you'll be able to add a MAME profile, among others?

On a somewhat unrelated subject, I just wanted to share with everyone some AutoHotkey scripts I wrote which give more control over the launching of ScummVM games from within D-Fend Reloaded. These are all compiled AutoHotkey scripts which are then added to D-Fend Reloaded as a "Windows" game (which simply allows you to launch any given .exe)

monkey-vga.exe - This is launched directly from D-Fend Reloaded as a windows game profile

#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%\..\..\..\ScummVM (1.10.0) ; Ensures a consistent starting directory.

RunWait, "..\MT-32 ScummVM.exe"
Sleep, 1500
Run, ".\scummvm.exe" "--no-console" "--config=.\scummvm.ini" "monkey-vga"
Process, Wait, scummvm.exe, 5
Process, Exist, scummvm.exe
ScummVM = %ErrorLevel%
if ScummVM != 0
{
Run, "..\AutoHotkey Scripts\4x.exe"
Run, "..\AutoHotkey Scripts\mouse lock.exe"
Process, WaitClose, scummvm.exe
Run, "..\kill.exe"
} else {
MsgBox ScummVM was unable to start
}
return

What I do is add the game to D-Fend Reloaded as a "Windows" game, and choose this compiled AutoHotkey script as the executable. The other executables that this script references do different things.

MT-32 ScummVM.exe - Starts Falcosoft Midi Player withMT-32 ScummVM preset

#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%\Sound\FSMP ; Ensures a consistent starting directory.
SetTitleMatchMode, 2

Loop = 0
MidiPlayer = 0
while Loop <= 1
{
Process, Exist, midiplayer.exe
MidiPlayer = %ErrorLevel%
if Midiplayer = 0
{
Run, ".\midiplayer.exe" ""-minimized -preset 002""
Process, Wait, midiplayer.exe, 2
Loop := Loop + 1
} else {
break
}
}
if Midiplayer = 0
{
MsgBox MT-32 was unable to start
}
return

4x.exe - Scales the game window to 1280x960, or, generally speaking, 4x its native resolution (which for most games, is not supported by ScummVM). For Monkey Island 3, this acts as a 2x scaler because its native resolution is larger than other games.

#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%\..\..\..\ScummVM (1.10.0) ; Ensures a consistent starting directory.

Process, Wait, scummvm.exe, 5
Process, Exist, scummvm.exe
ScummVM = %ErrorLevel%
if ScummVM != 0
{
Sleep, 2000
WinMove, ahk_exe scummvm.exe, , 0, 0, 1296, 999
; Sleep, 100
; CenterWindow("ahk_exe scummvm.exe")
} else {
MsgBox ScummVM was unable to start
}
return

; The following function centers the specified window on the screen:
CenterWindow(WinTitle)
{
WinGetPos,,, Width, Height, %WinTitle%
WinMove, %WinTitle%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2)
}

mouse lock.exe - Automatically locks the mouse to the ScummVM game window first receives focus (also not natively supported by ScummVM)

#NoTrayIcon
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

Sleep, 2000
WinActivate, ahk_class Shell_TrayWnd
WinWaitActive, ahk_exe scummvm.exe

Lock:
{
Send {Ctrl down}
Sleep, 10
Send m
Sleep, 10
Send {Ctrl up}
}
return

I want to keep working on mouse lock a bit so that it will continue to run even if the game window loses focus, and re-lock the cursor to the window once more when it receives focus (until the game is closed). I also want to add a function which will lock-unlock the cursor using ctrl+F10 in addition to ctrl+m (to mirror DOSBox functionality).

One of the main advantages to launching a game in this way is that it gives you the ability to launch things in order while being able to wait a precise amount of time between commands. This is especially useful to ensure that Falcosoft Midi Player is fully initialized before the game launches. Otherwise, this is just a bunch of quality of life stuff. I'm putting together a portable collection of my favorite games using D-Fend Reloaded and focusing on aesthetics and ease-of-use.

Here's a demonstration of all these scripts working together to create a very seamless experience for the user. Here's what happens:

1. Falcosoft Midi Player is first launched by referencing a preset configured for Munt MT-32 VST (watch the taskbar during the video demo)
2. Game is launched
3. Game window is resized to 1280x960 (4x Monkey Island 1's native resolution)
4. Mouse automatically locks to game window upon first receiving focus
5. Falcosoft Midi Player is automatically closed when game is closed

As you can see, launching the desired game, fully-configured, is just a double-click away. By the way, my desktop resolution is 2650x1440. ScummVM natively only scales to 3x, which looks fairly small on my monitor for games like Monkey Island 1 which have a native resolution of 320x240. At 1280x960 (or 4x), the game window is a little more comfortable to view at my desktop resolution. The cool thing is that you can go higher if you want; just have to edit a couple numbers in the AutoHotkey script.

Reply 2204 of 2280, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Alexander seems to have disappeared a year and a half ago, but I thought I should report an issue:

D-Fend Reloaded uses a simple lexical sort on the date column, but allows varying date formats such as year+month+day and just year. In locales where year is not the first component of a date, this often ..results in a useless sort order.

Reply 2205 of 2280, by dor123

User metadata
Rank Newbie
Rank
Newbie

D-Fend Reloaded won't run with the lastest version of DOSBox-x (0.82.4). When I change the custom DOSBox installation to that of DOSBox-x in the profile of one of my games, it would crash with the message: E_Exit Can't init SDL No available video device.

DOSBox 0.74-3
D-Fend Reloaded 1.4.4
DOSBox Game Launcher v0.97
Windows 10 Enterprise 64-bit version 22H2

Reply 2206 of 2280, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
dor123 wrote:

D-Fend Reloaded won't run with the lastest version of DOSBox-x (0.82.4). When I change the custom DOSBox installation to that of DOSBox-x in the profile of one of my games, it would crash with the message: E_Exit Can't init SDL No available video device.

D-Fend Reloaded hasn't seen any updates for a while. You may be better off reporting it to the DOSBox-X maintainer(s).

Reply 2207 of 2280, by lwchk

User metadata
Rank Newbie
Rank
Newbie
HunterZ wrote:
dor123 wrote:

D-Fend Reloaded won't run with the lastest version of DOSBox-x (0.82.4). When I change the custom DOSBox installation to that of DOSBox-x in the profile of one of my games, it would crash with the message: E_Exit Can't init SDL No available video device.

D-Fend Reloaded hasn't seen any updates for a while. You may be better off reporting it to the DOSBox-X maintainer(s).

I am discussing about this with the DOSBox-X maintainer. See https://github.com/joncampbell123/dosbox-x/issues/641.

Anyway, I've found a method to run the SDL1 version of DOSBox-X. Here's the details:

  1. Extract DOSBox-X
  2. Go to "bin/x64/Release" (Win32 is also okay, but don't choose any SDL2 binary.)
  3. Rename dosbox-x.exe to dosbox.exe
  4. Go to "Program Settings" -> "External programs" -> "DOSBox"
  5. Make sure you are in advanced mode (see the picture below).
  6. Add DOSBox-X as one of the DOSBox installation (modifying the default is okay).
  7. Click "More Settings for this DOSBox installation. (See the picture below. If you don't see this button, then redo step 5).
  8. Set "SDL videodriver" to "Win DIB" (see the picture below.)

Note: If DOSBox-X doesn't start, you'll be presented a dialog to change settings. DON'T DO THE SETTING TO WINDIB THERE. IT DOESN'T WORK.

Steps 5 and 7
7kfahTj.png

Step 8
17ctnVB.png

Reply 2208 of 2280, by dor123

User metadata
Rank Newbie
Rank
Newbie

I produced all steps, and the DOSBox-X stuck into a loop in its initial screen, and don't works.

DOSBox 0.74-3
D-Fend Reloaded 1.4.4
DOSBox Game Launcher v0.97
Windows 10 Enterprise 64-bit version 22H2

Reply 2210 of 2280, by JemyM

User metadata
Rank Newbie
Rank
Newbie
lukeman3000 wrote:

If I'm understanding this correctly; you're modding D-Fend Reloaded to allow for the addition of MAME and other games? So in other words, in addition to being able to add a DOSBox and ScummVM profile, you'll be able to add a MAME profile, among others?

No. What we set out to do was to build preconfigurations and information for every DOS game and the ability to identify them automatically. I am not building a fileset, just information. A similar effort have been done for other systems, like MAME, Gamebase 64 and FS-UAE. 6 months later I have taken a huge leap towards achieving this. About 5000 games and a bit over 1000 CD-titles are identified automatically and I am triangulating it with a second database that supports 18000 variants. But D-Fend Reloaded can't handle the database due to memory restrictions that make it crash after a few hundred profiles. Luckily the database is portable, which was my plan from early on. That means that the information is easily converted to other launchers.

Okay, now roll sanity.

Reply 2211 of 2280, by ConjurerDragon

User metadata
Rank Newbie
Rank
Newbie

Perhaps a stupid question, but do I need to keep D-Fend running once I have started a game with it?

I mean e.g. Railroad Tycoon Deluxe, started within D-Fend, opens DOXBOS - can I close the D-Fend window at that time and the DOSBOX keeps working?

Reply 2212 of 2280, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
ConjurerDragon wrote:

Perhaps a stupid question, but do I need to keep D-Fend running once I have started a game with it?

I just did a test to be sure, and DOSBox keeps running when I close D-Fend Reloaded after launching a game via the latter.

Reply 2213 of 2280, by dor123

User metadata
Rank Newbie
Rank
Newbie
lwchk wrote:
I am discussing about this with the DOSBox-X maintainer. See https://github.com/joncampbell123/dosbox-x/issues/641. […]
Show full quote
HunterZ wrote:
dor123 wrote:

D-Fend Reloaded won't run with the lastest version of DOSBox-x (0.82.4). When I change the custom DOSBox installation to that of DOSBox-x in the profile of one of my games, it would crash with the message: E_Exit Can't init SDL No available video device.

D-Fend Reloaded hasn't seen any updates for a while. You may be better off reporting it to the DOSBox-X maintainer(s).

I am discussing about this with the DOSBox-X maintainer. See https://github.com/joncampbell123/dosbox-x/issues/641.

Anyway, I've found a method to run the SDL1 version of DOSBox-X. Here's the details:

  1. Extract DOSBox-X
  2. Go to "bin/x64/Release" (Win32 is also okay, but don't choose any SDL2 binary.)
  3. Rename dosbox-x.exe to dosbox.exe
  4. Go to "Program Settings" -> "External programs" -> "DOSBox"
  5. Make sure you are in advanced mode (see the picture below).
  6. Add DOSBox-X as one of the DOSBox installation (modifying the default is okay).
  7. Click "More Settings for this DOSBox installation. (See the picture below. If you don't see this button, then redo step 5).
  8. Set "SDL videodriver" to "Win DIB" (see the picture below.)

Note: If DOSBox-X doesn't start, you'll be presented a dialog to change settings. DON'T DO THE SETTING TO WINDIB THERE. IT DOESN'T WORK.

Steps 5 and 7
7kfahTj.png

Step 8
17ctnVB.png

I downloaded the lastest Dosbox-X 0.82.7, and now this procedure working. But I still can't operate Dosbox-X for each game profile separately in the custom Doxbox installation.

DOSBox 0.74-3
D-Fend Reloaded 1.4.4
DOSBox Game Launcher v0.97
Windows 10 Enterprise 64-bit version 22H2

Reply 2215 of 2280, by Deffnator

User metadata
Rank Member
Rank
Member

Somehow D-Fend inst installing or even running the WIndows95/DOS version of AH-3 Thunderstrike Air Assault
it installs but it says that there's no folder, but when i look at it is there, i had to change the directory from games/th2 to tgh2 only, and if i try to run, it crashes.

also "Error reading data from http://www.mobygames.com" every time when i try to get info from a game

Reply 2217 of 2280, by rcblanke

User metadata
Rank Oldbie
Rank
Oldbie

TheGamesDB have radically changed their API, while Mobygames has switched to using HTTPS (port 443). I suspect these changes have broken this function in D-Fend (like they did DBGL). You may want to try to contact the D-Fend author or find someone to pick-up maintenance of the application.

Reply 2218 of 2280, by Avenger

User metadata
Rank Newbie
Rank
Newbie

I've been using DOSBox for a few years now and it works great but am growing tired of either entering command lines or adding them to the end of the config file so I figured the D-Fend Reloaded front end would be a good option to have all my games pre configured and accessable with only a couple of mouse clicks.

The problem I'm having is that I can't figure out where everything needs to be placed to load games that need more commands then just simply running a executable.

For example "Terminator - Future Shock" needs the following to run with how my folders are set up:

mount c "c:\program files\dosbox\games\terminator"
imgmount d "c:\program files\dosbox\games\terminator\skynet\image\skynet.img" -t iso
c:
cd skynet
skynet.exe
exit

How do I replicate this in D-Fend? Where does each command get entered?

All help is appreciated.

Cheers.