Page 1 of 4

UNIF mappers

Posted: Tue Jun 09, 2015 12:28 pm
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

Re: UNIF mappers

Posted: Tue Jun 09, 2015 12:37 pm
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 },

Re: UNIF mappers

Posted: Tue Jun 09, 2015 1:13 pm
by zeroone
Why weren't those transitioned to iNES mappers or NES 2.0 submappers?

Re: UNIF mappers

Posted: Tue Jun 09, 2015 1:26 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 1:55 pm
by zeroone
The fact that it is deprecated and disused should be motivation to preserve it in wiki form for historic reasons.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 2:19 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 2:31 pm
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?

Re: UNIF mappers

Posted: Tue Jun 09, 2015 2:41 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 2:54 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 3:33 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 3:39 pm
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.

Re: UNIF mappers

Posted: Tue Jun 09, 2015 6:09 pm
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).

Re: UNIF mappers

Posted: Wed Jun 10, 2015 8:57 am
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.

Re: UNIF mappers

Posted: Wed Jun 10, 2015 10:02 am
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.

Re: UNIF mappers

Posted: Wed Jun 10, 2015 10:02 am
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.