X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo Newsgroups: comp.os.msdos.djgpp Subject: Re: freedos and cwsdpmi with djgpp under Linux? Date: Mon, 17 Aug 2009 15:00:46 -0700 (PDT) Organization: http://groups.google.com Lines: 54 Message-ID: <83158351-1324-41dd-8b98-5227d9ba2b17@t13g2000yqt.googlegroups.com> References: NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1250546448 31897 127.0.0.1 (17 Aug 2009 22:00:48 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Mon, 17 Aug 2009 22:00:48 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: t13g2000yqt.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO User-Agent: G2/1.0 X-HTTP-Via: 1.0 tinyproxy (tinyproxy/1.6.3) X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009033100 Ubuntu/9.04 (jaunty) Firefox/3.0.8,gzip(gfe),gzip(gfe) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, On Aug 17, 7:39=A0pm, "rickbron DOT DOT DOT AT gmail DOT com" wrote: > > I built a djgpp app using a debian Linux version of djgpp (gcc version > 4.2.2) inhttp://www.by.kernel.org/pub/debian-cosy/dists/lenny/local/binar= y-i386/ > =A0 The end of my Makefile looks like: > =A0 =A0 =A0 =A0 i386-pc-msdosdjgpp-stubify $(PROJ).exe > > =A0 My CONFIG.SYS is: > > DOS=3DHIGH > BUFFERS=3D20 > FILES=3D30 > LASTDRIVE=3DZ > STACKS=3D9,256 > > =A0 I run "cwsdpmi.exe -p" then run my app but it can't find XMS, this > command fails: This isn't really related, but I wonder why everyone always wants to run the DPMI server resident beforehand, esp. since DJGPP apps will load it as necessary anyways. In other words, I never do that, I just let the stub load CWSDPMI (found in my %PATH%) if needed. > regs.x.ax =3D 0x4300; =A0/* EXTENDED MEMORY SPECIFICATION (XMS) v2+ - > INSTALLATION CHECK */ > __dpmi_simulate_real_mode_interrupt(0x2f, ®s); Right, you didn't have XMS loaded. > =A0 If I add this to my CONFIG.SYS: > > DEVICE=3DHIMEM.SYS > > =A0 The above passes but when I try to alloc memory via: > > regs.x.ax =3D 0x0900; =A0/* Allocate extended memory block */ > regs.x.dx =3D size_pg_align / XMS_BLOCK; > __dpmi_simulate_real_mode_procedure_retf(®s); > > =A0 it fails. =A0Can anyone shed some light on this? CWSDPMI is probably hogging all the RAM. If you use EMM386, it will use paging and this won't happen. Try JEMM386. http://www.japheth.de/Jemm.html P.S. I wonder if you know why you're trying to use XMS. Typically that's unnecessary. DJGPP is tightly integrated with pmode, C/C++ (mostly), and DPMI. Anything else is doing something a bit odd. (Are you trying to use DMA or something like that??)