Cool. The Extended Color BASIC manual even showed how to return a string: A$=(USR1(VARPTR(A$)) You can have your ML subroutine modify B$'s value and then end the routine with an RT$ instruction. This causes U$R to return with B$’s modified value. Weird use of extra parens, though. — A