I dont have a zero to test this; however I'd suggest a "start simple" approach to resolving this issue.
Perhaps you have already done this.
So - can you read in a voltage from a pot and directly output it to the DAC and get values ranging from zero to 3300mV?
does your genSin() routine create the right table of values?
Can you choose a value from the table, send it to the DAC and get the right voltage?