I think (probably because I haven't examined the problem sufficientlyThe Robman wrote: Looking at the Delcom site it appears that they have source code for some of their apps available. Therefore, would it be possible to create our own 64 bit driver using any of the source code that they have provided?
1. Microsoft released, a year or two ago, the WinUSB driver. It was made available originally for Vista, but is also now available for XP (at least SP2), and of course Windows 7. It is much simpler to use than writing a kernal-level driver (e.g. the Delcom driver) or using DeviceIOControl with the setupapi.dll. WinUSB is itself a kernal-mode driver, and so it hides the details of a 64 bit versus 32 bit OS. Instead it exposes an API to the application. It does have a limitation: only one application at a time can access the device (e.g. the JP1 interface.) For us, that's not significant.
2. Lakeview Research (the technical writer Jan Axelson, actually) provides free unrestricted code for a variety of USB situations. I used one of her demo programs for USB recently, and it took me longer to get Visual Studio installed than to get meaningful exchanges going with the USB device.
The WinUSB driver should make interfacing to the Delcom chips about the same level of difficulty as using a HID device. And a lot of the coding work, including understanding how to get started with WinUSB, has already been done.
Microsoft--How to interface to WinUSB
Laveview Research WinUSB page
I would be willing to work on this, since I have some, but not extensive, background in programming and interfacing to Cypress USB micros. If this idea is interesting, and not obviously a non-starter, I would want to borrow a JP1 cable and remote. I use 32 bit XP, and intend to continue with that OS, so I would need willing and patient testers who have an unsupported OS. Preferably, Tommy would provide me with the exact chip identification. I'd also need some help in understanding how to hook into IR.exe. I am a little bit familiar with the serial dll, but I have no idea how the I2C stuff hooks in.