Kodewerx
https://www.kodewerx.org/forum/

[NDS] Operation Vietnam [U] [AR]
https://www.kodewerx.org/forum/viewtopic.php?f=19&t=4222
Page 1 of 1

Author:  kenobi [ Wed Sep 05, 2007 12:24 pm ]
Post subject:  [NDS] Operation Vietnam [U] [AR]

Code:
Game Code/ID : YVTE 7BAECEA9

For the fun of it, here are different versions of an infinite life code. I hope it will not confuse too many peoples... :

1) As it uses the C4 code type, this code will only work on the real AR v1.54 (or higher I suppose), the trainer toolkit (with the AR v1.52 or 1.54), and I guess NitroHax. 17 lines total.

Code:
Infinite Life *
C4000000 00000000
00000054 000040E4
C0000000 00000003
C4000000 00000000
D9000000 0000003C
D4000000 00000004
D6000000 0000003C
D3000000 0209DA40
60000000 00000000
B0000000 00000000
DC000000 000040E4
60000000 00000000
B0000000 00000000
00000104 00000060
D2000000 00000000
* It should work for every warrior (tested with 3 warriors up to level 2).



2) The same code without the C4 code type, a bit longer (15 more lines, for a wooping 32 lines !) and less interessing to do, but that will work for everyone.

Code:
Infinite Life *
6209DA40 00000000
B209DA40 00000000
DC000000 000040E8
F2000000 00000004
62000000 00000000
B0000000 00000000
00000104 00000060
D2000000 00000000
6209DA40 00000000
B209DA40 00000000
DC000000 000040EC
F2000000 00000004
62000000 00000000
B0000000 00000000
00000104 00000060
D2000000 00000000
6209DA40 00000000
B209DA40 00000000
DC000000 000040F0
F2000000 00000004
62000000 00000000
B0000000 00000000
00000104 00000060
D2000000 00000000
6209DA40 00000000
B209DA40 00000000
DC000000 000040F4
F2000000 00000004
62000000 00000000
B0000000 00000000
00000104 00000060
D2000000 00000000
* It should work for every warrior (tested with 3 warriors up to level 2).


3) Asm hack. Works on anything that holds the AR code handler, and is way faster to execute than any regular code. 14 lines.

Code:
Infinite Life *
023FE074 012FFF11
E0000000 00000058
E92D0007 E3A02060
E59F0044 E5900000
E3500000 0A00000C
E2800901 E59010E8
E3510000 15812104
E59010EC E3510000
15812104 E59010F0
E3510000 15812104
E59010F4 E3510000
15812104 E8BD0007
E12FFF1E 0209DA40
023FE074 E3520003
* It should work for every warrior (tested with 3 warriors up to level 2).

Author:  Hiei-YYH [ Wed Sep 05, 2007 3:14 pm ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

what's the use of this C4 one?

Author:  kenobi [ Wed Sep 05, 2007 9:44 pm ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

The C4 code type (as I explained in the AR codes types thread) makes offset = address of the C4 code type in RAM. With it, I can then choose to modify any codes 'on the fly', as I know exactly at which distance from(/to?/of?) the C4 code type they are stored.

In the code I created for Operation Vietnam, I used it to modify the data of the DC000000 000040E4 code type. In that game, the pointers to the 4 players life value are at [pointer + 0x40E4], [pointer + 0x40E8],[pointer + 0x40F0], [pointer + 0x40F4].

As you can see, I used a loop (C0000000 00000003), and two C4 codes type (one before the loop, one in the loop).
For the one inside the loop :
When the loop is executed at first, the C4/D9/D4/D6 codes combo will add 4 to the value of the DC000000 000040E4 code (the D9/D6 codes read/write to offset + 0x3C, ie. [second C4 code type address + 0x3C], which points to the data of the DC code type), which will become 0x000040E8 (=offset to reach the pointer to the first warior). The second time the code is executed, another 4 is added, and it becomes 0x000040EC (=offset to reach the pointer to the second warior). Same for the third and forth time the code is executed. So when the code has been fully executed, the DC code type looks like that in RAM : DC000000 000040F4.

For the one before the loop (it could have put it after the loop btw, but then I would have to use a negative offset to reach the DC code type address, which would have make it one line longer) :
When the codes are executed for the first time, it doesn't matter (0x000040E4 is written over 0x000040E4). But when they have been executed fully at least once, the DC000000 000040E4 has changed to DC000000 000040F4. That C4/00 code combo is used to 'reset' the DC code type to its original value (so the other codes are still able to reach the pointers to the players data, located at pointer+0x40E8~0x40F4 ; if I didn't do that, they'll try to get the pointers from 0x40F8~0x4104) (the 00 code after the C4 code writes to offset + 0x54, ie. [first C4 code type address + 0x54], which points to the data of the DC code type).

The C4 code type could also be used to create a place to store data (without having to worry about finding free space in RAM). For exemple, you can store anything in it's data (it's unused), like a counter, or the pad values, or do something like this if you need more space:
C4000000 00000000
50000000 00000000 <- will always be false (([offset]=C4000000)!=00000000)
E0000000 00000020
00000000 00000000 <- free space
00000000 00000000 <- free space
00000000 00000000 <- free space
00000000 00000000 <- free space
D1000000 00000000
...

Then, after the E0 code type, if you add 0x18 to the offset, it'll point to the first 00000000 of the E0 code type, giving you access to some free space (in my exemple 8*32bits of free space) to store anything (one could even imagine to store some game data in there, to be able to backup/restore it).

Author:  Hiei-YYH [ Thu Sep 06, 2007 8:49 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

so you can like, create a virtual space, is that you're trying to say? or I'm just confuse about the free space thing lol

Author:  kenobi [ Thu Sep 06, 2007 10:23 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Erm no, not virtual :/

With the C4 code type, you can use some space inside the code list to store data. That way you don't have to find some free space at an address that could be used by the game at some point. Also you'll be sure that this space will be yours.

For exemple, if you create a code and want to store some data (let's say a counter) at 0x02000000. Then someone else (me), that don't know about your code, creates his own code that stores data (let's say the pad values) at 0x02000000. That means if an user use both your and my code, there will obviously be a conflict between the codes. But if we both used a C4 code type to store our data, there couldn't be any conflict at all.

edit : another code
Code:
Infinites medkits/grenades/bombs
6209DA40 00000000
B209DA40 00000000
B00040E0 00000000
00000014 00000063
00000018 00000063
0000001C 00000063
D2000000 00000000

Author:  DjoeN [ Sat Sep 08, 2007 3:26 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Thx, will try them today :D

Author:  Shakirmole [ Sat Sep 08, 2007 6:39 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Can anyone write a line code for infinite health if possible... thanks

Author:  Rayder [ Sat Sep 08, 2007 7:06 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Shakirmole wrote:
Can anyone write a line code for infinite health if possible... thanks



Er....dude.....first post in this thread my man.

Author:  Hiei-YYH [ Sat Sep 08, 2007 9:19 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Rayder wrote:
Shakirmole wrote:
Can anyone write a line code for infinite health if possible... thanks



Er....dude.....first post in this thread my man.


i think he means a SINGLE LINED code, that's is IMPOSSIBLE. sorry to say this but you can't use these cheats in emulators (maybe nogba in future when codes get fully implemented --thanks kenobi-- XD ) ;p

Author:  DjoeN [ Sat Sep 08, 2007 6:06 pm ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Infinite Live works fine
also the code for all ammo/medkits/etc...
Played about 5 levels

Infinite live works for all 4 soldiers

I used the NOT C4 codes (My AR = v1.52)

I had a lockup when i started a level, but somehow the second try it worked

Author:  DjoeN [ Sat Sep 08, 2007 6:10 pm ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Ok, just upgraded my AR to v1.54 :D

Author:  Hiei-YYH [ Tue Sep 11, 2007 12:53 am ]
Post subject:  Re: [NDS] Operation Vietnam [US] [AR]

Turbo Shot
6209DA40 00000000
B209DA40 00000000
B00040E8 00000000
10000108 00000000
D2000000 00000000

EDIT: oops, a mistake XD


my custom CBDS asm hacks for this game, check my page.

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/