UNIF>NES2 Conversion

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
UNIF>NES2 Conversion
by on (#204196)
I'm not aware personally, but has anyone so far taken all known NES/Famicom dumps and scanned for which entries are UNIF? We could go about the process as a community to start assigning NES2 mappers and submappers for them.

It's best that the community with the most "know how" goes about collectively assigning mapper numbers (submapper numbers) who are actively writing emulators. :)

Involving ROMs, we could easily just create archive.org accounts and get our work done through safe harbor.
Re: UNIF>NES2 Conversion
by on (#204206)
The following UNIF boards have been defined by FCEUX as iNES Mapper numbers:
Code:
60   BMC-D1038
90   UNL-TEK90
123   UNL-H2288
125   UNL-LH32
176   BMC-FK23C
220   UNL-KS7057
221   BMC-N625092
226   BMC-42in1ResetSwitch
238   UNL-603-5052
256   UNL-DANCE/UNL-OneBus
257   PEC-586
258   UNL-158B
259   BMC-F-15

I could immediately post Nintendulator Mapper DLL sources and descriptions for the following boards, for which I have tentatively assigned so-far unused mapper numbers:
Code:
260     BMC-NTD-03      Asder 20-in-1
261     BMC-11160       Micro Genius 6-in-1 Cartridge (MGC-023)
262     UNL-SHERO       Street Heroes/侍魂 (Shìhún, by Sachen)
263     UNL-KOF97       Boogerman II, King of Fighters '97 (by Rex Soft)
264     UNL-YOKO        Mortal Kombat II, Master Fighter VI' (by Yoko)
265     UNL-VRC7        Yoko fighting games with copyright removed
266     UNL-CITYFIGHT   City Fighter IV
512     (no UNIF board) 中國大亨 (Zhōngguó Dàhēng, a.k.a. "Millionaire II", incorrectly labelled "Chuugoku Taitei", by Sachen)
513     UNL-SA-9602B    美少女 夢工場三 (Měishàonǚ Mènggōngchǎng 3, a.k.a. "Princess Maker", by Sachen)

The following are other UNIF board names for which I have dumps, but so far not taken a closer look at:
Code:
UNL-EDU2000
UNL-Transformer
UNL-RT-01
UNL-EH8813A
UNL-MALISB
UNL-DRAGONFIGHTER
UNL-43272
UNL-DANCE2000
UNL-KS7013B
UNL-KS7016
UNL-KS7017
UNL-KS7037
UNL-AC08
UNL-BB
UNL-SMB2J
BMC-12-IN-1
BMC-411120-C
BMC-64in1NoRepeat
BMC-70in1
BMC-70in1B
BMC-810544-C-A1
BMC-8157
BMC-830118C
BMC-8-IN-1
BMC-A65AS
BMC-BS-5
BMC-FK23CA
BMC-G-146
BMC-HP898F
BMC-T-262
COOLBOY
DREAMTECH01
UNL-8237A
There are probably many others, in particular multicarts. I have also been working on a very simple UNF2NES converter that uses the above tentative mapper numbers (attached).
Re: UNIF>NES2 Conversion
by on (#204209)
Very nice work! Of any of these, like City Fighter IV, would many of them be able to be assigned as submappers with "mother mappers"?
Re: UNIF>NES2 Conversion
by on (#204211)
The City Fighter IV mapper is completely different from Mapper 189, used on Street Fighter II and its name hack Master Fighter II. Mappers 262, 263, 512 and 513 are MMC3 clones with enhancements, which so far have always had unique mapper numbers. 260 and 261 are simple latch-based mappers, probably using discrete chips. I haven't looked at the FCEUX ones and the long third list at all.

The only submapper candidate I see would be "UNL-YOKO" (264), which could be seen as a Cony submapper 3 (2 KB CHR ROM banks, but different than submapper 1).
Re: UNIF>NES2 Conversion
by on (#204229)
I thought we were going to put newly discovered Asian games in 512-767 or something, to minimize trace conditions between the scene dumping uncommon Asian games and the homebrew development scene.
Re: UNIF>NES2 Conversion
by on (#204230)
"Plane 1 (NES 2.0 mappers 256-511) is reserved for mappers used by games released outside the East Asian market". Which of the 260-266 mapper games do you know were solely released in the East Asian Market, which would justify putting them into the 512+ region?
Re: UNIF>NES2 Conversion
by on (#210658)
I am going to denote in the wiki the mappers 256-259 defined by FCEUX. And as UNIF is dead, I'm going to be bold and assign/document a bunch of 260+ mapper numbers to so-far UNIF-only boards in the wiki. (I'll use the Submapper Proposals page for any submapper assignments.):
Code:
260     BMC-NTD-03      Asder 20-in-1
261     BMC-11160       Micro Genius 6-in-1 Cartridge (MGC-023)
262     UNL-SHERO       Street Heroes/侍魂 (Shìhún, by Sachen)
263     UNL-KOF97       Boogerman II, King of Fighters '97 (by Rex Soft)
264     UNL-YOKO        Mortal Kombat II, Master Fighter VI' (by Yoko)
265     T-262           Multicart
266     UNL-CITYFIGHT   City Fighter IV
267     (no UNIF board) 8-in-1 JY-119 24M Multicart
268     COOLBOY
269     (no UNIF board) Games Xplosion 121-in-1, 15000-in-1, 18000-in-1: OneBus hardware with additional bankswitch registers, also mangled CHR data lines
270     (no UNIF board) Game Prince RS-16: OneBus hardware with additional bankswitch register
271     BMC-22026       MGC-026
272     (no UNIF board) Pirate Kid Dracula
273     (no UNIF board) Pirate Gremlins 2
512     (no UNIF board) 中國大亨 (Zhōngguó Dàhēng, a.k.a. "Millionaire II", incorrectly labelled "Chuugoku Taitei", by Sachen)
513     UNL-SA-9602B    美少女 夢工場三 (Měishàonǚ Mènggōngchǎng 3, a.k.a. "Princess Maker", by Sachen)
514     UNL-DANCE2000   Subor Type 2a (小霸王 卡拉OK), 32 KiB PRG-ROM granularity
515     (no UNIF board) Family Noraebang
516     (no UNIF board) EduBank
517     (no UNIF board) Kkachi-wa Nolae Chingu (UNROM with custom Microphone ADC)
518     (no UNIF board) Subor Type 2b (跳舞天使 - 動感 2000, 小霸王 Subor V), selectable 16/32 KiB PRG-ROM granularity
UNL-VRC7 turns out to be compatible to a normal Konami VRC7, and if any relevant incompatibilities are discovered, a submapper should then be proposed for Mapper 85. UNL-YOKO is somewhat similar to the Cony mapper 83, but with addresses different enough to justify a new mapper number, especially given that the current mapper 83 is already enough of a mess.

More UNIF->NES 2.0 mappers to come as I research and implement them in emulation.
Re: UNIF>NES2 Conversion
by on (#210680)
UNL-DripGame is another. They said no iNES number would ever be assigned. I like to compromise; assign a NES 2.0 mapper number outside of plane 0. The other thing I wanted to have a NES 2.0 mapper number for is Game Genie.
Re: UNIF>NES2 Conversion
by on (#210683)
Why does the Game Genie need its own mapper number? I thought it's merely used together with another cartridge.
Re: UNIF>NES2 Conversion
by on (#210689)
The one game known to use Sunsoft's Double Cassette System uses an external memory. So does the FDS RAM adapter. But Game Genie differs from those two in that the memory behind it has its own mapper.
Re: UNIF>NES2 Conversion
by on (#210696)
Game Genie does not need its own mapper. Zzo38 is the only person who thinks the godawful "force the user to add a subcartridge" UI is something we should enshrine as an Official Way To Do Things.

what I said last time
Re: UNIF>NES2 Conversion
by on (#211035)
As I am composing the wiki entry for Mapper 514, I have decided split up my planned Subor Type 2 Mapper 514 with one submapper into two distinct entries, Mapper 514 and 518, since they respond at a completely different CPU address range. This also reminded me that NES 2.0 definitely needs the "TV System" field to be amended to specify that a ROM image absolutely needs Dendy timing, as I have now come across several Asian ROM images that will run properly neither with 2C02 NTSC nor with 2C07 PAL timing, the Subor ROMs using this mapper being among them.
Re: UNIF>NES2 Conversion
by on (#211954)
More intended assignments:
Code:
274   BMC-80013-B        90-in-1 Hwang Shinwei
283   BMC-GS-2004        Tetris Family 6-in-1
283   BMC-GS-2013        Tetris Family 12-in-1
284   UNL-DripGame
285   BMC-A65AS          3-in-1 (N068)/4-in-1 (JY-066)
286   BMC-BS-5           Benshieng multicarts
287   BMC-411120-C       4-in-1s
288   BMC-GKCXIN1        21-in-1
289   BMC-60311C         17-in-1, 76-in-1
290   BMC-HPxx           recent cah4e3 multicarts
291   (no UNIF board)    Super 2-in-1
292   UNL-DRAGONFIGHTER  Dragon Fighter
293   (no UNIF board)    BMC NEWSTAR 12-IN-1/76-IN-1
294   (no UNIF board)    Super Cool Boy 4-in-1 (CB-4035)
295   (no UNIF board)    Soccer 7-in-1 (JY-014B)
296   (no UNIF board)    FC Pocket 600-in-1, 220-in-1 DreamGear DGUN-2573
297   BMC-22110          2-in-1 Uzi Lightgun
519   UNL-EH8813A        Dr. Mario II
Re: UNIF>NES2 Conversion
by on (#214506)
I just noticed that FCEUX had assigned Mapper 260 (to HPxx) and 261 (to 200-in-1 Elfland) just a few days before I assigned the two of them to something else. I have chosen to follow FCEUX in this case and moved the Asder 20-in-1 from 260 to 290 (where I had previously put HPxx), and TXC 6-in-1 from 261 to 299 (previously empty). Since both the Asder 20-in-1 and the TXC 6-in-1 have only been distributed as UNIF images so far, this should create no problems at all.
Re: UNIF>NES2 Conversion
by on (#214507)
BMC NEWSTAR 12-IN-1/76-IN-1 is my dumped.
MAPPER 281.
Re: UNIF>NES2 Conversion
by on (#214508)
I already rejected your Mapper 281 assignment, as you only published the assignment after I did, and my M281 ROM had been available long before.

(And I certainly will not yield to the assignment of an emulator that cannot even by downloaded freely in binary form, let alone in source code form.)
Re: UNIF>NES2 Conversion
by on (#215152)
All right, finished the bunch that I listed earlier. There's still a bunch of UNIF-only multicarts and unlicensed games with custom mappers around, so we'll hit the 300 mark soon enough. There are also several FDS-to-cartridge conversions by Kaiser, who apparently used a custom board for each single game.

The Mapper 296 description currently is a bit ugly for mixing bankswitching behavior with VT3x-console-specific behavior. Eventually, I would like to separate the two, once more about that particular revision of the VTxx Famiclones has been found out. Unfortunately, no data sheet for that one seems to be publicly available. For now, the current description will have to do.
Re: UNIF>NES2 Conversion
by on (#215940)
The next round of intended assignments:
Code:
300     BMC-190in1
301     BMC-8157
302     UNL-KS7057
303     UNL-KS7017
304     UNL-SMB2J with PRG-ROM size less than 80 KiB (*1)
305     UNL-KS7031, KS7031
306     UNL-KS7016
307     UNL-KS7037
308     UNL-TH2131-1
309     UNL-LH51
310     UNL-LH32
311     UNL-SMB2JX (UNL-SMB2J with PRG-ROM size 80 KiB) (*1)
312     UNL-KS7013B
313     BMC-RESET-TXROM (128 KiB Outer Bank Size)
314     BMC-64in1NoRepeat
315     BMC-830118C
316     (BMC-JY104) (*2)
317     (BMC-810344-C, BMC-4350) (*2)
318     (BTL-UT-1245A/BTL-BJ-40) (*2)
319     BMC-HP898F
320     BMC-830425C-4391T
321     BMC-K-3088
322     BMC-K-3033
323     FARID_SLROM_8-IN-1
324     FARID_UNROM_8-IN-1
325     UNL-MALISB
326     BMC-G-146
327     BMC-10-24-C-A1
328     UNL-RT-01
329     UNL-EDU2000
330     3D-BLOCK
331     BMC-12-IN-1
332     BMC-WS
333     BMC-8-IN-1
521     DREAMTECH01
522     UNL-LH10
*1: Yes, somebody apparently assigned two different PCBs to the same UNIF board name simply because they are conversions of the same original disk system game.
*2: I know nothing about them, but saw their Mapper numbers mentioned here.

Another UNIF board name found among the NonGoodNES set is CHINA_ER_SAN2. This is just normal Mapper 19 but with VirtuaNES Plus apparently displaying Chinese characters on top of the emulated PPU output. There is a UNIF "FONT" chunk for that purpose. I am not sure if this should be added at all.

I will start adding them to the wiki from April 9th on, so please try to get your change requests in until then.
Re: UNIF>NES2 Conversion
by on (#216119)
Code:
334     821202C: 5/20-in-1 (Space Fight of Gun, Fantasy of Gun, Abyss of Gloom, City Adventure, Elfland)
523     封神榜: 伏魔三太子, 晶科泰 version (Fēngshénbǎng: Fúmó Sān Tàizǐ, Jncota version)
Re: UNIF>NES2 Conversion
by on (#216166)
Is there anywhere on the wiki which lists these finalized and/or pending UNIF <-> NES 2.0 mappings?
Having all of them available in a single article that I could check to compare against my code would be very helpful.
Re: UNIF>NES2 Conversion
by on (#216168)
Not yet, but I can make one. In the meantime, this thread will give an (incomplete) overview.
Re: UNIF>NES2 Conversion
by on (#216531)
NewRisingSun wrote:
Another UNIF board name found among the NonGoodNES set is CHINA_ER_SAN2. This is just normal Mapper 19 but with VirtuaNES Plus apparently displaying Chinese characters on top of the emulated PPU output. There is a UNIF "FONT" chunk for that purpose. I am not sure if this should be added at all.
Here is the source code to a VirtuaNES version that includes support for this UNIF board. As I suspected, CHINA_ER_SAN2 is just Mapper 19, except that the flag g_bSan2 also gets set. As the source file virtuanessrc097/DirectDraw.cpp shows, when this flag is set, during the rendering of the output picture, ViewChars(lpRdr) is called, located in the same source file. It superimposes translated Chinese text on top of the normal PPU output based on intimate knowledge of the memory locations that the game uses. I've seen game-specific hacks in emulators before, but this is truly a sight to behold. :shock:

The font that is included in the UNIF "FONT" chunk seems to be of a fixed size (0x74E0), so it could be considered a "Misc. ROM" for header byte 14.
Re: UNIF>NES2 Conversion
by on (#216533)
Do we have any reason to think that this thing ever had a hardware instantiation?
Re: UNIF>NES2 Conversion
by on (#216534)
This thing could not possibly have a hardware instantiation. Unless you know a way for mapper hardware to access console CPU RAM, console NTRAM, and force the PPU to output specific pixels, all outside of the normal CPU execution and PPU rendering process.
Re: UNIF>NES2 Conversion
by on (#216535)
I was positing some weird famiclone ...

In any case, I'm a little skeptical of whether it makes sense to embed this conglomeration in NES2.0...
Re: UNIF>NES2 Conversion
by on (#216553)
An MMC5-class mapper can snoop all writes to RAM and inject values on PPU data bus at certain times. Beyond that, Doom is possible.
Re: UNIF>NES2 Conversion
by on (#216554)
I will make my decision of whether to propose a NES 2.0 mapper number for this dependent on whether I am able to provide a more succinct description of how this thing works than the source code snippet.
Re: UNIF>NES2 Conversion
by on (#220429)
Sour wrote:
Is there anywhere on the wiki which lists these finalized and/or pending UNIF <-> NES 2.0 mappings?
Now there is. Whew.
Re: UNIF>NES2 Conversion
by on (#221651)
NewRisingSun wrote:
Sour wrote:
Is there anywhere on the wiki which lists these finalized and/or pending UNIF <-> NES 2.0 mappings?
Now there is. Whew.



I am truly grateful for your work. I just dumped another UNL-EDU2000 game this week, called PC VIVAZ wich is fully localized to Mexico and in Spanish.