Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: AUTO232 and memory protection

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.