Hello everyone,
Replying to comments here:
Yoghoo wrote on 2026-03-17, 10:48:
Tested the latest version on a couple of pc's. On one it works correctly. On another one I got an error (see screenshot). Tried with Emm386, only himem and also a totally clean boot. All gave an error.
The pc where it's not working is a standard pc with MS DOS 6.22 with default memory manager. The one were it was working is a bit more exotic with MS DOS 5.0 and QEMM memory manager. On both the 16-bit version worked correctly btw.
Also one feature request. If no csv file exists it doesn't want to start (error message is not nicely lined out in that case btw). It would be nice if it created an empty file if the file does not exists.
Hey there, thanks for the testing! Your screenshot was exactly what was needed to track this down.
You noted that the 16-bit version worked perfectly, which makes total sense. The 16-bit version is highly optimized to fit entirely within conventional DOS memory. The 32-bit version, on the other hand, is built to handle vastly larger databases. To achieve this, it operates in 32-bit Protected Mode and relies on a DOS extender (like CWSDPMI) to access Extended Memory.
When there is no physical XMS/EMS RAM available, GROG leverages CWSDPMI to create a virtual memory swap file on your hard drive to manage those large game lists. The crash you experienced strongly suggests CWSDPMI couldn't create that swap file. This usually happens if the disk is full, write-protected, or otherwise restricted.
I actually spent some time looking into patching this to gracefully load a "partial" list of games when RAM runs out. However, I realized this introduces a catastrophic data corruption risk: if the system only loads a fraction of your games and you save an edit, the program will permanently overwrite your GAMES.CSV with just that truncated list. A loud crash to the DOS prompt is always safer than silent data corruption, so the current memory management will be kept as the intended behavior. To avoid this crash going forward, ensure the drive running the 32-bit version has a bit of free, writeable space so CWSDPMI can properly manage its virtual memory.
Regarding the request to auto-create a missing CSV, it sounds like a great quality-of-life feature, but it’s actually a bit of a trap in a DOS environment. If you accidentally launch GROG from the wrong directory and it auto-creates a blank file, you might panic thinking your real database was wiped. I prefer the program to simply stop and alert the user if the database isn't found.
douglar wrote on 2026-03-17, 11:16:
I’ll break out the XT w/ MDA graphics this weekend and give the tantalum capacitors a stretch. I shouls also put a usb reader in it since it’s a little challenging for me to get software from the internet to a computer that only has 360kb drives.
I feel you! Thanks for taking the time to test it out.
douglar wrote on 2026-03-17, 15:19:Is there a switch to change the display for flush right languages like Arabic, Hebrew, Farsi, Urdu ?
Not urgent for me at all, I'm a Left to Right guy, it's just one of those things that's easier if you get started early. It was a headache for me to retro fit into my multi language DOS projects--
That is unfortunately not on the roadmap at the moment. It's involved enough just to create the Spanish translation as the charset is not strictly ASCII, but an extended codepage. I cannot imagine what it could be redoing the TUI rendering logic to support right-to-left!
aVd wrote on 2026-03-17, 16:58:A quick report from test on real hardware. G.R.O.G. 16-bit v.3.2 runs fine on my XT clone with Juko ST, NEC V20-12MHz [...]
Happy to see GROG running in an XT machine, that's the real test I was talking about. Thanks for taking the time to do so.
aVd wrote:
[...]I'm not sure, that "16-Bit Port" or "32-Bit DPMI" strings will need any translation. But why two almost identical language files just to fix this little bug in v.3.2? [...]
Because they might need it, not just for those strings but for others as well. I'm just trying to be thorough and avoid leaving anything out.
While I was adding more dictionary entries for the export volume feature, I noticed I had forgotten to include the "16‑bit" .LNG files, which is why they are now present in v3.2.
Have fun!