Page 1 of 1

InpOutx64 with PCI-ex card (address too high?)

Posted: Wed Mar 09, 2016 9:46 pm
by PaulT
I have used InpOutx64 in the past with great success on built-in parallel ports. Now I have a new PC with no parallel port and I would like to get it working with a PCI-ex card. I have a card with a MOSCHIP 9901 chip which is showing in device manager (I'm running Windows 7 64-bit BTW) at address range D010 to D017 and D000 to D007. When I run my software and try to write to the status port I get an "Arithmetic overflow" error; I think this is because InpOutx64 uses a "Short" data type and my port addresses are outside the range of a Short. Is there a solution to this problem?

Thanks,

Paul.

Re: InpOutx64 with PCI-ex card (address too high?)

Posted: Wed Mar 09, 2016 9:50 pm
by phil
There are other functions that take int and long - although I think there is a bug in the driver with the longs which means it wont work - others have pointed that out. As I can no longer sign the driver (it was singed previously by a friendly user) I cant fix it. The source is available to anyone else who is able to fix and sign the driver but that does rule out most hobbyists I'm afraid as you need to be a company to even purchase a driver signing cert last time I checked..

Re: InpOutx64 with PCI-ex card (address too high?)

Posted: Wed Mar 09, 2016 10:32 pm
by PaulT
Thanks for the super fast reply Phil. Sounds like I will have big problems getting my card to work. I've been reading through the "INPOUT32/X64 Works with SOME PCI cards" thread and some of that seems relevant to what I'm trying to do:
postby phil » Fri Aug 03, 2012 8:12 pm

I've just had confirmation that InpOut32/x64 works with the StarTech PE1XP Parallel Port card on port address 'D010'.

Thanks to Michael Tracy for letting me know.
I wonder how he got it working at that address, which is exactly what I have with my card. As you mention x64 the implication is that it works with 64-bit.

Also this post:
by Kfirasulin » Mon Sep 17, 2012 10:27 am

inpout32.dll even work under win 8..

I recenly installed win 8 in my computer, and I also bought a PCI to Parallal card.
In order to have the inpout32.dll to work follow these steps:
1. Make sure you installed the PCI divers in the operating system (comes with the card).
2. Make sure you have the latest inpout32.dll version (which enables the support of long adress numbers).
3. Make sure that you modify your code to the new adress, in order to do that, go to the device manager, and
see what address your PCI card occupies - now modify this number in your code.
4. You are done.
Presumably this only works on 32-bit Windows? If you have any further thoughts they would be much appreciated.

Paul.

Re: InpOutx64 with PCI-ex card (address too high?)

Posted: Wed Mar 09, 2016 10:38 pm
by phil
32bint and x64 windows should work in exactly the same way. Its the same driver code just compiled for x86 or x64 - and they will have the same bugs. Have you looked at the header file for the functions that take different (longer) arguments and given it a go?

DlPortReadPortUlong and DlPortWritePortUlong might be worth looking at - but as I said, some have reported a bug in those )or in the driver functions that they call.

Phil

Re: InpOutx64 with PCI-ex card (address too high?)

Posted: Wed Mar 09, 2016 10:49 pm
by PaulT
Thanks Phil. I'll try those Ulong functions tomorrow.