irlandes
2008-Aug-14 04:05 UTC
[Wine] Complete National Geographic For Windows:DOSMEM_MapDosLayout
I am trying to run The Complete National Geographic For Windows, I think is the name. Around 1997, NG sold a pricey package of CD's with every page of every magazine since the beginning through around 1997, in a fancy box. It was designed to run on Windows 95. There is an installation program, and this program takes the individual .jpg images, one for each page, and presents two pages at a time in a display window. One can select year or issue within that year. It also has a movie at the beginning, a .MOV file, with an ad for Kodak... I installed it on my emachines W3115 on XP and it works fine, but doesn't run in Wine, either in XP or Win 95 mode. Looking at both installations, the XP and the Kubuntu 8.04, Wine 1.1.2, the NGM folders seem to be identical, except for a user file on XP when I logged into the program. When I open a terminal in the folder where the executable is located, and type: wine ngmag.exe I get an error message, see below in the quote. I have installed hardy.sh libraries. Winetricks is in my desktop, but no reason to install anything at this point. As best as I can tell, the program needs the entire bottom 1MB of memory to be available, and it is not, or the program thinks it is not.> > >>err:dosmem:DOSMEM_MapDosLayout Need full access to the first megabyte for DOS modeGoogle shows this error message at line 511 of dosmem.c. http://source.winehq.org/source/dlls/winedos/dosmem.c?v=wine-1.0#L499> > 495 * DOSMEM_MapDosLayout > 496 * > 497 * Initialize the first MB of memory to look like a real DOS setup > 498 */ > 499 BOOL DOSMEM_MapDosLayout(void) > 500 { > 501 static int already_mapped; > 502 > 503 if (!already_mapped) > 504 { > 505 HMODULE16 hModule; > 506 unsigned short sel; > 507 LDT_ENTRY entry; > 508 > 509 if (DOSMEM_dosmem || !VirtualProtect( NULL, DOSMEM_SIZE, PAGE_EXECUTE_READWRITE, NULL )) > 510 { > 511 ERR( "Need full access to the first megabyte for DOS mode\n" ); > 512 ExitProcess(1); > 513 } >The variable DOSMEM_MapDosLayout at line 499 of the same module and which is mentioned in the error message is also found at line 973 of int31.c. The cross reference shows it present as follows:> > Defined as a function in: > > * dlls/winedos/dosmem.c, line 499 > > Defined as a function prototype in: > > * dlls/winedos/dosexe.h, line 394 > > Referenced (in 4 files total) in: > > * dlls/winedos/dosexe.h, line 394 > * dlls/winedos/dosmem.c, line 499 > * dlls/winedos/int31.c, line 973 > * dlls/winedos/module.c, line 198 >In int31.c line 973 it is part of a routine:> > /* check if Win16 app wants to access lower 64K of DOS memory */ > 972 if (base < 0x10000 && DOSVM_IsWin16()) > 973 DOSMEM_MapDosLayout(); > 974 > 975 SetSelectorBase( sel, base ); >I rebooted and tried to make sure nothing else was running above the minimum needed, to try to reduce program conflict. I also went through folder NGM and all md5sums were the same, except three files, which upon examination are almost certainly a result of one being run and the CD's and a user registered. Plus one file said cdrom was D; the other said E, which changes md5sum. I can live without this program in Linux, but I don't like to have to reboot to do something. I can run the Actron DTC Lookup program which came with my Actron OBDII scanner for my car. So, Wine seems to be working. I am going to try some other programs when I get time. I even thought maybe I could make a script file to do this task, since one can manually open the CD and use Kuickshow to see the pages, but that would be a major project. I have no idea where to start on this problem. Any ideas or tips? Thanks much. [/url][/quote]
irlandes
2008-Aug-14 04:12 UTC
[Wine] Re: Complete National Geographic For Windows:DOSMEM_MapDosLayout
I read the stickies again, and it looks like my problem is directly related to the one about the security fix. It is late, and I will look again tomorrow. I think at this time no help needed, since stickie gives me my clue. I will try to delete this for now.