Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


New Cheat Engine to Emulator Code Finder?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Pr3tzals
Advanced Cheater
Reputation: 1

Joined: 05 Jun 2007
Posts: 59

PostPosted: Tue Jan 22, 2008 7:16 am    Post subject: New Cheat Engine to Emulator Code Finder? Reply with quote

Ok ive returned dont know why ive left and i started getting into the DS craze and was wondering with C++ could i be able to create my own cheat engine but specifically for finding memory and values in roms on an emulator and convert them to Ar/GS/CB codes? What would the scripting look like and do you believe this is possible?

Oh and i didnt know where to post this if this is wrong spot please move

_________________

Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 468

Joined: 09 May 2003
Posts: 25712
Location: The netherlands

PostPosted: Tue Jan 22, 2008 12:48 pm    Post subject: Reply with quote

first thing you need to do is find the base address of the emulated memory (And hope the emulator emulates it as one whole block and not segmented into pieces)
then find out how the Ar/GS/CB codes work based on the base address.

then when you find a value, do createCode((address of value) - (base of emulated memory))

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Pr3tzals
Advanced Cheater
Reputation: 1

Joined: 05 Jun 2007
Posts: 59

PostPosted: Tue Jan 22, 2008 9:14 pm    Post subject: Reply with quote

Ok alright currently im trying to learn the hexadecimal system and if i get around to making this would you like rights to the program?
_________________

Back to top
View user's profile Send private message
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Tue Jan 22, 2008 9:42 pm    Post subject: Reply with quote

First of all, if you're only learning the hexadecimal system, then you're a long ways off.

Second, DB can only claim rights to the program if you modify his source. If you start from scratch, then the program's all yours.

_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
Pr3tzals
Advanced Cheater
Reputation: 1

Joined: 05 Jun 2007
Posts: 59

PostPosted: Wed Jan 23, 2008 12:07 am    Post subject: Reply with quote

First of i said im learning there Hexadecimal i will be learning other things im going to just learn from the scripts of CE and whenever i finish the project i will send it to DB and if he finds the source do be similar to his own he can have rights to it also.
_________________

Back to top
View user's profile Send private message
Losplagos
Expert Cheater
Reputation: 0

Joined: 21 Mar 2006
Posts: 172
Location: Knee deep in a c++ book

PostPosted: Fri Jan 25, 2008 7:41 am    Post subject: Reply with quote

I did something like this before. But i did with psx and made working gameshark codes using cheatengine and a emulator. I will have to look around see if i have a copy of the text files i saved on the conversions.

I do have a suggestion if your going to start this psx gameshark codes are more than likely as close to cheatengine addresses as you going to get.

Edit: The best way to i could think to do it is find a address in cheatengine and compare it to a code that does the same thing.

_________________

Earthbound = 31337
Back to top
View user's profile Send private message
Pr3tzals
Advanced Cheater
Reputation: 1

Joined: 05 Jun 2007
Posts: 59

PostPosted: Sat Jan 26, 2008 6:15 am    Post subject: Reply with quote

after reading your post you got me thinking first start off small scale but then something else came to mind first off just make a program that can create codes for data entry from the values int he emualtor
_________________

Back to top
View user's profile Send private message
Losplagos
Expert Cheater
Reputation: 0

Joined: 21 Mar 2006
Posts: 172
Location: Knee deep in a c++ book

PostPosted: Sat Jan 26, 2008 7:56 am    Post subject: Reply with quote

Dark Byte wrote:
first thing you need to do is find the base address of the emulated memory (And hope the emulator emulates it as one whole block and not segmented into pieces)
then find out how the Ar/GS/CB codes work based on the base address.

then when you find a value, do createCode((address of value) - (base of emulated memory))


Dark byte explained a major part of it. Or you can find a way of conversion.

Here is a example of a codebreaker code for pokemon pearl on the ds.
Code:
6F502064 BD3C4F83
667425C1 30DD03B3

It puts a Adamant orb in slot 1.

Now here is a example of a gameshark code for breath of fire 3 on the psx.
Code:
3014524D 0063

It makes the game show that you have 99 of the item in item slot 2 .
Now i will break that down to the point that i under stand it.
Code:
 30 - 14524D - 0063


It is very common to see 80 or 30 at the begining of the code. I know that 30 says it is a byte value. And a 80 says that it is a word value. The gameshark cannot use a word value to set something that starts at a odd number. So looking at the code example above since $14524D is a odd address i cannot use this to give it a dword value such as this example.
Code:
8014524D 7A69

To overcome that limitation i would do this.
Code:
3014524D 0069
3014524E 007A

Which would change the item value from 99 to 31337.

Oh and also there are things like D0 at the begining.
Code:
D01449EC 0001

Which is saying if $01449EC = 0001 do whatever is in the code.
A example of this using $01449EC which is ryu's apprenticed level in bof3 would be.
Code:
D01449EC 0001
3014524D 0063

Which is like saying
Code:
 If (1449EC = 1) {14524D = 99}


So the basic make up of any code for a video game system is quite simple. What complicates is it is now more than put this value here. New age codes for console games could be 200 lines of code if you wrote it out as a program compressed into hardly anything. The only constant is there will always be a address a value and instructions what to do in the code.

As it gets more advanced we might even have keyboards and large external storages connected to consoles to cheat and be able to program new code to use in these simple lines of numbers. Yes i know that even the first game genie hade extra storage space outside of the console and game cartridge.

Ok im done with the rant if you read one paragraph this should be it. Making a cheatengine code into a code for devices like gameshark, codebreak, action replay is very complicated. You must know how the memory addresses are calculated and the commands in the code and how to put them together.

_________________

Earthbound = 31337
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites