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.
 
  • Post
  • Reply
Not My Leg
Nov 6, 2002

AYN RAND AKBAR!

FredMSloniker posted:

The rant that precedes the video is, um, interesting. I know this isn't the thread to ask, so if anyone here knows somewhere I can get an executive summary of all the horrible the NFL's been up to that he's reacting to (I don't follow football, y'see), shoot me a link and we can get back to game glitches.

Here's a rundown on the specific issues he raises.

quote:

There are eight stars on the NFL's logo. They stand for the long-term mental and physical trauma of its own people

Kind of self explanatory. Football is a physical sport that not only produces acute injury, but long term physical and psychological damage. Former NFL players have committed suicide, likely with Chronic Traumatic Enchephalopathy (CTE) as a contributing factor. Other former players have significant difficulty performing every day tasks, or have significant memory damage, because of football. As he says, football shortens lives.

quote:

the eagerness to lie about that trauma

For a long time the NFL ignored and covered up evidence of long term harm, and did things that actively made long term damage worse, like throwing concussed players back into games and drugging up players to play through injury (some of whom have ended up addicted to painkillers, or have suffered long term damage from medications).

quote:

the stubborn refusal to offer the assistance they deserve

The NFL has fought tooth and nail to avoid paying retired players to cover the myriad health problems that playing in the NFL inflicted on them. Many of these players played in the era before monster contracts, so without the NFL providing, it is difficult to get the treatment they need. Former players have had to bring class action lawsuits against the NFL over concussions and other injuries.

quote:

the unmistakable contempt of women

The NFL had to deal with a very public instance of domestic violence involving Ray Rice. Before the NFL realized how big a backlash there would be, they gave Rice a slap on the wrist. Once they realized they messed up, they tried to go back and suspend him forever. Problem is, Ray Rice only got the severe punishment because it was on tape, other players still get away with short suspensions. There's also points to be made about cheerleaders, and about most broadcast teams being men calling the game, with an attractive woman as the sideline reporter, but blame for that falls on the networks as well, and it's hardly unique to football.

quote:

the proud defense of a racial slur

A team is named the Redskins, the owner defends it, and the NFL doesn't do anything about it.

quote:

the weird financial paradise of a for-profit disguised as a non-profit

The NFL is technically a non-profit "trade association" under the tax code. It got the exemption back in the 1940s, and had it confirmed by Congress in the 1960s. The teams within the NFL are not non-proft entities, but the NFL is. In practice, this means that the teams can transfer huge amounts of money to the league as "league dues" and fees, and the teams can deduct that money as a business expense (from 2012-2013 teams transferred more than $325 million to the NFL). Other sports leagues also take advantage of this loophole, and in total, the amount of taxes avoided isn't huge, probably $10-$11 million per year, but it's still ridiculous.

quote:

the $168.57 a schoolteacher spends on his own supplies for his second-grade class because Roger needs tax money to pour some more concrete by the waterfront

The NFL routinely threatens to relocate teams to Los Angeles unless host cities pony up a bunch of tax revenue to build a new stadium, because the billionaire owners can't afford it. This isn't exactly unique to the NFL, and honestly, if cities are willing to do it, I'm not sure why the NFL wouldn't take advantage. This is also probably part of the reason LA still doesn't have a team, despite being the 2nd biggest media market in the country. It's more valuable to the NFL as a place a team might relocate to, than it is as a place that actually has a team.

quote:

and probably the Dallas Cowboys.

The Dallas Cowboys are "America's Team." Also, gently caress the Dallas Cowboys.

Adbot
ADBOT LOVES YOU

FredMSloniker
Jan 2, 2008

Why, yes, I do like Kirby games.

Not My Leg posted:

The Dallas Cowboys are "America's Team."

Really? I would have assumed the Patriots were.

Light Gun Man
Oct 17, 2009

toEjaM iS oN
vaCatioN




Lipstick Apathy
Or that all NFL teams are, because we're the only country that gives a poo poo about football.

Ashsaber
Oct 24, 2010

Deploying Swordbreakers!
College Slice
While the Supe Mario World Glitches on the last couple pages were neat, they don't really beat this one, which programs two games into the game as its running.

-Zydeco-
Nov 12, 2007


Ashsaber posted:

While the Supe Mario World Glitches on the last couple pages were neat, they don't really beat this one, which programs two games into the game as its running.

Ahem...

https://www.youtube.com/watch?v=MjmxmPwmfOk&t=1380s

E:
Here's a shortcut to the other amazing total control glitch in that video
https://www.youtube.com/watch?v=MjmxmPwmfOk&t=2160s

For those not familiar with AGDQ, they use twitch chat and TASbot has hijacked a Pokemon Red Cartridge, Super Game Boy adapter, and Super Nintendo to display twitch chat in real time complete with emotes.

-Zydeco- has a new favorite as of 01:50 on Jan 29, 2015

Finisher1
Feb 21, 2008

-Zydeco- posted:

Ahem...

https://www.youtube.com/watch?v=MjmxmPwmfOk&t=1380s

E:
Here's a shortcut to the other amazing total control glitch in that video
https://www.youtube.com/watch?v=MjmxmPwmfOk&t=2160s

I'm sure there's a reasonable explanation for stuff like this, but when I see it in action it just looks like witchcraft.

Hackers film 1995
Nov 4, 2009

Hack the planet!

Finisher1 posted:

I'm sure there's a reasonable explanation for stuff like this, but when I see it in action it just looks like witchcraft.

I only read this thread in the hopes that someday someone will briefly explain how this is possible and how they do it.

Sentient Data
Aug 31, 2011

My molecule scrambler ray will disintegrate your armor with one blow!
They use glitches to make the game do what they want, then they "attack" the GB Player's firmware to get it to do what they want, then they use that direct control to basically load a different program into the SNES that they want. From there they're running whatever game they feel like and in the twitch case, and all 4 controller ports are basically acting as one large serial bus. The laptop is dumping data through the controllers in what amounts to a standardized protocol that can be read by the program on the SNES, then that program takes the data and constantly dumps text to the screen. The SNES itself isn't logging into twitch, but that doesn't make the total control less impressive

Rigged Death Trap
Feb 13, 2012

BEEP BEEP BEEP BEEP

Finisher1 posted:

I'm sure there's a reasonable explanation for stuff like this, but when I see it in action it just looks like witchcraft.

So basically what he is doing is wresting memory control from the game by following a certain set of events that allow him to access memory that would be completely out of reach with normal play, then using the input from the controller they are directly writing bits into the memory, feeding in machine code bit by bit into memory.

So a simplified and abstracted example:
The 6 Pokemon you can have are stored in one area of memory: XXXXXX|----------|YYYYY (where |---| is where the pokemon are stored
due to how the game was coded when you try to move a pokemon to that position it does not recognize that this is not valid and actually puts them in Area Y, overwriting other bits in memory that can either be sprite data, storage bits or, what these guys are aiming for, the code that runs the game.

Input from the controller can now be used to directly write bits and data into memory.

You can guess then if they then get free access to the memory they can do pretty much whatever.

Aristophanes
Aug 11, 2012

Quickly, bring me a beaker of wine, so that I may wet my mind and say something clever!
So, in the case of Super Mario World, they're accessing memory through a whole heap of seemingly random moves, and then, once given control, they need to input the code through the controller, without dying in the game? Because I can sort of see how doing all that fancy item menu shufflin' in Pokemon works to rewrite the memory, but I'm kind of at a loss with SMB.

Hackers film 1995
Nov 4, 2009

Hack the planet!

I just have trouble understanding how a controller can get in. I understand that once you are in you can program stuff, but I imagine controller input as just button mashing and my mind can't make sense of it (because a computer accomplishes it).

So I guess I am just gonna have to watch Hackers again and let Zero Cool show me the way.

Double Punctuation
Dec 30, 2009

Ships were made for sinking;
Whiskey made for drinking;
If we were made of cellophane
We'd all get stinking drunk much faster!

Wiggles Von Huggins posted:

I just have trouble understanding how a controller can get in. I understand that once you are in you can program stuff, but I imagine controller input as just button mashing and my mind can't make sense of it (because a computer accomplishes it).

So I guess I am just gonna have to watch Hackers again and let Zero Cool show me the way.

They write a program using something like the inventory or the items Yoshi eats that says:

  1. Set variable x to some memory address the TASer picks (say, 1000).
  2. Read which buttons are pressed and convert that to a number. (e.g. left+right+A might be 11001000 in binary.)
  3. Store the number in memory address x.
  4. Increment x.
  5. Wait until the display refreshes (every 1/60th of a second for North America and Japan).
  6. If x < some other memory address greater than 1000 the TASer picks (say, 2000), go to Step 2.
  7. Execute the code at memory address 1000.

FredMSloniker
Jan 2, 2008

Why, yes, I do like Kirby games.

Wiggles Von Huggins posted:

I just have trouble understanding how a controller can get in. I understand that once you are in you can program stuff, but I imagine controller input as just button mashing and my mind can't make sense of it (because a computer accomplishes it).

First, they arrange data in memory to be code they can execute (the seemingly random moves in Super Mario World are arranging its memory of the state of the world in a very specific way). Then they use a bug in the game to cause it to execute that code. There are pretty strict limits on how much, and what kind of, code they can put there through these means, but if they're careful, they can make a program that will read the controllers every tick (typically 60 times a second) and, based on their position, write a value to memory. The controller inputs, so fast that only a TAS can handle them, provide a series of values that is also computer code; once the inputs signal that the code is done, the original 'bootstrap' program calls the code that's just been created. It's not unlike what happens when your computer starts up; it has a built-in program that's just sophisticated enough to load the very basics of the operating system from disk, and those basics then layer on more and more until you have your Windows or your Linux or what have you.

Fake edit: beaten, but hopefully explaining it in more than one way will help.

Babe Magnet
Jun 2, 2008

actually all of that is nonsense, the truth is that cybermancers are real

Arsonist Daria
Feb 27, 2011

Requiescat in pace.
Christ guys, he can understand conceptually how it works, but it's so removed from actually playing a game that it seems like insanity.

Also cybermancers are definitely real, watch out for those bastards.

Haruharuharuko
Mar 24, 2008

Yeah I lied; so what is the truth?

Lumberjack Bonanza posted:

Also cybermancers are definitely real, watch out for those bastards.



AC:Unity being AC:Unity
http://giant.gfycat.com/FeminineZealousAsianpiedstarling.webm

Haruharuharuko has a new favorite as of 10:18 on Jan 31, 2015

RatHat
Dec 31, 2007

A tiny behatted rat👒🐀!
Not so much a glitch as a weird quirk.

https://www.youtube.com/watch?v=S13kVzaDQYI

In GTA 5 when you get on a motorcycle you put on a helmet that comes from nowhere and when you get off your character takes it off and throws it in the ground. Well if you keep getting off and on a motorcycle you'll accumulate a pile of helmets and if you do it long enough you can even crash the game.

Note that this is the PS3/360 version of GTA 5 and it might not work on the PC and PS4/Xbone versions.

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug

Wiggles Von Huggins posted:

I just have trouble understanding how a controller can get in. I understand that once you are in you can program stuff, but I imagine controller input as just button mashing and my mind can't make sense of it (because a computer accomplishes it).

So I guess I am just gonna have to watch Hackers again and let Zero Cool show me the way.

OK, some super technical explanation because I'm studying computer science and am supposed to know this poo poo.

Everything in computers is nothing but zeros and ones. Absolutely everything. Older consoles did not have RAM (random access memory) like your computer ultimately has. Not really, anyway. This is because there was a severely limited amount of memory available so programmers not only had tighter control of it by necessity but tightly controlled it in general. Now, mind that the game's code as well as the game's data are loaded into memory. This is just how computers work; everything exists in memory from the program's code to its data to even where the program is. You can access all of it. A program is basically just a long set of instructions. Everything in a program ultimately boils down to machine code, which is a rather small set of explicit commands that a processor can actually do, which is once again just zeros and ones. Computers are really just stupid machines that do whatever you tell them.

Now, remember that I said "the entire program." That includes how to process input. When you push a particular button an electronic signal ultimately lands in the program which then sees that and goes "OK, do this." That is stored in memory somewhere. However, as memory is severely limited the control of where crap was stored was very tight. During that era of programming the limitations on space were extreme so there was hard limits put on lots of things, up to and including where instructions were stored. Basically what they're doing to get access to rewriting the memory is flooding the program with too many things going on at once to process. This is less of an issue with current consoles. Now, the Super Nintendo had memory measured in kilobytes. This is the most important thing to consider. kB are tiny now that we have memory in the gigabytes. That ran out fast so programmers had to tightly control what went where and plan for anything that could possibly happen "within regular use."

Note "within regular use;" these are things that would never happen within regular play. However, people deliberately breaking the game using sufficient technical know how can figure out where exactly the input is stored to be processed and then figure out the sequence of actions to break it. Once again, these are sets of actions that will just flat out not ever happen in regular play and it's why you see them doing absolutely ridiculous poo poo when trying to do this sort of thing. Much of it relies heavily on examining the code of the game. Once again there were severe size limitations and the games themselves were ultimately fairly small. If memory serves they were also generally written using raw machine code even up to the SNES area to make the programs even more compact. This also makes it much easier to analyze the code as anybody with enough knowledge of how the SNES works and machine code could figure out exactly what happens and where.

Now that is the key part; once the code has been analyzed you can figure out how to break it. It looks like magic but what they're doing is planned out very specifically ahead of time to force the program into a state that they can use to overwrite the game within memory. Remember that I said every program is a set of instructions that exists in memory. Once they have the pointer that writes controller instructions into memory pointing toward the game code they can input a crap load of ones and zeros in and write a totally new program. They aren't forcing the game to do something unusual they are literally rewriting its code.

President Ark
May 16, 2010

:iiam:
It also helps that early consoles really didn't have any sanity checking. More recent consoles have some stuff that keeps an eye on everything and goes "Woah, hey, what the gently caress is going on here, this poo poo ain't right" and either backs out or force-ends (crashes) the program if it starts doing really wacky poo poo. But because early consoles had so little memory as ToxicSlurpee says, they couldn't affort to have that sort of sanity checking in place so if you could figure out how to crash them just so they basically had to accept whatever happened after that and couldn't say "This poo poo ain't right."

This was especially prevalent in the Pokemon games because on top of being on the Gameboy (which was extremely limited in terms of memory), they also had a shitload of stuff going on at once and things that needed to be loaded into memory at once - the "you have to manually switch PC boxes when one fills up" thing wasn't just bad UI design, it literally had to be done like that because having free access to all the boxes all the time was too much for the gameboy. So they have a lot of weird poo poo going on in order to make sure that it can all run, and as a result are a lot more vulnerable to things happening in even slightly the wrong order, and then there's no sanity checking so you wind up with poo poo like item duping and missingno and rewriting the game.

General Specific
Jun 22, 2007

I had one of those, but the front wheel fell off and I had to get rid of it.
If one of these guys discovers he's living in the Matrix, we'll be set free in about a week.

Zereth
Jul 9, 2003



General Specific posted:

If one of these guys discovers he's living in the Matrix, we'll be set free in about a week.
You do realize these things involve a lot of experimentation too? Especially if you can't examine a code dump.

We'd all be dead or trapped in horrible glitchy hells in a week.

Finisher1
Feb 21, 2008

President Ark posted:

It also helps that early consoles really didn't have any sanity checking. More recent consoles have some stuff that keeps an eye on everything and goes "Woah, hey, what the gently caress is going on here, this poo poo ain't right" and either backs out or force-ends (crashes) the program if it starts doing really wacky poo poo. But because early consoles had so little memory as ToxicSlurpee says, they couldn't affort to have that sort of sanity checking in place so if you could figure out how to crash them just so they basically had to accept whatever happened after that and couldn't say "This poo poo ain't right."

This was especially prevalent in the Pokemon games because on top of being on the Gameboy (which was extremely limited in terms of memory), they also had a shitload of stuff going on at once and things that needed to be loaded into memory at once - the "you have to manually switch PC boxes when one fills up" thing wasn't just bad UI design, it literally had to be done like that because having free access to all the boxes all the time was too much for the gameboy. So they have a lot of weird poo poo going on in order to make sure that it can all run, and as a result are a lot more vulnerable to things happening in even slightly the wrong order, and then there's no sanity checking so you wind up with poo poo like item duping and missingno and rewriting the game.

Is there a hard limit to which console generation could have a total control glitch achieved on it? Most of the ones I've seen have been for 8 and 16-bit consoles, but what about later stuff?

FredMSloniker
Jan 2, 2008

Why, yes, I do like Kirby games.

Finisher1 posted:

Is there a hard limit to which console generation could have a total control glitch achieved on it? Most of the ones I've seen have been for 8 and 16-bit consoles, but what about later stuff?

Well, they still exist, but now that manufacturers are aware they can exist, and now that systems can have their firmware patched, the ones that are found are quickly eliminated. After all, if you can execute arbitrary code on (say) an X-Box, you can (say) run Linux on that X-Box, and the corporate masters don't want that.

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug

President Ark posted:

It also helps that early consoles really didn't have any sanity checking. More recent consoles have some stuff that keeps an eye on everything and goes "Woah, hey, what the gently caress is going on here, this poo poo ain't right" and either backs out or force-ends (crashes) the program if it starts doing really wacky poo poo. But because early consoles had so little memory as ToxicSlurpee says, they couldn't affort to have that sort of sanity checking in place so if you could figure out how to crash them just so they basically had to accept whatever happened after that and couldn't say "This poo poo ain't right."

This was especially prevalent in the Pokemon games because on top of being on the Gameboy (which was extremely limited in terms of memory), they also had a shitload of stuff going on at once and things that needed to be loaded into memory at once - the "you have to manually switch PC boxes when one fills up" thing wasn't just bad UI design, it literally had to be done like that because having free access to all the boxes all the time was too much for the gameboy. So they have a lot of weird poo poo going on in order to make sure that it can all run, and as a result are a lot more vulnerable to things happening in even slightly the wrong order, and then there's no sanity checking so you wind up with poo poo like item duping and missingno and rewriting the game.

Actually this reminds me of one thing I meant to mention but totally forgot to that's actually a major, major component of this. The severe limitations on memory meant that various chunks of memory were generally used for more than one purpose. Typically in current programs memory isn't freed up until the program knows that it's totally done with it. However, when you're working with a few KB of memory you very frequently will need to anticipate what all can possibly be happening and, more importantly, what will not be happening. Notice that glitches like in that video almost always involve riding Yoshi with something in his mouth while holding a block and then other stuff like dropping shells at very specific X coordinates. What this ultimately does is shoves the memory pointers out of whack by forcing the game to track more things that would normally happen under typical circumstances. Of course another major difference now is that when you have billions of bytes you're tracking it's effectively impossible to tightly control all of it. It's easier to tightly control everything and keep track of what is going on when you're dealing with KB. So, the same chunk of memory that tracks the thing in Yoshi's mouth might be getting used for something totally different when there isn't even a Yoshi on the level.

So when you have people using timing and glitches to force the game to have Mario holding a block while Yoshi is holding something in his mouth you can screw up memory pointers. You would not under normal circumstances, for example, need to track the item Mario is holding, the item in Yoshi's mouth, what Yoshi is currently swallowing, and the egg Yoshi is making GBS threads. It is unlikely the game was actually programmed to handle that situation so when it happens poo poo can go wrong but the program is so simple and the memory control so tight the poo poo that is going wrong will go wrong in very predictable ways that can be used in all sorts of crazy ways. That's also part of why you see these sorts of things happening on older consoles. Newer consoles are basically just differently-shaped computers.

RatHat
Dec 31, 2007

A tiny behatted rat👒🐀!
One thing I don't understand about it is how did they make the sprites for Super Mario Bros.? I don't think those exist anywhere in Super Mario World. Are they making them pixel by pixel? How could you do that in such a short amount of button presses?

HellCopter
Feb 9, 2012
College Slice

RatHat posted:

One thing I don't understand about it is how did they make the sprites for Super Mario Bros.? I don't think those exist anywhere in Super Mario World. Are they making them pixel by pixel? How could you do that in such a short amount of button presses?

That's a bit of a different beast. For hacks like that, they don't just make the game run arbitrary code, they make them run code from something else entirely plugged into a controller slot.

There actually was an exploit like this on modern consoles: The Smash Stack. For a while it was possible to jailbreak your Wii with Super Smash Bros. Brawl. Putting a certain file on an SD card and trying to access it as a custom stage would basically give it free reign to do whatever it wanted to the Wii.

re: Older game systems using memory for more than one thing, that's what causes the Missingno. glitch. There's a tutorial where the player is replaced by an old man who shows you how to catch a pokemon. But after the tutorial ends, the game needs to give control back to the player. Where does it keep the player's info in the mean time? In the random encounter table of course, since it isn't being used at the moment! That table should've been updated when the player goes to a new area, but there's a strip of land with no random encounter data in the game. So you start seeing glitches pokemon based off of the letters in your name.

HellCopter has a new favorite as of 10:25 on Feb 1, 2015

Carbon dioxide
Oct 9, 2012

President Ark posted:

This was especially prevalent in the Pokemon games because on top of being on the Gameboy (which was extremely limited in terms of memory), they also had a shitload of stuff going on at once and things that needed to be loaded into memory at once - the "you have to manually switch PC boxes when one fills up" thing wasn't just bad UI design, it literally had to be done like that because having free access to all the boxes all the time was too much for the gameboy.
Yes, but I do wonder if this couldn't have been programmed in a more user-friendly way. I mean, when you are trying to catch a pokemon and your box is full, it tells you you can't catch pokemon anymore, and you have to go to the pokecenter to switch boxes (which includes saving your game because non-active boxes only exist in the savefile).

Now, if the game simply did this:
Catch a pokemon --> game either puts it in the party or if that's full into the box --> game checks whether the box is now full --> if so, it warns you and triggers a limited version of the pokecenter computer terminal --> terminal allows you to switch boxes and makes you save the game --> you can keep catching pokemon without having to run back to a pokecenter.

Why wouldn't that work?

RatHat posted:

One thing I don't understand about it is how did they make the sprites for Super Mario Bros.? I don't think those exist anywhere in Super Mario World. Are they making them pixel by pixel? How could you do that in such a short amount of button presses?
As far as I understand it, they are indeed programming them pixel by pixel (more accurately, byte by byte). A snes controller has 10 buttons (4 directions, A/B/X/Y and start/select). If you use all 4 ports, and you can press any combination of the buttons you like, you can enter 10 x 4 = 40 bits per input frame. Now, what they do, first they program in a simple bootstrap program that does nothing but copy code from the controllers into memory. Then, instead of SNES controllers, they plug in a sort of serial port dealie that directly sends the bits corresponding to any button presses into the controller ports. It's literally streaming data through the controller ports at that point.

If that 40 bits per frame number is right, and SNES has 60 input frames per second (I think that's right), you can put in 300 bytes per second. The original Super Mario Bros was a 40 kilobyte cartridge, so it would take around 133 seconds or just over 2 minutes to program the entire game into the SNES memory at full speed.
In the video it went faster than that, so I'm guessing they used some kind of compression or somehow left out useless sections of data from the NES cartridge.

Carbon dioxide has a new favorite as of 12:09 on Feb 1, 2015

Zereth
Jul 9, 2003



Carbon dioxide posted:

As far as I understand it, they are indeed programming them pixel by pixel (more accurately, byte by byte). A snes controller has 10 buttons (4 directions, A/B/X/Y and start/select). If you use all 4 ports, and you can press any combination of the buttons you like, you can enter 10 x 4 = 40 bits per input frame. Now, what they do, first they program in a simple bootstrap program that does nothing but copy code from the controllers into memory. Then, instead of SNES controllers, they plug in a sort of serial port dealie that directly sends the bits corresponding to any button presses into the controller ports. It's literally streaming data through the controller ports at that point.

If that 40 bits per frame number is right, and SNES has 60 input frames per second (I think that's right), you can put in 300 bytes per second. The original Super Mario Bros was a 40 kilobyte cartridge, so it would take around 133 seconds or just over 2 minutes to program the entire game into the SNES memory at full speed.
In the video it went faster than that, so I'm guessing they used some kind of compression or somehow left out useless sections of data from the NES cartridge.
Were they using genuine NES graphics or were they re-using anything from the existing stuff?

Cleretic
Feb 3, 2010
Probation
Can't post for 7 days!

HellCopter posted:

There actually was an exploit like this on modern consoles: The Smash Stack. For a while it was possible to jailbreak your Wii with Super Smash Bros. Brawl. Putting a certain file on an SD card and trying to access it as a custom stage would basically give it free reign to do whatever it wanted to the Wii.

The same thing is still possible to boot up Project M in Brawl, and the predecessor to that was a similar setup with Twilight Princess to get access to what became the Homebrew Channel.

Carbon dioxide
Oct 9, 2012

Zereth posted:

Were they using genuine NES graphics or were they re-using anything from the existing stuff?

I have no idea. All I heard them say is that they used the sounds from the SNES Super Mario All-Stars version of SMB because that was easier or those were already in there or something.

Zereth
Jul 9, 2003



Carbon dioxide posted:

I have no idea. All I heard them say is that they used the sounds from the SNES Super Mario All-Stars version of SMB because that was easier or those were already in there or something.
I'd expect them to use the graphics from it too then.

Sentient Data
Aug 31, 2011

My molecule scrambler ray will disintegrate your armor with one blow!
And to answer an earlier question that was kind of touched on but not really clearly, the total control type of glitch actually does exist in post-16-bit, they just don't use it to play games. Any time you see a console can be soft modded, it's using the same kind of takeover from software on that console. Wii uses a bug in the message board, PSP used a bug in the image viewer or games like Lumines, Xbox had a few games like Splinter Cell, and I'm sure ones were found for 360 and ps3 but I don't remember specifics. In those instances, the bugs are triggered using specifically-corrupted save data to trick the games into doing whatever, rather than relying on f direct player inputs

The Kins
Oct 2, 2004

RatHat posted:

One thing I don't understand about it is how did they make the sprites for Super Mario Bros.? I don't think those exist anywhere in Super Mario World. Are they making them pixel by pixel? How could you do that in such a short amount of button presses?
Tiles are just binary data, just like anything else on the SNES, and as such were shoved down the controller port along with the rest of the code.

Baron von Eevl
Jan 24, 2005

WHITE NOISE
GENERATOR

🔊😴

Zereth posted:

I'd expect them to use the graphics from it too then.

I'd wager that since sounds are very closely related to the hardware (essentially a synthesizer, it's not like it's loading .wav files), it makes a lot more sense to use sounds from the Super Nintendo hardware. The SMAS files were probably just an easy and convincing way to do it.

-Fish-
Oct 10, 2005

Glub glub.
Glub glub.

Does anyone have the glitch from earlier in the thread where a huge section of the city in a GTA game doesn't show up, and the video is just hundreds of civilians spawning and falling into an endless void while screaming?

Lord Chumley
May 14, 2007

Embrace your destiny.

Carbon dioxide posted:

Yes, but I do wonder if this couldn't have been programmed in a more user-friendly way. I mean, when you are trying to catch a pokemon and your box is full, it tells you you can't catch pokemon anymore, and you have to go to the pokecenter to switch boxes (which includes saving your game because non-active boxes only exist in the savefile).

Now, if the game simply did this:
Catch a pokemon --> game either puts it in the party or if that's full into the box --> game checks whether the box is now full --> if so, it warns you and triggers a limited version of the pokecenter computer terminal --> terminal allows you to switch boxes and makes you save the game --> you can keep catching pokemon without having to run back to a pokecenter.

Why wouldn't that work?


The early Pokemon games were programmed with chewing gum and prayer, that's most of it.

Slime
Jan 3, 2007

Lord Chumley posted:

The early Pokemon games were programmed with chewing gum and prayer, that's most of it.

It was more out of necessity than incompetence. They didn't really have all the resources they would have liked on the Gameboy, but they made a sacrifice so they could use the portability, the link cable and the fact that every player would have their own team of pokemon rather than sharing a cart.

Tracula
Mar 26, 2010

PLEASE LEAVE
I feel linking the LP of Lets horribly break Pokemon Blue is somewhat obligatory right now.

Squarely Circle
Jul 28, 2010

things worsen and worsen

-Fish- posted:

Does anyone have the glitch from earlier in the thread where a huge section of the city in a GTA game doesn't show up, and the video is just hundreds of civilians spawning and falling into an endless void while screaming?

https://www.youtube.com/watch?v=_Z_SNYhG-RA

Adbot
ADBOT LOVES YOU

bucketmouse
Aug 16, 2004

we con-trol the ho-ri-zon-tal
we con-trol the verrr-ti-cal

HellCopter posted:

There actually was an exploit like this on modern consoles: The Smash Stack. For a while it was possible to jailbreak your Wii with Super Smash Bros. Brawl. Putting a certain file on an SD card and trying to access it as a custom stage would basically give it free reign to do whatever it wanted to the Wii.

There's an even more recent one on the 3ds in the form of Ninjhax. Cubic Ninja has a level editor that lets you share levels via qr code. These levels stuff objects from the qr code into a fixed size buffer and will merrily continue to do so long after the buffer has overflowed.

This marks the first and probably last time QR codes will ever be genuinely useful.

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