teaguecl wrote:
infiniteneslives wrote:
Like I brought up before, it looks like the greatest room for improvement on this is the script files that allow you to dump/program all the different mappers and board configurations. There may be more available somewhere, but I'm not seeing them at the moment. I've also yet to compile the GUI and try that out. It's pretty easy to run from the command prompt though.
I think the scripts you are referring to are the CopyNES plugins, which are in the copynes.zip file here:
http://kevtris.org/Projects/copynes/copyware.htmlIt's a little different animal than what the copy NES is running. Those scripts appear to be assembly written for the NES to dump the carts.
If you download the unagi client software from the bottom of the kazzo page you can see what I'm looking at. The dumping engine is the unagi software that gets ran on your PC. I'm running it in the command prompt and you need to supply it script files (.ad) for what type of MMC and board you're dumping. Here's an example of a generic MMC3 script that's provided:
Code:
board <- {
mappernum = 4,
cpu_romsize = 2 * mega, cpu_banksize = 0x2000,
ppu_romsize = 2 * mega, ppu_banksize = 0x0400,
ppu_ramfind = true, vram_mirrorfind = false
};
function cpu_dump(d, pagesize, banksize)
{
for(local i = 0; i < pagesize - 2; i += 2){
cpu_write(d, 0x8000, 6);
cpu_write(d, 0x8001, i);
cpu_write(d, 0x8000, 7);
cpu_write(d, 0x8001, i | 1);
cpu_read(d, 0x8000, banksize * 2);
}
cpu_read(d, 0xc000, banksize * 2);
}
function ppu_dump(d, pagesize, banksize)
{
for(local i = 0; i < pagesize; i+=4){
cpu_write(d, 0x8000, 2);
cpu_write(d, 0x8001, i);
cpu_write(d, 0x8000, 3);
cpu_write(d, 0x8001, i | 1);
cpu_write(d, 0x8000, 4);
cpu_write(d, 0x8001, i | 2);
cpu_write(d, 0x8000, 5);
cpu_write(d, 0x8001, i | 3);
ppu_read(d, 0x1000, banksize * 4);
}
}
I don't have a copyNES but I'm thinking this may make things a lot easier to play around with. For starters the USB plans aren't proprietary...
It appears to me they've really made the whole USB interface really transparent and the helper functions they're written make it really easy to write your own scripts. It seems refreshingly simple way to do whatever you wanted with an NES or dev cart.
qbradq wrote:
Hrm... I wounder if I could come up with a cart that re-purposes some expansion pins so I could program the ROMs while still in the cart using something similar to this setup.
This is the kind of stuff I'm talking about. I think there may be plans for a kazzo flash cart I saw something about somewhere. Depending on what type of memory you're using I think you could get away without using any of the EXP pins. You definitely could with battery backed SRAM or flash, and EEPROM or UVEPROM would depend on whether or not you needed greater than 5V signals. What signal (chips) were you thinking you'd need the extra pins for?
Memblers wrote:
Looks nice, MCUs sure are great. CopyNES is what I was thinking when I saw it, on the PC-side (or in the MCU?) you could emulate a 6502 to run the CopyNES plugins as a script in the "virtual machine". Then it would be cheap, and support everything, and sound fancy while doing it, heh.
That would be really nice to see, a little above my head on emulating the 6502 at the time being. It would solve the issue of supporting everything, but it would seem easier to write more of the scripts than the emulator to me.
Here's a list of what's already supported FYI guys:
CNROM, UNROM, UOROM,
mmc1 SLROM
mmc3, mmc5
VRC4, 5, and 7
There may be more I just haven't realized or will see in the GUI. It was a little confusing to figure what was going on between the unagi and anago softwares and the language barrier didn't help much.
SkinnyV wrote:
I think you have a shot at DIY kit that many people would be interested in Infiniteneslives. If I were you, I would consider having a pcb made and sell it in your shop! I would definitly buy a pcb from you.
I might consider it. If there was enough interest I may draw up my own boards and make a small order. there's too many crossing connectors for me to easily etch my own single sided PCB that would be friendly that's why I just used protoboard.
Is there a lot of interest in a kit that included all the components? If so I may consider putting a kit together with everything needed:
*Atmega164PA I would flash the kazzo firmware onto it for you (that way you don't have a need to buy your own AVR programmer)
*72 pin connector 2.50mm pitch - wrong pitch but I've fully tested them to work and discussed it in the related post.
*6ft USB cable
*discrete components (resistors, zeners, cap and resonator)
*2x quad flip-flops
*3"x4" protoboard (about twice the size of what I used)
*interconnecting wireing similar to IDE cable style
*optional IC socket strips for the MCU (as seen in my picture)
*optional male header for flashing the MCU
Going out and buying everything on your own would easily be over $20 plus shipping. You'd also have to invest in an AVR programmer if you don't have one already.
I think I could do the kit for around $30 shipped. If people would rather buy it all themselves I can put a detailed supplier list together. My goal isn't to make money off the deal, I would really like to see more of these out there so we can work on things like the scripts and other things sharing all the code with eachother. I know a lot of you have copyNES though, so I really don't know how much interest there would be for this stuff.
As far as protoboard vs. printed circuit board goes there are pros/cons:
protoboard- quick availability of kits but more difficult to assemble and cheap. With protoboard and a detailed assembly insturctions I could have kits available in a couple weeks. Here's the protoboard I'm looking at:
http://www.radioshack.com/product/index.jsp?productId=2103800# the extended traces would make soldering 3-4 wires to a single pin much easier.
printed circuit board - long turn around time, potentially expensive, easy to assemble. We'd be looking at more like the end of the summer to for me to beable to ship these at a low cost that is still around $10 compared to the $3 protoboard.
This is really all up to you guys. If there's something I can do to help those without the skills of finding all the right parts and flashing an MCU, I'm more than willing to help.
Side note:
There appears to be a PCB rev 2 that includes 72 pin connector and a smaller MCU with more D flipflops seen and linked below. I'm not sure if they're available somewhere or if the board cad files are available.
http://sourceforge.jp/projects/unagi/wiki/pcb2.1_place_ja
[Wide picture]