Page 1 of 2
USB CopyNES and Windows 7
Posted: Thu Jun 07, 2012 9:05 pm
by rainwarrior
Edit: I have solved my problem. Anyone who needs it can find my latest build of USB CopyNES here:
http://code.google.com/p/usbcopynesblue/
=== original post below ===
I've installed a USB CopyNES in my NES and I'm having trouble getting it to work.
When I run "USB CopyNES.exe", it tells me the NES is not on and I should turn it on. I can't really get past this point; I've tried resetting the NES, toggling the power, etc.
I've tried installing D2XX drivers from FTDI, and I've tried the drivers that windows update finds. The result has been the same on two computers I've tried so far (both Windows 7 64 bit).
With the USB unplugged, plays like a normal NES. If I plug it in, the game will suspend; I understand this much is normal.
Has anyone else had this problem? Has anyone else tried it with Windows 7?
Posted: Fri Jun 08, 2012 12:13 am
by rainwarrior
Okay, after a lot of fiddling with the source code I have fixed that problem. It seems weird though; shouldn't everyone using USB CopyNES have this problem? Why is it just me?
io.c line 206:
Should be:
The former always evaluates to TRUE.
I also noticed what looks like a bug in c_playnsf.c, line 121:
Code: Select all
if (!WriteByte(NSF_banks[i] = header[0x70 | i]));
The semicolon looks like a mistake (there is a {} block of code just beneath it).
Anyhow, haven't really tested anything yet but at least it is running finally.
Posted: Fri Jun 08, 2012 12:49 am
by Kreese
When I installed my CopyNES I had some problem. The software complaint about something when I tried dumping carts. Solved the problem by clicking and retrying. I always thought it was because I have Windows Vista.
Could you share a compiled version that has your modification in the code? I could try and compare how it works with the original software.
Posted: Fri Jun 08, 2012 1:29 am
by rainwarrior
kreese: Here you can try my build.
CopyNESW_rainwarrior_02.exe (dead dropbox link removed, build available below)
Another bug I found. The PowerPakLite RAM Cart loader does not correctly identify mappers.
c_ramcart.c line ~470:
Code: Select all
if (mapper == 0)
{
...
}
else if (mapper = 1)
{
...
}
else if (mapper = 2)
{
...
}
... etc.
This code forces everything that's not mapper 0 to use mapper 1. Obviously not what you want. Just add another = to the else if statements.
Posted: Fri Jun 08, 2012 9:16 am
by koitsu
Who wrote this code? What a fucking atrocity. Seriously. Sorry for the "foul-mouthed opinion", but the same type of mistakes are being made repeatedly throughout, hence my irritation.
Posted: Fri Jun 08, 2012 3:16 pm
by tokumaru
Pretty basic mistakes indeed. How were these not caught during testing?
Posted: Fri Jun 08, 2012 3:37 pm
by tepples
Lack of resources for testing in diverse environments tends to lead to the mentality of "It works on my PC. Ship it."
Posted: Fri Jun 08, 2012 4:20 pm
by bunnyboy
Yup, some of those are my mistakes

I am not sure why the modemWord line works on XP/2K but fails on others. Win7 didn't exist when that code was written so further testing would not have caught it.
I don't think the PowerPak Lite bug is in the final exe because UNROM works here. Or if it is nobody else in the last ~5 years has cared...
I didn't touch the NSF code so at least I can pawn that one off on someone else!

Posted: Fri Jun 08, 2012 6:24 pm
by Nessie
The CopyNES protocol is really simple to implement so if you're only looking for a way to play ram carts you could make your own client. Using python and pyserial it shouldn't take more than 100-200 lines to create a decent command line interface for ram carts. Other features such as bankwatch would take a bit more effort to reimplement though.
Posted: Fri Jun 08, 2012 11:50 pm
by rainwarrior
Well, there's no need to start from scratch, it's working fine now. Though if you happen to build a python interface for CopyNES I'd love to see it.
I'll probably publish a fixed / cleaned up build of the USB CopyNES program in a little while, after I've spent a little more time going over it.
Posted: Sat Jun 09, 2012 5:58 am
by Nessie
I'll see if I can put together a CLI in python. This is for the powerpak lite, right?
Posted: Sat Jun 09, 2012 7:44 am
by NESHomebrew
I'm pretty sure I've had a problem with the powerpak lite defaulting to mapper 1.
Posted: Sun Jun 17, 2012 7:23 am
by Kreese
Rainwarrior: Thanks for sharing your build. Now, with your version, the program works as it was supposed to. No problems and no complaining like before...
It worked in Vista before, but it always complained like this (all the time):
After pressing OK the program continued, and it worked. But I had to press that OK button like 3-4 times to dump a game. I assumed that it was because it wasn't made for Vista...
Please let us know if you fix any other bugs and update your build.
bunnyboy: Perhaps you should update this program on retrousb.com, to the fixed version. (At least when Rainwarrior thinks he has fixed all the bugs.)
http://www.retrousb.com/product_info.ph ... ucts_id=36 - Are there many USB CopyNES sold? Mine is installed on a PAL (B) NES. I have bought a PowerPak Lite too, but haven't tried it yet.
Posted: Mon Jul 23, 2012 11:31 pm
by rainwarrior
I've started an open source repository for this. The binary at the moment is the same as the one I put on my dropbox a while ago, but if you're interested in the particular changes to the source, you can follow the commit logs (so far changes are minor). I will continue to maintain this as I find problems.
Binary:
http://usbcopynesblue.googlecode.com/files/usbcopynesblue500.zip
Code project:
http://code.google.com/p/usbcopynesblue/
Re: USB CopyNES and Windows 7
Posted: Thu Feb 13, 2014 9:18 pm
by dashv
Thank you rainwarrior and others who maintain this code.
I do not know much about hardware but I have my USB CopyNES working on my Windows 7 box thanks to you guys!

Your hard work and willingness to share what you've learned and done with others is greatly appreciated!