The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: reiniersb on February 13, 2007, 07:46:30 PM

Title: Interruption handling
Post by: reiniersb on February 13, 2007, 07:46:30 PM
hi everyone!

I really need your help with this problem.
This is what I need: I need to develop an independent application that will work under Windows XP. This application is intended to implement the control for a simple process, so it will have to adquire and return data through a computer port. I'm planning to use the LPT port due to the A/D and D/A chips that are available have parallel interface. I need to do this in MASM so all I need to know is how I can capture the interruption event of the parallel port, the DMA controller and the timer module. I have done this in Win9x changing the interruptions vectors to my own interruption routines, wich is very simple, but in NT, 2000 and XP it will raice an exception. I wonder if the way is the use of APIs, the implementation of a system hook or something like that.
In MASM32 I will able to do that?
How?
Title: Re: Interruption handling
Post by: BogdanOntanu on February 13, 2007, 08:20:51 PM
NO... you can not do it in NT, WIn2k, XP:D

You have to write a kernel mode driver for this... even so...
not all IRQ's can be redirected ... only some of them.

In VISTA you will not be able to load a driver unless you get a direct signature from Microsoft.
Title: Re: Interruption handling
Post by: reiniersb on February 14, 2007, 08:13:44 PM
And what about a gate descriptor? Can I use it to solve this?
Title: Re: Interruption handling
Post by: P1 on February 14, 2007, 10:00:42 PM
Check out AsmIO here: http://www.madwizard.org/view.php?page=downloads

It works for W2K, so it should work for XP.  All bets are off for managed code for Vista.

Let us know if gets you going.

Regards,  P1   :8)