ROM Hack Action Replay Randomizer

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,277
Country
United Kingdom
I don't think there is a specific function within any cheat code setup on cheat carts themselves, flash carts or homebrew offerings.

Three main approaches are then that I would consider.

1) You port the code in question to assembly and have a random on-off there. If you can port the code to assembly then this is two steps more.

2) You make some kind of accumulator in the AR code. This way it shuffles on and off every so many frames or whatever. The game might also have a number that always counts up and you could have it turn on or off accordingly, or if you are lucky and there are two numbers you can do a if this is greater than this AND this value is odd then execute. I don't have a particularly good source of constant randomness on the DS -- some might try the microphone but eh.

3) Have turn on and turn off set to different button combos (possibly single button) that you will hit during play. Randomise these button combos a bit so you don't know what does what and add them as the cheats. Eventually you might figure out what does it for that game but you can always change for next time. It should be possible to have multiple buttons doing different things. You could even combine it with 2) in some manner to only turn on when a given number in the game is odd or even, greater than/less than a given number or something like that.
 
  • Like
Reactions: dahacker2019

dahacker2019

Well-Known Member
OP
Newcomer
Joined
Dec 21, 2018
Messages
67
Trophies
0
Age
22
Website
www.youtube.com
XP
189
Country
United States
I don't think there is a specific function within any cheat code setup on cheat carts themselves, flash carts or homebrew offerings.

Three main approaches are then that I would consider.

1) You port the code in question to assembly and have a random on-off there. If you can port the code to assembly then this is two steps more.

2) You make some kind of accumulator in the AR code. This way it shuffles on and off every so many frames or whatever.

Done this already

1) You port the code in question to assembly and have a random on-off there. If you can port the code to assembly then this is two steps more.

I've found values like this but they are the same eventually. So it's not TRUE Random.

2) You make some kind of accumulator in the AR code. This way it shuffles on and off every so many frames or whatever.
 
Last edited by dahacker2019,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,277
Country
United Kingdom
It occurred to me on the assembly porting option (that would be 1) in the list) I meant as an AR code, not the you find the sub that subtracts one from ammo count and change it to a mov or add or something. Seems you got that but write as though someone else might benefit from it and all that.

As for the other thing the appearance of randomness (might not even have to technically qualify as pseudorandom) is surely good enough for this purpose -- it is not like any encryption is needed. Or if you prefer find or make two (or three or four) values and then do something based upon those.
 

zeen

New Member
Newbie
Joined
Sep 8, 2023
Messages
1
Trophies
0
Age
29
XP
4
Country
Spain
How to make a code randomly execute? Help would be appreciated!

Where you able to find a solution?
I'm facing a similar problem with my Pokemon Black (USA). I want to run the guaranteed shiny encounter code, but only 1/64 of the times. I can't find a way to do it with AR codes.

Thanks for your response!
 
Last edited by zeen,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,277
Country
United Kingdom
Two options in addition to what I wrote above.

1) You find some aspect of code that is only on 1/64th of the time (or 63/64ths I guess and do a inverse) and then have the AR code only turn on (or if it is an assembly/binary altering code* then write the original code back in when it is off) accordingly. There are usually all sorts of counters going on in games -- if nothing else there is probably something counting the number of seconds for your game time or a clock which means 1 in 64 is going to look more like 1 in 60 (hopefully the difference is not too game breaking) plus whatever happens "naturally". Do something like if seconds = 42 (or blank everything else and seconds part of the clock = 42) then set cheat on, if not set it off. Shiny calculations probably happen very quickly so hopefully it would only be a matter of it being on when a new random battle starts/gets initiated. There are some people doing frame accurate speedruns that might time things accordingly if they figure out how to do it but easy enough to stick a different number in each boot and not have it be known to the player/who cares about those people.

*the DS binary sits in memory which means it is in range of basic cheat engines in a way more reminiscent of the power of game genies of old rather than action replays/codebreakers/memory editing cheats of old.

2) I have seen some run throughs of the shiny pokemon maths and what has to be done for certain games to have it happen, though it was probably an earlier entry in the franchise (was something about a random number associated with a trainer ID matching a random number made before each battle).
If it is like some of those then harder than some other multiplier cheats. Though at the same time a few things went into them which means you could possibly put a thumb on the scales a bit more; rather than the 1 in 1000 or whatever it is chance you do a mask which means the most of the numbers are guaranteed to match say your trainer ID or whatever it is and leaving only a few to the random chance aspect (I might have a 1000 digit number that is never going to randomly be the same as another 1000 digit number before the heat death of the universe but if 996 of those numbers are fixed in one of them to be the same then we now have the chances of 4 digits matching instead).

Your job would then be to understand how the shiny calculations work and possibly how the existing cheats work.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • BakerMan @ BakerMan:
    click link (the chain icon), then paste the link without adding text for the link to say
    +1
  • BakerMan @ BakerMan:
    that's how you embed
  • K3Nv2 @ K3Nv2:
    Or just hit edit
  • Sicklyboy @ Sicklyboy:
    This newfangled shoutbox always trips me up
  • K3Nv2 tempBOT:
    K3Nv2 rolls 1d6 and gets 2 (2).
  • BakerMan @ BakerMan:
    how do you roll a die?
  • BigOnYa @ BigOnYa:
    with your hands, duh. Well uremum has a party trick that she uses something else
  • BakerMan @ BakerMan:
    in chat i mean
  • BakerMan @ BakerMan:
    and what if i don't have any hands? (i mean, i do (duh), but what if i didn't?)
  • K3Nv2 @ K3Nv2:
    Uremum is in the chat and she told me you're grounded
    +1
  • BakerMan @ BakerMan:
    cap
  • Xdqwerty @ Xdqwerty:
    Uremum's mum grounded her
  • K3Nv2 @ K3Nv2:
    This is Bakermans mum you're grounded no internet
    +1
  • BigOnYa @ BigOnYa:
    He must be listening, no response
  • K3Nv2 @ K3Nv2:
    Well he shouldn't have used chatgpt to do his homework
    +1
  • Xdqwerty @ Xdqwerty:
    Wut
  • HiradeGirl @ HiradeGirl:
    I got crabs
  • Xdqwerty @ Xdqwerty:
    The crustacean or the disease?
  • K3Nv2 @ K3Nv2:
    Well we warned you about Juan
    +4
  • wolffangalchemist @ wolffangalchemist:
    I personally love seafood.
  • Xdqwerty @ Xdqwerty:
    Good night
  • BakerMan @ BakerMan:
    i personally dislike seafood
  • BakerMan @ BakerMan:
    except tuna salad, a tuna melt fucking slaps dude
    BakerMan @ BakerMan: except tuna salad, a tuna melt fucking slaps dude