The C code looks for $HOME/lisp.virtualmem on startup if you're running under X (or ~/lisp.virtualmem if you're using a raw display device (!)) if there is: no explicit sysout name given on the command line, or LDESRCESYSOUT or LDESOURCESYSOUT environment variable in order, note spelling difference).
/************************************************************************/
/* */
/* v m e m _ s a v e 0 */
/* */
/* Implements the VMEMSAVE subr. Write out the current lisp */
/* lisp image to the specified file. If the sysout file-name */
/* is explicitly specified, the directory on which the file */
/* resides is exactly (?) an existing directory. This is */
/* guaranteed by the Lisp code, \MAIKO.CHECKFREEPAGE in LLFAULT. */
/* */
/* If the file argument is nill, the default sysout-file name, */
/* "~/lisp.virtualmem", is used, subject to override by the */
/* LDEDESTSYSOUT UNIX-environment variable. */
/* */
I haven't tracked down where it decides that {DSK} is exactly your login home directory -- I do know that it's not based on $HOME because changing HOME doesn't affect it.
-- Nick