logoUnique visits: 7276
Can you help getting more info about those carts?
Cart name
Notes for chip search:
  • Use "+" as delimeter for all fields (except "cart name", where space is used); if many values are entered, all of them must appear in the cartridge then; case is not sensitive
  • "Mapper" is the actual mapper used by this cartridge hardware (might not match the one at wiki.nesdev.com, as at the moment I was analyzing this cartridge, there was no mapper assigned to it, so I had to assign my own number for testing)
  • "Original mapper" is the mapper used by licensed version of this game (for multicarts, it refers to mapper of the inside games, so 0+2 means this cartridge can run NROM+UNROM games)
  • Order in which you put values doesn't matter (you can write 7400+74138+7400 or 7400+7400+74138 to search for a cartridge that contains at least two 7400 chips and one 74138
  • Some chips (like PAL16*8) appear in cartridges as 16V8 or 16L8, so be sure to check both posibilities
  • Same goes for memories - type 27F080 to search for 32 pin memories, 27512 for 28 pin with two chip enables or MASKROM_1M_DIP28 for 28 pin with one chip enable
  • Same goes for mappers - some examples: AX5904(MMC1), AX5202P(MMC3), PT8154BM (9112MMC3), AX5208C(VRC4), 23C3662(VRC2)
  • Good news is that you can use wildcards, so 74139+*MMC3* will search for any cartrige that has at least one 74139 and MMC3 chip in any version
Mapper#
Original mapper#
PCB marks
Tags
Chips
Contra 102 in 1
Typemulti
Mapper923
Original mapper0+2
PCB marks8-27-C-A ET-89
Tags:
Uploaded:2020-03-30 09:21:24

Elements:
NameValue
IC127F080
IC107474
IC26264
IC374273
IC474161
IC574253
IC674253
IC774253
IC87432
IC97404
C110n
C2-
C3-
CART1FAMICOM_CART
D1DIODE
R12.2k

Chip signature:
27F080+7474+6264+74273+74161+74253+74253+74253+7432+7404

PCB top:

PCB bottom:

Shell top:


Shell bottom:

Screenshoots:

Extra info:
   fedcba9876543210     76543210
   1001000101100010
A~[1......AXBabcdMV] D~[.....klm]
          |||||||||          |||
          |||||||||          +++- PRG bank in UNROM mode
          ||||||||+-------------- NROM PRG size: 0=16K, 1=32K
          |||||||+--------------- mirroring: 0=V, 1=H
          |||++++---------------- PRG bank in NROM mode
          ||+-------------------- PRG-A18 
          |+--------------------- PRG mode (1=CHR-RAM is write-protected)
		  +---------------------- PRG-A19 & PRG mode (1=this register is write protected)
		   
AXV $8000  $c000
000 0Babcd 0B0000
001 0Babc0 0B0000
010 0Babcd 0Babcd
011 0Babc0 0Babc1
10* 1Baklm 1Ba111
11* 1Baklm 1Baklm


//DUMPING:
for (int bank = 0; bank < 64; ++bank) {
	buttonSimulateReset.PerformClick();
	int adr = 0x8000 | shi(bank, 0, 2) | shi(bank, 1, 3) | shi(bank, 2, 4) | shi(bank, 3, 5) | shi(bank, 4, 6) | shi(bank, 5, 8);
	cpu_write(adr, new byte[] { (byte)(bank & 7) });
	if (bank < 32) {
		cpuRead(0x8000, 0xbfff);
	}
	else {
		byte[] c000 = cpu_read(0xc000, 0x4000);
		for (int unrom_bank = 0; unrom_bank < 8; ++unrom_bank) {
			bool found = false;
			for (int unrom_addr = 0; unrom_addr < 0x4000; ++unrom_addr) {
				if ((c000[unrom_addr] & 7) == unrom_bank) {
					cpu_write(0xc000 | unrom_addr, new byte[] {c000[unrom_addr]});
					cpuRead(0x8000, 0xbfff);
					found = true;
					break;
				}
			}
			if (!found) {
				throw new Exception(String.Format("Bank {j} not found", unrom_bank));
			}
		}
		bank += 8;
	}
	
}
Quite weird cartridge mixing NROM128, NROM256 and UNROM mappers, allowing to run multiple games from each one. Dumping the second part (when A=PRG-A19=1) was tricky because after figuring exactly how the mapper works, cartridge needs simulated restart after each write (address latch locks when writing with A=1). Additionally, there are bus conflicts so after each write, $c000-$ffff needs to be read back first to see at which address value to be written exists.
Additionally,

Comments:

Want to leave a comment?

Name:

Page loaded in 0.8 seconds | W3C validate