What are the software differences between the 6501 instruction set and the 6502? I think the ROR was non-existent in the very, very beginning, but that would affect both 6501 and 6502. However, that also means software won't be using those opcodes, so their presence isn't much of an issue. The 6501 was just to achieve pin compatibility with the motorola chip sockets it was competing with, but I'm not aware of any software differences. The 6502 and 6501 thusly should be able to use the same disassemblers. It's very vaguely like saying "I want a disassembler for software running on my Core i5-750, but all I can find is x86_64 disassemblers".
To avoid all the ???'s for normal software, one of the magic features to look for is a "tracing" disassembler, which doesn't just disassemble all bytes in a range, but traces which instructions follow others from some starting address.
My online 6502 family disassembler here does tracing and some other neat stuff, letting you rename labels and spawn asm traces interactively. For disassembling raw memory dumps, make sure your binary file ends in .rom or .bin, and use shift-A to disassemble from the selected byte. It doesn't yet export .asm files, but you can save the state of the disassembly.
EDIT: Oh, I'm an idiot. R6501 != 6501. My disassembler linked above does support those same RMB/SMB/BBR/BBS bit instructions, from a 65c02 mode. The 65c02 supports even more instructions beyond those, but that model with bit instructions should work for R6501.
EDIT 2: There, I bolted "R6501" into the CPU model selection, assuming it's just 6502 + the 65c02's bit instructions. I don't know any additional quirks about this model, so let me know if something goes screwy. Make sure to refresh the disassembler's page if you visited it in the interim.