You can try DOS32/A this is free realization of DOS4GW if it's works with Icr2, than must be little easier to do something as dos32/a have source code and even debugger
RaVeN-05wrote on 2025-02-23, 09:22:You can try DOS32/A this is free realization of DOS4GW if it's works with Icr2, than must be little easier to do something as do […] Show full quote
You can try DOS32/A this is free realization of DOS4GW if it's works with Icr2, than must be little easier to do something as dos32/a have source code and even debugger
Ok, I built Dos32-A from source and my test app can allocate more than 64 MB RAM just fine.
ICR2 seems to run even without a Dos4GW.exe in the folder. I wonder if it's embedded in the game somehow. Placing a Dos4GW (with Dos32A) seems to have no effect, it seems to be using the same version of Dos4GW always.
It doesn't seem to be in the path or anything.
[EDIT] RR.exe appears to run just fine with Dos32A. ICR2 seems to have its own copy.
Some minor idea which works for me sometimes.
Compile unmodified dos32a, preserve it.
Compile modified dos32a, preserve it.
Compare both dos32a versions.
Comparison shows how far you should modify assembly code.
And even possible those modifications to apply to dos4gw.
By carrying in hex editor modified bytes or by carrying directly in assembly mode.
Like olly debugger can edit exes assembly directly.
Another try can be a dos4gw to update from last version, maybe Icr2 uses earlier version.
Try unmodified official last build of dos32a with Icr2, does it work?
Last edited by RaVeN-05 on 2025-02-24, 09:25. Edited 1 time in total.
RaVeN-05wrote on 2025-02-24, 09:21:Some minor idea which works for me sometimes.
Compile unmodified dos32a, preserve it.
Compile modified dos32a, preserve it.
Comp […] Show full quote
Some minor idea which works for me sometimes.
Compile unmodified dos32a, preserve it.
Compile modified dos32a, preserve it.
Compare both dos32a versions.
Comparison shows how far you should modify assembly code.
And even possible those modifications to apply to dos4gw.
By carrying in hex editor modified bytes or by carrying directly in assembly mode.
Like olly debugger can edit exes assembly directly.
Another try can be a dos4gw to update from last version, maybe Icr2 uses earlier version.
Try unmodified official last build of dos32a with Icr2, does it work?
This is an umodified Dos32A compiled by me. I'll try the original binary distribution.
[EDIT] I made a mistake when testing it earlier. The original Dos32A version also seems to be able to allocate more than 64 MB of RAM.
The last official build of dos32a when run as dos32a cart.exe also fails with the error I listed previously.
[EDIT] I wonder if the game carries out a checksum verification on dos4gw.exe.
In the worst scenario
Need to find exactly same version of DOS4GW Icr2 uses, and reverse engineer?
For example IDA Pro is disassembler/decompiler/and great too for reversing. This organize asm code inro formatted blocks, which makes code more readable. It can load 16bit dos apps, realmode with dosbox plug-in, special edition, unfortunately not supports protected mode. As I understand dos4gw runs in real mode and runs app inside of it in protected mode?
Protected dos apps also can be opened in IDA Pro, as LE executable, works great only major limitation is unability to execute it.
RaVeN-05wrote on 2025-02-24, 10:02:In the worst scenario
Need to find exactly same version of DOS4GW Icr2 uses, and reverse engineer?
For example IDA Pro is disass […] Show full quote
In the worst scenario
Need to find exactly same version of DOS4GW Icr2 uses, and reverse engineer?
For example IDA Pro is disassembler/decompiler/and great too for reversing. This organize asm code inro formatted blocks, which makes code more readable. It can load 16bit dos apps, realmode with dosbox plug-in, special edition, unfortunately not supports protected mode. As I understand dos4gw runs in real mode and runs app inside of it in protected mode?
Protected dos apps also can be opened in IDA Pro, as LE executable, works great only major limitation is unability to execute it.
RaVeN-05wrote on 2025-02-24, 10:02:In the worst scenario
Need to find exactly same version of DOS4GW Icr2 uses, and reverse engineer?
For example IDA Pro is disass […] Show full quote
In the worst scenario
Need to find exactly same version of DOS4GW Icr2 uses, and reverse engineer?
For example IDA Pro is disassembler/decompiler/and great too for reversing. This organize asm code inro formatted blocks, which makes code more readable. It can load 16bit dos apps, realmode with dosbox plug-in, special edition, unfortunately not supports protected mode. As I understand dos4gw runs in real mode and runs app inside of it in protected mode?
Protected dos apps also can be opened in IDA Pro, as LE executable, works great only major limitation is unability to execute it.
Trying to run Whiplash with Dos32A bring up the Dosclient window and then:
1V:\WHIP>v:\cr\dos32a rwhip 2DOS/32A -- Protected Mode Run-time Version 7.35 3Copyright (C) Supernar Systems, Ltd. 1996-2005 4.000.000.000.000.000.000.000.000.000. 5ACCELERATED FOR THE RENDITION CHIPSET 6.000.000.000.000.000.000.000.000.000. 7Press a key ... 8Initialising MIDI device A002 ... OK 9Loading Instrument bank file ... OK 10Loading Drums bank file ... OK 11Initialising DIGI device E016 ... OK 12Unable to open texture map data file iplogo.bm 13 14DOS/32A warning (9003): real mode interrupt vector has been modified: INT 00h 15DOS/32A warning (9003): real mode interrupt vector has been modified: INT 24h 16 17V:\WHIP>
[EDIT] Rebel Moon runs with Dos32A, as does Tomb Raider. I'm sure many more of them will run. ICR2 seems to be the odd man out.