When old meets new!
Good friends of ours bought some software about 30 years ago to manage their CD\LP collection.
The application runs in DOS and works fine. However, over the last 10 years it has become harder for them to keep it running due to compatibility issues (mainly the fact that it is a 32bit program).
It got to a point where they kept an old computer running Windows XP just for this software.
Being a FileMaker developer I decided to help them out. How hard could it be?
I got a copy of the software with the data and took it home to explore.
Since even Windows compatibility mode can’t help with a 32 bit application I needed a machine running a 32bit Windows.
There were 2 options:
- Re-purpose a computer
- Run a virtual machine using VMware
I didn’t have a spare machine knocking about so I opted for a virtual machine.
I installed Windows XP 32Bit (luckily I keep old install CDs).
Okay, now I was getting somewhere:
Next, how do I get the data out? (this is DOS remember). There was no export function in the application (it wasn’t a big thing 30 years ago and not many standards around).
I looked at the db files in text\HEX editors and googled the software.
The db was a proprietary format. The only software that was written to extract data from it was not available any longer, anywhere.
I extracted the data into Excel and tried to find patterns and different types of imports to get a usable consistent format. No go. there were too many special characters to handle this programmatically, in a reasonable amount of time.
I suddenly had a flashback. What if I printed the data into a text file? I remembered doing that many many years ago but couldn’t remember quite how (how do you install a printer driver in DOS?).
A quick google later I found out how to set the printer to a PRN output and sent it to the LPT1 printer port (kind of like piping a command line output to a text file).
Now I had a text file in my virtual machine that I could copy over to my computer to clean up.
The file was clear text, no weird characters to interfere, so the next step was to clean it up from the page headers.
A quick import into Excel and a few macros later I had a nice importable file I could use.
It took about 2 hours to re-write this application in FileMaker (I wonder how long the original software took to develop? RAD rocks!) and import the data.
A quick run-time compilation and we were good to go on both Windows 10 and iPad.
Done.
p.s. This happened a few months ago and I forgot about it until we came across a similar issue with one of our clients.