Last modified: Thu Apr 9 17:04:23 EDT 2020
These are DWF's installation notes on DJGPP 2.05, using the "current" packages (supplied zip files) as they appeared on 2020-03-29.
This is a lean installation for building C and C++ software. For the complete list of prebuilt packages, browse under ftp://ftp.delorie.com/pub/djgpp/current/. Many "standard" Unix tools and libraries are available.
From ftp://ftp.delorie.com/pub/djgpp/current/v2/:
2509574 djdev205.zip base package, djgpp.env, libc 603760 djtzn205.zip zoneinfo
From ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/:
6230009 bnu234b.zip binutils 56514972 em2602ab.zip emacs (optional) 35739658 gcc920b.zip gcc 16094222 gpp920b.zip g++ 429208 mak43b.zip make
From ftp://ftp.delorie.com/pub/djgpp/current/v2misc/:
71339 csdpmi7b.zip DPMI provider
Start with the "basic DOS configuration" documented in QEMU config for running DOS compilers but add a few more lines to AUTOEXEC.BAT:
SET PATH=C:\DJGPP\BIN;C:\LOCAL\BIN SET DJGPP=C:\DJGPP\DJGPP.ENV SET TZ=:America/New_York SET TMPDIR=D:
Mount the C: drive from Linux:
mount -t vfat -o uid=1000,gid=100,shortname=winnt,loop,offset=32256 C.img /mnt
Install the DJGPP zips in /mnt/DJGPP:
mkdir /mnt/DJGPP; cd /mnt/DJGPP; for f in .../*.zip; do unzip "$f"; done
The DPMI provider has a swap file path that is configured by modifying the executable with a special tool.
C:\>cwsparam \djgpp\bin\cwsdpmi.exe Full name of paging file ("" to disable) ? [c:\cwsdpmi.swp] d:\cwsdpmi.swp Number of page tables to initially allocate (0=auto) ? [0] Minimum application memory desired before 640K paging ? [512Kb] Paragraphs of DOS memory to reserve when 640K paging ? [3840] Paragraphs of memory for extra CWSDPMI internal heap ? [256] Maximum size of swap file ? [128Mb] Value of run option flags ? [0]
C:\TMP>gpp -Os -s -o hello.exe hello.cc C:\TMP>dir HELLO CC 120 03-29-20 8:05p hello.cc HELLO EXE 685,056 03-30-20 12:16a hello.exe C:\TMP>hello Good morning, thou cruel world
bash-4.3$ file hello.exe hello.exe: MS-DOS executable, COFF for MS-DOS, DJGPP go32 DOS extender