-
Posts
50 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
dominikabra's Achievements
16-Bit Artificial Intelligence (4/7)
5
Reputation
-
Since most of what's being served is static content, have you considered some sort of CDN? The caching at edge would definitely improve download speeds for multiple regions and there are reasonably priced options out there.
-
Disclaimer: This thread aims at providing some useful hints for those who aim at creating/curating their own MS-DOS game collection. It contains MY opinion and suggestions, but as everything in this universe, there's bound to be room for improvement. Regarding the "avoiding vendor lock-in": I own a lifetime license for LaunchBox and plan on using it for a VERY long time. However, only God knows what will happen, so better safe than sorry. Preface: I though I could make a little tutorial with some of the knowledge I've gathered about making your own collection of MS-DOS games to run with DOSBOX and Launchbox (at least, for now). Needless to say, eXoDOS is an unbelievable effort/project that will make your life easier than cutting hot butter if its contents suit you: basically, being an English speaker and accepting the so-called "best version" of a game as the one you would definitely play. If so, you've hit the greatest jackpot. (Almost) all MS-DOS games ready to play and integrated in Launchbox. OK, some of them have missing art, but that's something minor considering the effort eXo and the team have put into the collection and YOU will have to put into it (basically zero). Huge thanks to eXo and the team (absolute madmen)! Introduction: Now for the content itself. I used to use D-FEND Reloaded as my front-end for DOS games back in the day. While it made things easy and convenient, it was abandoned and I was stuck with some proprietary way of configuring and executing games and their corresponding configurations. Porting to Launchbox (or any other front-end) was not trivial and would require some (a lot of) tinkering. Another Launchbox user mentioned they were using a .BAT to launch every game and it turned out to be a great solution, triggering my current collection "architecture". Like in the certificate realm, "you have to trust somebody in the end". So I will be trusting DOSBOX and its multiple forks will be around for quite a long time. If somehow all of them get discontinued, you can always create a Virtual Machine with whichever O.S. you're using (I'm a Windows guy) and fit all your stuff in there. That being said, let's get to business. Best Practices and avoiding vendor lock-in: As I said, using D-FEND (or any other front-end) was convenient but not future proof at all. Using a simple .BAT will allow to launch any game using a simple menu. You will be wondering, "eXoDOS already does that so why bother?" Well, I'm a spaniard and I've grown with spanish versions of many games. Even though I'm quite able at english, I'd rather play the games the way I played them I-don't-want-to-remember-how-many-years ago. This is why I gather the english (usually the original version) and spanish version of the games (if available). Same would apply to any non native English speaker. It's a matter of preference. Also, I want to have both the floppy and CD versions of games (if existed), with and without expansions that changed gameplay, with and without speech packs, etc. to compare and enjoy both. On collections like eXoDOS (major Kudos again) that's not possible since there's usually only one "best" version of each game. 1 - Naming conventions: Launchbox will ignore anything in the game's folder name that's between parenthesis, so I chose to put the year, language, media and graphics version in there. Games such as Sierra and LucasFilm/LucasArts had AGI/SCI or EGA/VGA versions, so that would allow me to tell between them. An example: The Secret of Monkey Island (1991) (Spanish) (Floppy) (EGA) This allows telling at a glance the year (if multiple games with the same or very similar name were created), language (mainly english or spanish, although there may be some MULTI3 or MULTI5 games), media (floppy or CD version) and graphics (CGA, EGA, VGA, SVGA, AGI, SCI, etc.). This also allows to drag and drop your games inside LaunchBox so it can recognize and scrape them for automatic media download. Inside each game's folder there's a "C" folder (mounted as "C:") containing the installed game, a "Disk" folder (mounted as "D:") containing ISO images, floppy images, patches, etc. in their original form and an "Extras" folder containing manuals, guides, copy protection wheels, etc. This is the only part I will use LaunchBox's native feature to open the manual by providing the path. 2 - .BAT structure for avoiding "vendor lock-in": This is aimed at providing a solution that's agnostic to the front-end you will be using. I can simply navigate to the corresponding folder and double click on the game's .BAT to launch it from within Windows Explorer. But, like many, I like things pretty and my OCD FORCES me to use LaunchBox and its beautiful cover layout, so I tell it to use that .BAT instead of the game's own executable. Of course, you will have to disable the option that makes LaunchBox use DOSBOX for the game since you will be already launching it through the .BAT/.CONF files. Such .BAT is calling a .CONF file that will load the desired DOSBOX version (vanilla, ECE, Staging, Pure, etc.) depending on the best results along with a default .CONF file (that holds the main and common parameters for every DOSBOX game) and a secondary .CONF file that allows overriding some of those parameters. I like games with original aspect ratio and use "openglnb" renderer for (near) pixel perfect results. Also, ECE integrates Munt emulator and 3Dfx support so there's nothing else required (apart from an initial system wide Munt-32 installation pointing at the ROM files). In case you want to use Sound Canvas, a Fluidsynth soundfont will also have to be installed in your system. @ECHO OFF ..\..\..\DOSBOX\ECE\DOSBox.exe -conf ..\..\..\DOSBOX\ECE\common.conf -conf "Monkey Island.conf" As you can probably tell, I'm making this portable and path relative to the current location. You will only have to be consistent about the DOSBOX and GAMES folders locations. In my case, the folder structure looks like: The .BAT is located inside each game folder (in this case, inside "The Secret of Monkey Island (1991) (Spanish) (Floppy) (EGA)" ) so it goes up 3 folders and then enters the DOSBOX\ECE folder to use the "Enhanced Community Edition" executable using the "common.conf" file located in the same folder. The last .CONF file ("Monkey Island.conf") contains the overrides and specific mounts for the game (in case you need to mount a CD image, for example). In case you ever wanted to switch from ECE to any other fork, some "find and replace" using Notepad++ makes it easy to change the configuration in all .CONF files with a single click. The contents of the second .CONF are: [autoexec] # Lines in this section will be run at startup. # You can put your MOUNT lines here. @echo off mount c .\C imgmount d .\Disk\Secret.cue -t iso c: Launch.bat In this specific game, we need the C drive, the ISO image mounted and calling for the game launcher "Launch.bat". This is named the same in every game to avoid unnecesary overhead. The contents of the "Launch.bat" that allows to launch the game with some options and also launch the setup. This "Launch.bat" will vary and can become really time consuming if you want all the bells and whistles MS-DOS had but DOSBOX doesn't. For instance, "CHOICE" menus are limited and require some (a lot) extra steps to work like you would want them to. Now again, why bother doing that? Well, in my case I want to be able to configure the game in every possible way using any graphics configuration and sound card type. The reasoning behind that is making the procedure as modular and layered as possible, so having to change one of the "layers" (if ever required) is as hassle free as possible. That's why there's a "Monkey Island.bat" that launches the desired DOSBOX version, and loads two .CONF files (one overriding some parameters of the other) which launches another "Launch.bat" which will prompt with a launch menu and in the end, will launch the game (or setup). @echo off d: :menu cls echo. echo ************************************************** echo * The Secret of Monkey Island (CD) * echo ************************************************** echo * * echo * [1] Play game (Spanish) * echo * [2] Play game (English) * echo * [3] Play game (German) * echo * [4] Play game (Italian) * echo * [5] Play game (French) * echo * * echo * [9] Exit * echo * * echo ************************************************** echo. choice /c:123456789 /N if errorlevel 9 goto end if errorlevel 8 goto menu if errorlevel 7 goto menu if errorlevel 6 goto menu if errorlevel 5 goto italian if errorlevel 4 goto german if errorlevel 3 goto french if errorlevel 2 goto english if errorlevel 1 goto spanish :spanish cd SPANISH MONKEY.EXE goto end :english cd ENGLISH MONKEY.EXE goto end :german cd GERMAN MONKEY.EXE goto end :italian cd ITALIAN MONKEY.EXE goto end :french cd FRENCH MONKEY.EXE goto end :end exit This launcher allows selecting the language to be used for the game by changing into the corresponding folder inside the CD and launching the game for such language. Easy peasy. This could do (almost) anything you can think of it you used a little DOS scripting back in the day. It looks like: Thus, by pressing the corresponding number you can launch the desired game version. That would allow to launch the "setup" executable (if any) and configure graphics, controls, sound, etc. 3 - Combining multiple games: In case you have multiple versions of the same game, you definitely should use the "Combine" feature built into LaunchBox. That will allow you to select a default version to launch when double clicking and also the other versions with a simple right click. In my case, for instance, I have 5 different versions of "The Secret of Monkey Island": So I can choose from them by right clicking on the game: Such configuration can be also performed using the "additional apps" menu inside each game. Note the "make default" (self explanatory) button at the bottom right: That being said, it's everything I wanted to cover. Hope this helps somebody!
-
Hi @C-Beats, just submitted the bug through Bitbucket using the default options (priority = major, which sounds it could be a bit too much). Thanks!
-
Hi there! I wanted to point out a bug that's been present for some time (unless I'm doing something wrong). When I try to import DOS games by drag and dropping, I get to the window where I am offered to choose the "Startup File" to be used. Launchbox scans for executables inside the game's folder and lists them in a drop down menu. Thing is, no matter which one I choose, Launchbox always reverts to the one it had assumed was the correct one. In my case, I'm using a .BAT file for each DOS game with a simple startup menu, and I want that one to be used for launching the game. Please see screenshots: By default, Launchbox goes for the first (usually) "launch.bat" which is present in each and every game I'm curating (my own simple startup menu). In this case "Ultima Underworld 2.bat" is the desired entry point which calls the specified DOSBOX version (Vanilla, ECE, Staging, etc.) and loads the default config file, adding the game's specific config file for potential overrides and fine tuning. See the import result where the import wizard has ignored the input indicating the "startup file" and reverted to its initial finding, forcing me to manually change the "application path" to the desired .BAT. Thanks for this wonderful piece of software!
-
MS-DOS Game Installation Wizard - Game Troubleshooting
dominikabra replied to Jason Carr's topic in Troubleshooting
@Zombeaver Sorry to bother you but is this thread still relevant? Should I report the bug elsewhere? Thanks! -
MS-DOS Game Installation Wizard - Game Troubleshooting
dominikabra replied to Jason Carr's topic in Troubleshooting
Hi there! I wanted to point out a bug that's been present for some time (unless I'm doing something wrong). When I try to import DOS games by drag and dropping, I get to the window where I am offered to choose the "Startup File" to be used. Launchbox scans for executables inside the game's folder and lists them in a drop down menu. Thing is, no matter which one I choose, Launchbox always reverts to the one it had assumed was the correct one. In my case, I'm using a .BAT file for each DOS game with a simple startup menu, and I want that one to be used for launching the game. Please see screenshots: By default, Launchbox goes for the first (usually) "launch.bat" which is present in each and every game I'm curating (my own simple startup menu). In this case "Ultima Underworld 2.bat" is the desired entry point which calls the specified DOSBOX version (Vanilla, ECE, Staging, etc.) and loads the default config file, adding the game's specific config file for potential overrides and fine tuning. See the import result where the import wizard has ignored the input indicating the "startup file" and reverted to its initial finding, forcing me to manually change the "application path" to the desired .BAT. Thanks for this wonderful piece of software! -
You've really given it a lot of thought, and that's even more #RESPECT worthy. Sorry I couldn't be of more help, was just trying to give some fresh and unbiased ideas. But it's obvious you've already been there. On a side note, I don't know if there's anything that will be totally future proof. Everything is bound to become obsolete at some point and maybe we will be running DOSBOX inside a VM with Windows 10 in the future, who knows. I was suggesting the idea but wasn't aware of the "tech support" drawbacks you mentioned, so I guess, as always, there's a compromise to be achieved. Last but not least, if you need any help at some point making a translation to Spanish, you can count on me. It's pretty clear the technical field of the project is way out of my league ?
-
There has to be some caveat to a project of this magnitude. I would gladly install "some more rubbish" in my computer if that allowed me to have a ¿Win9xO? collection up and running. Being portable is really nice if possible, but life's far from perfect. Sometimes the ideal can't be achieved and we have to settle for something less "perfect". Anyway, you're doing a truly INCREDIBLE job and I profoundly admire you for having started and brought it to maturity and the rest for helping make it even greater. You sir(s), are true gentlemen (madmen).
-
I don't know if it's a complete nonsense, but what about some kind of ultra stripped down container solution (kubernetes or similar)? Being able to deploy games as containers could solve the relationship issue, and maybe even the VHD sizing problem. But hey, I'm no containers expert. I was thinking about setting my own collection up inside a Windows 98 VM with some dgVoodoo or similar wrapper that does 3Dfx and Direct3D. Don't even know if it would work, have never tried. Will check when there's enough free time (likely not anytime soon).
-
I still can't believe a project of this magnitude is going on. Major kudos to eXo and the brave ones who have stepped up to help! I would also love to see a Win95/98 collection like this. eXoDOS + Win3xO + ¿Win9xO? would be total bliss.
-
Sorry for the ressurrection but I'm in the same boat, any solution? It apparently detects games randomly. Some have exactly the same naming structure (one word, no spaces) and one is detected and the other ignored. I'm at a loss at what can be happening here.
-
Importing ROMs won't work under certain folders
dominikabra replied to dominikabra's topic in Troubleshooting
I've found an easy workaround for a situation like this. Here's what I did: Move the games to a folder at the upper level possible in your structure. For instance, if you have: D:\Launchbox\Games\Sony\Sony Playstation\JPN\ and then a ridiculously long folder name hosting a ridiculously long named BIN/CUE like Kochira Katsushika-ku Kameari Kouen Mae Hashutsujo - High-Tech Buil Shinkou Soshi Sakusen! no Maki (Japan)\Kochira Katsushika-ku Kameari Kouen Mae Hashutsujo - High-Tech Buil Shinkou Soshi Sakusen! no Maki (Japan).cue Kochira Katsushika-ku Kameari Kouen Mae Hashutsujo - High-Tech Buil Shinkou Soshi Sakusen! no Maki (Japan)\Kochira Katsushika-ku Kameari Kouen Mae Hashutsujo - High-Tech Buil Shinkou Soshi Sakusen! no Maki (Japan).bin then odds are you'll hit the length limit. The solution will be to move that "JPN" folder so it's directly under "Games" (or wherever it makes the path short enough) and import from there. You'll know you've shortened the path enough when Launchbox's parser shows the list of games, otherwise it will turn out empty. After the importing has finished, use the built-in move wizard or simply close Launchbox, move the folder including the games ("JPN" in the example) to the "proper" location manually and edit the platform XML (under the "DATA" folder) and replace the route from <ApplicationPath>Games\JPN\ to <ApplicationPath>Games\Sony\Sony Playstation\JPN\ Problem solved! Hope this helps someone in the same situation I was. -
@Jason Carr Sorry to bother you but last time you were of great help (with the issue importing from certain folders) and I'd like to know if this a feature that's yet to be deployed or refined or if there is any way of sorting it out. Thank you very much and keep up the great work!
-
Hi @sundogak, thanks for the reply. You confirmed what I was afraid of. As for the third question, that very same editing wouldn't "work" as inteded, I assume because of the platform shenanigans I did before that. I guess it's not something the code foresaw.
-
I had the same idea in mind: one "big" .CONF file that holds the bulk of the configuration and smaller .CONF files for particular needs of certain games (glide wrapper, CPU cycles, etc.) so changing the DOSBOX version (between vanilla, ECE, staging, -X, etc.) wouldn't be such a hassle. Did you manage to figure it out? I'm afraid is not possible, AFAIK. EDIT: Just found out. It's actually possible to specify multiple .CONF files. The later ones will override the settings from the former ones and if you have multiple [AUTOEXEC] sections, they add up. https://www.vogons.org/viewtopic.php?f=31&t=23120&p=172468&hilit=multiple conf#p172468