Hi all I kinda promised you the end of the story - here it is, for what it is: (if you don't care - just don't read on) My PIC16C74 parallel slave port is now running - so it does work if set up properly, which is Initialize TRISE := $17 ; Enable PSP ADCON1 := $07 ; Set PortE as digital I/O PIE1 := $80 ; Enable PSP interrupt PIR1 := $00 ; Clear PSP interrupt INTCON := $C0 ; Enable interrupts (Substitute the syntax of your favorite compiler/assembler) Have an interrupt routine check for PSP interrupt and PSP write, then fetching the incomming byte and setting an Indata.flag . The main routine can then poll the Indata.flg and process the indata. To output data to the PSP you just wait until the output buffer is not full, then write to PortD. The crucial part is to set PortE as digital I/O by setting ADCON1 properly, otherwise PortE will be inputs for the A/D converter, a relation that is emphasized in the most recent data sheet. (DS30390E - can be downloaded from Microchips website). And don't forget the errata sheets. See also Randy Rasa's postings March 7th & March 8th for valuable information. I haven't been bothered by the RETURN instructions changing some flags, though, as I let the interrupt routine read the incomming data, so there will be no RETURN from the interrupt occurs until the data is read. Another thing that caused me great trouble was some improperly controlled bus transceivers which caused bus contention. That, of cause, is blame on me, not on the PIC. The ultimate end of the story is that my project got discontinued because we found another source for the device, which the PIC was supposed to replace, but I learned a lot about the PIC's and I'm sure I'll use it for some other purpose. Thank you for the information I got. I'm signing off from the PIClist for now, I'm burried in e-mail from the list and simply don't have the time to go through it all, so if you have comments, questions or whatever, you'll have to mail me directly. Best regards and bye for now Michael m_steen@vip.cybercity.dk