One source I found claims:

> According to DOS manuals, short filenames are case insensitive, and the following characters can be used:
> * Letters `A` through `Z`.
> * Digits `0` through `9`.
> * Characters with ASCII codes greater than 127. Note that these characters depend on current code table. Also, their handling is case sensitive.
> * Space. Note that many applications do not recognize this character and it is not used in creating aliases for long filenames.
> * `$` `%` `-` `_` `@` `~` backtick `!` `(` `)` `{` `}` `^` `#` `&`