Stap 1: Achtergrondinformatie
Dit project is gebaseerd op de inspanningen van de mensen van TASVideos . Voor een volledige beschrijving van wat ze doen, neem een kijkje op hun Welkomstpagina .Elke erkende voorlegging (genoemd "films", hoewel zij geen audio- of video-gegevens bevatten) op hun website is gewoon een reeks opgenomen knooppersen die in theorie kunnen worden afgespeeld op de daadwerkelijke console waarvoor zij zijn bestemd. In de meeste gevallen echter de emulator te sterk verschilt van de werkelijke consoles te maken dit mogelijk, maar in het geval van de NES het verschil is aanzienlijk kleiner.
De spel keuze maakt ook een groot verschil over de vraag of de knooppersen terug of niet kunnen worden afgespeeld. Als het spel is gebaseerd op een niet-geïnitialiseerd geheugen voor willekeur, of als het is zwaar gebaseerd op console timing, werkt het niet. In het geval van Super Mario Bros echter zolang de knop start het afspelen terug op het juiste moment indrukt, de film zal correct wordt afgespeeld.
Deze knooppersen zijn gebaseerd op frames op de console. Bijna elke keer dat de console wordt opnieuw getekend op het scherm (~ 60 keer per seconde), wordt de controller ondervraagden Invoerfilter. Echter, er zijn momenten waarop het scherm opnieuw wordt getekend, maar de controller is niet gepolst. Deze heten lag frames. Vanwege het verschil in de manier waarop de emulator handelt deze vertraging frames, elke film moet worden gewijzigd om correct uitgevoerd op de console. Dit wordt later behandeld.
Om te schakelen "in theorie" in realiteit, zullen wij beginnen door een wijziging van de controller.