Hi everybody,
I have prepared a series of lectures on writing
simple WDM drivers.
As a minimum hardware device I use a little board
with LEDs attached to the parallel port. I also use
this board to trigger interrupts (IRQ 7). This is
the only way I have to demonstrate real interrupts.
But there is a problem: if the LPT1 driver is active
I get a resource conflict, if it is not active the
whole parallel port is disabled.
In W98 and WMe I found a way to work around it but
in XP I didn't manage.
One way I thought of is not to include the ports
in the LogConfig section of my .INF file ( it was
IoConfig=378-37a ) - the port addresses are not
translated. On the side of the LPT1 driver interrupts
are not used. So there is no resource conflict.
But my ISR routine is never called. Seems LPT1 blocks
IRQ 7 even if it doesn't use it. Or IRQ 7 is not
enabled (but the mask bit in the PIC (0x21) changes
when I start my driver). The driver works fine in WMe.
Then I tried to find out, how to enable the parallel
port when the LPT1 driver is inactive. I am aware
this is a question of the chip set but on the other
hand it may be simple. I studied the DDK example
sources of the parport driver for at least two days
but didn't find the clou.
Who can give me advice?
Thanks in advance
Wolfgang