Markus Amsler markus.amsler@oribi.org writes:
Thanks, I forgot the win16 side completly. While writing a win16 dos memory test appliction (see attachement, winetest is just win32 right?), i noticed windows (win 3.11, ntvdm) handles win16 dos memory quite different than wine: (everything in win16 protected mode)
- int21 memory alloction dos not affect GlobalDOSAlloc and vice versa.
- int21 can allocate much more then 1 MB memory, and returns proteced
mode selectors (wine returns real mode selectors) => windows maps GlobalDOSAlloc, protected mode int 21 and real mode int21 calls to different DOS areas.
Well no, GlobalDOSAlloc and real mode int21 calls have to map to the same area, that's the whole point of GlobalDOSAlloc, and the whole problem with your MCB code. I guess you could have protected mode int21 use a normal GlobalAlloc, but I doubt there are any win16 apps that use int21 for memory allocation.