CopyNESW is a Windows application designed for interfacing with Kevin Horton's CopyNES, a Nintendo Entertainment System modified to support dumping cartridges, saving and restoring battery-backed RAM, uploading programs to RAM/Flash cartridges, and real-time debugging. Nearly all functionality of the original MS-DOS QBASIC client has been implemented (in one form or another).
This client should work on any modern version of Windows - it was last tested on 2000/XP (32-bit) and 7/8.1 (64-bit), and it ought to function on Windows 10 as well. Both the original parallel port CopyNES and USB CopyNES are supported by this client; parallel port mode should work on both 32-bit and 64-bit versions of Windows, though USB support has not yet been tested in 64-bit mode and may not be available.
The plugin select dialog has been updated to remember the last plugin selected.
The CNRAM plugin has been updated to fix a bug in which it failed to unmap the CopyNES BIOS from memory.
Added support for Memblers's UNROM Flash cartridge to the RAM Cart command.
Also made the RAM/Flash cartridge type selector use the global plugin select dialog.
Support for custom parallel ports has been added - simply select the port name, then override the address in the configuration dialog. In addition, a program restart is no longer required when changing the port configuration.
I have implemented support for custom plugin categories - if you receive an error when attempting to use the "Run Plugin" or "Write WRAM" options, edit MAKEBASE.BAS (from the standard CopyNES distribution) and make the following changes:
- Find the line DATA "*"," ",0,"Test & Dev Use".
- Replace it with the following lines:
DATA "*"," ",2,"Test & Dev Use"
DATA "xxxx","xxxx.bin",998,"Custom Plugin"- Locate the "WRAM Readers" and "Nintendo: Famicom" groups.
- Between them, insert the following category:
DATA "*"," ",1,"Save RAM Uploaders"
DATA "xxxx","xxxx.bin",998,"Custom writer"
DATA "NES-SxROM","sxram.bin",999,"SxROM (MMC1) SRAM writer"
DATA "NES-TxROM","txram.bin",999,"TxROM (MMC3) SRAM writer"
DATA "NES-ExROM","exram.bin",999,"ExROM (MMC5) SRAM writer"
DATA "NES-HxROM","hxram.bin",999,"HxROM (MMC6) SRAM writer"- Save the file and run it in QBASIC to recreate the file MAPPERS.DAT.
Support for the additional NetMos PCI parallel adapter I/O base addresses (E000 and E800) has been added (and the parallel port selection combobox has been resized to show all of them at once).
It is also now possible to unselect the parallel port and use the client offline (without having to wait for the version query to timeout).
CopyNESW now features support for parallel ports operating in ECP mode.
In addition, it also now supports the NetMos High Speed PCI parallel adapter when using I/O base address D800 (so I can use my CopyNES with it).
The VRC7 Tuner module has been implemented, and various bugs have been fixed in other modules (including filename selection in the 'Fix GAR' module).
MicroBug is now mostly functional, though there are still some minor lockup bugs that need to be fixed.
Fixed a bug where cancelling from a 'Select Plugin' dialog would crash the program.
I've also started work on MicroBug - currently, selecting the option will simply display the main dialog (without any functionality).
My CopyNES arrived a few days ago, and I've had the opportunity to fix lots of bugs in the client. BankWatch now works properly, and 'RAM Cart' now supports two suboptions (NROM and CNROM, the latter being for a devcart I made).
'Dump Cart' still has a few issues to iron out (it can crash if you cancel at the wrong places), and 'Run Plugin' currently can only select WRAM writers (though fixing this requires a corresponding update to the QBASIC client).
My next priority will be implementing MicroBug, so keep an eye on this site for further updates.