From: garyh AT agora DOT rdrop DOT com (Gary Hanson) Subject: Insufficient memory w/ QDPMI & djgpp? To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Sun, 24 Jul 1994 23:06:24 -0700 (PDT) I've recently been buying some modern software for my ancient 386dx system; Stacker v4, and QEMM v7.04. Stacker has worked fine, but I'm having a problem getting QEMM to co-exist with djgpp. I've seen various messages on the list about QEMM and DPMI before, but I didn't pay much attention to them. The first problem was that QDPMI sets up (only) a 1 MB default vm swap file, which limits djgpp somewhat :-) That one was easy to fix. Now, trying to run a djgpp-compiled version of djpeg, I get the message: C:\TMP djpeg -gif -nodither scene.jpg >scene.gif DPMI: Not enough memory (0x00520000 bytes). Insufficient memory (case 3) Okay, let's see what go32 has available: C:\TMP go32 go32 version 1.11.maint5 Copyright (C) 1993 DJ Delorie Lowest version I can run is 1.08 go32.exe usage: go32 [-d {debugger}] [{program} [{options} . . . ]] go32.exe build time was Sun May 01 17:42:22 1994 DPMI memory available: 5076 Kb Swap space available: 20000 Kb Yes, 5076 KB < 0x520000 bytes, but I thought the whole point of virtual memory was to eliminate these kinds of hassles. I was able to work around the problem in this case by cutting the size of my disk cache to free up more memory, but the question is: what kinds of incantations to I have to tell to QEMM / QDPMI to eliminate this problem? Or, is 'set go32=nodpmi' the best answer? (I haven't tried nodpmi yet.) I looked through various QEMM and djgpp docs, but was unable to come up with a solution. Further information (perhaps useful to the knowlegeable and/or fanatic) is provided below... --Gary Hanson Intel SSD garyh AT agora DOT rdrop DOT com -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- C:\TMP qemm summary Current Mode = ON Expanded Memory Available = 5264K Page Frame Address = E000H Expanded memory is being used. C:\TMP qemm mem Unavailable Converted Initial to QEMM by QEMM Leaving Conventional: 640K - 0K - 0K = 640K Extended: 8192K - 0K - 8192K = 0K Expanded: 0K - 0K + 7888K = 7888K High RAM: 0K - 0K + 152K = 152K ------ ------ ------ ------ TOTAL: 8832K - 0K - 152K = 8680K 152K QEMM Overhead Code & Data: 112K Maps: 0K Tasks: 18K Mapped ROM: 4K DMA Buffer: 12K Unassigned: 6K 0.8K Conventional Memory Overhead C:\TMP cat /autoexec.bat @REM THE CHECK LINE BELOW PROVIDES ADDITIONAL SAFETY FOR STACKER DRIVES. @REM PLEASE DO NOT REMOVE IT. @C:\STACKER\CHECK /WP @ECHO OFF SET BLASTER=A220 D1 I7 T2 PROMPT $e[0;40;32m$p $e[37m PATH C:\QEMM;c:\bin;c:\djg\bin;C:\DOS;c:\chinese;c:\windows;C:\STACKER; SET TEMP=D: set TMPDIR=d:/tmp set GO32TMP=d:/tmp set GO32=driver c:\djg\drivers\stdega.grn gw 640 gh 350 tw 80 th 25 ansi set MAKESTARTUP=c:\djg\bin\startup.mk loadfont \bin\thindemo.f14 call c:\djg\bin\setdjgpp c:/djg c:\djg C:\TMP cat /config.sys DEVICE=C:\QEMM\DOSDATA.SYS DEVICE=C:\QEMM\QEMM386.SYS RAM R:3 DEVICE=C:\QEMM\DOS-UP.SYS @C:\QEMM\DOS-UP.DAT DEVICE=C:\QEMM\LOADHI.SYS /R:1 /SIZE=8592 C:\QEMM\QDPMI.SYS SWAPFILE=d:DPMI.SWP SWAPSIZE=20000 [line edited for length --GH] DOS=HIGH UMB DEVICE=C:\QEMM\LOADHI.SYS /R:2 /SIZE=68176 C:\STACKER\STACKER.COM DEVICE=C:\STACKER\SSWAP.COM DEVICE=C:\QEMM\LOADHI.SYS /R:1 /SIZE=14032 C:\DOS\SETVER.EXE DEVICE=C:\QEMM\LOADHI.SYS /R:1 /SIZE=5328 C:\WINDOWS\ega.sys DEVICE=c:\qemm\loadhi.sys /r:1 /size=3728 c:\nansi.sys /s FILES=30 buffers=10 STACKS=9,256 SHELL=c:\command.com c:\ /e:1000 /p DEVICE=C:\QEMM\LOADHI.SYS /R:2 /SIZE=50864 C:\HYPERDKX.EXE c:2048 h vf s xt:+ DEVICE=C:\QEMM\LOADHI.SYS /R:1 /SIZE=7184 C:\SOUNDMAN\SMG.SYS /S:220 /V:33 C:\TMP