TapeDump v1.0 - a tool to dump carts without extra hardware
Moderator: Moderators
TapeDump v1.0 - a tool to dump carts without extra hardware
Hi, folks. Last weekend, I received a Famicom Proto/Sample cart in the mail which had its EPROMs soldered to the game PCB, making the usual EPROM dumping a bit treacherous. So, after a little thought, I decided to write up a Famicom dumping program that sent cartridge data to a PC as an audio stream.
The dumping worked pretty well, so if this program sounds useful to anyone else, please feel free to try it out.
Explanation and controls are here: http://www.chrismcovell.com/TapeDump_Controls.html
And the .NES ROMs (NTSC and PAL versions) and source are here: http://www.chrismcovell.com/data/TapeDump.zip
Comments, complaints welcome.
The dumping worked pretty well, so if this program sounds useful to anyone else, please feel free to try it out.
Explanation and controls are here: http://www.chrismcovell.com/TapeDump_Controls.html
And the .NES ROMs (NTSC and PAL versions) and source are here: http://www.chrismcovell.com/data/TapeDump.zip
Comments, complaints welcome.
Last edited by ccovell on Tue Oct 11, 2011 9:44 pm, edited 2 times in total.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: TapeDump - a program to dump carts without extra hardwar
What a fantastic idea. I'd love to hear some of the results! Probably a bit like playing a data CD in an audio CD player? Or, more likely, listening to a 300baud modem communicating on a voice line.ccovell wrote:Hi, folks. Last weekend, I received a Famicom Proto/Sample cart in the mail which had its EPROMs soldered to the game PCB, making the usual EPROM dumping a bit treacherous. So, after a little thought, I decided to write up a Famicom dumping program that sent cartridge data to a PC as an audio stream.
The dumping worked pretty well, so if this program sounds useful to anyone else, please feel free to try it out.
Explanation and controls are here: http://www.chrismcovell.com/texts/TapeD ... trols.html
And the .NES ROMs (NTSC and (untested on hardware) PAL versions) and source are here: http://www.chrismcovell.com/data/TapeDump.zip
Comments, complaints welcome. I was considering adding a menu front-end to automate dumping of a cart, but if few people really care, maybe I won't...
EDIT: Just noticed the example WAV in the download. Wow what memories!
Last edited by cpow on Fri Jul 15, 2011 5:02 pm, edited 1 time in total.
The Apple II cassette interface worked at about 1000 baud using frequency shift keying. I'd bet with a decent sound card, transfer rates comparable to a 56K modem would be feasible.
The page mentions the usual pak-swap gotchas:
The page mentions the usual pak-swap gotchas:
- Interfacing with the game's NMI handler and CHR banks in order to detect the start of vblank in order to display the UI (avoided here by using solid colors)
- Having to cut pin 4 if using a front-loading NES
For such a simple program I think you can get away with just disabling NMIs and polling $2002. I mean, since you can't rely on what's mapped to the CHR area you can't have much of an UI anyway.tepples wrote:Interfacing with the game's NMI handler in order to detect the start of vblank in order to display the UI
Yeah, no way around that, I guess. Although I imagine that if you are into activities like dumping carts you probably own a few consoles and wouldn't mind modding one of them.Having to cut pin 4 if using a front-loading NES
Cool idea! Now if I only had any carts to dump...
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
I just dumped the dumper itself just to hear it.thefox wrote:Cool idea! Now if I only had any carts to dump...
I then thought about implementing a "Disable CIC" feature in nesicide so I could "insert a cartridge hot" and listen to dumps of some other ROMs.
Then I thought hell if I'm going that far, I mightaswell record the output of a ROM, pass it through the decoder he referenced, and see what kind of results I get.
Then I went off looking for my tape player to bring it even more retro.
Then the kids needed to go to bed so I got sidetracked.
Ahh well. ccovell, I am envious at the simplicity and beauty of your project. Nice work!
- infiniteneslives
- Posts: 2104
- Joined: Mon Apr 04, 2011 11:49 am
- Location: WhereverIparkIt, USA
- Contact:
I can confirm that the PAL-version works well on a PAL machine, just tried dumping Excitebike on my PAL NES and registered here just to tell about it.
With a cable connected directly to the stationary PC the 1200 bps option didn't work very well in the conversion process, had no problems at all with 600 or 300. Well, it's not hooked directly... there's some gadgets on the same line so if I had hooked it directly maybe the 1200 would have worked as well.
Just to make sure I got it out right I had another dump to compare with, the dumper then gave me four parts of PRG before repeating (as expected), I didn't really have to do anything. Assembling them though needed to be done 4+1+2+3 and the 8kB CHR part was dumped in one piece and added last - it ended up as an exact match to the dump I already had.
Nice to know that it works, I guess you would need to be somewhat of an expert to make good use of it if the cart you want to dump has any kind of a mapper or maybe some work could be done on the interface so you could choose a mapper before starting the dump with automatic switching of the areas getting all the data out at once would also be nice.
Super-great idea that requires almost no modification to the unit (I already had the CIC disabled and also a PowerPak) - I wish I had something odd to dump - I guess I can check if my own carts are the same as other known versions of course...
Very good idea and extremely well executed, works like a charm!
I agree that this may help dumping some of those rare carts that noone wants to open, solder on or send away. I'm not much of a NES-guy myself but it's a small part of my overall collection - and hacking is always fun!
EDIT:
Tried it again and pushed out all four parts of the PRG into the sampler program on the PC without stopping in between and then ran all of them through KCS08. Apart from the $C0, 00 first I got the entire 16kB in one go.
With a cable connected directly to the stationary PC the 1200 bps option didn't work very well in the conversion process, had no problems at all with 600 or 300. Well, it's not hooked directly... there's some gadgets on the same line so if I had hooked it directly maybe the 1200 would have worked as well.
Just to make sure I got it out right I had another dump to compare with, the dumper then gave me four parts of PRG before repeating (as expected), I didn't really have to do anything. Assembling them though needed to be done 4+1+2+3 and the 8kB CHR part was dumped in one piece and added last - it ended up as an exact match to the dump I already had.
Nice to know that it works, I guess you would need to be somewhat of an expert to make good use of it if the cart you want to dump has any kind of a mapper or maybe some work could be done on the interface so you could choose a mapper before starting the dump with automatic switching of the areas getting all the data out at once would also be nice.
Super-great idea that requires almost no modification to the unit (I already had the CIC disabled and also a PowerPak) - I wish I had something odd to dump - I guess I can check if my own carts are the same as other known versions of course...
Very good idea and extremely well executed, works like a charm!
I agree that this may help dumping some of those rare carts that noone wants to open, solder on or send away. I'm not much of a NES-guy myself but it's a small part of my overall collection - and hacking is always fun!
EDIT:
Tried it again and pushed out all four parts of the PRG into the sampler program on the PC without stopping in between and then ran all of them through KCS08. Apart from the $C0, 00 first I got the entire 16kB in one go.
- marvelus10
- Posts: 243
- Joined: Fri Feb 09, 2007 5:01 pm
- Location: Nanaimo, BC Canada
- infiniteneslives
- Posts: 2104
- Joined: Mon Apr 04, 2011 11:49 am
- Location: WhereverIparkIt, USA
- Contact:
Sounds like you know what to to tepples, go right ahead.
Is there enough room in the NES internal RAM to do all that?
You can have any graphics you want until you swap carts, selecting mapper manually perhaps and so on, maybe set and be able to test dumping speeds instead of doing it blindly and then send the whole cart out in a single sweep maybe including a proper iNES header as well. Everything would be set in RAM and then you'd swap carts.
That rudimentary text by using a filled or the most filled char could be used after that I guess for better information in case someone has trouble seeing colors.
Great start here anyway, the idea is brilliant, I hope it's developed further and that everyone who likes it also registers here and leaves a comment.
Is there enough room in the NES internal RAM to do all that?
You can have any graphics you want until you swap carts, selecting mapper manually perhaps and so on, maybe set and be able to test dumping speeds instead of doing it blindly and then send the whole cart out in a single sweep maybe including a proper iNES header as well. Everything would be set in RAM and then you'd swap carts.
That rudimentary text by using a filled or the most filled char could be used after that I guess for better information in case someone has trouble seeing colors.
Great start here anyway, the idea is brilliant, I hope it's developed further and that everyone who likes it also registers here and leaves a comment.