I decided to have some fun and alter the corruptor to save and load corruptions based on a hash of the rom data used instead of the filename. What this means is that whenever you receive a corruptor txt or tinyurl link, you can always be sure the other person was using the exact same rom and thus the corruption will work in the exact same way.
I might have made the window a bit too tall this way. And it is currently not backwards compatible with previously saved tinyurls or txts, but I could make it so if someone has a bunch of them they dont want to lose.
Rikerz, I can put this up on github or whereever if you are ok with it. If you put up the original source as well I can even work on it as a proper fork, so it shows you as the original author and I could send pull requests, get more people in on this. It's fun working on this.
One of the next things I want to work on is making the program register itself as an url handler, so you can post links in the forums or maybe even in chaget that will start the rom with the corruption directly. Another idea I had was forking nestopia so it exits with a failure code if it encounters a cpu jam. That way the corruptor could weed out the corruptions that hang on startup without user input. Third idea I had is putting up an image that uses the bytes of the rom directly as colors, so you get an idea of what you are corrupting. For a maximum crazy difficult idea, I'd like to get nestopia to expose the CPU state, rom and ram memory as a memory map to the corruptor, so you could look at the cpu working its way through the memory and make a heatmap of often accessed ranges and possibly even corrupt it live. Maybe you could even implement netplay through the corruptor this way? Sync controller state as often as you can and the whole ram/cpu state every second or so? The nes has only 2 KB ram, kind of fits in a single UDP packet, so that's not as crazy as it sounds. Man, that kind of netcode could even handle live corruption by the server. What if we could make it peer to peer though, have something decide who's state on which memory range has preference. You could set ranges of memory to be a kind of input for any amount of players. What if everyone in chat gets to corrupt a tile type on the screen, fully live on stream? Not impossible!