| ECS-L Home Automation and Security Archives |
| Subject: From: Date: | Re: [ECS] Win2k and I/O Port Byte Ingo Pakleppa Tue, 01 Aug 2000 14:33:07 -0700 |
Just get the Microsoft DDK - that has all the necessary information on how to do this. In Windows 95, you can use a VxD, in Windows NT (and presumably W2K), you have to write a kernel-mode driver that provides higher-level API calls, or you can use a VDD to emulate direct port access (it's very slow, though, because it's not real - just emulated). The NT DDK actually comes with a sample driver and VDD that lets you access ports directly from any program - and a big warning that you should not use this in real life (or if that warning isn't there, it should be). By the way, not being able to access hardware port is not a restriction but rather an intentional design decision - as a matter of fact, MS-DOS allowing this to happen was one of the most important criticisms of that operating system. Allowing direct port access was one of the most important reasons that prevented DOS from implementing multitasking because there is no way you can protect such accesses against conflicts. The reason a VDD emulation is so slow in NT is, among other things, that the emulation provides this protection (the main cause, though, is that the processor is actually switched from application mode to kernel mode and back, which are extremely expensive operations that in some cases actually can mean that the processor - not your system of course - is "rebooted") All "real" operating systems (with the possible exception of embedded OS) require you to write a driver rather than access hardware directly from your program. Typically, you should contact the hardware developer for a driver. Ingo At 09:56 AM 8/1/2000 -0700, Steve Letkeman wrote: >Hi Scott, > > The single greatest obstacle I have faced in the last few years with >developing >hardware for the PC has been the inability to access the hardware directly >since Windows 3.1 and it isn't getting any better with the exception of USB. >There appears to be some existing drivers that can be used to do simple >I/O stuff through USB without _too_ much hassle. > >Steve > > >Actually, your boards look like they do the same thing that the Quatech ones >do. If there is some ground swelling of interest in them, I would be >willing to change over (this board I'm using is free right now.) I think >your isa-pro2 board is the same, but with two 8255's enstead of three. It's >just too bad that Microsoft won't give us the option of changing a setting >somewhere and letting us write to memory or ports. Or since it's >suppossedly taken from us for our own good, maybe they would let us specify >the area of memory not to protect in a ini or reg file, and then let us >write and read from it. So if anyone has a contact at microsoft, please >pass that idea to them.. . . . . > > >>> "Steve Letkeman" <zanthic@zanthic.com> 08/01 11:26 AM >>> >I sell a number of I/O interfaces including ISA and EPP parallel >with drivers for 95/98/NT and 2000. (starting at $39) I haven't tested my >boards >under 2000 yet but they are supposed to work as expected. >My drivers are in the form of a DLL that can be called from >VB or C and include interrupt support that can trigger an >event right inside VB (VB5 or higher). If somebody wants >to test the driver under 2000 I will send you a freebie. > >Steve >Zanthic Technologies Inc. located at http://www.zanthic.com >Controller Area Network boards for HC11, 8051, AVR & ISA/PC104 and Parallel >I/O boards for ISA and Parallel, Win95/98 and NT drivers included > >----- Original Message ----- >From: "Dan Hoehnen" <dhoehnen@infinet.com> >To: <ecs-list@netbloc.com> >Sent: Tuesday, August 01, 2000 8:14 AM >Subject: RE: [ECS] Win2k and I/O Port Byte > > > > Mark, > > > > I have a link to Jan Axelson's Parallel Port Central web page on my Home > > Automation Index at: > > > > http://www.homeautomationindex.com > > > > She has links to various I/O drivers for NT. Some are free, some are >cheap > > and some are xpensive. Here's her site: http://www.lvr.com/parport.htm > > > > Hopefully one of these can help. > > > > Dan > > > > > -----Original Message----- > > > From: Mark Gilmore [mailto:omnip@usit.net] > > > Sent: Tuesday, August 01, 2000 10:59 AM > > > To: ecs-list@netbloc.com > > > Subject: Re: [ECS] Win2k and I/O Port Byte > > > > > > > > > A cursory search on this topic turned up > > > only commercial products as solutions. > > > I entered +"windows 2000" +inp +outp in Yahoo. > > > -- > > > Mark Gilmore > > > Omnipotence (ECS home automation software) > > > http://www.usit.com/omnip > > > 423-745-0026 > > > Hours: Mon-Sat, 9AM-8PM/EST > > > > > > >