CopyDialogIndirect() contains the following loop that controls how much it copies:
?loop:
LDA [$00], Y ; load the next character from the pointer
STA !DIALOG_BUFFER, X ; write to the buffer
INX : INY
CMP.b #$7F : BNE ?loop
My issue is that I'm trying to use the character that encodes to 0x007F, but it's causing the copy to end prematurely, and without the terminating 0x7F, which means that the printed text spazzes out and just keeps printing gibberish until it finds something to end on. (Because 0x007F doesn't terminate the actual print.)