It is currently Wed Nov 22, 2017 9:05 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 178 posts ]  Go to page 1, 2, 3, 4, 5 ... 12  Next
Author Message
PostPosted: Fri Jul 15, 2011 3:47 pm 
Offline

Joined: Sun Mar 19, 2006 9:44 pm
Posts: 920
Location: Japan
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.

Image

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.

Top
 Profile  
 
PostPosted: Fri Jul 15, 2011 4:02 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
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...


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.

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.

Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 15, 2011 4:24 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19251
Location: NE Indiana, USA (NTSC)
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:
  • 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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 15, 2011 4:40 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
tepples wrote:
Interfacing with the game's NMI handler in order to detect the start of vblank in order to display the UI

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.

Quote:
Having to cut pin 4 if using a front-loading NES

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.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 15, 2011 8:12 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
Cool idea! Now if I only had any carts to dump... :)

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 15, 2011 8:34 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
thefox wrote:
Cool idea! Now if I only had any carts to dump... :)


I just dumped the dumper itself just to hear it. :D

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!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 15, 2011 11:10 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1925
Location: WhereverIparkIt, USA
This is a crazy awesome idea. I may just have to try it out when I get a simple dev cart running.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 7:58 am 
Offline
User avatar

Joined: Sat Jul 16, 2011 7:27 am
Posts: 13
Location: Älvängen, Sweden
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.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 10:00 am 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2803
This is a pretty nifty creation. Could it be combined with the Game Genie hack that was made awhile back to avoid swapping and the need to disable the lockout?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 12:25 pm 
Offline
User avatar

Joined: Sat Jul 16, 2011 7:27 am
Posts: 13
Location: Älvängen, Sweden
Tried the 1200 bps again on my PAL-machine, no problem at all with a direct connection. The entire Excitebike cart dumped in less than 5 minutes.

_________________
--- Fairchild Channel F Gallery ---


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 12:51 pm 
Offline
User avatar

Joined: Fri Feb 09, 2007 5:01 pm
Posts: 233
Location: Nanaimo, BC Canada
This is brilliant, thank you.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 2:28 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1925
Location: WhereverIparkIt, USA
Does it support any mappers?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 2:40 pm 
Offline
User avatar

Joined: Sat Jul 16, 2011 7:27 am
Posts: 13
Location: Älvängen, Sweden
It says in the texts that it's built for the "Konami VRC2" mapper so I guess it supports that and similar ones (if any). Currently you have to add other mappers yourself, let's hope ccovell wants to add a nice front end and some mappers in a future version.

_________________
--- Fairchild Channel F Gallery ---


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 16, 2011 4:56 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19251
Location: NE Indiana, USA (NTSC)
Such a "nice front end" would probably have to involve autodetecting the mapper and then searching CHR ROM for a blank tile and a solid tile in order to write messages directly in the nametable. Then sprite 0 could be used to build a ghetto vblank detector.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 17, 2011 3:35 am 
Offline
User avatar

Joined: Sat Jul 16, 2011 7:27 am
Posts: 13
Location: Älvängen, Sweden
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.

_________________
--- Fairchild Channel F Gallery ---


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 178 posts ]  Go to page 1, 2, 3, 4, 5 ... 12  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bavi_H, ReverendSA, samwise970 and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group