Kazzo USB rom dumper / dev cart programmer

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Zoldark wrote:For Operation Wolf the Code wouldn't dump My Game at all, it gives an error.
Oh derp. I forgot that.

Change
cpu_read(d, 0x8000, banksize);
to

Code: Select all

cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
Manipulated the existing Mapper 80 Script forcing it to try and act as Mapper 82 but the result is it just doesn't work
Mapper 82 and mapper 80 aren't the same! Both ICs are made by Taito, and CHR banking works the same on both, but that's it.

In Mapper 80, the PRG banking registers are at 0x7EFA, 0x7EFC, and 0x7EFE. In Mapper 82, they're at 0x7EFA, 0x7EFB, and 0x7EFC. If you change the former to the latter, that ... should? be sufficient.
Zoldark
Posts: 72
Joined: Sat Oct 28, 2017 10:18 am
Contact:

Re: Kazzo USB rom dumper / dev cart programmer

Post by Zoldark »

lidnariq wrote:
Zoldark wrote:For Operation Wolf the Code wouldn't dump My Game at all, it gives an error.
Oh derp. I forgot that.

Change
cpu_read(d, 0x8000, banksize);
to

Code: Select all

cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
Manipulated the existing Mapper 80 Script forcing it to try and act as Mapper 82 but the result is it just doesn't work
Mapper 82 and mapper 80 aren't the same! Both ICs are made by Taito, and CHR banking works the same on both, but that's it.

In Mapper 80, the PRG banking registers are at 0x7EFA, 0x7EFC, and 0x7EFE. In Mapper 82, they're at 0x7EFA, 0x7EFB, and 0x7EFC. If you change the former to the latter, that ... should? be sufficient.
That Fixed the Script as far as dumping is concerned but that is where I got confused that is not the same game I have I was trying to dump my Nintendo Game "Operation Wolf: Take no Prisoners" the US Release http://bootgod.dyndns.org:7777/profile.php?id=180 just my chip is a bit different than what they have posted plus looks like I need to Clean it, I did not even know there was a game known as Strike Wolf, I'm sorry I had thought when you said Strike Wolf that it was a mistake.

https://dl.dropboxusercontent.com/s/hbh ... PWOLF1.png

I only have like 4 actual Nintendo Games, as for that Mapper 82 game. How would one go about changing the PRG Banking registers?

On another note I was dumping My Famicom Game Family Boxing that is suppose to use Mapper 4 but I was looking at the existing dumps of Ring King and the Japan Version Family Boxing existed using horizontal mirroring so that is how it came out on Mapper 4 but it just wasn't a clean Dump, so I Tried every Variant of MMC3 Script I could and at the last remembered it was a Namcot "Namco" game and dumped it using the Namcot 108 3433 Mapper 88 it came out perfect with 64kb Prg and 64kb Chr and Vertical Mirroring as clean as Ring King is on Mapper 4, so I think that Family Boxing really is one the 4 games that is really Mapper 88 https://wiki.nesdev.com/w/index.php/INES_Mapper_088. I did try it on Mapper 206 too but it comes out garbled and doesn't work. In all truth the database I was looking at was way out dated and was not Nesdev. lol
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.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Zoldark wrote:that is not the same game I have I was trying to dump my Nintendo Game "Operation Wolf: Take no Prisoners" the US Release
<facepalm> That's just SLROM? Use an SKROM script.
I only have like 4 actual Nintendo Games, as for that Mapper 82 game. How would one go about changing the PRG Banking registers?
lidnariq wrote:In Mapper 80, the PRG banking registers are at 0x7EFA, 0x7EFC, and 0x7EFE. In Mapper 82, they're at 0x7EFA, 0x7EFB, and 0x7EFC. If you change the former to the latter, that ... should? be sufficient.
Zoldark
Posts: 72
Joined: Sat Oct 28, 2017 10:18 am
Contact:

Re: Kazzo USB rom dumper / dev cart programmer

Post by Zoldark »

lidnariq wrote:
Zoldark wrote:that is not the same game I have I was trying to dump my Nintendo Game "Operation Wolf: Take no Prisoners" the US Release
<facepalm> That's just SLROM? Use an SKROM script.
I only have like 4 actual Nintendo Games, as for that Mapper 82 game. How would one go about changing the PRG Banking registers?
lidnariq wrote:In Mapper 80, the PRG banking registers are at 0x7EFA, 0x7EFC, and 0x7EFE. In Mapper 82, they're at 0x7EFA, 0x7EFB, and 0x7EFC. If you change the former to the latter, that ... should? be sufficient.
Yep that did the Trick I had similar trouble when I first tried dumping Captain Skyhawk for Nes I thought it was AOROM but the Script didn't work til I realized there was another Script _aorom.af ran that and it worked.

I have managed to Dump 22 different games with help Thank you, I am going take a break for awhile, and try to study up on what Mappers my other 51 games use. I hope I get lucky like with a lot mine so far that used either CNROM or just NROM. I do have about 10 or so Jaleco Games and about 7 or 8 Bandai games, but I dumped all my Namcot Games, all Irem, all Capcom, and 3 of my four Taito games just have that Mapper 82 Famicom Baseball Game left.

For Nes
Trojan
Captain Skyhawk
Operation Wolf
Super Mario / Duck Hunt / Track Meet

For Famicom
Family Boxing
Youkai Douchuuki
10 Yard Flight
Zippy Race
Super Mario Bros
Adventure Island
Tatakai no Banka "Famicom Trojan"
The Tower of Druaga
Taito Grand Prix - Eikou heno License "A Taito Mapper 80 Game"
Senjou no Ookami "Famicom Commando"
Gyrodine
Formation Z
Dough Boy
Atlantis no Nazo
Aigiina no Yogen
Goonies 2, The - Fratelli Saigo no Chousen
Transformers Mystery Of Comvoy
Xevious

I did change out the registers for that Mapper 80 Script with what should be for Mapper 82 at least as best I could tell and re-dumped my game but it came out about the same with only a slight difference Shows the title screen like every thing is fine then goes wacko..
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.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Zoldark wrote:I did change out the registers for that Mapper 80 Script with what should be for Mapper 82 at least as best I could tell and re-dumped my game but it came out about the same with only a slight difference Shows the title screen like every thing is fine then goes wacko.
Is the dump you create 384 KiB in size?

Do the PRG and CHR checksums agree with the record in NesCartDB ?
Zoldark
Posts: 72
Joined: Sat Oct 28, 2017 10:18 am
Contact:

Re: Kazzo USB rom dumper / dev cart programmer

Post by Zoldark »

lidnariq wrote:
Zoldark wrote:I did change out the registers for that Mapper 80 Script with what should be for Mapper 82 at least as best I could tell and re-dumped my game but it came out about the same with only a slight difference Shows the title screen like every thing is fine then goes wacko.
Is the dump you create 384 KiB in size?

Do the PRG and CHR checksums agree with the record in NesCartDB ?
yes the dump comes out as 384kb in size.

However I just noticed that the CHR Checksum is correct but the PRG Checksum is not.

For My Dump
PRG 128kb CRC32 F5B15BAF
CHR 256kb CRC32 63CA0132

The Data Base
PRG0 D23-01 128 KB 265167E1
CHR0 D23-02 256 KB 63CA0132

So it seems my CHR part is correct but the PRG is dumping wrong. I just took My CHR and Joined it together with the PRG from an existing good dump, and the resulting Game came out like it should so the script just is not dumping the PRG correctly or the game I have is damaged but it plays fine in my Famicom Clone..

Is there anyway to fix a PRG CRC32?

Another question I have is. Can you erase your own NES or Famicom game boards? and then reprogram them? I realized that it was a stupid question they are not flash boards, the reason I asked is I was considering getting CNROM, NROM, and possibly a UNROM as those games are the easiest to get working, but also I would love to get a Famicom Flash Board or two. Does such a thing exist?
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.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Well, yes, that means you got a bad PRG dump. You can only use the CRC32 as an indicator, not instructions for what to fix.

Why don't you post here (or PM me) the not-working dumper script you tried?
Zoldark
Posts: 72
Joined: Sat Oct 28, 2017 10:18 am
Contact:

Re: Kazzo USB rom dumper / dev cart programmer

Post by Zoldark »

lidnariq wrote:Well, yes, that means you got a bad PRG dump. You can only use the CRC32 as an indicator, not instructions for what to fix.

Why don't you post here (or PM me) the not-working dumper script you tried?

Code: Select all

/*
Taito X1-005
TFC-FM-5900 不動明王伝のみ Program ROM size は 2M
save RAM が存在するがアクセス方法は不明
*/
board <- {
   mappernum = 82, ppu_ramfind = false, vram_mirrorfind = false,
   cpu_rom = {
      size_base = 1 * mega, size_max = 2 * mega,
      banksize = 0x2000
   },
   ppu_rom = {
      size_base = 2 * mega, size_max = 4 * mega,
      banksize = 0x2000 / 8 //0x0800*2 + 0x0400 * 4
   }
};

function cpu_dump(d, pagesize, banksize)
{
   local i;
   for(i = 0; i < pagesize - 2; i += 2){
      cpu_write(d, 0x7efa, i);
      cpu_write(d, 0x7efc, i | 1);
      cpu_read(d, 0x8000, banksize * 2);
   }
   cpu_write(d, 0x7efe, i);
   cpu_read(d, 0xc000, banksize * 2);
}

function ppu_dump(d, pagesize, banksize)
{
   for(local i = 0; i < pagesize; i += 8){
      local ar = [i, i|2, i|4, i|5, i|6, i|7];
      cpu_write(d, 0x7ef0, ar);
      ppu_read(d, 0x0000, banksize * 8);
   }
}
That is it but I have tried the same thing with the switched out PRG Banking Registers but still only the CHR comes out correct.
lidnariq wrote:
Zoldark wrote:For Operation Wolf the Code wouldn't dump My Game at all, it gives an error.
Oh derp. I forgot that.

Change
cpu_read(d, 0x8000, banksize);
to

Code: Select all

cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
Manipulated the existing Mapper 80 Script forcing it to try and act as Mapper 82 but the result is it just doesn't work
Mapper 82 and mapper 80 aren't the same! Both ICs are made by Taito, and CHR banking works the same on both, but that's it.

In Mapper 80, the PRG banking registers are at 0x7EFA, 0x7EFC, and 0x7EFE. In Mapper 82, they're at 0x7EFA, 0x7EFB, and 0x7EFC. If you change the former to the latter, that ... should? be sufficient.

Another trouble I have had is in the dumping of the Famicom Seicross Game, according to the database it's suppose to be NROM but when ever I try dumping it with any of the NROM Scripts the resulting dump doesn't work. How ever it does dump and work as CNROM but comes out with 32kb PRG and 32kb CHR with different checksum than what the database has http://bootgod.dyndns.org:7777/profile.php?id=1703. Has anyone had a similar trouble with the Famicom Seicross or is there a fix?
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.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Zoldark wrote:That is it but I have tried the same thing with the switched out PRG Banking Registers but still only the CHR comes out correct.
There's nothing obviously wrong with that.

You could PM me the bad dump and maybe I'll be able to figure out what's going wrong.
Zoldark wrote:Another trouble I have had is in the dumping of the Famicom game Seicross, according to the database it's suppose to be NROM but when ever I try dumping it with any of the NROM Scripts the resulting dump doesn't work. How ever it does dump and work as CNROM but comes out with 32kb PRG and 32kb CHR with different checksum than what the database has http://bootgod.dyndns.org:7777/profile.php?id=1703. Has anyone had a similar trouble with the Famicom Seicross or is there a fix?
There were two releases of Seicross! One has something pretending to be an anti-reproduction thing, but it's extremely flimsy.

Unfortunately, this rerelease of Seicross is the one game that doesn't comply with the existing heuristic; FCEUX is currently hot-patching it to mapper 181.

A CNROM dump should work fine.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by NewRisingSun »

lidnariq wrote:Unfortunately, this rerelease of Seicross is the one game that doesn't comply with the existing heuristic; FCEUX is currently hot-patching it to mapper 181.
What's the current state of the Mapper 185 Submapper proposal? I could not find a thread describing what still needs to be done to make this official.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

Needs test ROMs, probably. I'd really rather formalize the latter version instead of the former.

Or codifying a different heuristic instead of submappers. I think that we could just get away with "writes to the bankswitching register toggle whether the CHR ROM is readable" but that'd need testing.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by NewRisingSun »

Just to clarify: does submapper 0 meaning "use heuristic" apply to any mapper, or just to Mapper 185?

Because the first proposal does not explicitly state that submapper 0 means "use heuristic", unless I misunderstand the "In the case that any of the bits are 'don't care', use 0." sentence. I understood the first proposal as implicitly stating No NES 2.0 Header->Use Heuristic, Have NES 2.0 Header->Use Submapper (blindly). That wpiöd force anyone who uses a NES 2.0 header to specify the correct submapper, but that is no more restrictive than requiring UNROM games to specify the 8K CHR-RAM in NES 2.0 headers.

Is it correct that the security diodes only matter for dumping, but not for emulation, which is the reason why the second proposal does not specify their configuration?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

NewRisingSun wrote:Just to clarify: does submapper 0 meaning "use heuristic" apply to any mapper, or just to Mapper 185?
Approximately, every mapper. Submapper 0 was decided to mean "compatibility with iNES 1 header" which in mapper 185's case means specifically "use heuristic", but a similar statement can be made about everything else.

You certainly can make the point that mapper 185 could be an exception.
Is it correct that the security diodes only matter for dumping, but not for emulation, which is the reason why the second proposal does not specify their configuration?
Correct. It's perfectly possible to emulate mapper 185 dumps as though they were CNROM, by just having 1 or 3 banks of padding in the NES file's CHR ROM.

It's not clear that the latch + diode would necessarily win the fight over the PPU's output drivers, and so it's not clear what the result would do to the perceived CHR banks when the CHR ROM is enabled. I wouldn't be surprised if it turns out that it's the same wired-AND behavior of other things in the NES, and that any place where the diodes are configured to "require logic high" end up being a no-op.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by NewRisingSun »

lidnariq wrote:It's perfectly possible to emulate mapper 185 dumps as though they were CNROM, by just having 1 or 3 banks of padding in the NES file's CHR ROM
Which, incidentially, is how Tecmo released Mighty Bomb Jack in the U.S. without removing the protection code. ;)

I definitely prefer submappers over more a more elaborate heuristic. I suppose all the test ROM must do is detect the submapper number, and possibly whether the emulator is using the standard heuristic in the case of submapper 0?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Kazzo USB rom dumper / dev cart programmer

Post by lidnariq »

NewRisingSun wrote:Which, incidentally, is how Tecmo released Mighty Bomb Jack in the U.S. without removing the protection code. ;)
Oh, neat.
I definitely prefer submappers over more a more elaborate heuristic.
Does "count the number of times the latch has been written to and toggle readability" count as a more complex heuristic?

If it works, I'd prefer it.
I suppose all the test ROM must do is detect the submapper number, and possibly whether the emulator is using the standard heuristic in the case of submapper 0?
Yeah, just saying "I wrote these four values, and CHR ROM only held the expected contents when the value was X which means this is submapper Y" should be adequate.
Post Reply