ArtMoney .emul entry?

Technical discussion for those interested in Supermodel development and Model 3 reverse engineering. Prospective contributors welcome.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

ArtMoney .emul entry?

Postby JPeterson » Wed Oct 05, 2011 11:22 am

### Memory base address

What's the base address and range of the model3 memory in supermodel 0.2a? because

* that allow changing it

Is the base address or range different between the model3 steps 1.0 to 2.1?
Last edited by JPeterson on Sun Jun 30, 2013 10:01 pm, edited 20 times in total.
JPeterson
 
Posts: 15
Joined: Wed Oct 05, 2011 11:12 am

Re: artmoney .emul entry?

Postby Bart » Wed Oct 05, 2011 12:43 pm

Within the PowerPC's address space, memory is at offset 0 and there is 8 MB of it. As for where it appears in the X86 address space when Supermodel.exe is loaded, I don't know. It'll be different each time because it's dynamically allocated, but the CModel3 object stores a pointer to it, so you could probably read the location from there. Not too sure how the Windows cheat engines out there will handle this. One way to locate it is to take a save state (once the game begins to run) and then open that up with a hex editor. Locate the string "Model 3", it will be nearby another string "Src/Model3/Model3.cpp". A couple dozen or so bytes away is where the Model 3 memory begins.

There should be lots of 0's (256 bytes worth, to be precise), followed by a handful of 32-bit words (PowerPC instructions), the first of which will be at address 0x00000100 in PowerPC RAM. Subtract 0x100 from that first instruction's address to find the base address of PowerPC RAM.

You can search for that data using a cheat engine because it isn't likely to change (although it will be different from game to game).
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: artmoney .emul entry?

Postby JPeterson » Wed Oct 05, 2011 4:26 pm

### Memory base address

The .emul entry is is moved to [Memory base address](https://github.com/john-peterson/bin-pa ... t-20263453) because

* I want to place my binary hacking posts in the same site because it's better organisation
Last edited by JPeterson on Sun Jun 30, 2013 10:05 pm, edited 61 times in total.
JPeterson
 
Posts: 15
Joined: Wed Oct 05, 2011 11:12 am

Re: artmoney .emul entry?

Postby Bart » Thu Oct 06, 2011 1:57 am

No, the RAM begins at offset 0x81 in the save state file (that's right, it's not word-aligned). In the future it may change. Save state blocks don't have to be in any particular order. To locate the RAM in a Supermodel save state, look for the string "Model 3". Following it will be a 0 byte (terminator), then a comment string (currently, I just output the source file name of the module that generates the block, so Src/Model3/Model3.cpp for the Model 3 block), followed by another terminator byte (at offset 0x70 in 0.2a save states). Then, there are 16 bytes of misc. Model 3 system state (input regs, bank reg, security pointer, and stuff like that). So, for now, at 0x81, RAM begins.

There is only one RAM region allocated by Supermodel. The other one you are seeing is ROM. All games copy their program code from ROM (which is slow) into RAM for execution. fvipers2 is the only game I know of that does some sort of decompression, so you will not see two copies.

The lower of the two addresses you find in the executable's address space is the RAM (Supermodel allocates everything in large gigantic buffers, and I place RAM right in front of CROM).
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: artmoney .emul entry?

Postby M4K » Wed Feb 15, 2012 4:36 am

Hi All.
//JPeterson please add artmoney .emul entry for this Supermodel revisions:
http://www.emucr.com/2012/02/supermodel-svn-r250.html
http://www.emucr.com/2012/02/supermodel-svn-r251.html
and send it to ArtMoney developers.
Thanks in advance!
M4K
 
Posts: 8
Joined: Thu Oct 06, 2011 3:22 am

Re: artmoney .emul entry?

Postby JPeterson » Sun May 13, 2012 10:31 am

>//JPeterson please add artmoney .emul entry for this Supermodel revisions:
>http://www.emucr.com/2012/02/supermodel-svn-r250.html
>http://www.emucr.com/2012/02/supermodel-svn-r251.html
>and send it to ArtMoney developers.

This is done

The .emul is updated for r261

The x64 cheats still doesn't work because ArtMoney refuse to identify the PC address, it stays at 0 for the x64 process as these screenshots show, x86, x64

I've communciate this to ArtMoney

Update: This is fixed in 7.39.1

(Also notice that Options -> Searching -> Process type needs to be the correct type or AUTO.)
Last edited by JPeterson on Sun Jun 30, 2013 10:07 pm, edited 5 times in total.
JPeterson
 
Posts: 15
Joined: Wed Oct 05, 2011 11:12 am

Re: ArtMoney .emul entry?

Postby M4K » Mon May 14, 2012 5:33 pm

Thanks a lot JPeterson! Please send your .amt tables to ArtMoney developers.
Don't forget that the fields of personal information in the table must be filled (Info -Main - Created by).
Thanks in advance!
M4K
 
Posts: 8
Joined: Thu Oct 06, 2011 3:22 am

Re: ArtMoney .emul entry?

Postby JPeterson » Wed May 16, 2012 1:44 am

I've added an NVRAM pointer to the .emul.
JPeterson
 
Posts: 15
Joined: Wed Oct 05, 2011 11:12 am

Re: ArtMoney .emul entry?

Postby M4K » Wed May 16, 2012 2:22 pm

Thank you so much:)
M4K
 
Posts: 8
Joined: Thu Oct 06, 2011 3:22 am

Re: ArtMoney .emul entry?

Postby M4K » Sun Aug 26, 2012 1:09 pm

Hi All. For Supermodel r269 x86, am739.emul entry is:

Code: Select all
Supermodel r269 x86;Supermodel.exe;N;9e1979ec493add142af67853f798d849
;RAM 8MB;0;Supermodel.exe+P00135A3C;800000


For Supermodel r270 x86 am739.emul entry is:

Code: Select all
Supermodel r270 x86;Supermodel.exe;N;99a2d1f93a0b8864150ddc93913f3c1f
;RAM 8MB;0;Supermodel.exe+P00135A3C;800000
M4K
 
Posts: 8
Joined: Thu Oct 06, 2011 3:22 am

Next

Return to The Dark Room

Who is online

Users browsing this forum: No registered users and 1 guest

cron