> Any version of Delphi later than 1.0 (that is, any 32 bit version) > doesn't allow you to access the hardware directly (version 1.0 had the > Port() procedure) - so in order to do so you have to write a small piece > of in-line assembler code - this is freely available on the net, and > consists of a handful of op-codes. This then reads the port directly, > and doesn't wait for Windows to give permission - which is why it's not > included in 32 bit Delphi. This won't work on all versions of Win32, and is very hardware specific. The Win98 virtual machine might trap the reference and eventually do it for you, but addressing protected memory on NT simply won't work. The right way to do this is to write a parallel port device driver that performs the operations you want, then call it thru the official CreateFile, ReadFile, WriteFile, etc, interface. ***************************************************************** Olin Lathrop, embedded systems consultant in Devens Massachusetts (978) 772-3129, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu