Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
FODA wrote:
Also, I think that pressing left+right must go in the same cathegory as messing with the hardware. It's not a programming overlook because the console isn't physically supposed to allow for that button combination, so it's a bit of a "cheat".
I'm not so sure of that. If you were able to physically tap left and right alternatively fast enough (let's say, a thousand times per second), I wonder if the hardware could perceive that as if both buttons were pressed at the same time and send the game a notification for both buttons. If that's the case then it's not so much abusing the hardware as purely playing with godlike abilities. Also: Do all existing gamepads physically stop left+right being pressed at the same time?
Joined: 7/16/2006
Posts: 635
Bag of Magic Food wrote:
And what about games that require you to push Reset, or change controller ports, or close the DS lid in order to finish? Do you want those to be unTASable?
All of these things are still considered inputs to the game. Phantom Hourglass, to use your third example, detects that the DS has gone into sleep mode to know that you've shut the console. Closing the lid isn't really any different from pressing a button here. Anyways, the main point is that the game is still acting within its code. The difference between normal inputs and resets is that, for normal inputs, the input is placed in some register, while the instructions on what to do with the input still comes from the game code. However, pressing the reset button delivers an instruction directly to the processor that doesn't come from the game's code. This, I believe, is what Warp means when he says that the movie file is affecting the console itself.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
petrie911 wrote:
The difference between normal inputs and resets is that, for normal inputs, the input is placed in some register, while the instructions on what to do with the input still comes from the game code. However, pressing the reset button delivers an instruction directly to the processor that doesn't come from the game's code. This, I believe, is what Warp means when he says that the movie file is affecting the console itself.
More or less, yes. I consider resetting the console in the middle of the game to be equivalent to suddenly pulling the plug, which shuts down the console, and then plugging it in again. (There might be some technical differences between the two, but from a practical point of view they are effectively the same thing.) If emulators started supporting emulating shutting down the console by cutting its power supply, would it become an acceptable TASing technique? Again, this starts feeling the same as physically damaging the console to make the game misbehave in a certain way (or using an extraneous device to affect the game, such as a gamegenie).
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
Warp wrote:
Do all existing gamepads physically stop left+right being pressed at the same time?
not the PS2 controller
i imgur com/QiCaaH8 png
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
The sony's d-pad is exactly the same as nintendo's. The directions are all connected underneath that fake separator. Press one and all others move. It is phisically prepared to disallow left+right and it was only made like that to avoid being a copy cat of the super nes controller, but it works exactly the same. you can deassemble one and see it for yourself, the 4 directions are one single piece of plastic. At least for the ps one controller, unless they changed it when they made the ps2 controller. I've never deassembled one of those.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
What the controller exposes on the top level doesn't matter, anyone with a screw driver can open up their controller, and snap the crossbar in half, or press the contacts directly. I'm sure you can find non official controllers too which allow all sorts of craziness. The point is, it's not the system or the game which prevents pressing both, it's some cheap physical lockout that anyone can bypass without altering the game or the system.
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.
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
If you use a screwdriver you're definitely altering the system.
Joined: 10/20/2006
Posts: 1248
For humans with godlike abilities, it should be possible to alternate between pressing left and right so fast that the system would register both as being pressed down simultaneously in any frame anyway. (unless the system checks whether right is pressed down an whether left is pressed down at exactly the same time. i don't think any system would do that.)
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
FODA wrote:
If you use a screwdriver you're definitely altering the system.
No, you're altering the controller you have. The system itself remains the same.
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.
Joined: 7/2/2007
Posts: 3960
Kuwaga wrote:
For humans with godlike abilities, it should be possible to alternate between pressing left and right so fast that the system would register both as being pressed down simultaneously in any frame anyway. (unless the system checks whether right is pressed down an whether left is pressed down at exactly the same time. i don't think any system would do that.)
In fact, I've seen a video of someone achieving one of the left-right glitches in reality with an unmodified controller, just by pressing the opposed directions very quickly. Unfortunately I don't remember what the game was or who put the video online. I'm pretty sure the glitch in question was one that let you move into walls.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Player (122)
Joined: 8/11/2009
Posts: 73
Location: Texas
Do you mean this video, which demonstrates passing through walls in Super Mario World?
Joined: 7/2/2007
Posts: 3960
Yes, I think it was. Thanks for tracking that down.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 10/24/2005
Posts: 1080
Location: San Jose
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Nach wrote:
FODA wrote:
If you use a screwdriver you're definitely altering the system.
No, you're altering the controller you have. The system itself remains the same.
Were the third party controllers licensed by nintendo? If they were, I believe they are part of the system.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
FODA wrote:
Nach wrote:
FODA wrote:
If you use a screwdriver you're definitely altering the system.
No, you're altering the controller you have. The system itself remains the same.
Were the third party controllers licensed by nintendo? If they were, I believe they are part of the system.
Some were, some weren't.
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.
Post subject: Re: How well do emulators emulate resetting during saving?
Banned User
Joined: 12/23/2004
Posts: 1850
Warp wrote:
How well do emulators really emulate what happens when you reset while the game is saving? Is it a 1-to-1 accurate simulation of what would happen in the real hardware?
No. And it never will be. The problems that arise are plentiful. First, the emulators tasvideos uses (and most in general) allow input only once, then execute a full emulation frame, then take input again. Example: it would be theoretically possible to freeze SMB3 by changing controller inputs within microseconds, just enough for a CPU cycle or four to pass. The game reads the controller input repeatedly and only continues when the last two inputs read match (to compensate for a hardware issue involving PCM). This could be seen if you use a debugger to change the values read for "controller input" before these checks are made. Applying this to SRAM, it is easiest to visualize it as a printer. The printer begins printing a document (saving). You are only allowed to turn the printer off between pages (frame delays). This means there is a lot of potentially valid time where you could turn it off and cease the operation, but you are prevented from doing so. When using real hardware, you are not prohibited from this whatsoever; cutting power will make the hardware stop immediately. What makes "accurate emulation" impossible is that power fluctuates, and cutting power to a device does not necessarily mean that it will cease operation immediately. The magic of capacitors and other such things can mean that several more CPU cycles will be completed before the system fully shuts down, making what is already a microsecond-based operation even less accurate. The only cases in which emulation is accurate is when the game has a forced pause between writes that is sufficiently large, for example the end of one frame and the entire next two frames. As these pauses in constant writing decrease, the resolution of reset timing to save data written changes drastically, and you begin to see far less predictable results on the actual hardware. In a short summary, save interruption will never, ever be 100% accurate to hardware (unless it is a software reset like A+B+Sel+Start for some games, but most disallow this while saving anyway). However, the effects are theoretically possible on actual hardware, even if extremely unlikely. Here's hoping this post was informative.
Perma-banned
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Derakon wrote:
In fact, I've seen a video of someone achieving one of the left-right glitches in reality with an unmodified controller, just by pressing the opposed directions very quickly.
I think that settles it. Simultaneous left+right cannot be considered hardware modification/abuse because it is physically possible to achieve the effect by tapping left+right fast enough, so a godlike player can do it whenever needed (which is what TASing simulates). (Of course we are talking about the NES here. I wonder if it's different in some other console...)
Experienced player (828)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
The video that was linked of skamastaG performing the glitch was on a SNES, so yes.
Living Well Is The Best Revenge My Personal Page
Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Soft resets don't have to be quite as soft as the controller-activated ones. On the snes, pressing the reset button on the console does a soft resets which acts as a non-maskable interrupt, causing the code to jump to the location stored in the reset vector. This sort of reset should be possible to emulate accurately, and since it is non-maskable, it will probably interrupt the sram write just like a power cycle would do (unless the reset code has special handling to avoid this).
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
amaurea: It already is emulated accurately as I said on the first 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.
Joined: 2/7/2008
Posts: 185
Warp wrote:
I think that settles it. Simultaneous left+right cannot be considered hardware modification/abuse because it is physically possible to achieve the effect by tapping left+right fast enough, so a godlike player can do it whenever needed (which is what TASing simulates).
I never realised that this was in question. I can press 3 directions at once on a Snes joypad relatively easily (e.g. left, right and up) though not all 4. I know because I used to play this game I made up. It's called 'try to get every button to be active on the "keycheck" screen some games have.' Maybe it's because of the joypad I was using, but whilst it takes some hard pushing in the right place, it never seemed horribly difficult to push opposite directions simultaneously. P.S. It was an official joypad. I'm just willing to accept the possibility that you've all got harder plastic or something on your pads.
I'm just some random guy. Don't let my words get you riled - I have my opinions but they're only mine.
Limne
Any
Joined: 2/24/2010
Posts: 153
I'm not entirely understanding the complaint here. Are ALL resets being described as illegitimate? What about for luck manipulation like in the Final Fantasy II run? As I see it, the reset button is an intentional feature of the hardware. It's there to be used. What unassisted player hasn't reset their console in order to obtain a more favorable result, RNG related or otherwise? To describe that as hardware "abuse" is beyond my reckoning. The "power" and "reset" buttons are designed to be used during gameplay; that a player might push them at a time at which the developer does not approve is beside the point; nobody anticipated computer programs managing button inputs at 60 Hz either. For me, all that really matters is that the process is emulated correctly and that corruption runs appear as separate categories that do not obsolete other interesting runs.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Limne wrote:
As I see it, the reset button is an intentional feature of the hardware. It's there to be used.
Not as part of gameplay. You may as well argue that the power cord of the console is an intentional feature of the hardware and is there to be used. Let's plug and unplug the power cord 100 times per second and see if the console starts smoking and the game behaving in funny ways. That's hardware abuse, not gameplay. And I don't see much of a difference to resetting while the game is saving. That's why the idea bothers me.
Limne
Any
Joined: 2/24/2010
Posts: 153
Again, I fail to understand. You're telling me that the developers never expected for players, playing their games, to ever push the reset button, or shut off their machines? The very idea of having saves argues otherwise. What about the use of the Atlas Amulet in Secret of Evermore? That's a trick any player can perform on the original cart using legitimate resets and which many discovered independently. It would be ridiculous to say that a TASer should not exploit a bug like that by doing something as trivially simple as loading a save file while a certain status effect is in force. Why should a TASer not be allowed to exploit a bug even I can? I can maybe see why turning off the power while saving would be considered a special case. After-all, many games specifically tell you "don't turn off the power while saving" and it's something no sensible player would ever want to attempt lest they ruin all their saves or break their prized copy of a rare RPG. My own opinion is that the purpose of a TAS is to exploit the intentional input features of a console so as to play games in ways never intended by either software or hardware. Turning off your console is not a hardware modification, it's something you do so that your system doesn't devour all your electricity, overheat, and die. Nor do I think one can say that there are certain frames at which one cannot turn off their console. It's a TAS; you can press left+right and glitch through walls or overflow addresses and make the software go crazy; you can do anything you want with the tools you have available to play your game in an interesting and imaginative way. If people didn't want to see things that were patently ridiculous they'd go watch a speed-run by a live player.
Joined: 7/2/2007
Posts: 3960
Some games require the use of the reset button to proceed or to activate programmed-in features. For example, the level-select code in Zanac requires resetting the system several times before it becomes available.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.