Romhacking.net

Romhacking => Personal Projects => Topic started by: tblake05 on January 26, 2022, 10:30:52 PM

Title: Battletoads Double dragon NES on Playchoice 10
Post by: tblake05 on January 26, 2022, 10:30:52 PM
Hi all, I apologize if im in the wrong forum.  Please move if it is.

My project....

I've got a Nintendo playchoice 10, dual monitor that I'm restoring. It's working well, just needs some cosmetics. That's besides the point. One of my favorite NES games, battletoads - double dragon was never officially released on the playchoice. But there are ways to play NES roms. (I don't want to hear about raspberry by or any multi-Cade nonsense, legacy hardware is the way to go)

My problem.... the NES rom when being played on the playchoice-10 can only be played as a single player because there is no player 2 start button.

The rom goes.....

-turn on
-main intro happens and you select 1 player, 2 player a, or 2 player b.
-all is fine up to here but if you select 2 player you move onto the next screen
- here each player moves their cursor and chooses the character they wish to be and push start. Player 2 has no start button so the game hangs.

Is there a way to remap the "start" button at this point to either be the "a" or "b" button. And only have it remapped for just this point in the game?

However it may also have to be remapped on the continue screen as well because I think players have to push "start" to continue after dying.

Can these buttons be remapped for just that point? Or is that not possible?  Anyone want to take on the project? As I'm sure I don't have the time, patience, or knowledge to do it anymore. Let me know how much it would cost.

Ps, BTDD is my little nephews favorite game on his Super Nintendo so he would love it if he could play it on my playchoice. So any guidance would be greatly appreciated.

Thanks!!!

~Tim
Title: Re: Battletoads Double dragon NES on Playchoice 10
Post by: lightbulbsun on January 27, 2022, 06:30:41 AM
Here's where the game checks for the Start-button press from Player 2 at the character select screen:

0C:98BC: LDA $0032,Y
0C:98BF: AND #$33          ; check Joypad2 for A=[Start, Select, Left, Right]
0C:98C1: BEQ $9924
0C:98C3: AND #$2F          ; check Joypad2 for B=[Select, Up, Down, Left, Right]
0C:98C5: BNE $98EB
0C:98C7: LDA $05F0,Y       ; Button is in A, but not in B, i.e. Start

To make the A-button and/or B-button act like the Start-button at that screen, you can add the relevant bits to A in the second line, by overwriting the old value 0x33 with one of the following bytes at offset 0x318d0 in the ROM file with a hex editor:
Title: Re: Battletoads Double dragon NES on Playchoice 10
Post by: tblake05 on March 26, 2022, 05:05:24 PM
Thank you to lightbulbsun and bavi_h (in newcomers forum) for helping to remap the A B Start buttons..I'm back!!!

New issue, and it only happens when playing BTDD on the PC10....

In video cut scenes, as in, between certain levels or after both players selecting their fighters, there are short video's.  The video's can be skipped by either player pushing any button.  about 50/50 of the time on the playchoice, this resets the game.  I cannot make it happen in PC emulation to watch the data stream.  Plus it does it on my modified rom as well as an unmodified original rom.

Does anyone have any idea why this might happen? and how to fix it?

I was thinking a workaround may be to just inhibit controller input on the videos.  Though it would make gameplay longer.  Otherwise I could inhibit all buttons but start?  What would you guys suggest?

And how do I do I go about it?

Thanks a ton!!

~Tim

New issue...

Title: Re: Battletoads Double dragon NES on Playchoice 10
Post by: Bavi_H on March 28, 2022, 02:31:28 AM
I wrote a reply in your original thread: I hypothesize it may be related to the status bar sprite zero hit (https://www.romhacking.net/forum/index.php?topic=34181.msg427705#msg427705).