Page 42 of 45

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Jun 27, 2018 6:16 pm
by werewolfslayr925
lidnariq wrote:Mapper 101 is an erroneously-assigned duplicate of Mapper 87.
That's the mapper 87 definition. If it's working correctly in your emulator, either your emulator has a patch list that's fixing the header for you, or you haven't gotten to any part of the game that requires that banks 1 or 2 be shown.
Shoot. Turns out that the third stage does, in fact, have some scrambled sprites. Any ideas on how to get them unscrambled?

Also, I have a copy of GeGeGe no Kitarou 2 for which I have no leads for a script. Are there any scripts out there for dumping Bandai carts with mapper 152?

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Jun 27, 2018 6:30 pm
by lidnariq
Just change the header to mapper 87, instead of mapper 101. (What emulator are you using?)

Basically:
mappernum = 87 [...] cpu_write(d, 0x6000, ((i & 2) >> 1) | ((i & 1) << 1));
mappernum = 101 [...] cpu_write(d, 0x6000, i);




Mappers 152 and 70 are basically hybrids of GNROM with UNROM. Try this:

Code: Select all

board <- {
  mappernum = 152,
  cpu_rom = {
    size_base = 0x10000, size_max = 0x20000, banksize = 0x4000
  },
  ppu_rom = {
    size_base = 0x4000, size_max = 0x20000, banksize = 0x2000
  },
  cpu_romsize = 2 * mega, cpu_banksize = 0x4000,
  ppu_romsize = 2 * mega, ppu_banksize = 0x2000,
  ppu_ramfind = false, vram_mirrorfind = false
};

function cpu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize - 1; i += 1) {
    cpu_write(d, 0x8000, i<<4);
    cpu_read(d, 0x8000, banksize);
  }
  cpu_read(d, 0xc000, banksize);
}

function ppu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize; i += 1) {
    cpu_write(d, 0x8000, i);
    ppu_read(d, 0, 0x2000);
  }
}

(edit: For mapper 70, change "mappernum" to 70, increase cpu_rom's size_max to 0x40000, and change vram_mirrorfind to true)

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Thu Jun 28, 2018 9:06 pm
by werewolfslayr925
Thanks so much for your help, lidnariq!

Unfortunately, the script for mapper 152 didn't yield a working ROM. Here are the results:

Code: Select all

Program ROM: size 0x010000, crc32 0x4377a06f
Character ROM: size 0x0040000, crc32 0x4f46913b

As for fixing the script for Lum...

edit: ...maybe I should try actually reading your post. Doy. Jussasec...



...

Bingo! That did it. Wow. Silly me. lidnariq, you lidnaroq.

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Thu Jun 28, 2018 10:38 pm
by lidnariq
werewolfslayr925 wrote:Program ROM: size 0x010000, crc32 0x4377a06f
That's half the PRG you should have gotten...
Character ROM: size 0x0040000, crc32 0x4f46913b
That's twice as big as the CHR you should have gotten... How did that even happen? The script I provided shouldn't have been able to make a dump that big.
you lidnaroq.
<guffaw> That's a new one on me.

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Fri Jun 29, 2018 3:16 pm
by werewolfslayr925
lidnariq wrote:
werewolfslayr925 wrote:Program ROM: size 0x010000, crc32 0x4377a06f
That's half the PRG you should have gotten...
Character ROM: size 0x0040000, crc32 0x4f46913b
That's twice as big as the CHR you should have gotten... How did that even happen? The script I provided shouldn't have been able to make a dump that big.
I retried it just now to test and make sure I used the right script and everything. I did use your script and got the same results. Then I tried a "d22" command to see if doubling the PRG dump would make a difference (and threw in doubling the CHR just for kicks/out of habit). I got a PRG that matches bootgod's database, but the CHR is still off:

Code: Select all

Program ROM: size 0x020000, crc32 0x48f8d55e
Character ROM: size 0x008000, crc32 0x6853bd7c
The ROM doesn't work in FCEUX either :?
you lidnaroq.
<guffaw> That's a new one on me.
I'm simultaneously glad and surprised that nobody's used that before :P

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Fri Jun 29, 2018 4:47 pm
by lidnariq
werewolfslayr925 wrote:Then I tried a "d22" command to see if doubling the PRG dump would make a difference (and threw in doubling the CHR just for kicks/out of habit). I got a PRG that matches bootgod's database
That doesn't seem right. The dump in GoodNES has 128KiB PRG but this same CRC32, and it's not a duplicate in the first and second halves.
While it's possible to get an accidental collision with CRC32s —it's 1 in 2**16 odds, per the birthday paradox—I'd be surprised every time it does happen.
Character ROM: size 0x008000, crc32 0x6853bd7c
Uh. Why don't you PM me your smaller dump and I'll see if I can figure out what's going on.

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Mon Jul 02, 2018 12:15 pm
by werewolfslayr925
Thanks to lidnariq, I was able to dump GeGeGe no Kitarou 2 with the following script:

Code: Select all

board <- {
  mappernum = 152,
  cpu_rom = {
    size_base = 0x20000, size_max = 0x20000, banksize = 0x4000
  },
  ppu_rom = {
    size_base = 0x20000, size_max = 0x20000, banksize = 0x2000
  },
  cpu_romsize = 2 * mega, cpu_banksize = 0x4000,
  ppu_romsize = 2 * mega, ppu_banksize = 0x2000,
  ppu_ramfind = false, vram_mirrorfind = false
};

function cpu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize - 1; i += 1) {
    cpu_write(d, 0x8000, i<<4);
    cpu_read(d, 0x8000, banksize);
  }
  cpu_read(d, 0xc000, banksize);
}

function ppu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize; i += 1) {
    cpu_write(d, 0x8000, i);
    ppu_read(d, 0, 0x2000);
  }
}
If I understand bootgod's database correctly, this script might also work with Arkanoid II, Pocket Zaurus: Juu Ouken no Nazo, and Saint Seiya: Ougon Densetsu.

EDIT: I also modified the script for Quinty on Arantius's GitHub. It didn't work for me: it gave an incorrect CPU dump and my faulty script gave an incorrect PPU dump, so I combined the working parts of each and got a successful script. The following can be used to dump Quinty:

Code: Select all

/*

Namcot 118/119 chip with Charcter ROM A16 wired PPU A12



Quinty

*/

board <- {

	mappernum = 88, vram_mirrorfind = true, ppu_ramfind = false,

   cpu_rom = {

      size_base = 0x20000, size_max = 1*mega,

      banksize = 0x2000

   },

	cpu_ram = {

		size_base = 0, size_max = 0, banksize = 0

	}

	ppu_rom = {

		size_base = 0x20000, size_max = 0x20000,

		banksize = 0x0400

	}

};



function cpu_dump(d, pagesize, banksize)

{

	for(local i = 0; i < pagesize - 2; i += 2){

		cpu_write(d, 0x8000, [6, i, 7, i+1]);

		cpu_read(d, 0x8000, banksize * 2);

	}

	cpu_read(d, 0xc000, banksize * 2);

}



function ppu_dump(d, pagesize, banksize)

{

	local i;

	//ROM offset 0x00000-0x0ffff can access from PPU address 0x0000-0x0fff

	for(i = 0; i < (pagesize >> 1); i += 4){

		cpu_write(d, 0x8000, [0, i, 1, i+2]);

		ppu_read(d, 0x0000, banksize * 4);

	}

	

	//ROM offset 0x10000-0x1ffff can access from PPU address 0x1000-0x1fff

	for(; i < pagesize; i += 4){

		cpu_write(d, 0x8000, [2, i, 3, i+1, 4, i+2, 5, i+3]);

		ppu_read(d, 0x1000, banksize * 4);

	}

}

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Fri Sep 14, 2018 3:17 pm
by werewolfslayr925
Apologies to the mods for the double post. lidnariq managed to craft another script, this time for Ninja JaJamaru: Ginga Daisakusen (i.e. JF-25 and/or iNES mapper 18). We thought it should go here. If an edit is preferable, please let me know.

Code: Select all

board <- {
   mappernum = 18, vram_mirrorfind = false, ppu_ramfind = false,
   cpu_rom = {
      size_base = 1 * mega, size_max = 2 * mega,
      banksize = 0x2000
   },
   ppu_rom = {
      size_base = 1 * mega, size_max = 2 * mega,
      banksize = 0x2000 / 8
   }
};

function cpu_dump(d, pagesize, banksize)
{
   for(local i = 0; i < pagesize - 2; i += 2){
      cpu_write(d, 0x8000, i);
      cpu_write(d, 0x8001, i >> 4);
      cpu_write(d, 0x8002, i | 1);
      cpu_write(d, 0x8003, i >> 4);
      cpu_read(d, 0x8000, banksize * 2);
   }
   cpu_write(d, 0x9000, 0xE);
   cpu_write(d, 0x9001, 0xF);
   cpu_read(d, 0xc000, banksize * 2);
}

function ppu_dump(d, pagesize, banksize)
{
   for(local i = 0; i < pagesize; i += 8) {
      cpu_write(d, 0xa000, i);
      cpu_write(d, 0xa001, i >> 4);
      cpu_write(d, 0xa002, i|1);
      cpu_write(d, 0xa003, i >> 4);
      cpu_write(d, 0xb000, i|2);
      cpu_write(d, 0xb001, i >> 4);
      cpu_write(d, 0xb002, i|3);
      cpu_write(d, 0xb003, i >> 4);
      cpu_write(d, 0xc000, i|4);
      cpu_write(d, 0xc001, i >> 4);
      cpu_write(d, 0xc002, i|5);
      cpu_write(d, 0xc003, i >> 4);
      cpu_write(d, 0xd000, i|6);
      cpu_write(d, 0xd001, i >> 4);
      cpu_write(d, 0xd002, i|7);
      cpu_write(d, 0xd003, i >> 4);
      ppu_read(d, 0x0000, banksize * 8);
   }
}

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 19, 2018 9:57 pm
by Zoldark
lidnariq wrote:Just change the header to mapper 87, instead of mapper 101. (What emulator are you using?)

Basically:
mappernum = 87 [...] cpu_write(d, 0x6000, ((i & 2) >> 1) | ((i & 1) << 1));
mappernum = 101 [...] cpu_write(d, 0x6000, i);

Thank You.. I Couldn't figure out how to Dump my Mapper 87 games til I saw this dumped all 3 my games Argus, Jajamaru no Daibouken, and Ninja Jajamaru-kun, just by changing the CNROM Script.

I do have a question I was thinking of buying some more Programmable Flash Boards, One particular Board or the Other, I think what I need is a MMC1 Flash Board that has 512kb Program and No Char Rom, So was looking at MMC1 SUROM or MMC1 SXROM. Except I don't know which one I need, I want it to program my own Multi-Carts on it that I made or well put together on to a Rom using the Code by Mottzilla that uses MMC1 and only has 512KB of Program https://thegaminguniverse.org/ninjagaid ... ebrew.html Does anyone Know if either of those Boards can be Programed with a Code By Mottzilla Rom? Then does anyone know if it would work?

I have about 3 or 4 Multi-Carts I put together for my own use and I hope to play and test them on real Hardware if possible.

Edit: Looking at Bootgods database I am thinking of going with SXROM as there are not many games that used it so it will be fun to try, and is a combination of SOROM and SUROM so probably would be best. Then I have to have that New Mapper 30 UNROM512 Board too. The Best..

Posted: Wed Sep 26, 2018 8:30 am
by Germansnake
Is there a script for Mapper 78 ? Received my Copy of Holy Diver from Dragonshop today and there is no script in anago for mapper 78. Spend hours today to dump the game with no success. Hope someone can help me :)

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 26, 2018 8:37 am
by tepples
Try this: Dump the PRG ROM with the UNROM script, then dump the CHR ROM with the Color Dreams script, and stitch them up and set the mapper to 78.3.

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 26, 2018 8:44 am
by Germansnake
you can dump the PRG & CHR Rom separately ? I must say I am a total noob, when it comes to anago scripts. Have to search for the color Dreams script. Feel dump for asking but how do I stitch them up ? I know how to change the mapper in the GUI

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 26, 2018 10:03 am
by lidnariq
Let me just copy and paste the two scripts together, it'll be easier than explaining how to do the same thing with the resulting files:

Code: Select all

board <- {
  mappernum = 78,
	cpu_rom = {
		size_base = 1 * mega, size_max = 1 * mega, banksize = 0x4000
	}, 
  ppu_rom = {
    size_base = 1 * mega, size_max = 1 * mega, banksize = 0x2000
  },
  ppu_ramfind = false, vram_mirrorfind = false
};

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

function ppu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize; i += 1) {
    cpu_write(d, 0x8000, i << 4);
    ppu_read(d, 0, 0x2000);
  }
}

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 26, 2018 3:42 pm
by Germansnake
Was able to dump it, but only a gray screen or nothing in any emulator

https://www.dragonbox.de/en/789-holy-di ... 36733.html

is that version different then the original one from 89 ?

Re: Kazzo USB rom dumper / dev cart programmer

Posted: Wed Sep 26, 2018 3:52 pm
by lidnariq
It's certainly possible that their unlicensed reproduction isn't mapper 78. Comparing the dump you got from a known good dump is the easiest way to find out ... comparing the part numbers on the PCB inside with those of the official release is the other.