[Coco] VCC, MMU & AWE

William Astle lost at l-w.ca
Mon Jun 12 00:58:24 EDT 2017


On 2017-06-11 10:26 PM, Walter Zambotti wrote:
> However I have already tested AWE support in WINE (Linux) and it is not there so until the function stubs are fully implemented this would be a Windows only modification!!!
> 
> However I am only using three AWE functions and Linux provides the mremap function which may make it possible to allow rudimental AWE support.

First: don't start a new thread by replying to an old one and changing 
the subject. That doesn't actually start a new thread.

Second: mremap() does not do what you think it does, and is a GNU 
specific extension to the C library. mremap() has nothing to do with 
moving one part of the address space to another - it's used to change 
the size of an existing mapping.

Further, there is no mechanism on any platform other than Windows to do 
anything like AWE. This is likely the reason AWE is not implemented in 
Wine - it would have to be simulated with no operating system assistance 
at an immense performance and complexity penalty. Given that this also 
seems like an abuse of AWE given it's actual purpose which is to allow a 
32 bit process to access memory beyond 4GB, it seems like there would 
not be a lot of applications that would be used under Wine that would 
benefit from such an implementation. Scarce resources and all.

It may be a reasonable "optimization" under Windows. However, it has no 
benefit on any other platform and will make the previously stated goal 
of eventually getting VCC running on platforms other than Windows more 
difficult in the long term. It also, as you have discovered, prevents 
VCC from running under Wine which would eliminate all current Linux and 
Mac users of VCC from the user base.


More information about the Coco mailing list