I apologize for this being a long post. I have been tooling around on the Intarwebs for about a week now looking at various articles and posts about how to write Famicom Disk games. Specifically I want to dump disk images and re-write them to the original disk should they ever "demagnetize". I'm starting to believe that these disks aren't really going to spontaneously demagnetize. My copy of Doki Doki Panic! is at least 20 years old at this point, and my drive has no trouble reading it. But the potential for incidental demagnetization exists so it would be nice to have a backup that I could restore to the original disk. Either way you look at it the games are in volatile storage that makes them vulnerable. The point is, I'm not trying to "pirate" anything - if I wanted knockoffs I'd just use an emulator. So I've found several different resources, but none of them seem to provide a complete guide to building and/or using an FDS copier. I would very much like to build one of these. I'm not an engineer but I can follow instructions. I'm asking for a complete guide to writing Famicom Disk games that I can actually use - meaning that it does not rely on obscure parts or software that I cannot find. If such a thing does not exist, perhaps someone here can at least answer these questions. It is my understanding that if you do not have an IC7201 chip (and I don't) that a special circuit has to be built to circumvent the chip you do have or the drive will not write to the disk. I found some black and white scans in Japanese depicting a circuit (found them at [FONT=Arial, Helvetica, sans-serif]http://nesdev.parodius.com/fdscopy.zip)[/FONT]. I don't want to build this whole thing because I'm really not trying to do a disk-to-disk copy, I want to do a disk-to-PC copy so I can save the image somewhere safe (like an archival CD-R) and write it back to the original later in case it ever gets demagnetized. I think the instructions on pages 5 and 6 are for what I need but I am not sure if this will do what I think it does. Will this circuit just disable the anti-copy logic and allow the drive to write an entire disk? More to the point, will FDSloadr.exe be able to write to the drive if I build and install this circuit? I'm operating under the assumption that with an IC7201 drive that FDSloadr.exe will be able to write without any modification to the drive at all. Is that correct? If so, does anyone know a good source of these drives, or have one for sale? I have heard that there are other methods of building such a circuit but I can't find any instructions. Has anyone here built one of these? I have also read that the FDS copy protection (on games like Doki Doki Panic!) will actually prevent images dumped with FDSloadr.exe from working properly because FDSloadr.exe isn't smart enough to look for additional files that weren't listed on the first logical block of the disk. The only method I have found to get around the copy protection seems to require some uber-obscure copy disk (http://www.famicomworld.com/forum/index.php?topic=1575.0). Is this true, or are there other ways to get a true 1:1 copy? I have tried to find these disks for sale, but so far I have come up empty. Does anyone know of a good source? Any help on the matter would be great.
I saw that method mentioned during my search and I tried to look into it, but I still could not find anyone or any instructions explaining how to do it. I can build a Tototek cable - no problem. I might even be able to score a MGD1. As far as "software", I'm unclear as to what you mean. Is it the FDSloadr.exe, or a Hacker International/Disk Keeper disk? Even if I managed to get all three components listed (and please forgive me if I'm somehow being thick) I would still not really have an idea of how to use them together to get a 1:1 copy of a FDS game from a Famicom Disk to a file on a PC that could be backed up and restored. If the software you're referring to is FDSloadr.exe, then I am still unsure how to get a proper dump of copy-protected games. Is there a version of FDSloadr that defeats the copy protection? If the software you're referring to is a Hacker International disk or Disk Keeper, that doesn't help me because I can't seem to find any of them, and I am given to understand that they cannot be copied. Are there .fds images of Disk Keeper out there that I can use the FDSLoadr+Tototek Cable+7201 method to write to a disk that will make a proper copy?
As far as I know no one can dump the FDS games 1:1. People are trying this for years and still with no luck.
Why wouldn't you be able to make a 1:1 copy? Isn't it just like making a copy of a psx game with what say Blindwrite? All security (bad) sectors are accounted for in that program. Wikipedia didn't say anything useful, it only listed more disk copiers.
FDS games don't have to be copied "1:1". FDS games are a collection of files containing PRG and CHR data. The emulators using .FDS files are basically a collection of these files with some other data. Everything you need to play and pirate the game is there. It's not hard to copy the disks as long as you have the equipment you need. Pirates on ebay have been rewriting FDS disks for quite some time now. There is a chance any Disk you've bought has actually been rewritten by a pirate anyway. All it is really is a very old Nintendo branded QuickDisk with a label sticker on it. I really don't think that demagnetising is something you need to worry about. From what I've heard this really isn't that likely to happen compared to other failures. And if it does you can probably save yourself alot of money by finding a nice person whom can rewrite your disk for you for a small fee. But I think you are really interested in writing Disk images you downloaded from the internet onto Disks to play on your FDS. Your "backup" thing in your first post made little sense as Doki Doki Panic is already freely available on the internet and is no danger of being lost. The Tototek forum has a thread all about copying FDS disks. And you can't make a so called 1:1 copy of a PS1 game because of encoded licensing/copy protection information that is on a pressed PS1 CD-ROM. Modchips are there to inject the missing licensing string.
You think incorrectly. My motivations are exactly as I stated. I'm not trying to preserve Doki Doki Panic for the good of the Internet. I'm trying to back up my own copy of it and a few other games, so I can write them back later if I ever need to. I am a collector and I have no interest in writing someone else's dumps to my disks. All of the disks I have are original and it would feel tantimount to sacrelidge to me to overwrite one with anything other than the original image taken from that disk. The purpose of playing these on a proper FDS (for me anyway) is to get the full original experience - something that would be completely ruined by writing a ROM from teh Intarwebs to it. Maybe some people wouldn't see it that way, but I'm too much of a purist to want to do that. But it shouldn't really matter why I want to do it, I'm just asking for a little assistance if anyone can render it. I'm also not interested in the low liklihood of demagnitization. If it is a failure that can be recovered from, then I would like to have a method of recovering from it. Aside from that it sounds like a fun project and I would love to know how to do it. Most of the stuff I've read on Tototek (and I have read quite a lot over there) seems to be old and scattered. Many of the threads seem to be archived or inactive, and most of the links simply don't work anymore. Even so I'm sure that they're very good advice, but there are gaps in my understanding that prevent them from being useful to me. It would be awesome if someone actually put together a coherent step-by-step guide to doing this that did not require parts that are impossible to come by. If such a thing does not exist, then I'm fine with trying to peacemeal the bits I don't understand together until I get the whole picture. So I'm just trying to see if someone here can help fill in the gaps. I understand mostly what I need, but I don't know if there is a way to bypass the copy protection. The reason I used Doki Doki panic as an example was because it is a well known game that uses copy protection. From what I understand, even if I was amenable to the thought of writing an FDS image from the Internet to the disk (which I am not) I do not believe it would work on a proper FDS because the dumps that exist do not contain the extra files used in the copy protection. Therefore, in order to ensure I have a viable backup, I would have to do the dump myself in some way that copied the extra bits that the game's copy protection looks for. Does the MGD1 accomplish this somehow? Do I have to have a FDS copying disk like Disk Keeper?
You're wrong about your belief that the Doki Doki Panic or any other FDS image you can get on the internet is somehow bad, evil, diseased, demonic, or whatever it is you think. It's the exact same information on your disk now with the exception of the save data. If there was a problem with copy protection, how is everyone playing the Doki Doki Panic FDS image on emulators? It is true that one method of protection was to alter the file count to be one less than there really was as a method of hiding a file at the end of the disk as a form of copy protection and then changing it while the game was running to access it. I do remember hearing about that and how some copying methods wouldn't copy the hidden file. But you could change the file count, then copy all the files, and change the count back to its original in the dump you make. I just think you are seeing some problem that doesn't exist. Your Doki Doki Panic disk, unless it's some beta version, is the same data that is on the internet. There is nothing special about it, nothing that makes it different. If that were true then emulators wouldn't be able to run the games. I don't know exactly how the MGD1 and copying FDS games works. Just that you need the MGD1, a cable to connect it to a PC's parallel port, and a 7201 model FDS drive with the write protection circuit mod. If you have all these things, you can post on Tototek or ask Tomy at Tototek for help on whatever parts aren't clear to you. The forum is active, people will help you.
Lol. (I loved the "demonic" part). I may very well be seeing problems that don't exist. I only know as much as I have read. That's part of why I started this thread - to get advice from more knowledgable people. It is my understanding that the game (DDP) will work fine without the additional file in an emulator because the emulators simply ignore it. The file isn't actually needed for the game, it is exclusively used for the copy check. Think of it the same way that a PS1 emulator isn't going to balk about a CD-R, or an ISO that doesn't have the "special sauce" that is written on an original PS disk. So I believe it is perfectly logical that an emulator would be able to run it even if it was not complete. Almost every guide I have read about dumping FDS games instructs the dumper to hex edit the file, and some of them in different ways. I have no way of knowing what, if any of this, has been done to the images. I don't think it is reasonable to assume that any .fds file I get of a game has the exact same data as the disk itself. It may be enough to get the game to work with an emulator, but that is not suitable for my purpose. It is for that reason that I prefer to dump the image myself. But thank you for the advice. I'll pose my questions over at Tototek. I guess this is just a bad place to be asking this.
It's not a bad place to ask, it's just that Tototek has more people who have done this exact thing. Your idea about the protection and emulators ignoring it is wrong. The emulators would trip this protection too if the FDS image files didn't match up. Afterall the protection is software enforced. And believe me, I've written my own NES emulator. There's nothing wrong with the FDS images on the internet for the stand point of playing the games.
Mott is right; I don't know how most of the FDS images on the 'net were dumped, either from an MGD1 or a specialized FDS dumper, but the copy protection files on those disks are necessary both in emulators and on a real FDS machine. To see some of these files, try a program like FDSList and take a look at the directory of files on an FDS disk image. Then increase the file count byte with a hex editor (on games such as DDP, Dababa, etc) and you'll see additional files show up. If those extra files hadn't been copied by the dumper, they wouldn't work in an emulator.
Something to take into consideration is that the FwNES format only allocates 65500 bytes per side. In reality the disks can store closer to 66500 bytes. Also the MGD1 dumps disks as raw data but it drops the CRC values, redundant gap data and unaccounted for disk space (stuff outside files) before sending the image over so it's not great for archival. You'll have to write your own tool to convert the ROMs back and forth but it's easy to figure out. One or two old Japanese hacking disks can link with the PC via the I/O port and might do a better job than the MGD1 but I don't remember which ones and I'm sure they aren't easy to get a hold of. The best way to dump/write disks is through the RAM adapter, but not through the BIOS. Pasodisk I think is the only device for sale that works that way currently but theoretically CopyNES and a bunch of other devices can too. The only other way to get a true 1:1 copy is to use the drive to drive copy circuit in FDS-Copy but consisting strictly of hardware it doesn't have error correction. I wasn't happy with any FDS products so I wrote my own PC link tool that will eventually dump/write disks with practically no custom hardware, just a cable. I might sell it sometime but I'm concerned about people being assholes.
Okay, this is all starting to make a little more sense now. Since it's the game program itself that does the copy check, the emulator would have to intercept the call from the game program itself rather than just not make the check, and it would be a helluva lot easier to just dump the whole thing than try to code around it. I know that I probably sound crazy, but I still want to dump my own disks, even if the exact same data is more easily available on the Internet. So much of what I have read seems to be inaccurate. Do any of you know if FDSloadr will dump all of the files (even the hidden ones) off of a FDS, or do I have to go with an MGD1/Pasodisk hardware solution to get a good dump? I've never heard of FDSList before - thanks for the heads up, I'll definitely check it out. I've seen documentation on the structure of the FDS disks, but I didn't completely understand it. Is there a documented process for increasing the file count byte? So these things can actually disable/bypass the BIOS, but still use the RAM adapter? I understand the principle of CRC and header data, but I wouldn't know the first thing about writing an algorithm to interleave CRC data on a famicom disk (or any disk for that matter). Would it work somewhat like FDSloadr, only be smarter about the copy protection? Or are you talking about just plugging the drive into a USB slot or something? Let me know if you ever finish that software. I'll try not to be an asshole! Unfortunately I wouldn't really know where to begin writing my own software. I'd like to know where to begin, but I can't, in good conscience, ask anyone to hand-hold me through the process of getting started. I have some programming experience in C++, but the most programming I do these days is shell programming in BASH. I very rarely ever edit anything at the hex level. It seems like there really isn't a ready-made or "best practice" way to do this, but the information you guys have provided has been great. I'll keep poking around and see if I can figure it out.
Sure, you can directly access the hardware registers instead of letting the BIOS do it via subroutines. The program only needs to insert constant data missing from the FwNES file. Since the MGD1 images drop the CRC (and must add them back MGD1-side) there is nothing you have to calculate. The cable is about as complicated as FDSLoadr but instead of directly interfacing with the drive cable, it interfaces with the FC/NES expansion connector. Because it interfaces in software, there is a lot of leeway in timing so it will work in recent versions of Windows unlike FDSLoadr. It will completely ignore copy protection, just read the entire disk until the very end without regard to files at all and it won't be tied to the FwNES format of course. I think the dumps will end up similar to the MGD1 ones but will keep the CRC and junk data. Dumping won't be tied to disk structure and file verification either to facilitate partial disk recovery. Go to Nesdev for info on the FwNES header (very very simple) and disk structure (slightly more complicated, just cross-reference multiple docs). Once you've got a handle on those two get a hex editor with comparison tool (Hex Workshop has a trial version), do a compare with a MGD1 image and take note of the differences.
Where would I get the data to put in the "gaps" when the MGD1 writes the dump back to the disk? It sounds like the software you are working on is exactly what I'm looking for. I hope you find the time and inspiration to finish and release it. Thanks for the tips on understanding the disk layout and FwNES format. I'll definitely do that.
The gaps themselves are the data, it should be clear when you compare the files, the FDS docs also explain it too.
I have one further question for right now. I'm reading this http://nesdev.parodius.com/fds-e.txt Do you know what the "$" notation is supposed to mean?
It means the number is in hexadecimal, representing either immediate data, CPU addresses or file offsets depending on the context.
An updated FDSList (with file dumping) can be found here: http://www.disgruntleddesigner.com/chrisc/software.html I've heard of a GUI-based program that edits files more easily, but I don't know the name... To change the file count of FDS files, with a hex editor edit the value at offset decimal 73 (49 hex) for side 1; 65573 for side 2, and so on.