Ok, here's a step-by-step that works on the Dell M4400, starting from a blank system. The version of Ubuntu below is LTS (long term support), so patches are still being provided and the repositories are still there. However, it's going to be unsupported soon in April 2025, unless you subscribe to Ubuntu support (free for personal use they say, but I've never used it). If I'm reading the support policy right, the repositories should still be around for another 5 years after that until end of life.
This is the last LTS version that has wine with the parallel port support. It doesn't mean there aren't more possible combinations out there, including rebuilding wine-5.0 on a later version of Linux, but it can lead to a deep rabbit hole of package dependencies. Sticking with a Ubuntu version that has the wine that's needed, and in the default repositories, is the easiest way.
At any rate, here ya go:
Install Ubuntu 20.04.6 LTS (Focal Fossa)
Once installed, check that you have a /dev/parport0. If you don't, Ubuntu is not detecting one on your system, so don't bother with the rest of this. At least for me, the laptop needs to be in the docking station at boot time for the parallel port to appear.
/dev/parport0 requires specific access permissions for read and write. You can change the permission on this file, which is not persistent from boot to boot, or you can put yourself into the group "lp" which has the correct permissions:
sudo adduser YOURUSERNAME lp
Note! You will need to reboot for the new group membership to be effective. The final steps below will fail if you haven't done this. You can use the command "groups" to make sure "lp" appears as one of your groups after rebooting.
Install package: wine 5.0-3ubuntu1
Install package: playonlinux 4.3.4-1ubuntu1
PlayOnLinux is a graphical front-end for configuration of wine and management of wine applications. It makes dealing with wine painless.
Launch PlayOnLinux. It has a long default list of applications it knows about, but galep32 is unfortunately not one of them.
Select: Install a non-listed program
Select: Install a program in a new virtual drive
Pick a name like galep32 or whatever you want for the virtual drive.
Check the box: Configure Wine
Select: 32 bits windows installation
A "Wine configuration" window should come up.
Select windows version (at the bottom): Windows 98
Select the "Libraries" tab.
From the "New override for library" pull-down, select "msvcrt" from the very long list and press "Add". Close the window with "OK".
The manual installation window should come up next. Select "Browse" and choose the Conitec Galep installer "G32setup_12007.exe". That is the latest version and is available here if you don't have it:
https://www.conitec.com/en/community-products/downloads.htmlWine should now launch the installer. Take all the installer defaults. It will take about 5 minutes to install. When done, UNCHECK "Launch GALEP32", and select "Finish".
The next window will be shortcut configuration. Choose "Galep32.exe" and then "Next", take the default name "galep32" then "Next". When prompted for another shortcut, select "I don't want to make another shortcut", and then "Next".
The PlayOnLinux window should still be open and "Galep32" should now appear as a choice. Click once on "Galep32" and select "Configure". From the configuration window select "Wine" at the top, and then click on "Registry Editor".
In the registry editor, create a new key:
HKEY_CURRENT_USER --> Software --> Wine --> VDM
And then create another new key under the newly created "VDM" key:
HKEY_CURRENT_USER --> Software --> Wine --> VDM --> ppdev
Under the "ppdev" key, create a new string value "378". Then give that string a data value of "/dev/parport0" by right clicking in the "Data" column and selecting "Modify". If this procedure is not clear, here is an example screen shot of the registry entries you're aiming for:
http://www.conitec.net/xpages/galep_wine.htmClose the registry editor and the wine configuration window.
Plug the GALEP-4 programmer into the parallel port and power it on.
Go to the PlayOnLinux window (should still be open) and run "Galep32" by double clicking on it or by clicking once and select "Run".
Galep32 should launch and ask what language you prefer. After you choose, it should find the GALEP-4 programmer plugged into the parallel port and turn the status LED on the programmer from red to green. The galep32 application should say the GALEP-4 was detected and some additional info about reading calibration tables, etc.
That should be it!
EDIT: Changed group membership command to "adduser" (safer). Plus membership alterations need a reboot (not just log out then log in). Maybe there's a workaround for that, but I haven't seen it.
EDIT#2: Minor typo: doubled "sudo" - fixed.