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.
DosView 1.7
<
https://github.com/SuperIlu/DosView/releases/download/v1.7/
dosview-1.7.zip>
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.
"No, You Have A Problem"
<
gopher://tilde.pink/I/~bencollver/log/2025-01-05-freedos-virtual-memory/
no-you-have-a-problem.png>
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
====
bencollver
<
gopher://tilde.pink/1/~bencollver/log/tag/bencollver/>
retrocomputing
<
gopher://tilde.pink/1/~bencollver/log/tag/retrocomputing/>
technical
<
gopher://tilde.pink/1/~bencollver/log/tag/technical/>