From: shayyaps AT yahoo DOT com (Iyappa Swaminathan) Newsgroups: comp.os.msdos.djgpp Subject: Re: Help with Fat DS Date: 20 Jul 2002 16:16:20 -0700 Organization: http://groups.google.com/ Lines: 48 Message-ID: <299ed26b.0207201516.5f44e2a3@posting.google.com> References: <299ed26b DOT 0207180806 DOT 7e55ced2 AT posting DOT google DOT com> <1027077283 DOT 928051 AT queeg DOT ludd DOT luth DOT se> NNTP-Posting-Host: 205.175.225.5 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1027206981 15180 127.0.0.1 (20 Jul 2002 23:16:21 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: 20 Jul 2002 23:16:21 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi Martin, Well, Section 18.7 was more helpful. I could access locations in the range 0xffff0000 with a program segment like below, mi.address = 0xffff0000; mi.size = 0xffff; __dpmi_physical_address_mapping(&mi); sel = __dpmi_allocate_ldt_descriptors(1); __dpmi_set_segment_base_address(sel,mi.address); __dpmi_set_segment_limit(sel,mi.size-1); printf("FFFFFFF0 = %x\n", _farpeekw(sel, 0xfff0)); while the above program runs on a normal PC with DOS, I am getting a "Error: could not allocate page table memory" in our target board which runs ROM-DOS. There are no other programs running. Even a mem /c commands shows 613K of conventional memory free. I'd like to know what is the normal page table entries one should use in setting parameters using CWSPARAM.EXE. Any anwers would be really helpful. Thanks, Iyapps. Martin Str|mberg wrote in message news:<1027077283 DOT 928051 AT queeg DOT ludd DOT luth DOT se>... > Iyappa Swaminathan wrote: > : I am trying to read from the locations in the range 0x40000000 and in > : the range 0xffff0000. I tried using the __djgpp_near_ptr_enable() > : function, and then using _farpeekx() functions to read from those > : locations using _dos_ds. But I am getting a SIGSEGV error. > > : I even tried extending the limits of _dos_ds by doing > > : __dpmi_set_segment_base_address(_dos_ds, 0) and > : __dpmi_set_segment_limit(_dos_ds, 0xffffffff) > > : The above calls succeed, but the net result is the same. I am not able > : to read from those locations? > > Did you read FAQ 18.6? > > > Right, > > MartinS