Forum > Other

Installing and using on DOSBox/FreeDOS


I'm starting a new pet project, and I want to make it run in good ol' DOS systems.  I've tried to install FPC but I've found a problem.  See attached image:  the installer renders incorrectly, and after clicking the Ok button it shows another dialog with another message I can't read and exists.

I'm using DOSBox 0.74-3 on Xubuntu 20.04 LTS, FPC is 3.2.0.

A little off-topic but related with my plans, I see FPC uses GO32v2, but I'm going to use DJgpp too, which uses CWSDPMI server instead.  Are they compatible?  I mean, if I create a library (.a) with DJgpp, can I link it to a Pascal program using {$L } directive?  What about the other way around (link Pascal units with a C program)?

Seems to be a DOSBox issue, as I've tryed on Qemu+FreeDOS and looks ok. 

Now problem is that FreeDOS doesn't seem to suport Long Name Files so it doesn't install the compiler (fpc.exe? Why? it doesn't has a long name!).

I found that trying to install FPC under DOSBox to not work very well due to it's lack of LFN(Long filename support).  There is a special version of DOSBox made which does support LFN, but I believe this version of DOSBox is only available for Windows.  While it should work on FreeDOS, as FreeDOS actually has it in it's package manager, I have found issues with getting some FCL packages to work correctly.

In the end, this lead me to the creation of a Docker image for the sole purpose of cross-compiling to both 16-bit and 32-bit MS-DOS targets, i8086 and Go32v2 respectively.  I highly recommend using the Docker image over going through the fuss of trying to get FPC to natively run on either DOSBox or in FreeDOS.  You can find the information on the Docker image I developed in this forum section.  I actually just made an update today, so now the Docker image has FPC 3.2.2, along with support for both i8086 and Go32v2 compile targets.


[0] Message Index

Go to full version