Super Mario Bros. + Tetris + Nintendo World Cup Kazzo dump

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Super Mario Bros. + Tetris + Nintendo World Cup Kazzo dump
by on (#173557)
I have purchased the Kazzo cartridge "INL Retro" Dumper-Programmer, and It seems to work fine for dumping my ROM's to my computer using the Anago wx software. However I have a problem dumping a copy of "Super Mario Bros. + Tetris + Nintendo World Cup" Do anyone have some tips for how to do it? PS Super Mario Bros (single game) worked when I used an updated NROM script (thanks Ice Man) Any special scripts I'll need for this multicart to dump properly?
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173561)
That 3-in-1 is its own unique mapper, so it'll need its own unique Kazzo script.

As a first pass, you should be able to dump it as MMC3, to get a 64 KiB PRG (containing the menu and Tetris) and 128 KiB CHR (containing the menu, Tetris, and SMB)
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173708)
The MMC3 works at least for Tetris. Does any script for this exist, or is it any way to "copy/paste" some code and merge it together as a .nes?
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173737)
It shouldn't be too hard to modify the normal MMC3 script to work, let me try:

Code:
board <- {
   mappernum = 37, vram_mirrorfind = false, ppu_ramfind = false,
   cpu_rom = {
      size_base = 0x40000, size_max = 0x40000,
      banksize = 0x2000,
   },
   ppu_rom = {
      size_base = 0x40000, size_max = 0x40000,
      banksize = 0x0400
   }
};

function cpu_dump(d, pagesize, banksize) {
   for (local o = 0; o < 4; o ++) {
      cpu_write(d, 0xa001, 0x80); //enable outer bank register
      cpu_write(d, 0x6000, (o<<1) | (o&1)); // set outer bank
      for(local i = 0; i < 8; i ++) {
         cpu_write(d, 0x8000, 6);
         cpu_write(d, 0x8001, i);
         cpu_read(d, 0x8000, banksize);
      }
   }
}
function ppu_dump(d, pagesize, banksize) {
   for (local o = 0; o < 8; o += 4) {
      cpu_write(d, 0xa001, 0x80); // enable outer bank register
      cpu_write(d, 0x6000, o); // set outer bank
      for(local i = 0; i < 128; i ++){
         cpu_write(d, 0x8000, 2);
         cpu_write(d, 0x8001, i);
         ppu_read(d, 0x1000, banksize);
      }
   }
}
Using this on an ordinary MMC3 board would trash its save RAM, so don't do that.
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173914)
...now I'm worried! Can I NOT use this script with my Kazzo dumper?
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173916)
??

Just don't use it with a copy of SMB2 or SMB3 (or any other MMC3 game that can save the game): the ability to contain multiple games in one cartridge is controlled in the same way as those games save their game.
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173918)
Since when can Super Mario Bros. 2: Mario Madness or Super Mario Bros. 3 save (prior to All-Stars)? They're TSROM: WRAM but no battery.

Perhaps the intent was "Don't use it with TKROM games." Those actually have a battery.
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#173920)
tepples wrote:
Since when can Super Mario Bros. 2: Mario Madness ... save (prior to All-Stars)?

Since it was Doki Doki Panic on the FDS, which saved the progress of the game to disk.
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#175299)
It didn't work :-(
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#175311)
In what manner did it not work?
Re: Super Mario Bros. + Tetris + Nintendo World Cup Kazzo du
by on (#175350)
It seems like it didn't work with "jnes", but I tried a couple of other emulators, and they run it just fine :-) I will test it on my EverDrive later.

Thanx for all the help :-D