Author: Ed Schröder
Date: 23:58:09 02/04/99
Go up one level in this thread
>Posted by Robert Hyatt on February 04, 1999 at 22:20:00: >>Extended memory is a way to avoid the problem. I adviced Ed to write a DOS >>program that would allocate all DOS memory for itself, and then start >>Rebel by a system() call. >>This way, the DOS extender Ed uses will be forced to load Rebel.exe into >>extended memory (above the first megabyte), thus protecting it from memory >>overwrites by the Auto232 driver. >>This is not perfect, because of course any TSR program can also access >>extended memory. But it is unlikely to happen accidentally in this case. >>The bad case would be that the driver overwrites the BIOS or DOS memory >>area. In this case there is nothing to do. But at least the program's code can be >>protected (unperfectly I know) by forcing the system to load it above the >>first megabyte. >the only problem with the 'executable' sitting above 1M is that the thing has >to use a 'bounce buffer' to work when you do _any_ I/O at all. Which is not >efficient at all. Because you can't pass addresses above 1M to DOS, you have >to copy from the local buffer to something in the first 1M, then do the I/O, >then copy the results back, and so forth. No I/O and it works well. But if >you update the screen quite a bit, it can wreck havoc.. I have made such a small program Christophe suggested. Sofar I have not seen the problems you describe. Maybe it's all taken care of by the compiler because I know the 32-bit DOS extender of the compiler includes special code to the executable to handle all 16-DOS interrupt calls for all IO handling. Ed
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.