Myask's PowerPak support WIPs thread

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: some PowerPak support WIPs (built, need outside testing)

Post by koitsu »

...and as I suspected, since moving to Windows 7, my Hauppage USB Live 2 capture device acts completely bizarre in every way/shape/form. So yeah, uh, I'm just going to have to revert to testing these manually and "crossing my fingers" that I catch things that look wrong, without having any idea of what might be wrong because I've never played any of the games in question / have source material to compare it to.

I swear, video/audio capture devices on Windows have been garbage for over 2 decades. Remarkable that such crap can proliferate for such a long time.
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: some PowerPak support WIPs (built, need outside testing)

Post by koitsu »

Results are in:
  • Mapper 32 (20₁₆)
    • Image Fight (J) -- seems OK, played 2 full levels, no anomalies I could detect
    • Major League (J) -- corrupted CHR during panning/etc. (expected given 1-screen mirroring expectation)
    • Kaiketsu Yanchamaru 2 - Karakuri Land (J) -- seems OK (weird wavy effect during title screen (a la Bayou Billy) happens on Nestopia too, so I assume this is normal and not an IRQ/timing quirk)
  • Mapper 33 (21₁₆)
    • Akira (J) -- seems OK (hard to tell though given that it's a Shadowgate-like game)
    • Bakushou!! Jinsei Gekijou (J) -- seems OK
    • Don Doko Don (J) -- seems OK (brief graphical glitch shortly after powering on is normal, small glitch line during panning of intro (possibly IRQ timing issue?) happens on both hardware and on Nestopia, so probably normal)
    • Insector X (J) -- seems OK
  • Mapper 48 (30₁₆)
    • Don Doko Don 2 (J) -- corrupted CHR in intro and title screen, crashes before actual game starts
    • Bubble Bobble 2 (J) -- seems OK, but I think there's something wrong with the screen transitions when starting the game or when finishing a level...
    • Captain Saver (J) -- massively corrupted CHR all throughout (borderline unplayable), excluding main Start/Continue screen
    • Flintstones, The (J) -- PowerPak loads it but then does absolutely nothing (black screen, controller input does nothing, i.e. crashes)
  • Mapper 65 (41₁₆)
    • Daiku no Gen San 2 - Akage no Dan no Gyakushuu (J) -- seems OK
    • Kaiketsu Yanchamaru 3 - Taiketsu! Zouringen (J) -- seems OK
    • Spartan X 2 (J) -- seems OK, beat first boss, cutscenes look fine
  • Mapper 107 (6B₁₆)
    • Magic Dragon (Unl) -- seems OK. Glitchy last horizontal scanline of status bar happens on both hardware and Nestopia
TL;DR -- all look good except mapper 48 ($30), but those are under suspicion anyway. :-)
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: some PowerPak support WIPs (built, need outside testing)

Post by Myask »

GoodNES seemed to think all of them (including Jetsons, The - Cogswell's Caper! (J) ) were 33, by headers.

Do we know of any actual mapper 48 games? Looking into it a little more…

This says Taito TC0690 is said to be on Flintstones, Captain Saver, Jetson, Bubble Bobble 2; while Don Doko Don 2 is TC0350, and all else TC0190…but also says that all three of these chips fall under Mapper 33!

Did you try the alleged 48 games with 33? Not that I expect you didn't, but did you make sure to make the headers say mapper 48?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: some PowerPak support WIPs (built, need outside testing)

Post by lidnariq »

Don Doko Don 2 is on a TC0190+PAL16R4 board (See my old thread about this)

Don Doko Don 1 is the only game I know to be on the TC0350.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: some PowerPak support WIPs (built, need outside testing)

Post by Myask »

koitsu wrote:Results are in:
  • Mapper 32 (20₁₆): Kaiketsu Yanchamaru 2 - Karakuri Land (J) -- seems OK (weird wavy effect during title screen (a la Bayou Billy) happens on Nestopia too, so I assume this is normal and not an IRQ/timing quirk)
  • Mapper 33 (21₁₆) Don Doko Don (J) -- seems OK (brief graphical glitch shortly after powering on is normal, small glitch line during panning of intro (possibly IRQ timing issue?) happens on both hardware and on Nestopia, so probably normal)
Wavy effect appears in Mednafen. Seems deliberate. There aren't any IRQs in those mappers, so yeah.
lidnariq wrote: Don Doko Don 2 is on a TC0190+PAL16R4 board (See my old thread about this)
the wiki (and Bootgod) claim that that board configuration/game is still Mapper 048…?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: some PowerPak support WIPs (built, need outside testing)

Post by lidnariq »

Right. The PAL moves the mirroring control bit to $E000. All the +PAL boards are mapper 48.

As near as I can tell, the hardware constellation is:

Code: Select all

TC0190   TC0190+PAL   ← no IRQs
TC0350   TC0690       ← yes IRQs
↑        ↑
$8000    $E000        ← mirroring control bit location
It seems that separating by mirroring control is necessary, but IRQ support isn't.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: some PowerPak support WIPs (built, need outside testing)

Post by Myask »

All of Flintstones, Captain Saver, Jetson, Bubble Bobble 2, and Don Doko Don 2 are still writing to $e000. Doesn't guarantee that they're 48, but it is odd. As mentioned…
kyuusaku wrote:The issue with DDD2 is that it's very eager to crash by writing memory it shouldn't.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: some PowerPak support WIPs (built, need outside testing)

Post by lidnariq »

I can't tell if I've communicated successfully or not?

TC0190: no IRQ, mirroring control at $8000, mapper 33
TC0350: IRQ, mirroring control at $8000, but DDD1 doesn't use the IRQ, mapper 33
TC0190+PAL: no IRQ, mirroring control at $E000, mapper 48
TC0690: IRQ, mirroring control at $E000, mapper 48

As far as I know, if the game writes to $E000 it should either be mapper 48, or at least compatible.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: some PowerPak support WIPs (built, need outside testing)

Post by Myask »

There are several mysteries. One, Mednafen/FCEUX are agnostic as to whether mapper 48 games are mapper 33/48. nevermind, they're doing some manner of checksum and forcing mapper to 48 if it finds the appropriate games. [Last one not noted yet: /* Bakushou!! Jinsei Gekijou 3 */]
Two, Mednafen/FCEUX don't think Map48's scanline counter autoreloads; Disch just said "like MMC3 but rearranged registers/inverted reload value". Nestopia thinks the scanline counter autoreloads. I left it as autoreloading.

Testing a few things in light of this "fixup" rather than seeing if, indeed, the counter needs to halt…
koitsu wrote:Results are in:

TL;DR -- all look good except mapper 48 ($30), but those are under suspicion anyway. :-)
Namely, testing what happens if I get the checksum to fail (by changing CLD to SED) and leaving it on what GoodNES had it as, Mapper 33. My observations in italics, added to Koitsu's:
  • Don Doko Don 2 (J) corrupted CHR in intro and title screen, crashes before actual game starts but after two cutscenes of two old protagonist-sprites walking by the map,then one walking by after a mushroom
  • Bubble Bobble 2 (J) -- seems OK, but I think there's something wrong with the screen transitions when starting the game or when finishing a level... It looks like it's got mirroring horizontal instead of vertcal, so it writes the next level, then scrolls vertically one screen. Debugging reveals that it writes 1 to d6 on both 8000 and E000, so "horizontal", at the title screen for both mappers…then only writes a 0 to d6 on E000 when the game starts, setting it back to vertical for gameplay…if it's on 48.
  • Captain Saver (J) -- massively corrupted CHR all throughout (borderline unplayable), excluding main Start/Continue screen Looks like the first intro cutscene (Saver's head from side) is failing to use interrupt by cutting off Saver's head as it just scrolls past repeatedly. The level select screen looks okay, though the scroll is much slower (and the bike doesn't line up with a driveway) without the interrupt to set it fast for the street-level.
  • Flintstones, The (J) -- PowerPak loads it but then does absolutely nothing (black screen, controller input does nothing, i.e. crashes) In mednafen, does exactly this if set to mapper 33.
  • Jetsons, The (J) -- Game locks in Mednafen after George flies by and reveals a (wrong-CHR, probably due to lacking IRQ to bankswitch) title screen.

Observation: emulating these on mapper 33 yields problems that are (mostly) consonant with your descriptions (Captain Saver's are a bit hard to describe).
Conclusion: Koitsu, your ROMs think they're mapper 33 still; their headers need fixing. (GoodNES thinks these are 33, but is not [!], and testing/Mednafen's "iNES header fix" file suggest otherwise.) Could you (or another) test again with the header specifying mapper 48, please?
Attachments
Jetsons crash titlescreen
Jetsons crash titlescreen
Screenshot from 2016-06-13 Jetsons_Crash_Bad_Mapper.png (2.8 KiB) Viewed 6406 times
Captain Saver, Level 1, if mirroring is set incorrectly
Captain Saver, Level 1, if mirroring is set incorrectly
Screenshot from 2016-06-13 C_Saver_Wrong_Mirror.png (2.37 KiB) Viewed 6406 times
Captain Saver, Level 1, Mapper 33
Captain Saver, Level 1, Mapper 33
Screenshot from 2016-06-13 C_Saver_Wrong_Mapper.png (3.53 KiB) Viewed 6406 times
Last edited by Myask on Mon Jun 13, 2016 9:04 pm, edited 1 time in total.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: some PowerPak support WIPs (built, need outside testing)

Post by lidnariq »

I guess you could add a run-time heuristic to the mirroring control. If the game ever writes to $E000, stop updating mirroring in response to writes to $8000.

It's kinda icky, though.
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: some PowerPak support WIPs (built, need outside testing)

Post by koitsu »

Here's me tracking down each game based on CRC and/or SHA1 in Nestopia's NstDatabase.xml (warning: takes a long time to load+parse) to see if there are overrides:

Don Doko Don 2 (J).nes -- mapper 33 in file -- A7B0536C / 67C5BC4D8B1A4474A027A3B111E186EF816F88DE -- https://github.com/rdanbrook/nestopia/b ... xml#L17382 -- forces mapper 48, 128KB PRG, 256KB CHR
Bubble Bobble 2 (J).nes -- mapper 33 in file -- 6CDC0CD9 / 93289C300488B69F959EB08AD075965DCC3EF2F3 -- https://github.com/rdanbrook/nestopia/b ... xml#L11137 -- forces mapper 48, 128KB PRG, 128KB CHR
Captain Saver (J).nes -- mapper 33 in file -- 99C395F9 / 685886553C8858B704D90456F2E8F52003352598 -- https://github.com/rdanbrook/nestopia/b ... xml#L15853 -- forces mapper 48, 128KB PRG, 128KB CHR
Flintstones, The - The Rescue of Dino & Hoppy (J).nes -- mapper 33 in file -- 40C0AD47 / F949FC16932808C426074AB1628F246B0435C52C -- https://github.com/rdanbrook/nestopia/b ... .xml#L6675 -- forces mapper 48, 128KB PRG, 256KB CHR

You can disable Nestopia using its own database (to force things like this) via Options --> Database --> uncheck Internal.

I'll modify the NES header in all of the above to use mapper 48 instead of 33 and re-test.

I didn't test Jetsons, The - Cogswell's Caper! (J).nes (either before or now), but here it is anyway:

Jetsons, The - Cogswell's Caper! (J).nes -- mapper 33 in file -- 1500E835 / 127B2C71AB249ECC197F7F88CEFC1FDE2EC7F2CE -- https://github.com/rdanbrook/nestopia/b ... .xml#L2182 -- forces mapper 48, 128KB PRG, 256KB CHR

I'll also try to see if a newer GoodNES/GoodTools suite updates these (to mapper 48). The ROM set I have was built off a GoodNES set from 2008-03-14 (the latest is 2014-04-24).

Edit: it looks like most of these got changed/fixed in a newer GoodNES suite (ignore the "weird" filename extensions -- just how the dang thing works):

Code: Select all

iNES Header Fixes - [---M----] -> Don Doko Don 2 (J).nes.new.nes
iNES Header Fixes - [---M----] -> Bubble Bobble 2 (J).nes.new.nes
iNES Header Fixes - [---M----] -> Captain Saver (J).nes.new.nes
iNES Header Fixes - [---M----] -> Flintstones, The - The Rescue of Dino & Hoppy (J).nes.new.nes
iNES Header Fixes - [---M----] -> Jetsons, The - Cogswell's Caper! (J).nes.new.nes
The M indicates the mapper # has been changed. (And god these tools are a nightmare, I now remember why I don't like dealing with them; oh hey you have dupes, except you really don't, because the "duplicates" are actually the ones with the fixed headers, so yeah... wonderful set of tools with a horrid arguments and confusing behaviour).
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: some PowerPak support WIPs (built, need outside testing)

Post by koitsu »

With fixed ROMs (mapper 48):
  • Don Doko Don 2 (J) -- seems OK (tested areas with both H and V scrolling)
  • Bubble Bobble 2 (J) -- seems OK (no longer mirroring issues when starting or completing a level)
  • Captain Saver (J) -- other issues seem fixed, except: stage 1 area 6 looks to have some graphical anomalies (IRQ swapping CHR oddly?). Stage 2 area 1 crashes when the (slowly lowering) ceiling makes contact with your head (part of the audio keeps going, however, which makes me think maybe a IRQ/DMC issue relating to PRG switching? Unsure)
  • Flintstones, The - The Rescue of Dino & Hoppy (J) -- wrong CHR pages in several spots; intro screen blanks out (but does show correct graphics briefly). Video for that
  • Jetsons, The - Cogswell's Caper! (J) -- title screen has constantly changing CHR pages across pretty much the entire title screen; intro (let title screen idle to see this) is equally big mess, which also crashes once pushing Start. Video for that too
Apologies for any video quality issues -- they're 320x240 @ 60fps, but unsure if YT will honour that. If those don't appear or you want higher quality, let me know and I can put the native MJPG/AVI versions up somewhere. Sorry for the abrupt ends on some of the videos; my camera, when recording at 60fps, has a 60-second limit per video.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: some PowerPak support WIPs (built, need outside testing)

Post by Myask »

Well, shit. I was hoping to get things working with the easy fixes. This means actually getting to the point I (or another, feel free to pitch in, everyone!) understand what each of these games is really doing.

edit: drafts of 9C₁₆, CE₁₆ (156, 206). Could use some eyes on the code, building, testing.
  • Mapper 9C₁₆ (156): "DIS23C01 DAOU ROM CONTROLLER, Korea"
    • Metal Force (K)
    • Buzz and Waldog (K)
    • General's Son (K)
  • Mapper CE₁₆ (206) [some of] Tengen MIMIC-1, Namcot 118, DxROM
    • (Tengen) Gauntlet
    • (Tengen) Pac-Mania
    • Babel no Tou
At the moment, I'm tempted to add a hack to let Major League work. It's currently submappered (i.e. not detectable on Powerpak), but it seems like having (fourscreen&verticalmirroring) to mean 1-screen would be reasonable, too. Presently, NES2.0 ignores the mirroring bit when 4-screen is set. Mappers have access to both bits internally, so…

edit2: got a PowerPak from bunnyboy, so I'll be able to do testing myself as soon as I manage to get everything in order (synthesizer, etc.) Clearly iverilog won't cut it, it coredumps if I try synthesizing anything ("synthesis support was dropped back in 0.8!"!)
Attachments
mapper0x9C.v
156
(4.96 KiB) Downloaded 266 times
mapper0xCE.v
206
(4.45 KiB) Downloaded 268 times
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

PowerPak support improvements

Post by Myask »

Still procrastinating getting assembler, synthesizer toolchains.
But I have a thing to come out with: PowerPak ROM to load all four nybbles of NES2.0 mapper options (12 mapper, 4 submapper). The other bytes, to a PowerPak:
  • Byte 9 (Upper bits of ROM size)- iNES header was already bigger than PowerPak supports.
  • Byte 10 (RAM size)
  • Byte 11 (Video RAM Size) - okay, these could be useful. Don't the_fox's PowerMappers do something with these?
  • Byte 12 (TV system) - PowerPak doesn't control what system you put it into. Worthless.
  • Byte 13 (Vs. Hardware) - PowerPak could load a special mapper, I guess? If one actually puts it into a VS system somehow, then one could detect and appropriately-shuffle palette writes…except that that's still only NES-side, so it couldn't, and has no reason to care what PPU it's plugged into. Nevermind! Loading specific mappers to implement the protection hardware is still possible.
  • Flags 7 d1 (PC-10): it strikes me one could make the PowerPak load the instruction screen itself. (Still can't do anything about the PPU palette writes.)
Artisanal-assembled code ;). Applies over "v1.12 ROM". (Copy the L.MAP into your POWERPAK directory overwriting the one there; I recommend you back it up first.) It will expect any NES2.0 mappers to be found at MAPxxxsy.MAP in the usual directory, with x being the mapper number and y being submapper, s being lowercase s. (For compatibility/so we don't have to rename all the extant mapper files, if byte 8 is 0 (hi nybble == submapper == 0) it presently falls back onto the regular filename MAPxx.MAP)

Included: one blank testROM that displays a "MAPBEEsF file not found" when you attempt to run it.

edit: to clarify, yes, I have tested it myself. There were some bugs that got worked out. Like one that tried to be "MAP EEsF" or "MAP ☺EsF".
Attachments
NES2PPAK.tar.gz
L.NES goes in POWERPAK directory.
(606 Bytes) Downloaded 295 times
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Myask's PowerPak support WIPs thread

Post by rainwarrior »

I'm curious if anyone ever built these 9C/CE mappers and had them work? I'm tried building them with Xilinx 10.1 and loopy's powerpak.v / powerpak.ucf from Myask_ppak_32_33_48_65_107.zip above. However, I just get a black screen when loading relevant game ROMs, and the PowerPak is unresponsive to long-reset (have to power-off to get back to the menu).

Did anyone ever have some luck testing these? It seems that games for $CE / 206 are usually just assigned to mapper 4 instead, so maybe not many people are interested in it anyway. $9C / 156 offers more unique support for a few Korean games?
Post Reply