Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: AUTO232 and memory protection

Author: Robert Hyatt

Date: 14:53:56 02/05/99

Go up one level in this thread


On February 05, 1999 at 02:58:09, Ed Schröder wrote:

>>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


That is usually called a 'bounce buffer'... it isn't your responsibility because
you have no idea where you are in memory.  The dos extender does it... but if
you do a lot of I/O or system calls (checking for a key press, for example) it
can hurt performance significantly...



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.