Posted July 01, 2011
Hi all
while looking for ways to combat the constant crashing I've been experiencing with MAX it was suggested to me that I try updating the extender that MAX uses from v1.97 to v2.01 as that fixes quite a few of the problems that uses experience with the older 1.97 version so after looking round the web I came across this on MAXr.org
anyway I downloaded the files in the thread I then extracted them to the desktop copied the MAXRUN.exe to the pmw133 folder and then made a little batch file called unbind with the following command PMWBIND /U MAXRUN.EXE
when I ran the batch file it produced MAXRUN.LE so I assume this means that it successfully unbound the Executable from the old dos extender this however is where I've become a little unstuck because I'm not sure what I'm supposed to do next.
now from what I can gather I can either rebind MAXRUN.LE to the updated DOS/4GW extender and then just copy the updated DOS/4GW.exe & the rebound MAXRUN.exe back to the MAX folder allowing them to overwrite the files that are there at which time I can just launce the game as normal
or I can run the unbound MAXRUN.LE with any extender I like trouble is I'm not quite sure how you do either of these things because its not really well explained
here
http://www.maxr.org/showtopic.php?id=510&page=1&s=2304bcec31d8870d04ae2dcb63e0e7dd
or here
http://www.gog.com/en/forum/m_a_x_series/m_a_x_i_fixed_memory_assertion_error_that_occurs_in_late_large_games/
so what do I do next can anyone explain ?
while looking for ways to combat the constant crashing I've been experiencing with MAX it was suggested to me that I try updating the extender that MAX uses from v1.97 to v2.01 as that fixes quite a few of the problems that uses experience with the older 1.97 version so after looking round the web I came across this on MAXr.org
CHANGING DOS EXTENDERS - MIGHT BE THE SOLUTION FOR ALL OF US
- M.A.X. and nearly all other DOS programs uses the DOS/4GW 1.97 DOS Extender from Tenberry Software to get Extended memory support through DPMI services. Basically, all 16 bit protected mode DOS LEs (linear executables) which needs Extended memory and other stuff, needs an extender. The Extender can be binded to an LE executable, so the Extender will self contain (wrap around) the "true" executable.
Unfortunately, the DOS/4GW 1.97 has some serious issues, listed here: http://www.tenberry.com/...rn4gw.html . The most important thing is this: "A bug in our DPMI INT 31h/0800h caused mappings of 4MB or to be misaligned." No wonder that the game crashes, as memory usage increases.
Fortunately for us, the original DOS/4GW 1.97 Extender stub can be unbinded from the binded executables (1.00 PR demo, 1.04 retail, 1.56 beta) and this way we can get the original DOS LE executables. After this procedure, a new Extender stub can be binded to the LE executables or we can use the unbinded executables with a different Extender core.
I have tested the unbinded v1.04 MAX executable with the PMODE/W, DOS32A and DOS/4GW 2.01 Extenders and they seems to be much more stable. I have played 136 turns in a custom game against 3 computer players without any freezes or crashes so far. The DOS/4GW 2.01 seems to be the most stable.
To unbind the old DOS Extender from your executables, download the PMODE/W free to use Extender from it's official site: http://www.sid6581.net/...et/pmodew/ and use the PMWBIND utility like this: PMWBIND /U MAX.EXE
To use the DOS/4GW 2.01 Extender without binding the LE executable, just type in: DOS4GW MAX.LE and it will run.
The DOSBOX emulator also supports this method, you can simply load the LE executable with the DOS32A Extender enabled and it will run.
- The next important thing is that the unbinded LE executables can be loaded into IDA PRO and it recognizes nearly everything. Finally there is hope that the inner game mechanics will be decoded based on the original, proper MAX executables.
- Last but not least, the DOSBOX emulator has two Debug builds. With them, it is possible to debug a DOS/4GW binded application on a single PC in a "user friendly" environment.
That is all for now
Best regards,
mague
the problem I'm having is that the this post is not very clear and as a result I'm having a few difficulties and I was wondering if anyone who understands this could explain in a little more detail what you are supposed to do - M.A.X. and nearly all other DOS programs uses the DOS/4GW 1.97 DOS Extender from Tenberry Software to get Extended memory support through DPMI services. Basically, all 16 bit protected mode DOS LEs (linear executables) which needs Extended memory and other stuff, needs an extender. The Extender can be binded to an LE executable, so the Extender will self contain (wrap around) the "true" executable.
Unfortunately, the DOS/4GW 1.97 has some serious issues, listed here: http://www.tenberry.com/...rn4gw.html . The most important thing is this: "A bug in our DPMI INT 31h/0800h caused mappings of 4MB or to be misaligned." No wonder that the game crashes, as memory usage increases.
Fortunately for us, the original DOS/4GW 1.97 Extender stub can be unbinded from the binded executables (1.00 PR demo, 1.04 retail, 1.56 beta) and this way we can get the original DOS LE executables. After this procedure, a new Extender stub can be binded to the LE executables or we can use the unbinded executables with a different Extender core.
I have tested the unbinded v1.04 MAX executable with the PMODE/W, DOS32A and DOS/4GW 2.01 Extenders and they seems to be much more stable. I have played 136 turns in a custom game against 3 computer players without any freezes or crashes so far. The DOS/4GW 2.01 seems to be the most stable.
To unbind the old DOS Extender from your executables, download the PMODE/W free to use Extender from it's official site: http://www.sid6581.net/...et/pmodew/ and use the PMWBIND utility like this: PMWBIND /U MAX.EXE
To use the DOS/4GW 2.01 Extender without binding the LE executable, just type in: DOS4GW MAX.LE and it will run.
The DOSBOX emulator also supports this method, you can simply load the LE executable with the DOS32A Extender enabled and it will run.
- The next important thing is that the unbinded LE executables can be loaded into IDA PRO and it recognizes nearly everything. Finally there is hope that the inner game mechanics will be decoded based on the original, proper MAX executables.
- Last but not least, the DOSBOX emulator has two Debug builds. With them, it is possible to debug a DOS/4GW binded application on a single PC in a "user friendly" environment.
That is all for now
Best regards,
mague
anyway I downloaded the files in the thread I then extracted them to the desktop copied the MAXRUN.exe to the pmw133 folder and then made a little batch file called unbind with the following command PMWBIND /U MAXRUN.EXE
when I ran the batch file it produced MAXRUN.LE so I assume this means that it successfully unbound the Executable from the old dos extender this however is where I've become a little unstuck because I'm not sure what I'm supposed to do next.
now from what I can gather I can either rebind MAXRUN.LE to the updated DOS/4GW extender and then just copy the updated DOS/4GW.exe & the rebound MAXRUN.exe back to the MAX folder allowing them to overwrite the files that are there at which time I can just launce the game as normal
or I can run the unbound MAXRUN.LE with any extender I like trouble is I'm not quite sure how you do either of these things because its not really well explained
here
http://www.maxr.org/showtopic.php?id=510&page=1&s=2304bcec31d8870d04ae2dcb63e0e7dd
or here
http://www.gog.com/en/forum/m_a_x_series/m_a_x_i_fixed_memory_assertion_error_that_occurs_in_late_large_games/
so what do I do next can anyone explain ?
Post edited July 01, 2011 by Cursed-Ghost