Homebrew WIP EdiZon SE : Advance memory trainer and pointer seacher for switch

Have you used EdiZon SE?

  • No

    Votes: 31 14.2%
  • Yes, I love it, keep doing that you are doing

    Votes: 135 61.9%
  • Yes, I like it but I wish you spend more time with the UI, stop adding features

    Votes: 26 11.9%
  • Yes, but I have given up, it's too hard to use

    Votes: 26 11.9%

  • Total voters
    218

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,035
Trophies
1
Location
California
XP
6,028
Country
United States
That is right. It has always been this way for pointersearcher 0.4. I only change it to take dump from EdiZon SE the rest is untouched. Is there any example of memory location located in Main that needs pointer chain? I had wonder about that but right now my algorithm for in app pointer search also assume that memory location on main is a constant offset from main start.
ACA NeoGeo Samurai Showdown are 2 Games that use Dynamic MAIN Addresses. Can not use Pointer Searcher for those Games. I tried it with JNoexs, but those did not work except for the Round Time (Which the Offset matched the last 3 for the MaME Cheat File for said Code. I tried replacing it with the last 3 for Health, but it did not work. So might require more Offsets, with last one being the MAME last 3, but no way to tell.
 

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
ACA NeoGeo Samurai Showdown are 2 Games that use Dynamic MAIN Addresses. Can not use Pointer Searcher for those Games. I tried it with JNoexs, but those did not work except for the Round Time (Which the Offset matched the last 3 for the MaME Cheat File for said Code. I tried replacing it with the last 3 for Health, but it did not work. So might require more Offsets, with last one being the MAME last 3, but no way to tell.
The basic premises being assumed in the algorithm is
1. pointer has the value that lies between heap start and heap end.
2. when main segment is reached the job is done.
3. each stage of the pointer jump use constant offset.

For emulator the assumption can be true for the engine but not for the game that the emulator runs. The pointers for the game does not fulfill point 1 and there is also no end point that match point 2. There are probably virtual heap and virtual main for the game but without going into the emulator in question nothing can be done.

This does create a reason for pointer chain to be used by the emulator engine on main. It is easy to change to
1. pointer has the value that lies between heap start and heap end or main start and main end.
2. When to end the search is a problem. I suppose can just end when no more progress can be made and preset the chain for testing.

But this may well be point less as for emulator engine any such chain is very likely to be widely reused.

So the best bet is find the pointer that points to the start of game virtual memory. Assuming that these game uses static addresses just to have a big offset from this base to get to the target. For MAME I suppose this is likely to be the case.
 
Last edited by TomSwitch,

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,035
Trophies
1
Location
California
XP
6,028
Country
United States
The basic premises being assumed in the algorithm is
1. pointer has the value that lies between heap start and heap end.
2. when main segment is reached the job is done.
3. each stage of the pointer jump use constant offset.

For emulator the assumption can be true for the engine but not for the game that the emulator runs. The pointers for the game does not fulfill point 1 and there is also no end point that match point 2. There are probably virtual heap and virtual main for the game but without going into the emulator in question nothing can be done.

This does create a reason for pointer chain to be used by the emulator engine on main. It is easy to change to
1. pointer has the value that lies between heap start and heap end or main start and main end.
2. When to end the search is a problem. I suppose can just end when no more progress can be made and preset the chain for testing.

But this may well be point less as for emulator engine any such chain is very likely to be widely reused.

So the best bet is find the pointer that points to the start of game virtual memory. Assuming that these game uses static addresses just to have a big offset from this base to get to the target. For MAME I suppose this is likely to be the case.
Well, I have even tried doing both HEAP and MAIN. When I found both Inf Round Time and Health, it was in MAIN. I verified by letting the CPU beat me for about a Minute or 2. Still had Full Health, and 60 Seconds. But when I plugged the info in the Pointer Searcher, it said the Dynamic Address needed to be in HEAP. So yeah, might need to be worked out.
 

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
i always get this even changing max depth,range,offset
 

Attachments

  • 2020081810101000-DB1426D1DFD034027CECDE9C2DD914B8.jpg
    2020081810101000-DB1426D1DFD034027CECDE9C2DD914B8.jpg
    125.4 KB · Views: 285

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
i always get this even changing max depth,range,offset
Here are the steps to do pointer chain search in app.

  1. Clear previous search result if any.
  2. Perform a search of type pointer when the game is in the state you want. (Press Lstick down will quickly setup the search). The result of this search is used for subsequent pointer search. Very important to get it right to find the pointer chains.
  3. Select the bookmark with address you want to find the pointer chain that targets it.
  4. Press Lstick down will start the search with default configuration.
  5. Or press LZ+Y to go setting page for the search parameters. Move the cursor to the position you want to modify and press L or R to increment or decrement the value. Some value cannot be modified at the moment. Press + to start the search.
  6. Results are appended to the bookmark list. Test them to see the validity of the chain when the game state change, especially after relaunching the game. When satisfied that a good bookmark entry is found press Y while highlighting the bookmark to add it to the cheat code file.
  7. Pointer search can be paused by holddown ZL+B. Normal functionality of the app is all available while pointer search is pause.
  8. Start pointer search again to resume (step 4 or 5), in resume case the currently search parameters are used for future iteration of the loop, intermediate targets that are queued up for processing is preserved. Very important to ensure memory search results is valid before continuing the pointer chain search, repeat step 2 if necessary. To abort the search and start from scratch press ZL+"+".

    Did you do step 2? If you skip step 2 there is either no dump or wrong dump for the search. Make a search with Search TYPE u64, MODE PTR and REGION HEAP+MAIN. If it finish fast normally it is due to the dump. No error message is currently offered when the dump is no good. Press ZL+X (new for latest version) to do a quick setup for this dump.
 
Last edited by TomSwitch,
  • Like
Reactions: aloneknight

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
Here are the steps to do pointer chain search in app.

  1. Clear previous search result if any.
  2. Perform a search of type pointer when the game is in the state you want. (Press Lstick down will quickly setup the search). The result of this search is used for subsequent pointer search. Very important to get it right to find the pointer chains.
  3. Select the bookmark with address you want to find the pointer chain that targets it.
  4. Press Lstick down will start the search with default configuration.
  5. Or press LZ+Y to go setting page for the search parameters. Move the cursor to the position you want to modify and press L or R to increment or decrement the value. Some value cannot be modified at the moment. Press + to start the search.
  6. Results are appended to the bookmark list. Test them to see the validity of the chain when the game state change, especially after relaunching the game. When satisfied that a good bookmark entry is found press Y while highlighting the bookmark to add it to the cheat code file.
  7. Pointer search can be paused by holddown ZL+B. Normal functionality of the app is all available while pointer search is pause.
  8. Start pointer search again to resume (step 4 or 5), in resume case the currently search parameters are used for future iteration of the loop, intermediate targets that are queued up for processing is preserved. Very important to ensure memory search results is valid before continuing the pointer chain search, repeat step 2 if necessary. To abort the search and start from scratch press ZL+"+".

    Did you do step 2? If you skip step 2 there is either no dump or wrong dump for the search. Make a search with Search TYPE u64, MODE PTR and REGION HEAP+MAIN. If it finish fast normally it is due to the dump. No error message is currently offered when the dump is no good. Press ZL+X (new for latest version) to do a quick setup for this dump.
yup i follow this tut. hmm. i should try again tomorrow

--------------------- MERGED ---------------------------

https://github.com/tomvita/EdiZon-SE/releases/tag/3.6.8b

Bug fix and UI improvements, added delete cheat code

Now position on the various list are remembered when switching between list.
Various UI errors fixed.
Added ability to delete cheat code.
nice new update again. tnx
 

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
iam testing it now .when pressing zl+x then start pointer. my switch is freeze i cant exit.i
thought its dumping. so i wait 30 minutes. still cant exit. i force to turn off
 

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
iam testing it now .when pressing zl+x then start pointer. my switch is freeze i cant exit.i
thought its dumping. so i wait 30 minutes. still cant exit. i force to turn off
Normally it takes no more than one minute. I have encounter crash also. Saw this yesterday. Not sure if he has already release this fix. I switch to the latest atmosphere a few hours ago after seeing that he is actively working on dmnt related issue.
I have seen some game that will crash after a while even when no code was ever activated. One that I can quite confidently say is
Minecraft Dungeons. If dmnt is ever attached after some time the switch crash and sometime the ugly kind that needs to long press power button to recover. My code has bug too. That stateA stateB feature has bug and will surely crash after some number of search. This pointer dumping part is quite stable for me. The pointer searching code can crash sometime, not often until it is not usable. I have more problem with it being too slow. What game are you using the pointer search function?


upload_2020-8-18_22-54-2.png
 
Last edited by TomSwitch,

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
Normally it takes no more than one minute. I have encounter crash also. Saw this yesterday. Not sure if he has already release this fix. I switch to the latest atmosphere a few hours ago after seeing that he is actively working on dmnt related issue.
I have seen some game that will crash after a while even when no code was ever activated. One that I can quite confidently say is
Minecraft Dungeons. If dmnt is ever attached after some time the switch crash and sometime the ugly kind that needs to long press power button to recover. My code has bug too. That stateA stateB feature has bug and will surely crash after some number of search. This pointer dumping part is quite stable for me. The pointer searching code can crash sometime, not often until it is not usable. I have more problem with it being too slow. What game are you using the pointer search function?


View attachment 221982
Call of the Juarez Gunslinger
3000th Duel
10.1.0/AMS 0.14.1

010000000000000D Atmosphère 0.14.1
0100000000001013 from you github
 

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,035
Trophies
1
Location
California
XP
6,028
Country
United States
Does this Version of EdiZon have a permanent Feature that Saves last Enabled Cheats? Need to be able to Disable that. Can cause Problems when a Game is Updated.
 

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
Does this Version of EdiZon have a permanent Feature that Saves last Enabled Cheats? Need to be able to Disable that. Can cause Problems when a Game is Updated.
My earlier modified version of dmnt will cause that to happen, I have already undo that with newer release. Now it will follow what is set in the system_settings.ini of atmosphere. You have to delete toggles.txt if it had already been created manually.

; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
dmnt_always_save_cheat_toggles = u8!0x0

With this setting if toggle.txt already exist it will load and save last enabled cheats otherwise it won't.

--------------------- MERGED ---------------------------

Call of the Juarez Gunslinger
3000th Duel
10.1.0/AMS 0.14.1

010000000000000D Atmosphère 0.14.1
0100000000001013 from you github
OK, I can take a look. I am at Atmosphère 0.14.1 Haven't update to 10.1.0 yet. Normally that shouldn't be a problem.
 
Last edited by TomSwitch,
  • Like
Reactions: Smoker1

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
Call of the Juarez Gunslinger
3000th Duel
10.1.0/AMS 0.14.1

010000000000000D Atmosphère 0.14.1
0100000000001013 from you github
Dump and search works fine for me. Dump takes just a few seconds. Search takes a long time. I recommend that you dump for PC.
I did the search for the bullet in gun. Requires depth 4 offset 5 and range 800. With lots of false hits. This is one of those game that the in app pointer search is not good enough. I abort (ZL+B) the search when 20 was found (didn't time, some minutes) , the search is presumable if you don't change the dump. Those found are added to the bookmark with the same label as the one you use to start the search. The next thing is to go to different stages and see what those bookmark points to and delete those that has the wrong value. Soon you will be down to just a few. Sometimes more than one can work. I am now down to 2 that works.
 
Last edited by TomSwitch,

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
Dump and search works fine for me. Dump takes just a few seconds. Search takes a long time. I recommend that you dump for PC.
I did the search for the bullet in gun. Requires depth 4 offset 5 and range 800. With lots of false hits. This is one of those game that the in app pointer search is not good enough.
oh ok but my concern is why it freeze when i click start search on pointer
 

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
oh ok but my concern is why it freeze when i click start search on pointer
Have no idea why. What else you have on your setup? Maybe out of memory? This is what I have extra from the plain atmosphere. If I had problem I would turn them all off. If I still have problem I would remove them from the contents folder.
2020081914075300-DB1426D1DFD034027CECDE9C2DD914B8.jpg
 
Last edited by TomSwitch,
  • Like
Reactions: Smoker1

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
i have 4gb space, iam trying to figure out now
The dump is small. 4G is more than comfortable. Ball park of 40Mbyte for pointer dump for this game. Some game may approach 300Mbyte. Most are closer to 100Mbyte. If you start a unknown value search then you need the 4Gbyte.
 
Last edited by TomSwitch,

jialeyne19

Well-Known Member
Member
Joined
Dec 22, 2016
Messages
175
Trophies
0
XP
689
Country
Philippines
The dump is small. 4G is more than comfortable. Ball park of 40Mbyte for pointer dump for this game. Some game may approach 300Mbyte. Most are closer to 100Mbyte. If you start a unknown value search then you need the 4Gbyte.
could you check this

1. i found ammo address
2. add to bookmark
3. clear the previuos results
4. go bookmark and highlight found address
5. press ZL+Y then search
6. traversing title memory [it freeze]
 

TomSwitch

Well-Known Member
OP
Member
Joined
Jan 10, 2019
Messages
4,440
Trophies
1
Age
44
XP
14,478
Country
United States
could you check this

1. i found ammo address
2. add to bookmark
3. clear the previuos results
4. go bookmark and highlight found address
5. press ZL+Y then search
6. traversing title memory [it freeze]
you need 3a. Press ZL+X, go ahead with search to get the dump needed for pointer search, you should end up with about 3M found candidates.
and
5. press ZL+Y and press + to start the pointer search
 
Last edited by TomSwitch,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/MddR6PTmGKg?si=mU2EO5hoE7XXSbSr