Kazzo USB rom dumper / dev cart programmer
Moderator: Moderators
Re: Kazzo USB rom dumper / dev cart programmer
Kazzo doesn't use drivers - it just talks to the USB device as a normal program.
Original cartridges are not programmable at all - they had their contents physically put in when they were forged.
Some small runs of games used "UV EPROM"s. Those can be erased and programmed, but not by the Kazzo, and they're rare.
Only things using EEPROMs and/or Flash can be programmed by the Kazzo and others.
Original cartridges are not programmable at all - they had their contents physically put in when they were forged.
Some small runs of games used "UV EPROM"s. Those can be erased and programmed, but not by the Kazzo, and they're rare.
Only things using EEPROMs and/or Flash can be programmed by the Kazzo and others.
Re: Kazzo USB rom dumper / dev cart programmer
This is fantastic news, neat!
Trying to dump a cartridge (tried to burn one too) using Anago WX, no success so far.
Any tips on proper use of that tool?
I get "reader open error" or stuff like
Code: Select all
CALLSTACK
*FUNCTION [dump()] dumpcore.nut line [22]
LOCALS
[ppuarea_memory] NULL
[vram] 0
[increase_ppu] 1
[increase_cpu] 11
[mappernum] 130
[script] "_63in1.ad"
[d] USERPOINTER
[this] TABLE
And how to know mapper/script of pirate multicarts? I really want to dump "32 in 1" (mini version of 52 in 1), my beloved 90s cartridge that was never dumped.
Re: Kazzo USB rom dumper / dev cart programmer
Does anyone have anago dumping script for this one? This is my beloved multicart that I want to dump.
http://krzysiobal.com/carts/?action=view&id=3
http://krzysiobal.com/carts/?action=view&id=3
Re: Kazzo USB rom dumper / dev cart programmer
Try this:
Code: Select all
board <- {
mappernum = 225,
cpu_rom = {
size_base = 0x100000, size_max = 0x100000, banksize = 0x8000
},
ppu_rom = {
size_base = 0x80000, size_max = 0x80000, banksize = 0x2000
},
cpu_romsize = 0x100000, cpu_banksize = 0x8000,
ppu_romsize = 0x80000, ppu_banksize = 0x2000,
ppu_ramfind = false, vram_mirrorfind = false
};
function cpu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x8000 | ((i&31)<<7) | ((i&32)<<9), 0);
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
}
function ppu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x8000 | (i&63) | ((i&64)<<8), 0);
ppu_read(d, 0, 0x2000);
}
}
Re: Kazzo USB rom dumper / dev cart programmer
Thank you, will try.
This is not the exact same PCB though, this is my PCB - should the script work for it?
http://krzysiobal.com/carts/?action=view&id=499
If no - and I understand you're the expert in such scripts here - can you make me a proper script so I can dump my cartridge?
Thanking you in advance
BTW ordered from ebay another similar 32 in 1, waiting for it to arrive. Not sure I'll open the PCB on that one though.
This is not the exact same PCB though, this is my PCB - should the script work for it?
http://krzysiobal.com/carts/?action=view&id=499
If no - and I understand you're the expert in such scripts here - can you make me a proper script so I can dump my cartridge?
Thanking you in advance
BTW ordered from ebay another similar 32 in 1, waiting for it to arrive. Not sure I'll open the PCB on that one though.
Last edited by DoomJedi on Mon Mar 20, 2023 9:10 am, edited 1 time in total.
Re: Kazzo USB rom dumper / dev cart programmer
(Excuse me upfront being really new in this) I copied your code into a new 32in1.ad script file, and I get (trying to "Dump")
"Reader open error"
Reader is on and connected to USB.
Can you help me to understand what I am doing doing wrong or need to do to setup this properly?
This is how it looks in hardware setup:
- krzysiobal
- Posts: 1037
- Joined: Sun Jun 12, 2011 12:06 pm
- Location: Poland
- Contact:
Re: Kazzo USB rom dumper / dev cart programmer
Try to download USB-driver reinstall Tool - Zadig:
https://github.com/pbatard/libwdi/relea ... ig-2.7.exe
And when you connect kazzo open Zadig, select "libusb=win32 (v1.2.6.0)" on the right side of green arrow and click "Reinstall driver"
https://github.com/pbatard/libwdi/relea ... ig-2.7.exe
And when you connect kazzo open Zadig, select "libusb=win32 (v1.2.6.0)" on the right side of green arrow and click "Reinstall driver"
My website: http://krzysiobal.com | My NES/FC flashcart: http://krzysiocart.com
Re: Kazzo USB rom dumper / dev cart programmer
Thanks, installed successfully...or so it seems.krzysiobal wrote: ↑Mon Mar 20, 2023 12:31 pm Try to download USB-driver reinstall Tool - Zadig:
https://github.com/pbatard/libwdi/relea ... ig-2.7.exe
And when you connect kazzo open Zadig, select "libusb=win32 (v1.2.6.0)" on the right side of green arrow and click "Reinstall driver"
Still get "reader open error" though
Re: Kazzo USB rom dumper / dev cart programmer
I hate to be a bother as always, but
Does anyone have a script for Mapper 86? as I bought a copy of the Famicom Bases Loaded awhile back that is like the only game that uses Mapper 86.
I tried creating a Mapper 86 script using a Mapper 140 Script that I have, as Mapper 140 seems to be a similar mapper to 86 it works for 2 of the 3 games that use that Mapper, anyway I changed it to Mapper 86 and it does dump the game but the resulting dump comes out with 128kb PRG with incorrect CRC32 that seems to work with just 32kb of CHR but the game has 64kb of CHR. So the dump runs on Mapper 86 but the graphic's are Garbled, I guess I could take it a part and join the PRG with a correct CHR from a existing dump and see if it works correctly.
Here is the code I have for my script as far as I can tell it should create 64kb of CHR but it will not increase from 32kb to 64kb when I dump my game, however if I set the size_base = 0x12000, and size_max = 0x12000 it creates 72kb of CHR that is still wrong. Also the game doesn't work as Mapper 140.
https://nescartdb.com/profile/view/1549 ... pro-yakyuu
Edit: I just looked and my resulting dump has the same Program CRC32 as the Black Cartridge Existing dump but I have The Red Cartridge. I guess I need to take it apart and look at it. I didn't know there was a Black Cartridge of it as I have never seen one. So I guess my script is working I just need to know how to set it to dump the CHR. I couldn't pop my game apart when I tried the Cart tried to crack so I just snapped it back together at least it isn't one those expensive game.
Actually I just order a Black Cartridge of it too off Ebay. lol
Does anyone have a script for Mapper 86? as I bought a copy of the Famicom Bases Loaded awhile back that is like the only game that uses Mapper 86.
I tried creating a Mapper 86 script using a Mapper 140 Script that I have, as Mapper 140 seems to be a similar mapper to 86 it works for 2 of the 3 games that use that Mapper, anyway I changed it to Mapper 86 and it does dump the game but the resulting dump comes out with 128kb PRG with incorrect CRC32 that seems to work with just 32kb of CHR but the game has 64kb of CHR. So the dump runs on Mapper 86 but the graphic's are Garbled, I guess I could take it a part and join the PRG with a correct CHR from a existing dump and see if it works correctly.
Here is the code I have for my script as far as I can tell it should create 64kb of CHR but it will not increase from 32kb to 64kb when I dump my game, however if I set the size_base = 0x12000, and size_max = 0x12000 it creates 72kb of CHR that is still wrong. Also the game doesn't work as Mapper 140.
Code: Select all
board <- {
mappernum = 86,
cpu_rom = {
size_base = 0x20000, size_max = 2 * mega, banksize = 0x8000
},
ppu_rom = {
size_base = 0x10000, size_max = 0x10000, banksize = 0x2000
},
cpu_romsize = 2 * mega, cpu_banksize = 0x8000,
ppu_romsize = 2 * mega, ppu_banksize = 0x2000,
ppu_ramfind = false, vram_mirrorfind = true
};
function cpu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x6000, i << 4);
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
}
function ppu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x6000, i);
ppu_read(d, 0, 0x2000);
}
}
Edit: I just looked and my resulting dump has the same Program CRC32 as the Black Cartridge Existing dump but I have The Red Cartridge. I guess I need to take it apart and look at it. I didn't know there was a Black Cartridge of it as I have never seen one. So I guess my script is working I just need to know how to set it to dump the CHR. I couldn't pop my game apart when I tried the Cart tried to crack so I just snapped it back together at least it isn't one those expensive game.
Actually I just order a Black Cartridge of it too off Ebay. lol
Last edited by Zoldark on Wed Apr 12, 2023 3:34 pm, edited 1 time in total.
Don't buy FamicomNes games WillyNilly Check the Mapper first
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
Re: Kazzo USB rom dumper / dev cart programmer
As you can see, CHR bankswitching bits are inconveniently non-adjacent - the values you'd need to write are 0,1,2,3,64,65,66,67.
So you can either use bitwise math, or you can just unroll the loop, or you can split ppu_dump into two loops:
As for what's the best solution? Dunno...
So you can either use bitwise math, or you can just unroll the loop, or you can split ppu_dump into two loops:
Code: Select all
function ppu_dump(d, numpages, banksize) {
for (local i = 0; i < 4; i += 1) {
cpu_write(d, 0x6000, i);
ppu_read(d, 0, 0x2000);
}
for (local i = 64; i < 68; i += 1) {
cpu_write(d, 0x6000, i);
ppu_read(d, 0, 0x2000);
}
}
Re: Kazzo USB rom dumper / dev cart programmer
Awesome, Thank you.lidnariq wrote: ↑Wed Apr 12, 2023 3:27 pm As you can see, CHR bankswitching bits are inconveniently non-adjacent - the values you'd need to write are 0,1,2,3,64,65,66,67.
So you can either use bitwise math, or you can just unroll the loop, or you can split ppu_dump into two loops:As for what's the best solution? Dunno...Code: Select all
function ppu_dump(d, numpages, banksize) { for (local i = 0; i < 4; i += 1) { cpu_write(d, 0x6000, i); ppu_read(d, 0, 0x2000); } for (local i = 64; i < 68; i += 1) { cpu_write(d, 0x6000, i); ppu_read(d, 0, 0x2000); } }
That did it dumped the correct CHR I guess I have the Black version inside of a Red Cart. Maybe I'll get the Red version in my Black Cart. I'll see when I get it..
Also I didn't know about bitwise math either will have to try and learn about that, I wondered why things didn't add up or make sense.
Here is the whole code for Mapper 86.
Code: Select all
board <- {
mappernum = 86,
cpu_rom = {
size_base = 0x20000, size_max = 2 * mega, banksize = 0x8000
},
ppu_rom = {
size_base = 0x10000, size_max = 0x10000, banksize = 0x2000
},
cpu_romsize = 2 * mega, cpu_banksize = 0x8000,
ppu_romsize = 2 * mega, ppu_banksize = 0x2000,
ppu_ramfind = false, vram_mirrorfind = true
};
function cpu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x6000, i << 4);
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
}
function ppu_dump(d, numpages, banksize) {
for (local i = 0; i < 4; i += 1) {
cpu_write(d, 0x6000, i);
ppu_read(d, 0, 0x2000);
}
for (local i = 64; i < 68; i += 1) {
cpu_write(d, 0x6000, i);
ppu_read(d, 0, 0x2000);
}
}
Don't buy FamicomNes games WillyNilly Check the Mapper first
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
Re: Kazzo USB rom dumper / dev cart programmer
That does work, I did as you suggested for the UNROM Script and I was able to dump my "The Ultimate Stuntman" game on Mapper 71
I just had to use the D22 Command when dumping it to double the PRG to 256kb.
Thanks Again..
Do you have any suggestion for a Mapper 232 Script? as I have a copy of the gold Quattro Sports too..
Don't buy FamicomNes games WillyNilly Check the Mapper first
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
https://www.nesdev.org/wiki/Mapper
https://nescartdb.com/
I feel like I said something wrong even if I didn't I don't know for sure and I always feel bad about it.
Re: Kazzo USB rom dumper / dev cart programmer
something silly like
Code: Select all
for (local bb = 0; bb < 32; bb += 8) {
cpu_write(d, 0x8000, bb);
for (local pp = 0; pp < 4; pp += 1) {
cpu_write(d, 0xc000, pp);
cpu_read(d, 0x8000, 0x4000);
}
}