CopyNES and Famicom Disk System

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
CopyNES and Famicom Disk System
by on (#18033)
I'm currently trying to back up some white Sunsoft dev disks for FDS (19 of them...borrowed from DreamTR), and FDSLoadr isn't the best tool for these particular disks. I mean it dumps some of them pretty well, but I think a lot of these disks are not in standard FDS format, so FDSLoadr has trouble with them. Some disks have missing or bad blocks, but I have no way of knowing exactly what's wrong with them.

Anyone know how CopyNES does with dumping FDS games? I heard it was theoretically possible, but it would be great to have a far better tool than FDSLoadr for this. FDS is a very overlooked side of the dumping/preservation scene, even though it is in need of preservation far more than carts.

-Rob

by on (#18035)
As I understand, CopyNES can handle either FDS or Namco 106 stuff, not both - the reason is that when the BIOS is enabled, the rest of the system sees accesses to $4000-$47FF or $4800-$4FFF, depending on a software (or hardware?) setting, and if something else is actually residing at said memory range, reading the BIOS ROM will result in a bus conflict and crash the machine.

by on (#18041)
I really don't know enough about CopyNES to understand the issues, but what does Namco 106 have to do with dumping FDS disks, and isn't there a better tool than CopyNES available for FDS dumping?

by on (#18051)
85cocoa wrote:
What does Namco 106 have to do with dumping FDS disks?


The Namco 106 mapper has registers at $4800-$4FFF, one of the "special" regions in NES memory which the CopyNES expects to be unused. The Famicom Disk System has registers at $4000-$47FF, the other "special" region. CopyNES can only be configured to work with one of those at a time (if I'm not mistaken, changing it requires a BIOS update - I'll have to ask kevtris later to confirm this).

Of course, there's also a practical issue which would make FDS dumping difficult - in order to actually plug in the RAM unit, a significantly large chain of NES->FC and FC->NES converters would be necessary.

by on (#18052)
Quote:
Of course, there's also a practical issue which would make FDS dumping difficult - in order to actually plug in the RAM unit, a significantly large chain of NES->FC and FC->NES converters would be necessary.


Yes, of course the adapter issue would come into play. I've always wanted to have a single board that comes out that far enough for the ram adapter to reach to avoid the obvious setup issues involved (bad connections in daisy chaining the adapters, and such).

I thought I remembered reading (maybe inthe CopyNes docs or something, I dunno) that FDS dumping was theoretically possible, but there wasn't any real word on whether it was actually possible or even tested.

Quote:
and isn't there a better tool than CopyNES available for FDS dumping?


Better? Dunno. I guess they're all better if CopyNES can't do it! :lol: But most FDS dumping tools have certain drawbacks. Then again, there's some I haven't tried (Chameleon/Pasodisk, for example...only available in Japan). I have an MGD1, which I haven't tested for FDS dumping yet, and FDSLoadr, which generally works well, but leaves a lot to be desired (ability to dump non standard format disks like Bung or dev disks, and better error reporting). What I would really like is a tool that will dump bit for bit any Quickdisk style disk no matter the format.

-Rob

by on (#18183)
http://www.disgruntleddesigner.com/chrisc/secrets8.html

Saw this on Chris's site. FDS-NES adapter. Honestly, it just looks like a FC to NES adapter, but longer so T carts like the RAM adapter can fit on too.

-Rob

by on (#18245)
Quietust wrote:
85cocoa wrote:
What does Namco 106 have to do with dumping FDS disks?


The Namco 106 mapper has registers at $4800-$4FFF, one of the "special" regions in NES memory which the CopyNES expects to be unused. The Famicom Disk System has registers at $4000-$47FF, the other "special" region. CopyNES can only be configured to work with one of those at a time (if I'm not mistaken, changing it requires a BIOS update - I'll have to ask kevtris later to confirm this).

Of course, there's also a practical issue which would make FDS dumping difficult - in order to actually plug in the RAM unit, a significantly large chain of NES->FC and FC->NES converters would be necessary.



Yeah, the way CopyNES works, is it "fakes out" the cartridge. The cartridge's high address lines pass through a multiplexer that lets me substitute the range 4000-47FF or 4800-4FFF to the cartridge while the CPU may be accessing the BIOS or port chip.

To switch between the two areas, you toggle one of the bits on 4016. I believe it's bit 1. This bit basically "flows through" to A11. Thus, A11 will be forced high or low going to the cartridge.

I tried to make some autodetect code, but it didn't work too hot. I think remnants of it still inhabit the BIOS. You could dump FDS or N106 by switching 4016 in the dumper plugin, and by using a special cartridge adaptor I made.

Seems that some cheap carts (sachen carts, and a few pirate carts) actually crash the bus due to slow ROMs or something- plugging in most any Sachen game will result in CopyNES not booting. The solution there is to add 560 ohm resistors in series with each data line. This was easy to do on an NES to famicom converter. If I had to dump NES carts that crashed it, I plugged another converter in :-) The same trick would work for carts with conflicts- CopyNES always "wins" against the cart, so it's easy enough to switch the mode in the dumper plugin.

I have not written any FDS dumping plugins because I don't know anything about how the FDS works- I do know that you could use the FDS BIOS routines as-is since it's possible to call them from the dumper plugin. Rotating media is definitely not my strong suit.

AFAIK CopyNES defaults to 4800-4FFF being the emitted address, so FDS dumping should be possible natively without doing the resistors in the adaptor trick, and yes it takes a mighty big chain of adaptors to use it! It *does* work though since I have played it through three adaptors chained together. I had to remove the RAM pack from the case though since the damn case was too big still.

by on (#18266)
Well, since I'm pretty retarded when it comes to writing any type of plugin, I'm out. I really hope someone gives it a shot though...someone who knows a lot about FDS (coughChrisCovellcough), lol.

I also hope you don't have to do the Sachen mod.

Kev, this adapter you made...are you just talking about daisy chaining 3 of them together, or did you make something more pro than that at one time?

-Rob

by on (#18429)
http://en.wikipedia.org/wiki/HES_Unidaptor

Look, guys! The HES Unidapter. No need for three adapters when this thing will do the trick....serves other purposes too, as the link shows. :)

-Rob

by on (#18430)
kevtris wrote:
Seems that some cheap carts (sachen carts, and a few pirate carts) actually crash the bus due to slow ROMs or something- plugging in most any Sachen game will result in CopyNES not booting. The solution there is to add 560 ohm resistors in series with each data line. This was easy to do on an NES to famicom converter. If I had to dump NES carts that crashed it, I plugged another converter in Smile The same trick would work for carts with conflicts- CopyNES always "wins" against the cart, so it's easy enough to switch the mode in the dumper plugin.


So that's what the dealis ! I dumped a Sachen cart a while back, but I had a hell of a time getting to boot up.

Carts made by AVE can be troublesome too, Particularily the CHR ROM. During the size detection, it appears as if the system is reseting every second or so. I often have to set the time-out upwards of 30 seconds! It will eventually work if you give it enough time though. Any idea what causes that?

by on (#18432)
BootGod wrote:
Carts made by AVE can be troublesome too, Particularily the CHR ROM. During the size detection, it appears as if the system is reseting every second or so.

What else resets every second or so? See? I see. Does the access stream during size detection look like a reset pattern caused by a failed lockout chip authentication?

by on (#18433)
That would have been my first guess too, but the CIC in my CopyNES is disabled, so it shouldn't be an issue.

by on (#18434)
Perhaps the AVE cart isn't expecting the CIC to be disabled by the pin 4 method.