You can avoid cryptic language constructs in the main source code.
I did not yet use the preprocessor in Pascal but a standard way to access memory mapped ports in C is something like this (from the top of my head):
#define _port = 0x87 #define ByteIO(p) *(((volatile unsigned char)*)(p)) #define port=ByteIO(_port) now in the main code you go x = ByteIO(_port); or just x = port; ByteIO(_port) = 0x55; may look queer to some watchers, but port = 0x55; should be nice. -Michael _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel