Ray
12-21-2010, 09:41 PM
I'm interested in developing a Vixen parallel12 plugin that works with PCI parallel cards.
Background: could get no signals on parallel cables with parallel12 plugin when I used a PCI parallel card. The parallel12 plugin had the ability to change addresses from legacy ones like 378h so I put in PCI addresses like D000 but of course that made no difference (D000 is not an ISA address) and I got no output on the parallel cables.
Why was this happening?
So I: looked into the parallel12 plugin source, the actual input/output is just wrapper functions around the
functions in inpout32.dll from logix4U.net. In fact the code is just the standard
[DllImport("inpout32", EntryPoint = "Inp32")]
private static extern short In(ushort port);
[DllImport("inpout32", EntryPoint = "Out32")]
private static extern void Out(ushort port, short data);
But logix4U developed inp32 and out32 for ISA or legacy parallel ports. It was to get around the higher security requirements of winXP & later that block parallel port access In win98,Me etc one can directly access the ports but not so in winXp. Try it and you get "privlegeded instructions" errors.
But that is all it does. It was never constructed to enable working with PCI parallel ports.
I asked the people at logix4u,
"Anyway to convince you to include support for PCI parallel cards in iopout32.dll?"
Their response was,
"Unfortunately no. It is very difficult if not impossible. Sorry that I'm unable to help you."
Yet. In modern computers about the only way to get parallel ports is with a PCI card. So if anyone in the
future wants to use the parallel12 plugin they will face problems. So this is a need for the future.
That's the background. Someone told me the simple595 plugin works with PCI parallel in winXP. So how is
it done? Any help would be appreciated.
Is there perhaps another dll around somewhere for PCI parallel I/O functions? Or is it just a question of knocking down
the winXP,vista privlege levels temporarily.
Wouldn't it reduce response time if one had to bounce back and forth between ring0 and ring3 everytime one had to output
Vixen light on/off sequences? Is there something I'm missing?
Background: could get no signals on parallel cables with parallel12 plugin when I used a PCI parallel card. The parallel12 plugin had the ability to change addresses from legacy ones like 378h so I put in PCI addresses like D000 but of course that made no difference (D000 is not an ISA address) and I got no output on the parallel cables.
Why was this happening?
So I: looked into the parallel12 plugin source, the actual input/output is just wrapper functions around the
functions in inpout32.dll from logix4U.net. In fact the code is just the standard
[DllImport("inpout32", EntryPoint = "Inp32")]
private static extern short In(ushort port);
[DllImport("inpout32", EntryPoint = "Out32")]
private static extern void Out(ushort port, short data);
But logix4U developed inp32 and out32 for ISA or legacy parallel ports. It was to get around the higher security requirements of winXP & later that block parallel port access In win98,Me etc one can directly access the ports but not so in winXp. Try it and you get "privlegeded instructions" errors.
But that is all it does. It was never constructed to enable working with PCI parallel ports.
I asked the people at logix4u,
"Anyway to convince you to include support for PCI parallel cards in iopout32.dll?"
Their response was,
"Unfortunately no. It is very difficult if not impossible. Sorry that I'm unable to help you."
Yet. In modern computers about the only way to get parallel ports is with a PCI card. So if anyone in the
future wants to use the parallel12 plugin they will face problems. So this is a need for the future.
That's the background. Someone told me the simple595 plugin works with PCI parallel in winXP. So how is
it done? Any help would be appreciated.
Is there perhaps another dll around somewhere for PCI parallel I/O functions? Or is it just a question of knocking down
the winXP,vista privlege levels temporarily.
Wouldn't it reduce response time if one had to bounce back and forth between ring0 and ring3 everytime one had to output
Vixen light on/off sequences? Is there something I'm missing?