oh, and another thing:
altough you could use the dac chip directly with the computer, on a prallel port for example, you put the load of the protocol handling and stuff on the pc.
instead, you can use dedicated adc/dac chips, connect them to a microcontroller, and let the micro do all the nasty stuff for you. you can preprocess values (in case of reading in stuff), and even put some of the dataflow on the micro. that way you can directly use the i/o within your application/patch, and always get/send the "natural" values that are there, and dont bother about the rest.
for example, you could use a float of 0..+1 to set the dac from zero to full range, and you dont have to care 1)how the dac is controlled, and 2) what resolution it has. all that is done on the arduino then, which you basically just send a few bytes telling him what channel to set to what value...
this can be a big advantage especially on not so powerfull machines that run pd.
greets,
chris