PowerPAK, Games that don't register input
Moderator: Moderators
PowerPAK, Games that don't register input
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.
Last edited by kyuusaku on Wed Nov 14, 2007 10:45 pm, edited 2 times in total.
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.
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.
- Lloyd Gordon
- Posts: 150
- Joined: Mon Nov 07, 2005 11:32 am
- Location: Toronto
- Contact:
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
/* this is a comment */
In case of Paperboy, the CMP is followed by an ROL instruction, so you can't use the latter method suggested. Disassembly: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 :-)
Code: Select all
lda $4016, y
cmp #$41
beq skip
clc
skip: rol <$00"Last version was better," says Floyd. "More bugs. Bugs make game fun."
What is loaded into $00 and C beforehand? Would this work?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: Select all
lda $4016, y cmp #$41 beq skip clc skip: rol <$00
Code: Select all
lda $4016, y
lsr a
nop
nop
nop
nop
skip: rol <$00-
Great Hierophant
- Posts: 780
- Joined: Tue Nov 23, 2004 9:35 pm
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?
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?
Code: Select all
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
-
Great Hierophant
- Posts: 780
- Joined: Tue Nov 23, 2004 9:35 pm
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.
-
Great Hierophant
- Posts: 780
- Joined: Tue Nov 23, 2004 9:35 pm
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!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?