It's amazing what you can accomplish when you write your assembler operands in the correct order. My version of FN SetupAIFFHeader didn't work because I was trying to push parameters onto the stack like this: ` move.w -(sp),^fRefNum% when I should have been doing it like this: ` move.w ^fRefNum%,-(sp) I've done enough of these that I should have seen this glaring error--but I spent hours staring at it before the light bulb came on. Duh. So having solved that problem, I quickly got my program to record CD-compatible AIFF sounds, and am now the proud father of my first audio CD made from snippets of sounds originally recorded on cassette tape. Thanks to everyone for responding. - Rick