Myask's PowerPak support WIPs thread
Moderator: Moderators
Re: some PowerPak support WIPs (built, need outside testing)
...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.
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.
Re: some PowerPak support WIPs (built, need outside testing)
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
Re: some PowerPak support WIPs (built, need outside testing)
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?
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
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?
Re: some PowerPak support WIPs (built, need outside testing)
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.
Don Doko Don 1 is the only game I know to be on the TC0350.
Re: some PowerPak support WIPs (built, need outside testing)
Wavy effect appears in Mednafen. Seems deliberate. There aren't any IRQs in those mappers, so yeah.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)
the wiki (and Bootgod) claim that that board configuration/game is still Mapper 048…?lidnariq wrote: Don Doko Don 2 is on a TC0190+PAL16R4 board (See my old thread about this)
Re: some PowerPak support WIPs (built, need outside testing)
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:
It seems that separating by mirroring control is necessary, but IRQ support isn't.
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
Re: some PowerPak support WIPs (built, need outside testing)
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.
Re: some PowerPak support WIPs (built, need outside testing)
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.
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.
Re: some PowerPak support WIPs (built, need outside testing)
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…
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?
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…
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:koitsu wrote:Results are in:
TL;DR -- all look good except mapper 48 ($30), but those are under suspicion anyway.
- 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
- Screenshot from 2016-06-13 Jetsons_Crash_Bad_Mapper.png (2.8 KiB) Viewed 6407 times
-
- Captain Saver, Level 1, if mirroring is set incorrectly
- Screenshot from 2016-06-13 C_Saver_Wrong_Mirror.png (2.37 KiB) Viewed 6407 times
-
- Captain Saver, Level 1, Mapper 33
- Screenshot from 2016-06-13 C_Saver_Wrong_Mapper.png (3.53 KiB) Viewed 6407 times
Last edited by Myask on Mon Jun 13, 2016 9:04 pm, edited 1 time in total.
Re: some PowerPak support WIPs (built, need outside testing)
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.
It's kinda icky, though.
Re: some PowerPak support WIPs (built, need outside testing)
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):
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).
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
Re: some PowerPak support WIPs (built, need outside testing)
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
Re: some PowerPak support WIPs (built, need outside testing)
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.
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!"!)
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
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
PowerPak support improvements
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:
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".
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.)
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
- rainwarrior
- Posts: 8732
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Myask's PowerPak support WIPs thread
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?
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?