Hi,
Re-searcher Erik, who in reply #24 supplied a link to the Sunix support site for driver downloads has asked by personal message whether I could send a parallel port driver.
You can get drivers for currently sold parallel port cards with the SUN1999 chip from that site
http://www.sunix.com/en/support.phpby selecting "Method 1", Product name "PAR5008A" or "PAR5008R", which leads to a list of driver packages for different operating systems.
Older cards like PAR4008... are also in the product name list, but result in an empty driver list.
I found drivers suitable for older cards with the SUN1888 chip like the PAR4008... on this site:
https://drivers.softpedia.com/get/MODEM/OTHER-MODEM-DRIVERS/Lenovo-ThinkStation-P700-Sunix-Parallel-Card-Driver-8-1-5-0-for-Windows-10-64-bit.shtmlThe package is called k1par01us17_ts.exe (there is also a k1par01us17_ts.txt) and containes driver version 8.1.5.0. On the Sunix site there is also a 8.1.5.0 driver under the PAR5008 product line (apart from 8.2.0.0 and 9.2.2.0), but I cannot tell, whether that works with the SUN1888 chip.
Among the support software for the PAR5008 product is also a tool called "ParallePortRegisterReadWriteTool_x86_x64" which allows to peek & poke manually in the registers of the parallel cards. This also works with my ...4008... card. This program/package comes with the inpout32.dll & inpoutx64.dll and an installer. It is obviously the same inpout... package as supplied elsewhere. I had installed before from the original source and see with Microsoft's "SystemInfo" under "Software environment", "System drivers" that inpoutx64.sys is installed as an automatically started kernel driver.
A 32Bit application written with FPC can only use the inpout32.dll, it won't load the inpoutx64.dll.
My test application presently either does 14 IO-writes before appcrash (error 0x80000002) or 2342 IO-writes and does its crash only when the program wants to terminate anyway (error 40010006).
I have no idea, what makes the difference.
Regards Kai