ILDoslink Manual

General

ILDoslink Main program

ILDoslink is a virtual HP-IL device allowing import and export data to the PC file system. It base on the source code of the DOSLINK interface inside Emu41 published by Jean-François Garnier. So it's completely compatible and operate in the same way like the DOSLINK interface provided by Emu41 and Emu71/DOS.

Interface ID's

Operations

Data sent to DOSLINK is attached to the given "Outfile" file. Data received from DOSLINK is read from the given "Infile" file. Both operations transfer the data as binary files, so it's possible to read/write binary data. To write a text file, use the PRINT instructions and the CR/LF line terminator (see ENDLINE keyword) instead.

By pressing the "C" button or with the HP-IL commands CLEAR :LOOP or CLEAR :DOSLINK you close the output file and rewind the read position of the input file to the beginning. At next write access the data in the "Outfile" file is overwritten. When changing a file name over the "OutFile" or "Infile" button, the corresponding old file is closed before.

Virtual HP-IL setup

ILDoslink has an integrated TCP/IP server for receiving HP-IL frames from the preceding device and a TCP/IP client to transmit IL frames to the next device. This implements a virtual HP-IL over a PC network.

Choosing TCP/IP (IPv4/IPv6) as transport protocol gives the advantage of communicating with virtual HP-IL devices around the world if the host PC has access to the internet. Each virtual HP-IL device contains a TCP/IP server listening for data frames on the specified port number and a TCP/IP client sending data frames to a port of the next virtual device. A HP-IL data frame is normally 11 bits long, but as TCP/IP is a byte oriented protocol it is mapped to 16 bits (2 bytes). The remaining upper five bits are filled with zero (reserved for future use). The two bytes of a frame are transferred in network byte order.

Therefore you have three virtual HP-IL mode parameters:

So each device is listening for HP-IL frames on it's in-port, processes the frames inside the device simulation, and send output frames to it's out-port.

The Port numbers are split into three groups:

For virtual IL you should use port numbers from the third group (49152-65535). Port numbers below 49152 are also accepted.

Open TCP/IP ports are nowadays a security problem when your PC is connected to the Internet. To protect your computer from unauthorised requests all modern operating systems contain a (personal) firewall which blocks attacks. By default all ILDoslink TCP/IP traffic is being blocked too. Depending on your firewall you are asked at first usage of ILDoslink in TCP/IP mode to permit the communication or you must beforehand enable manually the ILDoslink program in your firewall. For security reasons you should restrict the rights of ILDoslink to the local PC or not more than to the local LAN.

To set the above mentioned virtual HP-IL mode parameters call the "TCP/IP Setup..." item in the ILDoslink system menu (you get it by Alt+Space Bar or a left mouse click on the symbol in the top left corner or a right mouse click on the title bar). After you finished the setup, press the "Start" button please. If the "Start" button is disabled, the virtual HP-IL interface is already running. So you have to "Stop" and restart the interface for activating the new settings.

Command line parameters

ILDoslink can save the setup data in two ways. The standard way is saving the data in the Windows registry. But then every instance of the program starts with the same settings. To avoid this I added the possibility to use a dedicated ini-file.

The command line arguments "setup-file" and "/start" are optional and their order is irrelevant.

Batch load example

A batch file containing

  start ILPilbox.exe  /start ILPilbox.vil
  start ILper.exe     /start ILPer.vil
  start ILDoslink.exe /start ILDoslink.vil

is starting one ILPilbox instance reading the setup data from file ILPilbox.vil, one instance of ILPer using the setup data from file ILPer.vil and one instance of ILDoslink taking the setup data from file ILDoslink.vil. At all three programs the "Start" button will be activated after start-up.

For the setup-files I suggest the file extension *.vil (for Virtual Interface Loop) but any other file extension will do. Creating the *.vil setup files from the example above is quite easy. Run the batch program to start all program instances, arrange the program windows on the screen and setup each program instance with the correct data. Finally close all program instances. At the next call of the batch file, all program instances are restored at the previous screen position and use the last setup data.

(c) Christoph Gießelink, February 2024