Then connect up your 'DAC', write FF again,
and measure the voltages
again. If they're significantly lower, your DAC is loading the port too
much, use higher value resistors. You might also try writing 0 to a
particular port line, measuring the voltage there with the others at all
0's and all 1's. Then do the same thing with the line you're monitoring
set to 1. Repeat those tests for all 8 port lines. If you see the voltage
on the line being monitored change when you change other bits, again I
think the resistors are too low.
Go simpler: Use a ZN428 from Ferranti ;o)