logoUnique visits: 7829
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
24 in 1 + 100 in 1
Typemulti
Mapper280
Original mapper0+2
PCB marksNONE
Tags:#reset
Uploaded:2018-01-13 12:27:00

Elements:
NameValue
IC127F080
IC107432
IC117432
IC227512
IC36264A
IC47408
IC574273
IC674161
IC77474
IC874153
IC97402
C1?
CART1FAMICOM_CART
D1
R1-

Chip signature:
27F080+7432+7432+27512+6264A+7408+74273+74161+7474+74153+7402

PCB top:

PCB bottom:

Shell top:
No photo

Shell bottom:
No photo
Screenshoots:

Extra info:
http://forums.nesdev.com/viewtopic.php?f=9&t=16934

[url=https://obrazki.elektroda.pl/3070333000_1515875708.png][img]https://obrazki.elektroda.pl/3070333000_1515875708_thumb.jpg[/img][/url] [url=https://obrazki.elektroda.pl/8893096900_1515875710.png][img]https://obrazki.elektroda.pl/8893096900_1515875710_thumb.jpg[/img][/url] [url=https://obrazki.elektroda.pl/2199924500_1515875720.png][img]https://obrazki.elektroda.pl/2199924500_1515875720_thumb.jpg[/img][/url] 

[code]
This cartridge switches between UNROM-128 and NROM mode every reset.

1. UNRO-128 MODE
PRG-ROM: 128 kB (using DIL28 memory)
CHR-RAM: 8 kB
Mirroring: vertical
Subject to bus conflicts: yes

When in UNROM-128 mode, it behaves exactly as mapper 2 (one UNROM game is stored
in DIL28 128 kB mask ROM).

2. NROM
PRG-ROM: 512 kB (using DIL32 memory)
CHR-RAM: 8 kB
Subject to bus conflicts for NROM: yes

When in NROM mode, there is one register at $8000-$ffff, written data does not matter
[1... .... wppp ppmv] 
           |||| ||||
           |||| |||+- mode select: 0=16K, 1=32K
           |||| ||+-- mirroring: 0=V, 1=H
           |+++-++--- PRG bank
           +--------- CHR-RAM write protection (1=enabled)

wv $8000 $c000
--------------
00 ppppp p0000
01 pppp0 p0000
10 ppppp ppppp
11 pppp0 pppp1

Interesting feature is that when w=0, c000 is always mapped to bank p000. This will allow the menu routine that is responsible for transferring CHR data from PRG-ROM to CHR-RAM to be placed here, instead of executing it from RAM, as almost every other multicart does.


---


#include "mapinc.h"
	
static uint8 reg;
static uint8 mode; //0=unrom,1nrom

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

static void Sync(void) {
	if (mode == 0) {
		setmirror(MI_V);
		setprg16(0x8000, 512/16 + reg);
		setprg16(0xC000, 512/16 + 7);
	}
	else {
		int p = (reg >> 2) & 0x1F;
		setmirror(((reg >> 1) & 1) ? MI_H : MI_V);
		switch ((((reg >> 7) & 1) << 1) | (((reg >> 0) & 1) << 0)) {
		case 0:
			setprg16(0x8000, p);
			setprg16(0xc000, p & 0x10);
			break;
		case 1:
			setprg16(0x8000, p & ~1);
			setprg16(0xc000, p & 0x10);
			break;
		case 2:
			setprg16(0x8000, p);
			setprg16(0xc000, p);
			break;
		case 3:
			setprg32(0x8000, p >> 1);
			break;
		}
	
	}
	
}

static DECLFW(M280Write) {
	if (mode == 0) {
		reg = V & 7;
	}
	else {
		reg = A & 0xFF;
	}
	Sync();
}

static void M280Power(void) {
	reg = 0;
	mode = 0;
	setchr8(0);
	SetWriteHandler(0x8000, 0xffff, M280Write);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	Sync();
}

static void M280Reset(void) {
	mode ^= 1;
	reg = 0;
	Sync();
}


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

void Mapper280_Init(CartInfo *info) {
	info->Power = M280Power;
	info->Reset = M280Reset;
	
	GameStateRestore = StateRestore;

	AddExState(&StateRegs, ~0, 0, 0);
}


[/code]

Comments:

Want to leave a comment?

Name:

Page loaded in 0.8 seconds | W3C validate