I've now run into 2 games that both strangely don't register any input at all. They are Paperboy (U) and Dirty Harry (U). Has anyone else tested these games? For my they totally ignore controller input. I don't understand why.
Ordinarily, only the least significant bit is guaranteed to be valid on an NES. Still, some games expect $41 and exactly $41 on the control register, where the three upper bits come from data bus capacitance from the LDA $4016 instruction. Perhaps the different capacitance characteristic of the PowerPak ROMs might have something to do with it.
Right, the PowerPak eats bus capacitance with the required pull ups on the data lines. Don't fear though, Powerpak mappers should be able to simulate the bus capacitance, they just don't yet. This is the same reason why lots of FC games are broken, they expect open bus in the SRAM area.
You're awesome man. I took paperboy, relocated the input subroutine, and then modified it and now it works perfectly. It did indeed expect exactly $41. I changed it by just adding a AND #$01 and changing it to CMP #$01 from CMP #$41.
Shame that I need a hack for it to work but atleast it works.
Edit: I just did the same for Dirty Harry and it works now too.
Many US-made games also ignore controllers connected through the expansion/joystick port on the Famicom.
Dirty Harry doesn't register input but Paperboy 1 & 2 do with latest BIOS & mappers.
MottZilla wrote:
You're awesome man. I took paperboy, relocated the input subroutine, and then modified it and now it works perfectly. It did indeed expect exactly $41. I changed it by just adding a AND #$01 and changing it to CMP #$01 from CMP #$41.
Shame that I need a hack for it to work but atleast it works.
Edit: I just did the same for Dirty Harry and it works now too.
You could do it a bit funner without relocation. Change the CMP #41h to an LSR A, NOP, and change the branch to one that checks carry. Another way would be to AND #01h instead of the CMP, and change the branch. Guess it's 6 of one, half-dozen of another
kevtris wrote:
You could do it a bit funner without relocation. Change the CMP #41h to an LSR A, NOP, and change the branch to one that checks carry. Another way would be to AND #01h instead of the CMP, and change the branch. Guess it's 6 of one, half-dozen of another :-)
In case of Paperboy, the CMP is followed by an ROL instruction, so you can't use the latter method suggested. Disassembly:
Code:
lda $4016, y
cmp #$41
beq skip
clc
skip: rol <$00
dvdmth wrote:
In case of Paperboy, the CMP is followed by an ROL instruction, so you can't use the latter method suggested. Disassembly:
Code:
lda $4016, y
cmp #$41
beq skip
clc
skip: rol <$00
What is loaded into $00 and C beforehand? Would this work?
Code:
lda $4016, y
lsr a
nop
nop
nop
nop
skip: rol <$00
Sorry for ressurecting an old post.
While there is a Paperboy ROM floating around with the fix incorporated (it registers input with the PowerPak), there is no corresponding ROM for Dirty Harry. Can anyone provide instructions on how to fix that ROM or an IPS patch so it will register input with the PowerPak. Something one can do in a hex editor?
Play it in an emulator and log all instructions that read from $4016 and $4017, and someone can use your log to make a patch.
Code:
Captain Planet and The Planeteers (U) [!].nes
0x1FA66: B9 16 40 C9 41 F0 01 18 26 00
-> 4A EA EA EA EA
Dirty Harry - The War Against Drugs (U) [!p].nes
0x3F76E: B9 16 40 C9 41 F0 01 18 26 00
-> 4A EA EA EA EA
Paperboy has the exact same string starting at 0x108. So does Infiltrator at 0x1F7F2, The Last Starfighter at 0x16E, Mad Max at 0x1F415 (except for the last number, which is 02). All these games are from Mindscape, so I checked all Mindscape games for this string and only found that these games contained it. I have never tried them in my PowerPak, I wonder if they will register input.
Mindscape published a few games for Tengen, whose developers had to reverse engineer the NES chipset and ended up mis-RE'ing the controller port. Have you looked for the string in other Tengen games?
tepples wrote:
Mindscape published a few games for Tengen, whose developers had to reverse engineer the NES chipset and ended up mis-RE'ing the controller port. Have you looked for the string in other Tengen games?
Tengen was a licensed developer before they became dissatisfied with Nintendo's policies and decided to forgo licensing. None of the above Mindscape games came from Tengen, and I have never had any problem playing Tengen's games on a PowerPak. Infiltrator, The Last Starfighter and Mad Max don't register input on the PowerPak either. Here's hoping the fix works!
The fix works in all six games! All respond to input now. Paperboy is the only two-player game, and the second controller works as well.
So how do I go about fixing these games, especially Paperboy, so that I can play them?
http://h1.ripway.com/super-hampster/Dir ... ak_fix.ips
Dirty Harry IPS patch
http://h1.ripway.com/super-hampster/cap ... ak_fix.ips
Captain Planet IPS patch
http://h1.ripway.com/super-hampster/Infiltrator-pp.ips
Infiltrator ips patch
http://h1.ripway.com/super-hampster/Mad_max-pp.ips
This is the madmax patch. After I hacked mad max all I get is a black screen. So this might not work. Here it is anyway.
My copy of paperboy actually works, so I can't hack it. Gotta find a copy that doesn't work. I don't have the last starfighter. Gotta find that too.
Super-Hampster wrote:
http://h1.ripway.com/super-hampster/Dirty_Harry_Powerpak_fix.ips
Dirty Harry IPS patch
http://h1.ripway.com/super-hampster/cap ... ak_fix.ipsCaptain Planet IPS patch
http://h1.ripway.com/super-hampster/Infiltrator-pp.ipsInfiltrator ips patch
http://h1.ripway.com/super-hampster/Mad_max-pp.ipsThis is the madmax patch. After I hacked mad max all I get is a black screen. So this might not work. Here it is anyway.
My copy of paperboy actually works, so I can't hack it. Gotta find a copy that doesn't work. I don't have the last starfighter. Gotta find that too.
Edit: Under closer examination of my paperboy ROM it aleady had 4A EA EA EA EA instead of C9 41 F0 01 18 so I changed it back and used that to make an IPS patch.
http://h1.ripway.com/super-hampster/Paperboy.ips
Enjoy
http://h1.ripway.com/super-hampster/LastStarfighter.ips
Last Starfighter, also I fixed mad max, it works now
Here are all 6 patches in a zip file
http://h1.ripway.com/super-hampster/con ... atches.zip
hi, I'm trying to get these games to work. I just bought the Powerpak, the links are dead for the download. Is there anyway to post those ips files again?
thanks
nevermind, pulled out my toaster for giggles to play with powerpak, those troublesome games I listed before work with that. I was using a av modded top loader as my main nes and those games wouldn't register the controller.. weird
Sorry about that. Ripway went down. I'll dig the files up and repost them.
Edit: here you go.
http://db.tt/szmpkeKN
thanks Super-Hampster. I appreciate your work on those patchs and reposting them for me.