Introduction
Introduction Statistics Contact Development Disclaimer Help
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.
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.
"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
bencollver
retrocomputing
technical
You are viewing proxied material from tilde.pink. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.