(TXT) View source
       
       # 2025-01-05 - FreeDOS Virtual Memory
       
       When i tried to view large images on my FreeDOS system with 32 MB of
       memory, all image viewers ran out of memory and crashed.  For this
       post, i will use DosView 1.7 as the example.
       
 (HTM) DosView 1.7
       
       I chose an image Jason Scott shared of an archivists lair.  The image
       size is 8 MB compressed, and GIMP reports that it takes over 67 MB
       decompressed.
       
 (IMG) "No, You Have A Problem"
       
       When i tried to view this image, i got the following error:
       
           C:\DOSVIEW>dosview no-you-have-a-problem.png
           Can't load image no-you-have-a-problem.png
           ERROR
       
       After i ran "LH CWSDPMI -p -sC:\CWSDPMI.SWP", then DosView churned
       the disk for a while and displayed the image.
       
           C:\DOSVIEW>dosview no-you-have-a-problem.png
           OK
       
       This morning i tried again in a virtual machine and was not able to
       repeat my success.  DosView always failed.  This led me to suspect
       that my configuration was wrong.  I searched for DPMI diagnostic
       information.  At first i didn't find much.  Finally, i found that
       DJGPP GDB can report DPMI details.
       
           C:\DOSVIEW>copy con sysinfo.gdb
           set pagination off
           info dos sysinfo
           quit
           ^Z
       
       When DosView fails, GDB reports the following:
       
           C:\DOSVIEW>gdb --command=sysinfo.gdb | find.com "Swap"
           DPMI Swap Space................0 Bytes
       
       When DosView succeeds, GDB reports the following:
       
           C:\DOSVIEW>gdb --command=sysinfo.gdb | find.com "Swap"
           DPMI Swap Space................131072 KB (128 MB)
       
       Yesterday, DosView failed using CWSDPMI's default configuration, but
       succeeded when i loaded it manually.  Today it is the opposite.  I
       don't understand why this changed.  Now at least i know how to check
       the DPMI host using DJGPP GDB.
       
       tags: bencollver,retrocomputing,technical
       
       # Tags
       
 (DIR) bencollver
 (DIR) retrocomputing
 (DIR) technical