Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
Ex Mods Poll Opinions (+current IK +current mod)
This poll is closed.
Relax or Die: i'll tell you what it is: posting theft 10 0.07%
ShallNoiseUpon: i have reported oddium for stealing posting valor i hope the moderators will sort this out post haste 14 0.09%
Cheetah7071: more like snoreson smells 18 0.12%
Oddium: no poll for solidarity with mobile users 36 0.24%
Metis: I promise never to interfere in poll results 15001 99.46%
Hmmmmmm. 4 0.03%
Total: 15083 votes
[Edit Poll (moderators only)]

 
  • Post
  • Reply
FirstAidKite
Nov 8, 2009

Adbot
ADBOT LOVES YOU

Bad Video Games
Sep 17, 2017


homeless snail posted:

depending on what cfw you're using, you shouldn't even have to dump and patch it yourself, some of them can do realtime patching. like for instance luma https://gist.github.com/figgyc/0d31b77fc6e4e8f9a49399d392740d46

otherwise it should be pretty much the same, you just put the rom back on the 3ds when you're done instead of loading it in an emulator, might have to make a cia out of it idk

poo poo, Luma can do it?

Now I just need to figure out if I want to pay for a second copy of this game. Finding 3DS roms is difficult.

grieving for Gandalf
Apr 22, 2008

do you not just directly steal them from Nintendo anymore

Boba Pearl
Dec 27, 2019

by Athanatos

grieving for Gandalf posted:

do you not just directly steal them from Nintendo anymore

No but they're very easy to find.

homeless snail
Mar 14, 2007

grieving for Gandalf posted:

do you not just directly steal them from Nintendo anymore
they realized that maybe they should check whether people actually own games before they let you download them, and shut that down

grieving for Gandalf
Apr 22, 2008

that is a crying shame. that was the funniest part of the whole operation. I played Breath of the Wild an entire week early!

I said come in!
Jun 22, 2004

Demon's Souls update; I beat Phalanx boss. I started a new character using the magic user build this time, much easier time.

Happy Noodle Boy
Jul 3, 2002


I said come in! posted:

Demon's Souls update; I beat Phalanx boss. I started a new character using the magic user build this time, much easier time.

:getin:

Booky
Feb 21, 2013

Chill Bug


more like golden sun dork dumb!!!!

Red Alert 2 Yuris Revenge
May 8, 2006

"My brain is amazing! It's full of wrinkles, and... Uh... Wait... What am I trying to say?"

Booky posted:

more like golden sun dork dumb!!!!

Jay Rust
Sep 27, 2011

Talk about a golden pwn...

Jay Rust
Sep 27, 2011

Hey here are some things that are usually portrayed as traumatic in fiction:

1. Finding out you were adopted
2. Finding out you were the result of an unwanted pregnancy

I get why the first one might be upsetting, though I personally wouldn’t be that affected I think, if it ever happened to me. If anything it would make me love my parents even more

The second one though, why would you care, why does Homer Simpson get so upset at grandpa

Waffleman_
Jan 20, 2011


I don't wanna I don't wanna I don't wanna I don't wanna!!!

More like Golden Buns, as in this game is rear end!

Looper
Mar 1, 2012

Booky posted:

more like golden sun dork dumb!!!!

you can't handle the truth!

Mix.
Jan 24, 2021

Huh? What?


Jay Rust posted:

The second one though, why would you care, why does Homer Simpson get so upset at grandpa

I feel like this one would be traumatic mostly if it's compounded with other anxiety/abuse, because it could make a lot of stuff click into place in regards to how your parents raised you (or didnt), but that kind of still puts the trauma firmly on something separate. As someone who had the 2 result in the 1 it never personally bugged me, but I'm just one person lol

Looper
Mar 1, 2012

Walla posted:

poo poo, Luma can do it?

Now I just need to figure out if I want to pay for a second copy of this game. Finding 3DS roms is difficult.

there should be an archival site on the internet that can help you

cheetah7071
Oct 20, 2010

honk honk
College Slice

Booky posted:

more like golden sun dork dumb!!!!

I post my heart out and the only reply is pages later, booky absolutely destroying me

FirstAidKite
Nov 8, 2009

Jay Rust posted:

The second one though, why would you care, why does Homer Simpson get so upset at grandpa

Idk about the case for homer and abe but unwanted pregnancies can run the spectrum of "accident" to "rape" and usually the way a child is treated is made worse knowing that the child was never intended to be brought into this world at best and at worst is seen a constant reminder of a traumatic event for the parent.

It's easy for it to be a simple case of a mistake that isn't held over the child's head and isn't used as justification for a parent to abuse the child but usually when it is being used as a source of trauma, it's in addition to a bunch of other issues like abuse and neglect.

Looper
Mar 1, 2012

Booky
Feb 21, 2013

Chill Bug


Looper posted:

you can't handle the truth!

the truth........ of disappointy...? :ohdear:

cheetah7071 posted:

I post my heart out and the only reply is pages later, booky absolutely destroying me

:( i liked ur post cheetah!! but, the phrase struck me when i was done catching up on da thread...

CharlieFoxtrot
Mar 27, 2007

organize digital employees



I don't know what golden sun is

cheetah7071
Oct 20, 2010

honk honk
College Slice

CharlieFoxtrot posted:

I don't know what golden sun is

A JRPG duology for the GVA with incredible graphics and music, a really cool class system, puzzle dungeons, and a cool story told somewhat tediously. Notable for being a lot of nintendo kids' first non-pokemon rpg.

The one I played was the DS sequel which was all set up to be the first in another pair but bombed so hard the series died, again

Roach Warehouse
Nov 1, 2010


Genuinely pretty into the storytelling swerve between GS1 and 2 that (overall plot structure spoiler for a game that’s a billion years old) the first game’s villains were assholes but they were right.

Regy Rusty
Apr 26, 2010

Personally I can't forgive 'em for the part where you murder a giant bird for basically no reason

cheetah7071
Oct 20, 2010

honk honk
College Slice
When you think about it, Saturos and Menardi are ecoterrorists

Roach Warehouse
Nov 1, 2010


Not to mention their names are seared into my brain as the archetypical “cool aloof anime villain” names.

Roach Warehouse
Nov 1, 2010


Taking Felix GoldenSun2 to court for his unprovoked murder of the Greek god Poseidon.

cheetah7071
Oct 20, 2010

honk honk
College Slice
It wasn't unprovoked Poseidon was blocking important shipping lanes

Roach Warehouse
Nov 1, 2010


Here’s me killing Sobek to dislodge the Ever Given from the canal.

CharlieFoxtrot
Mar 27, 2007

organize digital employees





Persona with Olympic commentary.

Also they had their sushi celebration today so I think I should get some soon

cheetah7071
Oct 20, 2010

honk honk
College Slice
the ocarina of time any% speedrun is now dependent on an undocumented bug in the wii processor which nobody, even the people who wrote the dolphin emulator, knew about

Infinitum
Jul 30, 2004


cheetah7071 posted:

the ocarina of time any% speedrun is now dependent on an undocumented bug in the wii processor which nobody, even the people who wrote the dolphin emulator, knew about

https://i.imgur.com/lUIlU4l.mp4

cheetah7071
Oct 20, 2010

honk honk
College Slice

how sweaty do you want to get on processor level instructions cause it's over my head. The following explanation may be wrong.

Most processors of the era write values to memory in 4-byte chunks called words. The entirety of memory is broken up into words, and the vast majority of the time you write the full 4 bytes into one of those words. However, the wii processor supports writing words to any memory address, not just to the beginning of a word. So you can tell it to write these four bytes halfway into a word--and it'll write the first two bytes at the end of that word, and the next two byes at the beginning of the next word. Notably, it actually is doing two write instructions, under the hood. Also note that this is something that will never occur normally because no compiler will ever generate code that does it, and no sane programmer will ever intentionally do it either. It's basically a superfluous feature. The N64 processor doesn't support it, so if you try to do this in the N64 version of OoT, the game crashes.

The wii memory is split into multiple sections, but for our purposes we just care if the memory address is low or high. If it's low, then everything works fine, and there's no bugs. If it's too high, then the normal processes don't work for reasons I don't remotely understand, and the addresses have to be processed by a memory handler for the write to occur. It's this that's bugged--if you pass a word-misaligned write instruction in the high part of memory to the memory handler, it'll bug out and instead of writing only the data you want, will repeat that data in a loop over the entirety of all the double-words that the write touches. This ends up writing the word you instructed it to write, four times over. An example from the bug report on Dolphin:

quote:

Using the Any% route as a concrete example:
We are writing the word E02D0043 to the address C01C5557. The memory in the destination region looks like this in Dolphin after the write:
C01C5550: ????????
C01C5554: ??????E0
------------------ doubleword boundary
C01C5558: 2D0043??
C01C555C: ????????
On real Wii hardware, however, we get the following:
C01C5550: 2D0043E0
C01C5554: 2D0043E0
------------------ doubleword boundary
C01C5558: 2D0043E0
C01C555C: 2D0043E0

As you can see, Dolphin does the thing that makes sense, instead of duplicating this bug that nobody knew about and would never occur under normal circumstances. Majora's Mask and Ocarina of Time are such busted games that you can tell the processor to perform arbitrary instructions--including, as in the example from Majora's Mask any% in the quote, "write E02D0043 to address C01C5557", a line of code that no sane person or compiler would ever produce.

As for how any of this helps the speedrun. Um. I dunno. But it saves 15 seconds in OoT. I'm not sure about MM.

haveblue
Aug 15, 2005



Toilet Rascal

cheetah7071 posted:

As for how any of this helps the speedrun. Um. I dunno. But it saves 15 seconds in OoT. I'm not sure about MM.

At a guess, they found a specific word in high memory that controls some part of game state that wasn't manipulable before, but through this bug it is. So you issue the bad write (how to do this in the course of playing the game with a controller is its own challenge) and then something gets skipped that otherwise would have taken 15 seconds to play through

Last Celebration
Mar 30, 2010

cheetah7071 posted:

how sweaty do you want to get on processor level instructions cause it's over my head. The following explanation may be wrong.

Most processors of the era write values to memory in 4-byte chunks called words. The entirety of memory is broken up into words, and the vast majority of the time you write the full 4 bytes into one of those words. However, the wii processor supports writing words to any memory address, not just to the beginning of a word. So you can tell it to write these four bytes halfway into a word--and it'll write the first two bytes at the end of that word, and the next two byes at the beginning of the next word. Notably, it actually is doing two write instructions, under the hood. Also note that this is something that will never occur normally because no compiler will ever generate code that does it, and no sane programmer will ever intentionally do it either. It's basically a superfluous feature. The N64 processor doesn't support it, so if you try to do this in the N64 version of OoT, the game crashes.

The wii memory is split into multiple sections, but for our purposes we just care if the memory address is low or high. If it's low, then everything works fine, and there's no bugs. If it's too high, then the normal processes don't work for reasons I don't remotely understand, and the addresses have to be processed by a memory handler for the write to occur. It's this that's bugged--if you pass a word-misaligned write instruction in the high part of memory to the memory handler, it'll bug out and instead of writing only the data you want, will repeat that data in a loop over the entirety of all the double-words that the write touches. This ends up writing the word you instructed it to write, four times over. An example from the bug report on Dolphin:

As you can see, Dolphin does the thing that makes sense, instead of duplicating this bug that nobody knew about and would never occur under normal circumstances. Majora's Mask and Ocarina of Time are such busted games that you can tell the processor to perform arbitrary instructions--including, as in the example from Majora's Mask any% in the quote, "write E02D0043 to address C01C5557", a line of code that no sane person or compiler would ever produce.

As for how any of this helps the speedrun. Um. I dunno. But it saves 15 seconds in OoT. I'm not sure about MM.

Unironically can’t wait for the OOT Summoning Salt episode that explains how the speed running scene was revolutionized by this new obscure fifteen second skip.

cheetah7071
Oct 20, 2010

honk honk
College Slice
This is not the first time extremely broken N64 virtual console games have produced bug reports for dolphin. I'm not sure if this is always or only under certain circumstances, but the wii and N64 round numbers differently. It's like, if you have a calculator with only space for five digits, and you input 2/3, you'll get 0.6667 on most of them. The wii did the equivalent of reporting 0.6666, always rounding toward 0 rather than towards the nearest displayable number. Except instead of 5 decimal digits, it was either 32 or 64 binary digits. This was important for the Mario 64 A button challenge. If you round towards the nearest, small imprecisions will tend to cancel out over time, as you round up and down equally often. But if you always round towards 0, small imprecisions will stack up and cause values to go towards 0 over extremely long periods of time. If, say, you were updating the position of an object using a trigonometry function, that object's position would trend towards zero very slowly.

Which, of course, is exactly what happens with the rising and sinking platforms in the lava in bowser in the fire sea. If you wait on them for three days in the wii version of mario 64, you can skip pressing A once.

cheetah7071
Oct 20, 2010

honk honk
College Slice

haveblue posted:

At a guess, they found a specific word in high memory that controls some part of game state that wasn't manipulable before, but through this bug it is. So you issue the bad write (how to do this in the course of playing the game with a controller is its own challenge) and then something gets skipped that otherwise would have taken 15 seconds to play through

Well, the game was already using arbitrary code to skip straight to the credits. It's just that the old setup took 15 seconds longer. I suspect you're right, and they're using it to write to a location which is kind of slow to write to directly

cheetah7071
Oct 20, 2010

honk honk
College Slice
The broad outline of OoT any% is:

1) Watch the intro cutscene. This is over half the run.
2) Get the sword and 55 rupees, and buy the shield and deku nuts.
3) Activate two different camera glitches in sequence which make it possible for link to move without the camera following Link. (These glitches are why you need any items at all)
4) Pick up a rock at the same time as you activate the glitches. The rock is now far enough from the camera that it gets culled, which is a fancy word meaning "This item isn't important right now. Feel free to use the memory you were using on it on something else."
5) Load something into memory in the rock's location that represents a function call.
6) Use the normal control you have over held objects to manipulate things like the location and angle of the "rock", to make the function call point to your filename, instead of to legitimate code
7) Your filename, interpreted as code, causes the credits to play

This new bug speeds up steps 6 and 7 but I don't pretend to know how

Ometeotl
Feb 13, 2012



It's MISSEL! Or SISSLE!
I confused myself...



I like making Link roll into solid objects

Adbot
ADBOT LOVES YOU

Infinitum
Jul 30, 2004


Ometeotl posted:

I like making Link roll into solid objects

Roll into solid objects until it reprograms the game.


cheetah7071 posted:

01001000 01100101 01100011 01101011 01101001 01101110 00100000 01100011 01101111 01101111 01101100 00100000 01101110 01100101 01110010 01100100 01101111 00100000 01110011 01101000 01101001 01110100

Excellent write up. Thank you.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply