Post subject: Guidelines regarding uninitialised RAM
keylie
He/Him
Editor, Emulator Coder, Expert player (2840)
Joined: 3/17/2013
Posts: 392
In ff6, the encounter increment is a 16-bit value that increases by a constant at each step. When this increment reach a threshold, a battle happens. However, this increment is not initialised by the game. It is using the value stored in the RAM when the console powers on. With snes9x (at least 1.43 and 1.51), the entire RAM is set as 0x55. With Bizhawk 1.7.2, the RAM is initialised with what is seems to be random values (but same values every time). For my example, the increment set by Bizhawk is bad (0xFDFB) and a battle is triggered after the first step. I was wondering if it was possible to set other initial values of the RAM.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
It is not possible to specify initial RAM in Bizhawk SNES, other than by making a savestate-anchored movie.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
Yet. I am in full support of this feature and would like a good reason to build it. However, it is controversial to do anything other than the default emulator behavior :(
It's hard to look this good. My TAS projects
Twisted_Eye
He/Him
Active player (398)
Joined: 10/17/2005
Posts: 632
Location: Seattle, WA
My first thought is, hey, a TAS can manipulate anything else in a run, why not also manipulate the start of the run? By that I mean, if you can have the resources to peek at the memory in the first place, than you theoretically can do what it takes to set up the RAM for yourself before you start your run. How many games would benefit from this, anyway? I imagine a good chunk of games take a second to blank out the RAM before anything is read from it, or at least the parts that would get used. (Sure would be nice to have this feature for Ultima: Exodus for the NES, though, there's a glitch that can read from the untouched RAM during party creation that I would have looooved to manipulate when looking at it a couple years ago)
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
This topic came up before (somewhere here, iirc). Personally I don't think a movie should be able to change properties of the emulated systems (unless it starts from a savestate); it should only contain input that is physically available to real players. Of course you could reset the system in a TAS though.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
I will state now as I stated during the discussion that spawned from the Cheetahmen 2 submission. For every console where a bootstrap or BIOS doesn't initialize the RAM, setting the RAM to whatever is the most useful shall be allowed, AS LONG as that RAM state is possible on real hardware. I remember byuu writing something on his forum about some games crashing when some RAM ranges contained certain values.
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
Just to be clear: that some games crash when RAM ranges contain certain values cannot be taken as evidence that the certain values are impossible on real hardware.
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
creaothceann wrote:
This topic came up before (somewhere here, iirc).
Was it this topic?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
zeromus wrote:
Just to be clear: that some games crash when RAM ranges contain certain values cannot be taken as evidence that the certain values are impossible on real hardware.
Should have been clearer on that, thanks.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
In any case, do not forget this page.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Masterjun wrote:
creaothceann wrote:
This topic came up before (somewhere here, iirc).
Was it this topic?
Yes, thanks.
Former player
Joined: 5/4/2005
Posts: 502
Location: Onett, Eagleland
I'm not opposed to different RAM initializations, assuming they are cherry picked from known ones from actual consoles.
I think.....therefore I am not Barry Burton
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Pasky13 wrote:
I'm not opposed to different RAM initializations, assuming they are cherry picked from known ones from actual consoles.
If a TAS uses a certain RAM initialization, it should be fully disclosed in the description. Then users and judges can decide if 'Seems reasonable enough' or 'lol no, put the cosmic rays away'
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Former player
Joined: 5/4/2005
Posts: 502
Location: Onett, Eagleland
I don't agree. At that point, runs will be allowed if a certain RAM initialization allows lots of entertainment value, at which point, you're not using a <insert_console> and you're just hacking things to hell.
I think.....therefore I am not Barry Burton
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Pasky13 wrote:
I don't agree. At that point, runs will be allowed if a certain RAM initialization allows lots of entertainment value, at which point, you're not using a <insert_console> and you're just hacking things to hell.
But if you have to disclose all ram initialization you specified, then it'll become really obvious that it relies too much on it and people will vote 'no'
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu