I'm writing a filename I/O procedure in x86-16 assembly language. It takes eight characters (I don't need to support long filenames) from the keyboard and prints them to an on-screen text input field.
At the moment I'm allowing numbers, upper/lower-case letters, underscores, and hyphens.
I'd like to allow all legal symbols, but I can't find an official list of banned characters. Common sense tells me that slashes are illegal, but if I had to guess, I would say that the plus character is legal. (edit: It's not!)
I'm already ignoring the period character since my code automatically handles appending the period and file extension.
Best Answer
A concise summary can be found on Wikipedia:
https://en.wikipedia.org/wiki/8.3_filename#Directory_table
And here's what MS-DOS 6 user guide officially said
This is from PC-DOS 7:
User's Guide - PC DOS 7
The FAT filesystem
If you're also interested in MS-DOS 5.0 then here it is.