Okay... obviously I was not coherent enough when I made the original post. ;) I _AM_ using the PARALLEL PORT. It is in ECP mode. I am using the eight (8) data lines as OUTPUTS ONLY to the PIC that I have connected. There are two additional lines that a parallel port uses in ECP mode to accomplish hand-shaking (I pull my line, you pull yours, then we both reset). THAT IS ALL. It is intended (and used) for one-way communication. I am _not_ attempting to read anything from the PIC; I am only transmitting data TO the PIC. Next: The device is not experiencing (sp?) over-run. The communication works PERFECTLY when done in DOS. As was mentioned, over-run would result in the loss of random characters, not a complete halt in communications. Basiclly what I'm doing is porting a _working_ DOS program to Windows (98). I already know that accessing the parallel port will cause unpredictable results if I have anything else hooked up to it (printers, scanners, etc....); let's assume for now that MY device is the ONLY device physically connected to (and being accessed by) the parallel port. What is my device? A Parallel-Port to DMX-512 transmitter. I'm working on a PC lighting console for my smart lights. :) Here's exactly what happens: When my Windows application starts, I have it transmitting a "test pattern" to my device. Only the first 16 bytes arrive there, however. After that, no matter what I do, I can't get anything more out of the port. It just dies. If I want to use it again, I have to quit my application and start it again. Then I get 16 more bytes... So, like, what is going on? Why does it die after 16 bytes? :) Perhaps there is something I need to initialize (other than the port itself) before I can use it (the port)? Are there some API calls I should be placing? I know this has been done before... Why does it have to be so difficult? I'm seriously considering just writing this for X and leaving it at that. *smirk* Cheers, -- ~Keith tsk3000@Prodigy.Net http://pages.prodigy.net/tsk3000/ ICQ UIN 15590177