UNIF mappers

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

UNIF mappers

Post by zeroone »

Why aren't the UNIF mappers documented in the wiki? The only one I could find was this one:

http://wiki.nesdev.com/w/index.php/UNIF/UNL-DripGame
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: UNIF mappers

Post by lidnariq »

"Effort"

Also, the set of boards that are UNIF-only isn't very large:

Code: Select all

[...]/nestopia/source/core/board$ grep NMPR NstBoard.hpp 
						BENSHENG_BS5               = MakeId< NMPR,  128,   64,  0,  0, CRM_0,  NMT_V,  2 >::ID,
						BMC_8157                   = MakeId< NMPR,  512,    0,  0,  0, CRM_8,  NMT_V,  0 >::ID,
						BMC_A65AS                  = MakeId< NMPR,  512,    0,  0,  0, CRM_8,  NMT_V,  1 >::ID,
						BMC_CTC65                  = MakeId< NMPR, 2048,    0,  0,  0, CRM_8,  NMT_H,  0 >::ID,
						BMC_FKC23C                 = MakeId< NMPR, 1024, 1024,  0,  0, CRM_0,  NMT_X,  0 >::ID,
						BMC_GOLDEN_190IN1          = MakeId< NMPR,  128,   64,  0,  0, CRM_0,  NMT_V,  0 >::ID,
						BMC_SUPER_24IN1            = MakeId< NMPR, 4096, 2048,  8,  0, CRM_8,  NMT_X,  0 >::ID,
						BMC_SUPER_40IN1            = MakeId< NMPR,  128,   64,  0,  0, CRM_0,  NMT_V,  1 >::ID,
						BMC_T262                   = MakeId< NMPR, 1024,    0,  0,  0, CRM_8,  NMT_V,  0 >::ID,
						BMC_Y2K_64IN1              = MakeId< NMPR, 1024,  512,  0,  0, CRM_0,  NMT_V,  0 >::ID,
						BTL_AX5705                 = MakeId< NMPR,  128,  256,  0,  0, CRM_0,  NMT_X,  0 >::ID,
						BTL_T230                   = MakeId< NMPR,  256,    0,  0,  0, CRM_8,  NMT_V,  0 >::ID,
						DREAMTECH_01               = MakeId< NMPR,  256,    0,  0,  0, CRM_8,  NMT_X,  0 >::ID,
						RCM_GS2004                 = MakeId< NMPR,  512,    0,  0,  0, CRM_8,  NMT_X,  0 >::ID,
						RCM_GS2013                 = MakeId< NMPR,  512,    0,  0,  0, CRM_8,  NMT_X,  1 >::ID,
						SACHEN_STREETHEROES        = MakeId< NMPR,  512,  512,  0,  0, CRM_8,  NMT_2,  0 >::ID,
						SUPERGAME_POCAHONTAS2      = MakeId< NMPR,  512,  512,  0,  0, CRM_0,  NMT_X,  0 >::ID,
						UNL_CC21                   = MakeId< NMPR,   32,   16,  0,  0, CRM_0,  NMT_Z,  0 >::ID,
						UNL_EDU2000                = MakeId< NMPR, 1024,    0, 32,  0, CRM_8,  NMT_Z,  0 >::ID,
						UNL_KINGOFFIGHTERS97       = MakeId< NMPR,  512,  256,  0,  0, CRM_0,  NMT_X,  1 >::ID,
						UNL_TF1201                 = MakeId< NMPR,  256,  256,  0,  0, CRM_0,  NMT_V,  0 >::ID,
so the vast majority would be redirects to other pages.

That said, I really should have transcribed the data from viewtopic.php?t=12546

edit: Here's the list from FCEUX (UNIF MAPRs that don't obviously correspond to an iNES1header) as of r3114:

Code: Select all

	{ "11160", BMC11160_Init, 0 },
	{ "12-IN-1", BMC12IN1_Init, 0 },
	{ "13in1JY110", BMC13in1JY110_Init, 0 },
	{ "190in1", BMC190in1_Init, 0 },
	{ "3D-BLOCK", UNL3DBlock_Init, 0 },
	{ "411120-C", BMC411120C_Init, 0 },
	{ "43272", UNL43272_Init, 0 },
	{ "64in1NoRepeat", BMC64in1nr_Init, 0 },
	{ "70in1", BMC70in1_Init, 0 },
	{ "70in1B", BMC70in1B_Init, 0 },
	{ "810544-C-A1", BMC810544CA1_Init, 0 },
	{ "8157", UNL8157_Init, 0 },
	{ "8237A", UNL8237A_Init, 0 },
	{ "830118C", BMC830118C_Init, 0 },
	{ "A65AS", BMCA65AS_Init, 0 },
	{ "AC08", AC08_Init, 0 },
	{ "AX5705", UNLAX5705_Init, 0 },
	{ "BB", UNLBB_Init, 0 },
	{ "BS-5", BMCBS5_Init, 0 },
	{ "CITYFIGHT", UNLCITYFIGHT_Init, 0 },
	{ "DANCE", UNLOneBus_Init, 0 },	// redundant
	{ "DANCE2000", UNLD2000_Init, 0 },
	{ "DREAMTECH01", DreamTech01_Init, 0 },
	{ "EDU2000", UNLEDU2000_Init, 0 },
	{ "FK23CA", BMCFK23CA_Init, BMCFLAG_EXPCHRR },
	{ "G-146", BMCG146_Init, 0 },
	{ "GS-2004", BMCGS2004_Init, 0 },
	{ "GS-2013", BMCGS2013_Init, 0 },
	{ "Ghostbusters63in1", BMCGhostbusters63in1_Init, 0 },
	{ "KOF97", UNLKOF97_Init, 0 },
	{ "KS7012", UNLKS7012_Init, 0 },
	{ "KS7013B", UNLKS7013B_Init, 0 },
	{ "KS7017", UNLKS7017_Init, 0 },
	{ "KS7030", UNLKS7030_Init, 0 },
	{ "KS7031", UNLKS7031_Init, 0 },
	{ "KS7037", UNLKS7037_Init, 0 },
	{ "LE05", LE05_Init, 0 },
	{ "LH10", LH10_Init, 0 },
	{ "LH53", LH53_Init, 0 },
	{ "MALISB", UNLMaliSB_Init, 0 },
	{ "MARIO1-MALEE2", MALEE_Init, 0 },
	{ "NTD-03", BMCNTD03_Init, 0 },
	{ "NovelDiamond9999999in1", Novel_Init, 0 },
	{ "OneBus", UNLOneBus_Init, 0 },
	{ "PEC-586", UNLPEC586Init, 0 },
	{ "SA-9602B", SA9602B_Init, BMCFLAG_32KCHRR },
	{ "SHERO", UNLSHeroes_Init, 0 },
	{ "SMB2J", UNLSMB2J_Init, 0 },
	{ "SSS-NROM-256", SSSNROM_Init, 0 },
	{ "Super24in1SC03", Super24_Init, 0 },
	{ "T-227-1", BMCT2271_Init, 0 },
	{ "T-230", UNLT230_Init, 0 },
	{ "T-262", BMCT262_Init, 0 },
	{ "TF1201", UNLTF1201_Init, 0 },
	{ "Transformer", Transformer_Init, 0 },
	{ "VRC7", UNLVRC7_Init, 0 },
	{ "YOKO", UNLYOKO_Init, 0 },
Last edited by lidnariq on Tue Jun 09, 2015 3:25 pm, edited 1 time in total.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: UNIF mappers

Post by zeroone »

Why weren't those transitioned to iNES mappers or NES 2.0 submappers?
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: UNIF mappers

Post by rainwarrior »

If you need the reference, and you think it would be useful to others, you might as well create a nice table at: http://wiki.nesdev.com/w/index.php/UNIF

Interest in UNIF seems relatively low, though. Which is why there isn't reference for it already. At least one NESDev user is actively opposed to any further support of UNIF.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: UNIF mappers

Post by zeroone »

The fact that it is deprecated and disused should be motivation to preserve it in wiki form for historic reasons.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: UNIF mappers

Post by rainwarrior »

Also, the reason that those few UNIF boards haven't transitioned to iNES 2 yet is the same concept. Not a lot of interest. The games are obscure, and few people care whether they're supported. Hardly anyone has these ROMs in their collection. People involved in archiving them or creating emulator support for them are a much smaller subset of that same group of people.

If you care, you can make it happen. Track down the rips, document the mappers, assign them, implement them in an emulator.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: UNIF mappers

Post by zeroone »

rainwarrior wrote:Track down the rips, document the mappers, assign them, implement them in an emulator.
Document the mappers based on what exactly? To this day, I still wonder, where did all the mapper information come from? The "rips" are more than ROMs?
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: UNIF mappers

Post by lidnariq »

Some of the knowledge came from the original documenter, q.v. http://nesdev.com/226.txt ; http://cah4e3.shedevr.org.ru/%5Blst%5D- ... appers.txt

Some of them are resolvable by looking at the PCBs, q.v. mapper 96; nescartdb has been incredibly helpful for this. (Also, having things in nescartdb means that we can test things, such as the extended VRC6 behavior)

But the one-offs, the things that show up as a singleton under epoxy? They're basically nightmares, and it's hard to do much better than copying from one emulator's source to another.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: UNIF mappers

Post by rainwarrior »

I think emulator sources (typically: Nestopia, FCEUX) have been our biggest source of information about mappers that we can't otherwise find documentation for.
User avatar
zeroone
Posts: 939
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: UNIF mappers

Post by zeroone »

lidnariq wrote:Some of the knowledge came from the original documenter
Who are these mystery people?
lidnariq wrote:Some of them are resolvable by looking at the PCBs
I do not have access to the PCBs. And, my hardware knowledge is limited unfortunately.
rainwarrior wrote:I think emulator sources (typically: Nestopia, FCEUX) have been our biggest source of information about mappers that we can't otherwise find documentation for.
And, Nintendulator too can provide UNIF mapper info. That's probably the only practical way to document them.
Last edited by zeroone on Tue Jun 09, 2015 3:51 pm, edited 1 time in total.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: UNIF mappers

Post by lidnariq »

zeroone wrote:Who are these mystery people?
I don't know who the "Mark" for mapper 226 is, but he had a copy of the game and reverse-engineered it.
For example, see a better-documented instance where Bisqwit did the same: viewtopic.php?t=8982
Санчез is a person who's gone to quite prolific efforts to document all the weird pirate cartridges they've found.
Kevtris also has done a fair amount of work in this field.
zeroone wrote:I do not have access to the PCBs. And, my hardware knowledge is limited unfortunately.
Which is why I did most of my work from pictures in NesCartDB.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: UNIF mappers

Post by zzo38 »

rainwarrior wrote:Also, the reason that those few UNIF boards haven't transitioned to iNES 2 yet is the same concept. Not a lot of interest.
Well, I do care. We do need the proper NES 2.0 mapper numbers of these mappers (and also Game Genie).
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: UNIF mappers

Post by koitsu »

zeroone wrote:The fact that it is deprecated and disused should be motivation to preserve it in wiki form for historic reasons.
The file format has been officially abandoned + all information about it requested to be deleted by the file format author himself. If you don't believe me I can dig up the Email I was sent and quote it here (I've done this several times already in the past). There is absolutely nothing else to say about it: UNIF is dead. Period. Whatever other work needs to go into getting games from UNIF into NES 2.0 can be discussed in another thread, but UNIF should not be implemented or added anywhere. We should respect the author's wishes.

The fact this subject/file format keeps coming up in subjects/discussions is mindblowing.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: UNIF mappers

Post by tokumaru »

koitsu wrote:There is absolutely nothing else to say about it: UNIF is dead. Period.
As much as I hate UNIF as a file format, which means I'm actually somewhat glad it's supposed to be dead, I'm not sure I agree with eliminating something from the face of the earth just because the original author wants to (as long as no one is getting hurt).

Once you create something, it's out there, it has a life of its own, and there may be people relying on it. Trying to make it disappear is futile and selfish, specially if the existence of the thing doesn't impact your life in any way. I guess the guy has the right to try to erase part of his past he doesn't agree with anymore, but he can't realistically expect to get rid of all the work he did that had an actual impact on people. You have to keep this in mind before releasing something into the wild.

I also don't get the double standard that apparently exists in the retro gaming scene. Everyone is so respectful and touchy when it comes to members of the community, homebrewers and the like, but no matter how much Nintendo, Sega and all companies are against emulation, very few people appear to care about respecting their wishes.

Please note that this post is not meant to start any sort of heated discussion, I'm just expressing how much I disagree with the attempt to change history and pretend that something never existed, regardless of how much I may dislike it. I don't expect to change anyone's opinion.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: UNIF mappers

Post by lidnariq »

The bit where you think the "officially abandoned" part seems to imply that we should throw away documentation is what is mindblowing.

The only thing that matters for successfully erasing any evidence of this "mistake" is having a header tool that upgrades things to NES 2.0. Everything else is just blowing smoke.
Post Reply