VOGONS


Reply 40 of 85, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t
kahuna wrote on 2026-01-10, 05:55:
Very much appreciated. Yeah, I found myself using the GROG editor as well... who would have thought! […]
Show full quote
crusher wrote on 2026-01-09, 09:29:

Thanks for this great version 2.0 😀
For me In-App Editing is ultra comfortable if you don't want to edit the Excel file on another computer and transfer the csv afterwards.

Very much appreciated. Yeah, I found myself using the GROG editor as well... who would have thought!

zyzzle wrote on 2026-01-10, 02:16:

Great work! Am testing now, it is working very well. One could say this is a new "killer DOS" application for games, much like Xtree Gold is for general disk and file viewing management.

Appreciate it! I don't think it's a "killer" program, just something I needed to build. That is why it's adapted to my own preferences to be honest, but hopefully, it will be useful for everyone!
BTW, I actually didn't know about XTree Gold 😁 Sorry, I'm a Norton Commander guy! I still use the open-source Midnight Commander quite often on my modern (and not-so-modern) machines 😉

I want to take the opportunity to announce, G.R.O.G. v2.1 should be out over the weekend!
I'm organizing my retro-collection, and while I was at it, I configured my machine down to 386 speeds. It turns out the current build struggles a bit there... in my defence, at 1200MHz GROG felt really smooth so I didn't notice! 😜 I think we can do better drawing things in GROG when resources are constrained, so I'm implementing some modifications to tweak this. Stay tuned!

I'm looking forward to trying this out! It looks awesome!

I'm almost afraid to ask this because I don't want to impose on your time after all the work you've put into this... but... would you consider an 8088-compatible version of this at some point in the future? It's understandable if the current setup is just too much for the original IBM PC, but it would be really cool to have an alternate version with a similar interface for use on the oldest PCs. I would absolutely use it on my 5150. 😁

Having significantly more limited memory would obviously have a big impact on whether this is possible, but then most PC\XT era systems aren't going to have anywhere near the number of games as a 486 or Pentium system, so maybe the overall requirements would be more reasonable for such an old system.

Now for some blitting from the back buffer.

Reply 41 of 85, by kahuna

User metadata
Rank Member
Rank
Member
Ozzuneoj wrote on 2026-01-10, 06:52:

I'm looking forward to trying this out! It looks awesome!
I'm almost afraid to ask this because I don't want to impose on your time after all the work you've put into this... but... would you consider an 8088-compatible version of this at some point in the future? It's understandable if the current setup is just too much for the original IBM PC, but it would be really cool to have an alternate version with a similar interface for use on the oldest PCs. I would absolutely use it on my 5150. 😁
Having significantly more limited memory would obviously have a big impact on whether this is possible, but then most PC\XT era systems aren't going to have anywhere near the number of games as a 486 or Pentium system, so maybe the overall requirements would be more reasonable for such an old system.

Thanks so much! I'm really glad you're digging it.

As for the 5150... I would love to see it running on there, but there is a bit of a hardware wall. This current version is built with DJGPP, which creates 32-bit 'protected mode' programs. Since the 8088 is strictly a 16-bit CPU, it literally doesn't speak the same language.
To get this working on an XT-class machine, I'd basically have to rebuild the whole thing from scratch using an old-school 16-bit compiler. That said, GROG is open source (GPL), so if anyone else wants to be my guest and take a crack at a 16-bit port, the code is all yours.

Keep the 5150 running strong!

Be free!

Reply 42 of 85, by kahuna

User metadata
Rank Member
Rank
Member

Dear inhabitants of the Vogsphere,

Rejoice, G.R.O.G. v2.1 is available now!

The primary driver for this release was raw speed. I must confess, I actually had a soft spot for the "curtain effect" of the previous rendering method, it had a certain charm. However, I realized that on constrained hardware (386/486 speeds), that charm quickly turns into pain.

While I was under the hood tearing out the BIOS calls, I decided to add a proper Delete function, so you can manage your list without retreating to a spreadsheet.
I also implemented Long Filename Support. I'm not entirely sure who needs this on a pure DOS rig, but for those practicing the voodoo arts of emulation, it might come in handy. Don't worry, it's safe (should be! 😀) it resolves collisions properly (handling the ~1, ~2 aliases) before launching.

These are - in short - the new features of the v2.1:

  • Direct VRAM Rendering: The UI is now drawn directly to video memory, bypassing slow BIOS INT 10h calls.
  • Delete Function: You no longer need to edit the CSV to remove a game.
  • Long Filename Support (LFN): GROG is no longer limited to strict 8.3 naming conventions.
  • Enhanced Stability and UI Polish.

No CSV migration is needed if you are upgrading from v2.0.

Download: https://codeberg.org/jjmarcos/grog/releases
Extensive docs here: https://codeberg.org/jjmarcos/grog

I'd love to hear from you, have you tried it? any constructive feedback?

Enjoy!

Be free!

Reply 43 of 85, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for this, I've been really busy and haven't had a chance to start increasing my database again. Hopefully I'll be able to get in that soon. I did convert my DB from Launchbox over and I've been exploring the program a bit. I feel like I have the 2nd best database for grog for some reason.

I don't want to make suggestions yet cause I have barely got into using it in a constructive manner yet, but I wouldn't mind having PageUp/PageDown functionality browsing titles. Most people probably don't have much of a need of that but I'm planning on really extending the number of entries I have in my DB at some point.

Just wanted to say thanks again for this program and writing the convertor from Launchbox. I'll revisit when I have time to get into it more, and keep an eye on any updates you add in general.

Reply 44 of 85, by kahuna

User metadata
Rank Member
Rank
Member
Shagittarius wrote on 2026-01-13, 20:42:

Thanks for this, I've been really busy and haven't had a chance to start increasing my database again. Hopefully I'll be able to get in that soon. I did convert my DB from Launchbox over and I've been exploring the program a bit. I feel like I have the 2nd best database for grog for some reason.
I don't want to make suggestions yet cause I have barely got into using it in a constructive manner yet, but I wouldn't mind having PageUp/PageDown functionality browsing titles. Most people probably don't have much of a need of that but I'm planning on really extending the number of entries I have in my DB at some point.
Just wanted to say thanks again for this program and writing the convertor from Launchbox. I'll revisit when I have time to get into it more, and keep an eye on any updates you add in general.

Sounds good, glad you're enjoying it so far. Please, take the time to play with it, and let me know what you think!

I wouldn't mind having PageUp/PageDown functionality browsing titles.
Have you tried right arrow - left arrow? 😉

Be free!

Reply 45 of 85, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

Hey , I'm sorry I really don't have much time but I went through the process of adding a test game and ran into some things:

I'll start with what I see as a legit minor issue:

Issue 1: If a publisher contains a comma character from importing a LaunchBx DB you can't add additional titles to that publisher.

The importer will import commas for at least the publisher field if not others (I didn't test properly) but you cannot add a comma when adding a new title (At least in the publisher field maybe everywhere, again I didn't test properly)

Steps to recreate (Half-Assed steps)
1. Import a LaunchBX DB which has a publisher with a comma character in it.
2. Attempt to add a title with a publisher using a comma character.

I would expect either the importer should get rid the commas or that I should be allowed to add commas to the publisher field when adding a new title. Otherwise I will end up with 2 publishers like:
Three-Sixty Pacific, Inc. and Three-Sixty Pacific Inc.

This is no bueno. My nice neat DB is getting fragmented =)

Okay, so that's it for actual almost legitimate issues I'd like to point out a couple usability issues, and I know these would require a lot more work, but they are really needed to make it usable.

* Need to be able to browse for paths and executables while adding a title.
This one is huge, while entering in just one title i needed to exit out and relaunch grog multiple times. I'm not going to remember the paths, filenames, etc for the launch executable and config executable plus any paths for CD images etc....
You really need a way to browse the directory from within the add command and hopefully choose the location/file. Ideally you want to be able to do everything you need to add to your database without exiting out of GROG.

Another very minor ask:
* I'd like to be able to add a title without entering into the title browser. Straight from the main menu. Just a convenience thing.

Sorry I know this is not a lot of testing but Im studying for my CCNA right now and don't have much time. I'm sorry for the quality of this testing, as I am a professional tester, but I'm really in a hurry and just trying to give you something because I appreciate your work on this project. I will return when I have more time, and give you a better overview.

Reply 46 of 85, by kahuna

User metadata
Rank Member
Rank
Member

Greetings VOGONS,

@Shagittarius mentioned rushing to test this while studying for a CCNA. Since I'm supposed to be deep in AWS CSA prep myself, I decided the only responsible course of action was to join the procrastination pact and ship G.R.O.G. v2.2 instead.

This release addresses the excellent feedback from @Shagittarius (good luck with the CCNA!). Despite the "half-assed" testing disclaimer, the points raised were spot on!
To be honest, my original philosophy was strictly "Edit on a PC/Mac, Play on DOS". I assumed we would all be managing our game lists on modern machines and just copying them over in CSV format. Fleshing out the DOS-side editing and in-program file browsing was an unanticipated detour, but a welcomed one. I think we are finally completing the circle here by making the tool fully standalone on bare metal.

Here is the new stuff:

  • The days of memorizing filepath strings are over. A full File Browser has been integrated directly into the Editor. Pressing TAB now triggers an overlay to navigate drives and directories, filtering specifically for executables. It even asks whether the selected file should be linked as the Game Executable or the Setup Utility.
  • The strict input validation has been relaxed. Commas are no longer treated as "voodoo marks," meaning publishers like "Three-Sixty Pacific, Inc." can finally be entered without fragmentation or error. Previous versions of the code didn't escape commas as well as I expected so, I put that check to avoid them altogether; easy fix.
  • Finally, a quick shortcut [N] was added to the Main Menu to register new games immediately without navigating sub-menus. The code was there, just hidden, now there is a direct access to it. Also, UI popups now clamp text properly to prevent long titles from exploding the borders.

grog17.png
grog18.png

The update is safe for existing CSVs and requires no migration.

Download: https://codeberg.org/jjmarcos/grog/releases
Updated documentation etc.: https://codeberg.org/jjmarcos/grog

Back to studying... maybe.
Enjoy!

Last edited by kahuna on 2026-01-24, 07:35. Edited 2 times in total.

Be free!

Reply 47 of 85, by Yoghoo

User metadata
Rank Member
Rank
Member

Nice to see all those updates. One question: is there an option to start the program directly in a certain option? I would like it to start directly in option A (Browse by title) for example. I don't have a huge game list and all games I install are all 5 stars and favorites. 😜 So not really need those options. Not really important but just curious. Good luck with your study btw.

Reply 48 of 85, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

Thanks Kahuna for adding that functionality so fast despite being busy studying.

Quick question, how do I change drives in the path/file browser? I tried to figure it out but failed. Depending on how you implement this it could be tricky because if you preload all the drives it would take a long time to load all the directories. Maybe just load on a path basis on screen at a time? I've got 64gigs on my P133 and it would take a long time to preload all the directory information. Note: It looks to me like you are already loading on a per directory basis which I think is the best way.

One other thing and this is something that even Launchbox doesn't have: any way you could do predictive text for the text fields? When I made this DB in Launchbox I had to write every company, genre, etc... every time I entered a new title. It would be great to be able to select from data already entered. It would also help prevent typos.

Great work!

Reply 49 of 85, by kahuna

User metadata
Rank Member
Rank
Member

You are spot on regarding the file browser. With 64GB drives (or even just large collections on smaller drives), pre-loading the entire file structure would definitely bring a P133 to a crawl and likely run out of memory. GROG is designed to only opendir/readdir the specific path you are currently viewing to keep it fast.

Great catch on the drive switching! To be honest, I completely overlooked it because my development environment only has a C: drive, so it just didn't cross my mind while I was at it. Which is actually kind of funny because my real DOS rig keeps all its games on D:, so I definitely should have known better! My bad on that one.
I'm updating the code now. Basically, if you go up [..] from the root directory, it'll pop you into a drive selection screen.

As for the predictive text/autocomplete, I'm thinking of some sort of "inline ghost text" autocomplete, it should be feasible, I hope...

Be free!

Reply 50 of 85, by kahuna

User metadata
Rank Member
Rank
Member
Yoghoo wrote on 2026-01-15, 08:27:

Nice to see all those updates. One question: is there an option to start the program directly in a certain option? I would like it to start directly in option A (Browse by title) for example. I don't have a huge game list and all games I install are all 5 stars and favorites. 😜 So not really need those options. Not really important but just curious. Good luck with your study btw.

Hey @Yoghoo, glad you like the updates and thanks for the encouragement!

Regarding booting straight to the list: I think I'm going to stick with the Main Menu as the starting hub for now, mostly to keep the navigation logic simple and stable (handling where 'ESC' takes you gets tricky if we skip the menu!). Since the game list is just a quick tap of 'A' away, hopefully, that single keystroke isn't too much of a hassle.

Thanks for the suggestion though!

Be free!

Reply 51 of 85, by kahuna

User metadata
Rank Member
Rank
Member

Hello good people!

You ask, and the procrastination goddess provides. I managed to squeeze in a few more hours of coding between "study sessions" to address the feedback on v2.2.

G.R.O.G. v2.3 is now live.

Here is the rundown:

  • Ghost Text Autocomplete: The Genre and Publisher fields now feature inline "Ghost Text" suggestions based on your existing library. Pressing TAB accepts the suggestion and even fixes your capitalization to match the 'database'.
  • Drive Switching: Great catch on the file browser limitation. You can now navigate to other drives without scanning the whole system at startup (keeping it vintage-silicon-friendly). Just go UP [..] from the root of your current drive to access the Drive Selection menu.
  • LB2GROG Updated: The LaunchBox converter now outputs CSV headers that match the standard template.

grog19.png

The update is safe for existing CSVs.

Download: https://codeberg.org/jjmarcos/grog/releases
Source/Docs: https://codeberg.org/jjmarcos/grog

Back to the books for real this time.
Enjoy!

Last edited by kahuna on 2026-01-24, 07:35. Edited 1 time in total.

Be free!

Reply 52 of 85, by zyzzle

User metadata
Rank Member
Rank
Member

This keeps getting better and better. Singlehandedly, you've rendered all other DOS lauchers obsolete in a couple of weeks. You're immensely talented and best of luck on your exams.

Reply 53 of 85, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie
kahuna wrote on 2026-01-15, 22:14:
Hey @Yoghoo, glad you like the updates and thanks for the encouragement! […]
Show full quote
Yoghoo wrote on 2026-01-15, 08:27:

Nice to see all those updates. One question: is there an option to start the program directly in a certain option? I would like it to start directly in option A (Browse by title) for example. I don't have a huge game list and all games I install are all 5 stars and favorites. 😜 So not really need those options. Not really important but just curious. Good luck with your study btw.

Hey @Yoghoo, glad you like the updates and thanks for the encouragement!

Regarding booting straight to the list: I think I'm going to stick with the Main Menu as the starting hub for now, mostly to keep the navigation logic simple and stable (handling where 'ESC' takes you gets tricky if we skip the menu!). Since the game list is just a quick tap of 'A' away, hopefully, that single keystroke isn't too much of a hassle.

Thanks for the suggestion though!

Would it be possible to include a launch time switch to drop the user in the title browser? A slash /L(ibrary) or something suitable? The more people that use this the better the UAT feedback.

Reply 54 of 85, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

Hey I took a little more time to use G.R.O.G. and man do i love the ghost text, that is such a wonderful time saver and it works great. Also love the directory/file browsing, it's tits. As such I've come up with some more thoughts for you to consider. I'll lay out my reasoning for you and you can do what you want with them =). I'll try to put these in an order that sort of logically lead to each other:

1. Consider adding an 'All Titles' option to the Title browser functionality. Narrowing it down by alphabetical sort is great but I personally would like all the titles to scroll through.
|
L 2. Consider moving all commands on the title browsing screen to the Function Keys. I consider this supportive of the previous point as you can then use the Alpha/Numeric keys to jump to the letter/number that the title you are thinking of starts with. Indeed this may mitigate the need for the Alpha/Numeric sorting chests incidentally. This is also the way most modern emulation software works, displaying all titles and jumping by Alpha/Numeric key press. I would prefer it, it may be more familiar to other users as well, maybe not, just my opinion.
NOTE: The Alpha/Numeric jump would also be even more handy for Publisher/Genre since there the best you can do to find your target is paging through. The Alpha/Numeric jump could be separately enabled just for the Publisher/Genre views but in order to keep the interface uniform I would consider point 1 when deciding.

3. Bug: When adding a new title the Star Rating defaults to 1. I believe it should default to null.

4. Would love it if its possible to make the directory/file browser remember the last location you opened with it during that session. When you have to add the setup and launch executables, depending on your system structure, it can take a lot of clicks to get to that directory again. For instance : My GROG is in C:\APPS\GROGMENU. All of my games are on other drives so twice I need to navigate from the grogmenu directory in order to pick the executables.
|
L 5. I would prefer the first launch of the file browser go to the top level of the directory structure, or maybe at least the root C if the other is not possible or too slow.

6. Here is my weird request for the day, and this might only be useful to me since I have an imported database and I'm never quite sure what titles are already in the DB verses the ones I still need to add: Consider adding a 'Hide Window' toggle for the 'Add Game' dialog. Since I already have a nearly 400 item database the easiest way when I'm adding titles for me is to go by Publisher, since all my games are sorted by publisher. Here's my workflow for adding new games:
- From the Publisher browser choose a publisher I want to add a new game to (or see if there are games I haven't added yet).
- Press 'A' to Add a new title.
- Press tab to activate the file browser and navigate to the directory for that publisher.
- Compare directories of games with the existing games list in GROG. This is where being able to hide the add new game window with a key toggle or key-hold would allow me to see the existing titles. Granted if I have more than one page I would still be in trouble.
I realize this is probably very specific to me because of the way I have sorted my games (Done to avoid having all the S named games split across multiple drives, since some letters are more common for titles).
Could this toggle be useful in other situations ? I'm not sure, I haven't looked into that.
NOTE - Having written this down and re-read it back it seems an incredibly narrow request all things considered, and would likely just help me in making a bigger DB. If you ever wanted to create a prepopulated source DB to distribute with GROG, which could contain title and other info I promise I would share =).

Ok man, phew, I don't mean to overwhelm you and go from useful to nuisance, so just take this for what it's worth. To reiterate, I'm really enjoying using GROG. You've added some very nice features.

Reply 55 of 85, by kahuna

User metadata
Rank Member
Rank
Member

Thanks for the great feedback @Shagittarius . Glad you're enjoying the ghost text!

Here is where my head is at on your suggestions:

  • The "All Titles" and navigation: I wanted to keep the old school tactile feel of the grid rather than moving to a modern-ish system, but you're right about needing a master list. There is a perfect spot for an [ALL] block at the end of the A-Z menu. To make it actually usable, I’ll add letter jumping for it, as well as for the Genre and Publisher lists. That should give us the speed wanted without killing the DOS vibe.
  • I'm also planning to add a dedicated Search function to the main menu. That way you can just type "doom" and find all releases of Doom instantly.
  • Browser Memory: 100% yes. Great call. I'll be adding that in. It should be easy to do so.
  • The "1 Star" Default: That was actually intentional (I used "1" to filter for "New/Unplayed"), but I get that it looks like GROG is automatically rating the new game as garbage. I'll switch the default to unrated to avoid the confusion.
  • Hide Window: I'll probably skip this one for now. Between the new [ALL] list, the letter jumping, and the Search function, checking if a game already exists should be easy enough.

Thanks again for breaking it in!

zyzzle wrote on 2026-01-15, 23:24:

This keeps getting better and better. Singlehandedly, you've rendered all other DOS lauchers obsolete in a couple of weeks. You're immensely talented and best of luck on your exams.

Appreciate it! I dont know about rendering everything else obsolete, honestly I was just trying to build something that actually works for me, but make it extensible enough so other people can use it too. Really glad you are enjoying the updates!
And thanks for the luck! Definitely gonna need it. Coding this is way more fun than studying, but I gotta buckle down and get through it.

Be free!

Reply 56 of 85, by crusher

User metadata
Rank Member
Rank
Member

Thanks for all the updates, kahuna 😀
It's getting better and better.

I love the built in file browser. Very useful feature!
Keep up the good work.

Reply 57 of 85, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie

Impressive stuff! You're killing it, mate.

Reply 58 of 85, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Great little tool!

If I may make a little suggestion:

Personally I don't like the idea of unnecessary disk writes every time you select a different game in the menu. Particularly in the era of solid-state drives, write actions come at a cost in terms of wear and tear.

Instead, could you maybe consider using a little known feature of the BIOS Data Area (in RAM) that is reserved for Intra-Application Communications? It's a 16-byte memory area from address 0040:04F0h to 0040:04FFh.

It's not used much in practice and tends to be a bit of a "free for all" area, so who knows what applications and games will do with it once you run them, but just for storing the ID of whatever game the user selects in the menu and then having a (static) batch file look up the selected game from the ID in that area and then launching it, it should be a usable solution that should prevent the unnecessary creation of temporary batch files on each game selection, and it should also be a bit faster to launch, since the selection is stored in RAM and you don't have write any temporary files then.

You should be able to find various documentation sources on-line about this area in RAM if you do an on-line search for it.

Thanks for considering! 🙂

Reply 59 of 85, by zyzzle

User metadata
Rank Member
Rank
Member
digger wrote on 2026-01-16, 10:40:

Personally I don't like the idea of unnecessary disk writes every time you select a different game in the menu. Particularly in the era of solid-state drives, write actions come at a cost in terms of wear and tear.

Instead, could you maybe consider using a little known feature of the BIOS Data Area (in RAM) that is reserved for Intra-Application Communications? It's a 16-byte memory area from address 0040:04F0h to 0040:04FFh.

I second this suggestion. Alternatively, if you don't want to use the eloquent solution above to eliminate temporary file disk writes, you could write all files to the user's TEMP instead. (I set my TEMP and TMP paths in autoexec.bat to a RAMDRIVE, of course). When you can use RAM for temporary operations, it's always better to do so -- and much, much faster and less cumbersome overall.

I didn't want to bother you about this before. It seemed rather pedantic, but digger brings up an excellent and important point, and I concur.