I just updated the release to GROG 2.7b. Please download this new version and give it a go!
Fixed "Parameter format not correct" errors on DOS 5.x - 6.x by removing unnecessary quotes from generated batch commands.
Fixed "Garbage Data" in batch files on DOS 5.x - 6.x. The launcher now intelligently detects the OS version and skips incompatible DOS 7.x API calls that were causing memory leaks into the script.
The launcher now generates a `_RUN.BAK` file alongside the standard launch script. This backup persists after the game exits, allowing you to inspect exactly what commands were sent to DOS.
I did some quick testing using MS-DOS 5.00 running in a QEMU emulated machine, and the modifications seem to have worked!
@Boohyaka, if you still see any issues take a look at the _run.bak file to see exactly what tried to launch. Let me know your findings!
I use 7.1 as well so I never noticed that either. Glad to people checking it out, I never know how my configs might change in the future!
So I've been using it for quite a while and I only have one issue and a bunch of suggestions:
[...]
As always, I appreciate the feedback! I didn't have the time today and I'll be quite busy next week, but hopefully I can dedicate some time to go through your suggestions soon. Keep the them coming!
Thanks for the bug report!
It looks like GROG was being too 'protective' with the generated batch file. The launcher was wrapping all paths in quotes (e.g., CD "C:\GROGMENU") to handle spaces. However, since you are likely running this on MS DOS 6.x, the command interpreter does not support quotes in CD commands. This is the reason for the 'Parameter format not correct' error.
Apologies for that! My dev and test machines run Windows 98, so the behavior is a little different there.
It should be an easy fix. A patched version will be available today.
It really helps to test the software on different machines! Really appreciate it!
I'm on DOS6.22 indeed and sweet! 2.7b works fine 😀 good job on the quick fix!
And please don't apologize - all thanks and credit goes to you for making cool free software for us to enjoy!
Appreciate it and glad that is working now @Boohyaka !
Just a heads-up to the thread: 'Real Life' has gotten busy (focusing on some career stuff), so I won't be able to work on new features for GROG for the immediate future. It might be a couple of weeks, or a bit more, before I can dive back in.
However, I’m not disappearing! If there are any bug reports, I'll still make time to fix them as soon as I can.
[...]
1. Some programs change the text display mode, then when returning to GROG you will end up with a blank screen even though grog is actually running, just unseen. I'm sending you a zip file to use to see this in action in private message. I didn't check to see how many text modes may cause an issue, again I apologize for the half-ass testing effort. I'm not even sure what text mode this is because it looks like 80 columns to me still, but it operates more slowly.
Great catch, hopefully fixed! I tested it with the casino text game you shared, and yeah... weird video mode averted!
Now for my comments:
2. I don't need the launch confirmation. Between the CD notification, my personal messages and other pop-ups I have enough of a warning I feel. I waited a while to see how I felt before giving you feedback and that hasn't changed.
I think it's important as not all games will have prompts to look for the game keys or to check memory configuration. It happened a number of times as I was playing with my game library that my quick finger launched something and I instantly regretted it.
3. Here's a crazy "I like this idea so I made a mock up." During the Title Browsing UI I think it would be really cool if you pulled the top of the info screen to display the major properties of the title no matter what variable you are sorting by. You could move this up or down depending on the highlight location on the screen for maximum usability. Here is my mock up:
[...]
Thanks for the mockup! It's a bit too much work for this hotfix, but perhaps for the next major version.
4. I would love it if you could update the whole screen during the title browser UI like you do for the File Locator, there's some flickering that occurs when scrolling through the lists.
The flickering should be gone now in all menus (Genre, Publisher, etc.). Please try this new version.
5. Would like to be able to quit out with repeated ESC key presses again, or quit with F10 from the title browsing interface... [...]
My twitchy fingers made me accidentally exit GROG too many times with repeated ESC presses, which is why I removed it. However, I have added the ability to exit via F10 from anywhere in GROG (sub-menus, browsers, etc), not just the main list.
I'm on DOS6.22 indeed and sweet! 2.7b works fine 😀 good job on the quick fix!
And please don't apologize - all thanks and credit goes to you for making cool free software for us to enjoy!
Now you have another version to try, please give it a go when you can!
Wow, you are fast!
I just started to use this version in my real DOS rig. So far so good!
In other news, as I was polishing my game list for GROG, I’m feeling pretty proud that I finally managed to get all my Voodoo2 DOS games working properly, I reckon the 3DFX cards don't like "fast" CPUs.
Now I'm debating if I should replace my Orpheus II with the AWE64 Gold from my other DOS/W98 machine. I'm thinking of using my PicoGUS (which I currently use for Tandy-3) to handle emulated GUS, as well as the external connection to the MT32-pi. The Orpheus II sounds amazing in Gravis games like One Must Fall (one of my favourites), but I'm really not keen on the SBPro emulation situation or the mixer controls.
Decisions, decisions! Sorry for the unsolicited rant, but we all need a geeky escape these days, right?
Hello everyone!
It's been almost a month since my last update, time really does fly!
Just dropping in with a quick post to let you know that development on GROG v3 has officially begun.
I recently landed a new job, and since I have some free time before my start date, I thought it was the perfect opportunity to give GROG some love.
Below are two screenshots of a work in progress, can you spot the new features? (more to come by the way!)
The attachment grogv3-inprogress1.png is no longer available
The attachment grogv3-inprogress2.png is no longer available
First of all, thanks for the incredibly kind words! It’s awesome to hear that GROG is hitting the sweet spot for your DOS collections!
I'm back with GROG v3.0, the "Polyglot Pirate & Cargo Holds" update!
We've ripped up the floorboards for a massive structural overhaul. Here is what's new:
Translations (.LNG Files): UI text is now externalized! Ships with Standard English, Pirate English (built-in), and fully localized Spanish. The UI dynamically resizes and mathematically centres itself to perfectly fit any custom languages or themes you create.
Cargo Holds (Volumes): Tag games by physical/virtual media (e.g., `SD Card 33`). Set an Active Volume, and all category browsers will dynamically filter to show only what's on that specific disk!
Bulk Editing: Spelled a publisher wrong 40 times? Highlight any category (Genre, Publisher, etc.) and press E to instantly rename all matching entries across your entire database.
Scrolling Autocomplete: "Magic Text" now tracks up to 50 unique suggestions. Just scroll through them with the UP/DOWN arrows and hit TAB!
Configuration (GROG.CFG): A new config file lets you set your default language, toggle splash/exit screens, and manage launch safety confirmations.
Update Note: No database surgery required! Because the new `Volume` field is the very last column, GROG v3.0 will happily read your existing `GAMES.CSV`, but it's recommended to follow the instructions detailed in the release notes about auto updating the CSV.
[*]Bulk Editing: Spelled a publisher wrong 40 times? Highlight any category (Genre, Publisher, etc.) and press E to instantly rename all matching entries across your entire database.
This feature alone is worth it's weight in gold
98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer
Ahoy, @kahuna,
You made a very nice DOS launcher, thank you! It's clean, it's fast, it has tons of options, etc... it's super cool and handy.
I was about to ask something about CSV data-fields like "C. Prot" (I realized it's kind of "boolean type" field), but I think I found a small visual bug in G.R.O.G.
When using "drop anchor" function by pressing <O> key, for example I got this:
The attachment drop_anchor_DOS_prompt.jpg is no longer available
Then I looked into the "_RUN.BAT" and it looks like this, which explains the bug:
The attachment _RUN.BAT.jpg is no longer available
And the bug in the code with non-working "LF" (\n) character:
The attachment bug.jpg is no longer available
But it seems like the non-escaping "\n" problem is in line 1702:
1fprintf(bat, get_lang("BAT_NAV_FMT"), g->title);
EDIT: Ok, this doesn't work
Will it be fixed if we change line 1702 to:
1fprintf(bat, get_lang("BAT_NAV_FMT"));
and line 458 to:
1{"BAT_NAV_FMT", " NAVIGATING TO: %s\n", g->title},
?
Also, mind that G.R.O.G.'s code is only targeting DOS, so the combination of "CR", "LF" (\r\n) characters is more suitable for DOS (and windows) "line break" 😉
Also I didn't understand why the standard quit (<F10> or <Alt> + <X>) always changes current working directory to drive's root directory, so I edited the contents of "GROG.BAT" this way:
Edited GROG.BAT
1@ECHO OFF 2REM ---------------------------------------------------- 3REM GROG.BAT - Wrapper to handle GROG Looping 4REM This prevents memory issues by unloading the menu 5REM while the game is running. 6REM ---------------------------------------------------- 7 8:MENU 9CLS 10REM Optional - Example: Adjust drive letter and path and remove the 11REM two following lines if GROGMENU is on %PATH% 12C: 13CD \GROGMENU 14GROGMENU.EXE %1 15 16REM [100] Launch Game (Loops back to menu after) 17IF ERRORLEVEL 100 GOTO LAUNCH_GAME 18 19REM [50] Open Directory (Exits menu and stays in folder) 20IF ERRORLEVEL 50 GOTO OPEN_DIR 21 22REM [0] Clean Exit (Returns to current working folder) 23GOTO END 24 25:LAUNCH_GAME 26REM _RUN.BAT is generated by GROGMENU.EXE in the current folder 27IF NOT EXIST _RUN.BAT GOTO MENU 28CALL _RUN.BAT 29DEL _RUN.BAT 30GOTO MENU 31 32:OPEN_DIR 33REM Execute the CD commands generated by GROG to switch folders 34IF EXIST _RUN.BAT CALL _RUN.BAT 35REM Clean up the batch file 36IF EXIST _RUN.BAT DEL _RUN.BAT 37REM Skip the 'CD \' at the end so we stay in the game folder 38 39:END 40ECHO.
Thank you!
P.S. I wish it was Open Watcom C/C++ compatible, so we can make a 16-bit G.R.O.G. for XT class machines, but it is what it is 😀
EDIT: Managed to install DJGPP for DOS and tried to build G.R.O.G. with no success in fixing the bug.
Last edited by aVd on 2026-03-07, 17:36. Edited 1 time in total.
DOS fan :: artificial "intelligence" - not a fan... not a fan at all :: is freeware a lie, when human freedom is a fundamental lie?
Fixed a batch file formatting bug caused by literal '\n' escape characters in external .LNG files. Line breaks are now handled natively by the C engine.
Fine-tuned the geometry for better text alignment and adjusted blank spaces on translation files.
Added FAST_EXIT to GROG.CFG to allow power users to bypass the F10 exit confirmation prompt.
Note: When updating to v3.0a, you must replace your existing .LNG language files with the new ones included in this release. Because v3.0a changes how the engine handles line breaks, using older translation files will result in literal \n text artifacts showing up on your screen.
To add a little more colour:
@AvD : DJGPP (a port of the GNU C Compiler) normally translates \n to \r\n automatically in text mode, but because the strings were being pulled dynamically from external .LNG files, the parser was reading a literal backslash and 'n', bypassing the compiler's translation entirely. To fix this issue, the \n markers from the translation files have been stripped completely; from now on, the files are pure text and the C engine explicitly handles the structural DOS line breaks natively.
@Shagittarius : I believe you were thinking a step ahead 😀 the SKIP_EXIT parameter in the original 3.0 release was actually designed to skip the visual "shutting down" splash screen, not to bypass the "Are you sure?" safety prompt when pressing F10. However, since you clearly like living dangerously, I've implemented a brand new FAST_EXIT parameter in the config per your desires. Set it to 1, and the menu will completely bypass the confirmation dialog so you can instantly drop to DOS if you also enable SKIP_EXIT.
Enjoy!
Last edited by kahuna on 2026-03-08, 18:58. Edited 1 time in total.
Fixed a batch file formatting bug caused by literal '\n' escape characters in external .LNG files. Line breaks are now handled natively by the C engine.
Fine-tuned the geometry for better text alignment and adjusted blank spaces on translation files.
Added FAST_EXIT to GROG.CFG to allow power users to bypass the F10 exit confirmation prompt.
Thank you for the quick fixes and response, @kahuna!
@AvD : DJGPP (a port of the GNU C Compiler) normally translates \n to \r\n automatically in text mode, but because the strings were being pulled dynamically from external .LNG files, the parser was reading a literal backslash and 'n', bypassing the compiler's translation entirely. To fix this issue, the \n markers from the translation files have been stripped completely; from now on, the files are pure text and the C engine explicitly handles the structural DOS line breaks natively.
I don't use DJGPP compiler at all, as it produces only 32-bit DOS executables. Actually I tried it for the first time yesterday in attempt to trace the "LF" (\n) character bug 😀 So, I was not aware, that DJGPP compiler auto-translates "\n" ("LF") character to "\r\n" ("CR", "LF") and that's why I mentioned the difference between the OS "line break" implementation. For example nowadays I often see modern DOS software C code written in Unix style with dashes ("-") for command line switches instead of slashes ("/"). And when using old C/C++ compilers like those from Borland, I think "line break"must be exclusively a combination of "CR", "LF". But, yeah, DJGPP is a modern one, so there's a good point for this problem to be solved in compiler.
And now back to the question, that I missed in my earlier post here.
I noticed, that CSV data-field "C. Prot" causes some strange message in "pirate slang" to appear before starting a game and the field differs from "No" or isn't empty (the message was about some stones, I think - game's protection with passwords, combinations of things or something similar written in manual). So, I call it "boolean" data field. The question is which other data fields are from this type? Also there are too many additional fields, that I don't even know why they are there and how to be used: "CD-ROM", "Thrott", "Module", "3dfx", "CD-Aud", "MIDI", "Synth", "DSP", "L.Comm". I read the help file, but didn't get the answer. Please, can you explain briefly these data-fields?
I don't have any notes on G.R.O.G.'s interface or functionalities, as your software is very well made, simple and clean. I can't remember the name of one commercial DOS menu launcher system from the late 80s I tried back in the days, but currently G.R.O.G. is waaay better (and not only for launching the games, but all kind of DOS software). Maybe a mouse support will be a handy addition, but I'll not be cheeky 😉
BTW, I saw "ESP_UTF8.LNG" file in the source code, so here's the last question: What code pages are supported and we may use for language files?
DOS fan :: artificial "intelligence" - not a fan... not a fan at all :: is freeware a lie, when human freedom is a fundamental lie?
They might not be as good an doing 100’s of games, but they work. I’m particularly fond of “Dougmenu” for some reason, but looking back at my old source code is too cringe. I thought global variables were cool. But I did have mouse support.
They might not be as good an doing 100’s of games, but they work. I’m particularly fond of “Dougmenu” for some reason, but looking back at my old source code is too cringe. I thought global variables were cool. But I did have mouse support.
Weird. That page seems to link remotely to basically every program, so all of the links I tried go to different sites and FTPs that are all dead. Too bad... it seems like a great collection of software.
If you are using translations, make sure to update the language (.LNG) files as well.
I have added a note on the original v3.0a post to clarify this further.
Let me know how it goes!