logoUnique visits: 7729
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
30 in 1
Typemulti
Mapper279
Original mapper0
PCB marksPC2-P3127-01
Tags:#big
Uploaded:2022-11-25 08:38:52

Elements:
NameValue
U17432
U1074139
U11100002C(27512)
U12100003C(27512)
U13100004C(27512)
U14100001C(27512)
U15100006C(27512)
U16100005C(27512)
U27408
U37408
U47404
U57400
U67400
U77400
U874273
U974138
C11u
C2100n
C3100n
C4100n
C5100n
C6100n
C7100n
CART1FAMICOM_CART
R14.7k

Chip signature:
7432+74139+100002C(27512)+100003C(27512)+100004C(27512)+100001C(27512)+100006C(27512)+100005C(27512)+7408+7408+7404+7400+7400+7400+74273+74138

PCB top:

PCB bottom:

Shell top:


Shell bottom:

Screenshoots:

Extra info:
30-in-1 multicart -> 16 chips (George Boole's nightmare)

[url=https://obrazki.elektroda.pl/6868156700_1515794300.png][img]https://obrazki.elektroda.pl/6868156700_1515794300_thumb.jpg[/img][/url] 

There are 16 chips. Do you think this is come special crazy mapper?
It is just simple 16 kB / 32 kB NROM game + mirroring select with register placed at $7000-$7fff.
Most of the chips are for some crazy PRG bank mixing. But they could use just 4 MBit PRG + 2 MBit CHR + 74273 + 74153 and 2 diodes + resistor to generate clock to 74273 (when placing it at $8000-$ffff).
The lookup table of values written after selecting game 01-30 is placed at offset $71 in ROM :
01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 1E
They are sequential, so looks like they combined the games' PRG (or CHR) in bad order, ordered mask roms for them in factory and after doing prototype PCB they realized that they combined those files in wrong order, so they needed to fix it in hardware by using those gates.

Also, the menu routine is weird (game selected by entering number, instead of selecting from list), no game names.

[url=https://obrazki.elektroda.pl/5963286200_1515793783.jpg][img]https://obrazki.elektroda.pl/5963286200_1515793783_thumb.jpg[/img][/url] [url=https://obrazki.elektroda.pl/5201298800_1515793787.jpg][img]https://obrazki.elektroda.pl/5201298800_1515793787_thumb.jpg[/img][/url] [url=https://obrazki.elektroda.pl/7834419300_1515793800.png][img]https://obrazki.elektroda.pl/7834419300_1515793800_thumb.jpg[/img][/url] [url=https://obrazki.elektroda.pl/4979255500_1515793801.png][img]https://obrazki.elektroda.pl/4979255500_1515793801_thumb.jpg[/img][/url] 

[code]

[wvmppppp]: REG: $7000-$7fff (cleared on power-up, but not reset)
 ||||||||
 |||+++++-- selects 8 kB CHR-ROM bank at $0000
 ||||||||
 |||+++++-- selects 16 kB PRG-ROM bank at $8000/$c000 (*)
 ||+------- mirroring: 0=H, 1=V (*)
 |+-------- PRG bank mode (*)
 ||          0=16k: $8000=ppppp, $c000=ppppp
 ||          1=32k: $8000=pppp0, $c000=pppp1
 +--------- write protection of this register: 1=enabled
 
Bus conflicts: yes (at $8000-$ffff)
 
(*) Exceptions:
* when ppppp is $1d     -> $8000=$1d, $c000=$1d, mirroring=H
* when ppppp is $1e/$1f -> $8000=$1e, $c000=$1f, mirroring=V
* when ppppp is $0c -> treat it as $0e \
*               $0d -> treat is as $0f  | only for PRG bank number
*               $0e -> treat is as $0c  | (CHR bank number is treated normally)
*               $0f -> treat is as $0d /

PRG banks & mirroring for sequential all values of reg:

REG|$8000|$c000|mir   REG|$8000|$c000|mir   REG|$8000|$c000|mir   REG|$8000|$c000|mir   
00 | 00  | 00  | 0    20 | 00  | 00  | 1    40 | 00  | 01  | 0    60 | 00  | 01  | 1    
01 | 01  | 01  | 0    21 | 01  | 01  | 1    41 | 00  | 01  | 0    61 | 00  | 01  | 1    
02 | 02  | 02  | 0    22 | 02  | 02  | 1    42 | 02  | 03  | 0    62 | 02  | 03  | 1    
03 | 03  | 03  | 0    23 | 03  | 03  | 1    43 | 02  | 03  | 0    63 | 02  | 03  | 1    
04 | 04  | 04  | 0    24 | 04  | 04  | 1    44 | 04  | 05  | 0    64 | 04  | 05  | 1    
05 | 05  | 05  | 0    25 | 05  | 05  | 1    45 | 04  | 05  | 0    65 | 04  | 05  | 1    
06 | 06  | 06  | 0    26 | 06  | 06  | 1    46 | 06  | 07  | 0    66 | 06  | 07  | 1    
07 | 07  | 07  | 0    27 | 07  | 07  | 1    47 | 06  | 07  | 0    67 | 06  | 07  | 1    
08 | 08  | 08  | 0    28 | 08  | 08  | 1    48 | 08  | 09  | 0    68 | 08  | 09  | 1    
09 | 09  | 09  | 0    29 | 09  | 09  | 1    49 | 08  | 09  | 0    69 | 08  | 09  | 1    
0a | 0a  | 0a  | 0    2a | 0a  | 0a  | 1    4a | 0a  | 0b  | 0    6a | 0a  | 0b  | 1    
0b | 0b  | 0b  | 0    2b | 0b  | 0b  | 1    4b | 0a  | 0b  | 0    6b | 0a  | 0b  | 1    
0c | 0e  | 0e  | 0    2c | 0e  | 0e  | 1    4c | 0e  | 0f  | 0    6c | 0e  | 0f  | 1    
0d | 0f  | 0f  | 0    2d | 0f  | 0f  | 1    4d | 0e  | 0f  | 0    6d | 0e  | 0f  | 1    
0e | 0c  | 0c  | 0    2e | 0c  | 0c  | 1    4e | 0c  | 0d  | 0    6e | 0c  | 0d  | 1    
0f | 0d  | 0d  | 0    2f | 0d  | 0d  | 1    4f | 0c  | 0d  | 0    6f | 0c  | 0d  | 1    
10 | 10  | 10  | 0    30 | 10  | 10  | 1    50 | 10  | 11  | 0    70 | 10  | 11  | 1    
11 | 11  | 11  | 0    31 | 11  | 11  | 1    51 | 10  | 11  | 0    71 | 10  | 11  | 1    
12 | 12  | 12  | 0    32 | 12  | 12  | 1    52 | 12  | 13  | 0    72 | 12  | 13  | 1    
13 | 13  | 13  | 0    33 | 13  | 13  | 1    53 | 12  | 13  | 0    73 | 12  | 13  | 1    
14 | 14  | 14  | 0    34 | 14  | 14  | 1    54 | 14  | 15  | 0    74 | 14  | 15  | 1    
15 | 15  | 15  | 0    35 | 15  | 15  | 1    55 | 14  | 15  | 0    75 | 14  | 15  | 1    
16 | 16  | 16  | 0    36 | 16  | 16  | 1    56 | 16  | 17  | 0    76 | 16  | 17  | 1    
17 | 17  | 17  | 0    37 | 17  | 17  | 1    57 | 16  | 17  | 0    77 | 16  | 17  | 1    
18 | 18  | 18  | 0    38 | 18  | 18  | 1    58 | 18  | 19  | 0    78 | 18  | 19  | 1    
19 | 19  | 19  | 0    39 | 19  | 19  | 1    59 | 18  | 19  | 0    79 | 18  | 19  | 1    
1a | 1a  | 1a  | 0    3a | 1a  | 1a  | 1    5a | 1a  | 1b  | 0    7a | 1a  | 1b  | 1    
1b | 1b  | 1b  | 0    3b | 1b  | 1b  | 1    5b | 1a  | 1b  | 0    7b | 1a  | 1b  | 1    
1c | 1c  | 1c  | 0    3c | 1c  | 1c  | 1    5c | 1c  | 1d  | 0    7c | 1c  | 1d  | 1    
1d | 1d  | 1d  | 0    3d | 1d  | 1d  | 0    5d | 1d  | 1d  | 0    7d | 1d  | 1d  | 0    
1e | 1e  | 1f  | 1    3e | 1e  | 1f  | 1    5e | 1e  | 1f  | 1    7e | 1e  | 1f  | 1    
1f | 1e  | 1f  | 1    3f | 1e  | 1f  | 1    5f | 1e  | 1f  | 1    7f | 1e  | 1f  | 1    
[/code]

List of games:
* Battle City
* Ice Climber
* Pac-Man
* Galaxian
* Popeye
* Devil World
* Exerion
* Baseball
* Tennis
* Field Combat
* Gold
* Zippy Race
* Super Arabian
* Space Invaders
* Front Line
* Lode Runner
* Raid on Bungeling Bay
* 4 Nin Uchi Mahjong
* Kinnikuman - Muscle Tag Match
* Chou Jikuu Yousai - Macross
* Chack 'n Pop
* Ikki
* Championship Lode Runner
* Lunar Ball
* Duck Hunt
* Wild Gunman
* Urban Champion
* Star Force
* Clu Clu Land
* Super Mario Bros

[code]
#include "mapinc.h"
	
static uint8 reg;

static SFORMAT StateRegs[] =
{
	{ 0 }
};

static void Sync(void) {
	setchr8(reg & 0x1F);

	switch (reg & 0x1f) {
	case 0x1d:
		setprg16(0x8000, 0x1d);
		setprg16(0xc000, 0x1d);
		setmirror(MI_H);
		break;
	case 0x1e:
	case 0x1f:
		setprg16(0x8000, 0x1e);
		setprg16(0xc000, 0x1f);
		setmirror(MI_V);
		break;
	default:
		setmirror(((reg >> 5) & 1) ? MI_V : MI_H);
		int reg_fix = reg & 0x1f;

		switch (reg & 0x1f) {
		case 0xc: reg_fix = 0xe; break;
		case 0xd: reg_fix = 0xf; break;
		case 0xe: reg_fix = 0xc; break;
		case 0xf: reg_fix = 0xd; break;
		}
			
		if ((reg >> 6) & 1) {
			setprg32(0x8000, reg_fix >> 1);
		}
		else {
			setprg16(0x8000, reg_fix);
			setprg16(0xc000, reg_fix);
		}
		break;

	}
}

static DECLFW(M279Write) {
	if ((reg >> 7) == 0) {
		reg = V;
	}
	Sync();
}

static void M279Power(void) {
	reg = 0;
	setchr8(0);
	SetWriteHandler(0x7000, 0x7fff, M279Write);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	Sync();
}

static void M279Reset(void) {
	Sync();
}


static void StateRestore(int version) {
	Sync();
}

void Mapper279_Init(CartInfo *info) {
	info->Power = M279Power;
	info->Reset = M279Reset;
	
	GameStateRestore = StateRestore;

	AddExState(&StateRegs, ~0, 0, 0);
}
[/code]
-------------------------------------------------------------------------------------

prg14 = (!D6 & !D2 & D0) | (!D6 & !D3 & D0) | (!D6 & !D4 & D0) | (CPU_A14 & D6) | 
            (D4 & D3 & D2 & !D1 & D0) | (CPU_A14 & D4 & D3 & D2 & D1);
prg15 = (!D4 & D3 & D2 & !D1) | (!D2 & D1) | (!D3 & D1) | (D4 & D1);

mirror = (D4 & D3 & D2 & D1) | (D5 & !D2) | (D5 & !D3) | (D5 & !D4) | (D5 & !D0);
-------------------------------------------------------------------------------------

PRG LAYOUT
 0 => 14692 VS\Gradius (VS).nes [this is menu]
 1 =>    61 Japan\Battle City (J).nes
 2 =>     0 USA\Ice Climber (U).nes
 3 =>   162 Japan\Pac-Man (J).nes
 4 =>     0 Japan\Galaxian (J).nes
 5 =>     8 Pirate\Popeye (JU) (PRG 0) [p2].nes
 6 =>    20 Japan\Devil World (J).nes
 7 =>     8 Pirate\Exerion (J) [p1].nes
 8 =>    15 Pirate\Baseball (J) [p1].nes
 9 =>    14 Pirate\Tennis (JU) [p1].nes
10 =>    11 Japan\Field Combat (J) [!].nes
11 =>     8 Pirate\Gold (JU) [p1].nes
12 =>     8 Pirate\Zippy Race (J) [p1].nes
13 =>     6 Pirate\Super Arabian (J) [p1].nes
14 =>    20 Japan\Space Invaders (J).nes
15 =>     0 Japan\Front Line (J).nes
16 =>    19 Pirate\Lode Runner (J) [p1].nes
17 =>    17 USA\Raid on Bungeling Bay (U)[a2].nes
18 =>    17 Pirate\4 Nin Uchi Mahjong (J)[p1].nes
19 =>    18 Pirate\Kinnikuman - Muscle Tag Match (J) [p1].nes
20 =>    36 Pirate\Chou Jikuu Yousai - Macross (J) [p3].nes
21 =>    20 Japan\Chack 'n Pop (J).nes
22 =>     0 Pirate\Ikki (J) [p1].nes
23 =>    16 Pirate\Championship Lode Runner (J) [p1].nes
24 =>     0 Japan\Lunar Ball (J).nes
25 =>     2 Pirate\Duck Hunt (JUE) [p1].nes
26 =>     8 Pirate\Wild Gunman (U) [p1].nes
27 =>    13 World\Urban Champion (JU).nes
28 =>   239 Japan\Star Force (J) [!].nes
29 =>   135 Pirate\Clu Clu Land (JU) [p1].nes
30 =>     8 PC10\Super Mario Bros (PC10).nes
31 =>     1 Europe\Super Mario Bros (E) [a1].nes

CHR Layout:
 0 =>   4184 Unclassified\ZZZ_UNK_Final Fantasy (Bad CHR 55d877ae).nes
 1 =>      0 Japan\Battle City (J).nes
 2 =>    411 World\Ice Climber (JE).nes
 3 =>      4 Japan\Pac-Man (J).nes
 4 =>    170 Japan\Galaxian (J).nes
 5 =>      3 Translated\Popeye (JU) (PRG 0) [T-German].nes
 6 =>      0 Europe\Devil World (E) [!].nes
 7 =>      0 Japan\Exerion (J).nes
 8 =>      7 Japan\Baseball (J).nes
 9 =>     15 Europe\Tennis (E) [!].nes
10 =>      0 Japan\Field Combat (J) [!].nes
11 =>      0 Europe\Golf (E).nes
12 =>      1 Japan\Space Invaders (J).nes
13 =>     39 Japan\Front Line (J).nes
14 =>      0 Japan\Zippy Race (J).nes
15 =>      0 Japan\Super Arabian (J).nes
16 =>      1 USA\Lode Runner (U).nes
17 =>      0 Japan\Raid on Bungeling Bay (J) [a1].nes
18 =>      9 Japan\4 Nin Uchi Mahjong (J).nes
19 =>      1 Japan\Kinnikuman - Muscle Tag Match (J).nes
20 =>      0 Japan\Chou Jikuu Yousai - Macross (J).nes
21 =>      0 Japan\Chack 'n Pop (J).nes
22 =>      0 Japan\Ikki (J) [a1].nes
23 =>      0 Japan\Championship Lode Runner (J).nes
24 =>    161 Japan\Lunar Ball (J).nes
25 =>      0 World\Duck Hunt (JUE).nes
26 =>     25 USA\Wild Gunman (U) [!].nes
27 =>      0 World\Urban Champion (JU).nes
28 =>      0 Japan\Star Force (J) [!].nes
29 =>      0 World\Clu Clu Land (JU).nes
30 =>    155 Europe\Super Mario Bros (E).nes
31 =>    155 Europe\Super Mario Bros (E).nes

------
00:DE42: AE 95 03  LDX $0395 = #$1E
>00:DE45: BD 43 C0  LDA $C043,X @ $C061 = #$1E
 00:DE48: 09 80     ORA #$80
 00:DE4A: 8D 9E 03  STA $039E = #$FF
 00:DE4D: A9 00     LDA #$00
 00:DE4F: 8D 15 40  STA $4015 = #$0F
 00:DE52: 4C 9D 03  JMP $039D

Comments:

Want to leave a comment?

Name:

Page loaded in 0.8 seconds | W3C validate