VOGONS


First post, by kahuna

User metadata
Rank Newbie
Rank
Newbie

Hello everyone,

I’d like to share a project I’ve been working on for my retro build. It is called G.R.O.G. (Game Runner Organized Grid).
It is a text-mode, CSV-driven game frontend for MS-DOS (386+).

grog1.png

The Motivation
Like probably some of you, I have a sizeable collection of games on my DOS PC, but I hate navigating 8-character directory trees manually. I also dislike heavy GUI launchers that sit resident in memory, eating up precious conventional RAM that games need.
I built G.R.O.G. to be fast, simple, and completely invisible when the game starts.

How It Works (The "Zero-Overhead" Strategy)
G.R.O.G. uses a C executable (compiled with DJGPP) for the menu interface and a Batch wrapper for execution.
1. You select a game in the menu.
2. The menu generates a temporary `_RUN.BAT` script and completely terminates (exit code).
3. The batch wrapper executes the game.
4. When the game quits, the wrapper loops back to the menu.

Result: Your game gets 100% of available system resources. The launcher uses 0KB of RAM while you are playing.

Key Features

  • CSV Database: No proprietary database formats. Your library is just a `GAMES.CSV` file you can edit. You can also open the provided `GAMES.XLSX` in any spreadsheet software and export it to CSV later.
  • Throttle Integration: If you have a fast machine - based on metadata in the CSV file - G.R.O.G. can automatically call slowdown scripts (using tools like CPUSPD or SETMUL) before launching a speed-sensitive game, and reset speed afterward.
  • Safety Interlocks based on metadata:
    - Warns if a game requires a CD and the drive is empty.
    - Pauses for Copy Protection checks (Code wheels/Manuals).
    - Checks memory requirements (warns if you need EMS/XMS).
  • Bare Metal Speed: Writes directly to VGA video memory (0xB8000) for instant scrolling.

Download & Source
This is open source (GPLv3). The release archive includes `CWSDPMI.EXE`, example throttle scripts, and a template database.
Codeberg Repo & Releases: https://codeberg.org/jjmarcos/grog
Please, take the time to go through the README file.
Direct Download (v1.0): https://codeberg.org/jjmarcos/grog/releases/d … 1.0/grog-v1.zip

Disclaimer: This is a hobbyist project. Unlike the drink served at the SCUMM Bar, this G.R.O.G. contains 0% kerosene and 0% battery acid. However, use at your own discretion!

Feedback and bug reports are welcome!

Be free!

Reply 1 of 1, by zyzzle

User metadata
Rank Member
Rank
Member

This is outstanding. Finally a text-mode DOS game menu frontend. I wonder if it could be configured / augmented to:

1. Create a RAMDRIVE of x MB (based upon size of game -- user supplied in the .CSV file)
2. Decompress a single-archive ZIP, 7zip or RAR of the game to the RAMDRIVE
3. Execute the script by running the decompressed game directly from the RAMDRIVE.
4. Possibly run / configure SBEMU on a per-game basis for modern laptops with Intel HDA sound.

Up until now, I do all of this manually per game. They're all stored compressed in archives on a USB memory stick which boots to MS-DOS 7.1. I then decompress and run everything from a large RAMDRIVE. This is on a modern system with huge amounts of memory (8GB to 16GB), so there's plenty of RAM and CPU to spare... SBEMU / VSBHDA is also configured via .BAT file in each game's compressed archive. When decompressed, I run the .BAT file to configure and execute the game. Manually creating .BAT files for each of hundreds of games is a pain, though, and your menu solution is at once more elegant and less cumbersome.