1 Move Request Help Needed (Prince of Tennis Crystal Drive 2005)

Slade_Wind

Member
OP
Newcomer
Joined
Feb 17, 2023
Messages
24
Trophies
0
Age
30
XP
124
Country
United States
Long story short, im working on a dub mod for the game and there is 1 single character who has a move I can't figure out how to pull off. No where online states how to either. If you own a copy of the game or could use an emulator to run it really quick, I would really appreciate someone else's ability to find out for me? I've tried like nearly everything! Please and thank you!

At 13:04 time stamp this Youtuber, (who claims he doesn't remember how he did it...), pulls it off;

And on a Game Faqs this is the characters movesets. Move 4 is my issue of concern.

Dan Taichi
1. Akutsu Style- Mid-court/behind baseline L+R+A(hold down A to delay the shot
and press left and right to change direction) 2 C Gauges
2. Blind Shot- Mid-court/behind baseline L+R+B 1 C Gauges
3. Da-Da-Da-Dan!- Before the service when you lose the point before L+R+Y 4
C Gauges
4. ???- L+R+Y 4 C Gauges
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,346
Country
United Kingdom
Other than a curious attempt at seeing the GBA games I have no clue about this series and if you got this far I imagine you tried what you can (similar moves to other player characters, in game tutorials, external tutorials). Hopefully it is not an impossible move (stranger things have happened in games, would also not the be the first youtube type to cheat).

This would then drop us in hacking territory. I have a long delayed guide on finding hidden cheats, password entries and such in the pipeline which this would be related to but it is not really near any kind of finished state to be useful in this. The general principle though is you want to see what else is being checked for during menus, gameplay in this case or password screens.
If you are confident it uses the C gauges (not sure what they are specifically but context wise special move in an anime sports game...) you might be able to shortcut a bit -- if something is set to read the location of the C gauge and you know all the other things that might be doing it (and this is not one of those) then you can work backwards from there to figure out what triggers it.
Alternatively something might be watching the control state (or more likely debounced* version of it). This is what I would often want to look at in scenarios like this but seeing all those things above noting it being context/character location dependent gives me a reason to pause. If you want to analyse the others to see how they work then that might be an idea to give greater context/general way it works for this game.

*if you are not familiar with debouncing then it is a trick from electrical engineering to sort the problem with switches being mechanical devices that for a few milliseconds (you hope, it goes too long and you get things like mice double clicking despite only single clicking). Here the control state is copied from its hardware provided location to normal memory and anything that cares about controls reads that instead.

Alternatively alternatively if you have a video of it you might be able to figure out what animation, tiles or even musical sting it uses (most DS sound uses a common format called SDAT and if you can find the unique sound it plays upon activation then easy enough to work backwards from that) and figure out what will eventually call those and work backwards.
 

Slade_Wind

Member
OP
Newcomer
Joined
Feb 17, 2023
Messages
24
Trophies
0
Age
30
XP
124
Country
United States
Other than a curious attempt at seeing the GBA games I have no clue about this series and if you got this far I imagine you tried what you can (similar moves to other player characters, in game tutorials, external tutorials). Hopefully it is not an impossible move (stranger things have happened in games, would also not the be the first youtube type to cheat).

This would then drop us in hacking territory. I have a long delayed guide on finding hidden cheats, password entries and such in the pipeline which this would be related to but it is not really near any kind of finished state to be useful in this. The general principle though is you want to see what else is being checked for during menus, gameplay in this case or password screens.
If you are confident it uses the C gauges (not sure what they are specifically but context wise special move in an anime sports game...) you might be able to shortcut a bit -- if something is set to read the location of the C gauge and you know all the other things that might be doing it (and this is not one of those) then you can work backwards from there to figure out what triggers it.
Alternatively something might be watching the control state (or more likely debounced* version of it). This is what I would often want to look at in scenarios like this but seeing all those things above noting it being context/character location dependent gives me a reason to pause. If you want to analyse the others to see how they work then that might be an idea to give greater context/general way it works for this game.

*if you are not familiar with debouncing then it is a trick from electrical engineering to sort the problem with switches being mechanical devices that for a few milliseconds (you hope, it goes too long and you get things like mice double clicking despite only single clicking). Here the control state is copied from its hardware provided location to normal memory and anything that cares about controls reads that instead.

Alternatively alternatively if you have a video of it you might be able to figure out what animation, tiles or even musical sting it uses (most DS sound uses a common format called SDAT and if you can find the unique sound it plays upon activation then easy enough to work backwards from that) and figure out what will eventually call those and work backwards.
Well I have the sdat and audio file played during the move in question. How do I figure it out from there in the coding?
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,346
Country
United Kingdom
Sorry, was falling asleep as I wrote that so was just trying to get something down.

Welcome to the world of debugging.

There is much you can do as a ROM hacker without going here but here we are, it may still pay to learn some of it though ( https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ https://www.romhacking.net/start/ ). I hope you at least know enough to make cheats ( https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial https://doc.kodewerx.org/hacking_nds.html ).

Anyway so you want a debugger grade of emulator.
For most this is probably going to be http://problemkaputt.de/gba.htm
http://problemkaputt.de/gba-dev.htm
The documentation provided by him then being the main reference for most people doing DS homebrew, ROM hacking and curious about the hardware
https://problemkaputt.de/gbatek.htm
Some also like http://imrannazar.com/ARM-Opcode-Map and I am going to want to link http://imrannazar.com/ARM-Opcode-Map while I am at it.

What you want to play with is the breakpoints.
As a quick aside there are three things you can do with memory in basic computing (security in more advanced things complicates this a bit but eh).
Those are
Reading things
Writing things to it
Executing code on it (some think this might be just reading, indeed some might combing reading and executing as access but consider it separate as your debugger likely makes the distinction).

Consequently there are three classes of breakpoint
Break on Read (BPR in most emulators)
Break on Write (BPW in most debuggers/emulators)
Break on Execute (BPE or sometimes BOE depending upon what goes).

They do much as they sound and halt emulation when something triggers them. Better debuggers/emulators will have more options here such as conditionals (break on a write but only if it is in this range).

Your job as a hacker is to find something that is read/changed/executed by some bit of code you actually care about and work backwards or forwards to that point. Hence the animations, sound effects or working forwards from whatever reads the control data (or debounced version thereof loaded into normal memory). Sound effects on the DS are less than ideal if they have to be fetched from the ROM every time as reading DS ROMs is an annoying operation (unlike most older systems DS ROMs are not directly visible in memory and have a read command you get to play with first). It will get it done but generally want to find something better, or maybe find where it lands in memory (hopefully it is the same spot each time*) and work back from that instead.
Obviously this gets far easier if you can trigger it in the first place (or have something to watch play out for oddities that do not belong there/extras in the case of password decoding for the other unknown cheat option and bonus password cheat thing I was on about for my unfinished guide), and maybe don't have an additional unknown variable like in this case court location maybe acting as a further gatekeeper (not so bad in the abstract sense as there will be some check based on probably an internal sense of player location which likely also feeds the graphics location -- OAM and BG handlers for 2d, 3d is more annoying).
If you know the location of the gauges (one reason you want to be able to make cheats -- finding a gauge is not going to be much different than finding some kind of abstract timer bar or health bar or whatever) you could also find out what tickles those areas, possibly even without a debugger and just by reading a plain disassembly.
Alternatively if another character you can do what looks to be an ultimate move for you could figure out how that works to get a general sense of the workflow and then pivot back to the unknown.

*I don't know if you have much coding background but the DS is firmly in C coding territory which means dynamic allocation of memory is maybe not commonplace but seen occasionally compared to 16 bit era stuff where such things are an anti cheat method if you see it at all.
 

Slade_Wind

Member
OP
Newcomer
Joined
Feb 17, 2023
Messages
24
Trophies
0
Age
30
XP
124
Country
United States
Yes, my knowledge in coding is near zero. But I will try to do with the information you provided as much as possible. It was a lot to take in, but I'll take it. Haha
 

FGD

New Member
Newbie
Joined
Jan 12, 2024
Messages
1
Trophies
0
Age
35
XP
8
Country
France
Yes, my knowledge in coding is near zero. But I will try to do with the information you provided as much as possible. It was a lot to take in, but I'll take it. Haha
Long story short, im working on a dub mod for the game and there is 1 single character who has a move I can't figure out how to pull off. No where online states how to either. If you own a copy of the game or could use an emulator to run it really quick, I would really appreciate someone else's ability to find out for me? I've tried like nearly everything! Please and thank you!

At 13:04 time stamp this Youtuber, (who claims he doesn't remember how he did it...), pulls it off;

And on a Game Faqs this is the characters movesets. Move 4 is my issue of concern.

Dan Taichi
1. Akutsu Style- Mid-court/behind baseline L+R+A(hold down A to delay the shot
and press left and right to change direction) 2 C Gauges
2. Blind Shot- Mid-court/behind baseline L+R+B 1 C Gauges
3. Da-Da-Da-Dan!- Before the service when you lose the point before L+R+Y 4
C Gauges
4. ???- L+R+Y 4 C Gauges

If you're still interested, as far as I know, the move is called "Court ga tsuru tsuru desu".
I'm not 100% sure, but I think it can only be triggered in a point after Dan has received a ball with knockback. It cannot be triggered during said point, but the point after.
As to what is the effect, I do not know, you just see an animation of Dan slipping.
To trigger it, play with Dan in Practice against Akazawa and wait for him to do his special Drop Shot and make sure to hit it, that will knock Dan back. The point after, you should be able to trigger it with L+R+Y if you have 4 bars (just use max stamina in practice mode). I can make a video too if you wish.
Post automatically merged:

If you're still intetested, as far as I know, the move is called "Court ga tsuru tsuru desu".
I'm not 100% sure, but I think it can only be trigerred in a point after Dan has received a ball with knockback. It cannot be triggered during the said point, but the point after.
As to what is the effect, I do not know, you just see an animation of Dan slipping.
To trigger it, play with Dan in Practice against Akazawa and wait for him to do his special Drop Shot and make sure to hit it, that will knock Dan back. The point after, you should be able to trigger it with L+R+Y if you have 4 bars (just use max stamina in practice mode). I can make a video too if you wish.
With some testing, I think the trigger and effects are as follow :
- Receive a ball with knockback during a point (then win or lose the point, it does not seem to matter)
- if you lost the previous point, do not trigger L+R+Y right away at the start of the next point, as Dan will trigger his other special (Dadadada, which maxes his yellow gauge) - you may do that if you use max C-gauge parameter during practice, though.
- After you served or received, you should see Dan blinking and you should be able to trigger it.
- When triggered, Dan will slip (and say "Gome"), this will incapacitate him shortly
- If you manage to hit the ball after Dan slipped, the ball will knock the opponent back

Final Edit :
There are NO INFOS on this move in the game beside its name, input and cost.

Final Edit Bis :
Made a video :
 
Last edited by FGD,

Slade_Wind

Member
OP
Newcomer
Joined
Feb 17, 2023
Messages
24
Trophies
0
Age
30
XP
124
Country
United States
If you're still interested, as far as I know, the move is called "Court ga tsuru tsuru desu".
I'm not 100% sure, but I think it can only be triggered in a point after Dan has received a ball with knockback. It cannot be triggered during said point, but the point after.
As to what is the effect, I do not know, you just see an animation of Dan slipping.
To trigger it, play with Dan in Practice against Akazawa and wait for him to do his special Drop Shot and make sure to hit it, that will knock Dan back. The point after, you should be able to trigger it with L+R+Y if you have 4 bars (just use max stamina in practice mode). I can make a video too if you wish.
Post automatically merged:


With some testing, I think the trigger and effects are as follow :
- Receive a ball with knockback during a point (then win or lose the point, it does not seem to matter)
- if you lost the previous point, do not trigger L+R+Y right away at the start of the next point, as Dan will trigger his other special (Dadadada, which maxes his yellow gauge) - you may do that if you use max C-gauge parameter during practice, though.
- After you served or received, you should see Dan blinking and you should be able to trigger it.
- When triggered, Dan will slip (and say "Gome"), this will incapacitate him shortly
- If you manage to hit the ball after Dan slipped, the ball will knock the opponent back

Final Edit :
There are NO INFOS on this move in the game beside its name, input and cost.

Final Edit Bis :
Made a video :


Thanks dude. I appreciate it, but I figured it out a few months ago when recording the compilation of all the english dub footage of moves for my mod. It more or less is what you said. Was such an annoying move to figure out.

Thanks again
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: Z like Sunday morning