Myask's PowerPak support WIPs thread
Moderator: Moderators
Myask's PowerPak support WIPs thread
I've got Verilog to "draft" stage for the following:
20₁₆ (32) irem G-101 (note: Major League submapper not implemented)
41₁₆ (65) irem H3001
21₁₆ (33) Taito TC0190
30₁₆ (48) Taito TC0690 (not in Nintendulator!)
6B₁₆ (107) Magicseries Corp, unknown name, used by "Magic Dragon" just because it had "irem" on the wiki page somewhere. (not in Nintendulator?)
If a mapper doesn't have known specified startup states for registers, would it be better to just let them sit uninitialized, throw in some garbage, or zero/sequentialize them as emulators do occasionally? (Nintendulator and Mednafen and Disch disagree on some points)
ed: Magicseries
ed2: removed while I start scouring out these syntax errors
20₁₆ (32) irem G-101 (note: Major League submapper not implemented)
41₁₆ (65) irem H3001
21₁₆ (33) Taito TC0190
30₁₆ (48) Taito TC0690 (not in Nintendulator!)
6B₁₆ (107) Magicseries Corp, unknown name, used by "Magic Dragon" just because it had "irem" on the wiki page somewhere. (not in Nintendulator?)
If a mapper doesn't have known specified startup states for registers, would it be better to just let them sit uninitialized, throw in some garbage, or zero/sequentialize them as emulators do occasionally? (Nintendulator and Mednafen and Disch disagree on some points)
ed: Magicseries
ed2: removed while I start scouring out these syntax errors
Last edited by Myask on Mon Dec 12, 2016 3:58 am, edited 6 times in total.
Re: some PowerPak support WIPs (need outside testing)
Happy to test at least mapper $41 later this evening, if someone else hasn't beaten me to it.
Re: some PowerPak support WIPs (need outside testing)
I'd recommend throwing in garbage that triggers behaviors that a naive developer wouldn't expect, to make it obvious to homebrew developers that a program has a defect and would not run reliably on original hardware whose power-on state is unspecified. For example, a mapper with 4K CHR banks such as MMC1 or MMC2 might power on with them set to 1 and 9, so that both CHR ROM and CHR RAM users would find something amiss if CHR bank registers are left uninitialized.
This way after the emulator or flash cart fills memory and mapper registers with garbage, the program being emulated correctly clears out the garbage, as it would need to do on original hardware.
This way after the emulator or flash cart fills memory and mapper registers with garbage, the program being emulated correctly clears out the garbage, as it would need to do on original hardware.
Re: some PowerPak support WIPs (need outside testing)
The problem with that is that it would make for a consistent state on reset, even if an unusual one, rather than having to change back from whatever else the registers might have been set to while running…
edit: but that doesn't matter because hitting reset brings you to the menu and thus you're only going to get initial-setup and not reset-setup anyway, aren't you…
edit: but that doesn't matter because hitting reset brings you to the menu and thus you're only going to get initial-setup and not reset-setup anyway, aren't you…
Re: some PowerPak support WIPs (need outside testing)
Other thoughts:
* you could add a "ever set" bit for each register and make the corresponding regions open bus until initialization
* you could make the power-on state maximally useless (such as powering on with all 4 PRG slices set to (-1) or all 8 CHR slices set to 0)
Also, you can use Icarus Verilog to check for syntax errors and test. (debian/ubuntu packages: iverilog, gtkwave)
* you could add a "ever set" bit for each register and make the corresponding regions open bus until initialization
* you could make the power-on state maximally useless (such as powering on with all 4 PRG slices set to (-1) or all 8 CHR slices set to 0)
Also, you can use Icarus Verilog to check for syntax errors and test. (debian/ubuntu packages: iverilog, gtkwave)
Re: some PowerPak support WIPs (need outside testing)
Sorry I won't get to this tonight, too many real life emergencies to deal with. Scheduled for tomorrow. (If any night owls are lurking and wanna do it, please do!!)koitsu wrote:Happy to test at least mapper $41 later this evening, if someone else hasn't beaten me to it.
Re: some PowerPak support WIPs (need outside testing)
The archive only contains the Verilog sources anyways, so they can't be tested as is.koitsu wrote:Sorry I won't get to this tonight, too many real life emergencies to deal with. Scheduled for tomorrow. (If any night owls are lurking and wanna do it, please do!!)koitsu wrote:Happy to test at least mapper $41 later this evening, if someone else hasn't beaten me to it.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Re: some PowerPak support WIPs (need outside testing)
Ah, yeah, I'd need the generated mapper files for native use on the PowerPak. Cool, okay, no rush for me then.
Re: some PowerPak support WIPs (need outside testing)
"Some assembly synthesis required."
Sources updated to where iverilog will actually not throw errors and warnings.
Sources updated to where iverilog will actually not throw errors and warnings.
- Attachments
-
- Myask_MappersWIP.tar.gz
- (4.08 KiB) Downloaded 493 times
Re: some PowerPak support WIPs (need outside testing)
I suppose somebody should build these
- Attachments
-
- Myask_ppak_32_33_48_65_107.zip
- (103.45 KiB) Downloaded 1828 times
Re: some PowerPak support WIPs (need outside testing)
:P I'll give these a try later tonight, assuming I'm not balls deep in work.loopy wrote:I suppose somebody should build these :roll:
Re: some PowerPak support WIPs (built, need outside testing)
Thanks, Loopy. iverilog seems to have completely dropped synthesis support…
To reduce the number of places people need to look to test, Disch-notes-listed games for each, with their GoodNES names…
Captain Saver (J) enables interrupts, probably for parallax and status bar
Don Doko Don 2 (J) does not even attempt to disable them, so is probably actually 33
Flintstones, The - The Rescue of Dino & Hoppy (J) enables interrupts, probably uses them for status bar.
To reduce the number of places people need to look to test, Disch-notes-listed games for each, with their GoodNES names…
- Mapper 32 (20₁₆)
- Image Fight (J) …U version seems to be MMC3.
Major League (J)Should be broken, because it expects 1-screen mirroring and a disabled register.- Kaiketsu Yanchamaru 2 - Karakuri Land (J) (= Kid Niki 2, not localized)
- Mapper 33 (21₁₆)
- Akira (J)
- Bakushou!! Jinsei Gekijou (J)
- Don Doko Don (J)
- Insector X (J)
- Mapper 48 (30₁₆) Disch notes that many are mislabeled as 33…which seems to be the case here…not sure without Bootgod and bootgod's not apparently got any TC0690 games at all according to Google? I'm gonna check these for $C00x (interrupt on 48 not on 33) writes…
- Don Doko Don 2 (J) (cached bootgod says it's got a TC0190, which suggests it should be 33?? No images cached, though, so can't be absolutely sure…the other three were not on BootGod.)
- Bubble Bobble 2 (J) …again, U version "Bubble Bobble Part 2" uses MMC3 instead
- Captain Saver (J)…again, U version "Power Blade 2" uses MMC3 instead
- Flintstones, The (J)
- Mapper 65 (41₁₆)
- Daiku no Gen San 2 - Akage no Dan no Gyakushuu (J) (= Hammerin' Harry 2, not localized)
- Kaiketsu Yanchamaru 3 - Taiketsu! Zouringen (J) (= Kid Niki 3, not localized) [bootgod-confirmed]
- Spartan X 2 (J) [bootgod-confirmed]
- Mapper 107 (6B₁₆)
- Magic Dragon (Unl)
Captain Saver (J) enables interrupts, probably for parallax and status bar
Don Doko Don 2 (J) does not even attempt to disable them, so is probably actually 33
Flintstones, The - The Rescue of Dino & Hoppy (J) enables interrupts, probably uses them for status bar.
Re: some PowerPak support WIPs (built, need outside testing)
Correct. Overload has one PCB photo here.Myask wrote:bootgod's not apparently got any TC0690 games at all
Re: some PowerPak support WIPs (built, need outside testing)
Jetsons, The - Cogswell's Caper! (J) (also mislabeled mapper $21) uses the interrupt…and is a game that does the shaking (Mednafen doesn't delay 4 cycles, evinces shaking status bar as Disch suggests)! A-ha? (One must ask whether the shake-behavior is a bug that is supposed to happen on default hardware, unless we assume/find Disch checked.)
Re: some PowerPak support WIPs (built, need outside testing)
In the process of testing this now, including making video/audio recordings of each game so folks can determine bugs/etc.. Will take me most of the night I think, but fun regardless. :) I can confirm that at least Image Fight (J) works.