NESBot: Arduino Powered Robot slår Super Mario Bros till Nintendo (1 / 9 steg)
Steg 1: Bakgrundsinformation
Detta projekt bygger bort ansträngningarna som folket på TASVideos . För en fullständig beskrivning av vad de gör, ta en titt på deras Välkomstsida .Varje godkänd inlämning (kallas "filmer", även om de innehåller inga ljud- eller data) på deras hemsida är helt enkelt en serie av inspelade knapptryckningar som i teorin kan spelas upp på konsolen själva som de är avsedda. I de flesta fall emellertid emulatorn skiljer sig alltför mycket från de faktiska konsolerna att göra detta möjligt, men när det gäller NES skillnaden betydligt mindre.
Game valet gör också en stor skillnad när det gäller huruvida knapptryckningar kan spelas tillbaka eller inte. Om spelet förlitar sig på någon oinitierade minne för slumpmässighet, eller om det är starkt baserad på konsolen timing, fungerar det inte. I fråga om Super Mario Bros dock kommer så länge knappen trycker start spela tillbaka i rätt tid, filmen spelas upp korrekt.
Dessa knapptryckningar är baserade på ramar på konsolen. Nästan varje gång konsolen ritas på skärmen (~ 60 gånger per sekund), är registeransvarige intervjuade för indata. Det finns dock tillfällen då skärmen ritas om, men registeransvarige avsöks inte. Dessa kallas lag ramar. På grund av skillnaden i hur emulatorn hanterar dessa lag ramar, någon film måste ändras för att köras korrekt på konsolen. Hanteras detta senare.
För att vända "i teorin" i verkligheten, börjar vi genom att ändra registeransvarige.