Forum Home Forum Home > Technical > Plan B
  New Posts New Posts RSS Feed - Using a Data IO on a modern system & other tricks
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


Forum LockedUsing a Data IO on a modern system & other tricks

 Post Reply Post Reply
trm View Drop Down
Senior Members
Senior Members
Who loves you, and who do you love?

Joined: 24 Jan 2008
Location: USSR
Status: Offline
Points: 5717

Feedback: 5
Direct Link To This Post Topic: Using a Data IO on a modern system & other tricks
    Posted: 03 Nov 2010 at 11:00pm
Hi. I've spent quite a bit of time helping my Dad get a Data I/O and Unipak setup working on his PC. Bearing in mind that the Data IO is mid-80's vintage, runs DOS software and uses a serial port it can be quite tricky getting it working on a modern USB x64 system, but the range of device it supports has definitely made it worthwhile.

This post is in 3 sections. First I explain how to physically connect the devices. Next I explain how to use PROMLINK on a non DOS machine and finally there's some tips on using the setup.

Connecting the system

First of all you need to have a physical connection between the Data IO and the host PC. This requires a serial cable wired to the following spec. The 25 pin is the Data I/O end and the 9 pin is the PC end:

25 pin 9 pin
6 ------ 1
2 ------ 2
3 ------ 3
20 ----- 4
------ 5
6 ------ 6
5 ------ 7
------ 8
GND ---- GND

The next issue is quite likely going to be that the host PC doesn't have a serial port! We got around this by using a USB-Serial dongle. As a further complication we had an x64 install of Vista as the host PC so we needed a USB-Serial dongle that had a signed x64 driver. Much research (and returning a number of dongles) led to the conclusion that anything using a Promise USB chipset will work, but for other brands YMMV. The one in use was bought from Maplin. Searching now they only appear to have this model and I can't attest to the chipset in use so can't guarantee x64 compatibility but it should be fine on x86 operating systems.

However, one of the customer questions indicates that somebody found a signed Prolific driver that does work on x64. The driver can be found at: 

So now you've got a physical connection between the host PC and the Data IO. If you've needed to use a USB-serial dongle, then you need to disable the default "virtual" OS serial ports as the PROMLINK software doesn't seem to like anything other than COM1 or COM2. How you do this depends on which OS you're using, but Device Manager, searching for COMx and disabling the "virtual" serial ports is the way forward. 

Once you've done this you shouldn't have any serial ports listed so you can use the software that comes with the USB-Serial to make the dongle appear as COM1. That's what is used for the rest of this doc.

Next step depends on what OS you're running and whether it's x86 or x64 and what version of Windows. If you have an XP x86 then you can just skip straight to the next step and download Macro's excellent hack of PROMLINK that makes it work on WinXP x32.

Getting this working on an x64 system that doesn't natively support DOS

Below I'll be referring to both the VM and the physical computer. The physical computer is referred to as the host and the VM as the guest.

Our scenario was an x64 Vista host. Some time spent tweaking compatibility mode got us nowhere so, knowing that Macro's PROMLINK worked with XP x86 we decided to use a Virtual Machine (VM). There are a number of competing products, all with free options but we needed USB pass-through and at that time the only software which reliably handled this was from VMware. Virtualbox may now include this, so it's worth checking as it's a very nice package. 

Not having a spare VMware workstation license and not wanting to introduce the complexity of the free VMServer we decided to use VMPlayer. This is a fine piece of software with a few limitations, key being that it can't be used to create new VMs so you need a prebuilt WinXP x86 VM. I'm currently looking at the possibility of providing this with prebuilt USB-serial drivers and PROMLINK as a download, but I have to figure out licensing for the OS.

Next you need to install the drivers for the USB-Serial dongle on the host OS. Follow the normal installation procedures for this. Once installed I like to check the comms pathway: using Hyperterminal on the host OS create a connection using the virtual serial port created earlier (remember, you have to disable any inbuilt virtual serial ports and make your USB-Serial appear as COM1) with 9600 baud, 8 data bits, 1 stop bit and no parity (aka 9600/8/none/1) you should see some lines of garbage when you push enter a few times or if you're really luck you may see some text! At this point we know the host can talk to the Data IO via the USB-Serial. But PROMLINK won't work on x64!

After obtaining VMPlayer and configuring it with a working XP x86 VM make sure you connect up the USB-Serial before booting the VM. In the menu bar of VMplayer there is an option to connect devices to the VM guest - select the USB serial port. This should cause the XP guest to spot the serial port and install the drivers. Worst case you may have to install the x86 driver software inside the guest. 

By this point, both the host OS knows about the virtual USB serial port as does the VM guest - we're almost ready to rock!

At this stage I suggest repeating the Hyperterminal trick (9600/8/none/1) and pressing enter a few times to see if you get any life from the Data IO. If not, see the section below about communicating with the Data IO. 

Finally, we need to get PROMLINK running inside the XP VM guest. I recommend using the PROMLINK software that Macro very cleverly hacked to make it work on newer systems. The download link is and I strongly recommend exploring the rest of Macro's excellent site. 

Extract the ZIP and save the files somewhere inside the guest. Make a shortcut to the promlink.exe.

By this point you should have a system which is running an x64 host, had the USB-Serial plugged in before starting the guest XP VM and the serial port connected to the Data IO. 

Now turn on the Data IO. Press Select, F, 1, Start & Start. Fire up the PROMLINK software and you should see activity!

Handy Data IO tips

Part three of this doc will grow to contain useful tips on using the Data IO. 

1. Do not press FB on the Data IO. This kills all serial transmission between guest and Data IO.

2. Ensure the sockets are empty when powering on the Data IO. A number of people have reported that the Unipak will randomly program PROMs or fry EPROMs if they're inserted when the device is powered up. It seems that the Unipack sends voltages to the socket pins at powerup and some of these are unfortunately close enough to programming signals to burn your expensive PROMs.

I hope this is of use to somebody. If you have any feedback, questions or anything else relevant to the Data IO or this doc, please post to the thread:

instead of posting to this thread. That way we can absorb feedback and update the doc without the useful information being split across a 3-5 page thread.

And as always, all feedback would be much appreciated - preferably in the Tech thread or via PM if it's really obscene Wink.


Edited by trmatthe - 16 Nov 2010 at 2:22pm
There'll be no accusations,
Just friendly crustaceans,
Under the seaaaaaa!
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

This page was generated in 0.258 seconds.