Displaced Gamers
Displaced Gamers
  • 112
  • 8 144 715
How to Reprogram Tetris By Playing It - Behind the Code Leveled Up
Let's exploit the logic that crashes Tetris and write code by using the High Score Tables! All you need are a few extra controllers...
If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers
Twitter: DisplacedGamers
Facebook: DisplacedGamers/
Instagram: displacedgamers
Music by:
ua-cam.com/users/HariboOSX
ua-cam.com/channels/-PRsIpJXWpg3PtjfQLwiVw.html
0:00 Here, hold my tacos and watch this.
1:38 The Crash Theory Spreadsheet of Awesomeness
4:26 Our Target
7:14 Controllers, ports, and code explained
9:52 Has anyone seen D1 on the Controller Port?
10:43 240p Test Suite Cameo!
11:12 Two controllers for Each Player, huh?
12:08 Previously on "Behind the Code..."
12:35 We need to know what Temp_0 and Temp1 are
13:37 Original, Orange, and Yellow Interrupt Scenarios
17:54 Built my own controller. With switches.
19:27 What part of the High Score Table(s) will we use?
20:38 The Setup Work for Redirection
21:58 Opcodes explained
24:06 Programmin' Time!
29:25 Testing on the Emulator
30:43 Testing on Real Hardware
31:33 Outro
#NES #Programming #Tetris
Переглядів: 67 220

Відео

Crashing Tetris! The Logic Behind the Madness - Behind the Code Leveled Up
Переглядів 27 тис.3 місяці тому
Technical pursuit of the code that leads to a crash on the NES for Tetris. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWpg3PtjfQ...
The Wacky Frame Rate and Game Engine of Dr. Jekyll and Mr. Hyde (NES) - Behind the Code: Leveled Up
Переглядів 104 тис.4 місяці тому
Why does the game run so fast in Level 6? Why is the frame rate so inconsistent on the NES? If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/...
Reprogramming Dr. Jekyll and Mr. Hyde (NES) - Behind the Code
Переглядів 71 тис.6 місяців тому
Let's change Jekyll's walking speed, the bomb explosion size, damage, and more... If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWp...
Why is Platforming so Difficult in The Terminator for NES? - Behind the Code
Переглядів 86 тис.7 місяців тому
Buttons don't work. Platforms seem to disappear. Sarah doesn't stand a chance! If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWpg3P...
The Physics Nightmare and Bizarre Jumping of Strider (NES) - Behind the Code
Переглядів 70 тис.9 місяців тому
Strider Part TWO: Investigation and fixes for collision, jump canceling, and the Triangle Jump in Strider for NES. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboO...
The Garbage Sprites in Strider (NES) - Behind the Code
Переглядів 76 тис.10 місяців тому
Why does Strider seem like it is going to fall apart at any moment? What is with all the sprite flickering and garbage graphics? Let's find out... If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Mu...
NES Sprites, OAM, and the Battle for Priority - Behind the Code
Переглядів 41 тис.11 місяців тому
Let's dive into how Sprites are prioritized and limited by Object Attribute Memory (OAM) and Secondary OAM on the NES. The journey toward understanding flicker has begun. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: instagram...
DESTROYING Gravity in Super Mario World - Game Genie: Uncorked Episode 2
Переглядів 24 тис.Рік тому
Several Game Genie codes can alter jumping in Super Mario World, but HOW? If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: @WolfandRaven #SNES #programming #marioworld
Final Fantasy II SNES - Game Genie: Uncorked Episode 1
Переглядів 22 тис.Рік тому
Dissection of several Game Genie Codes for Final Fantasy II (aka FFIV) on the Super Nintendo. Most work dives into adding gold won from battle to inventory. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displaced...
Let's Dive into the Cycles, Speed, and Video Output Timing of the NES - Behind the Code
Переглядів 33 тис.Рік тому
To learn more about Mappers and interrupts, we need to know about clock speeds. As for video output? Better hold on to your sync pulses. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua...
MMC2 Magic - How Punch-Out's Graphics Work
Переглядів 51 тис.Рік тому
Two boxers. No flicker? How is this possible? The MMC2 Mapper chip: Explained If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWpg3Pt...
How do Boxers Work in Mike Tyson's Punch-Out!!? - Behind the Code
Переглядів 73 тис.Рік тому
Opponent Engines? Secrets in the crowd? Tyson is predictable? Let's dive in! If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWpg3Ptj...
How Speedrunners BROKE Castlevania's Scrolling - Behind the Code
Переглядів 94 тис.Рік тому
Technical dive into how to use the NES controller to break level loading in Castlevania. If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PR...
How does the Critical Hit with the Whip work in Castlevania? - Behind the Code
Переглядів 49 тис.Рік тому
If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - www.patreon.com/displacedgamers Twitter: DisplacedGamers Facebook: DisplacedGamers/ Instagram: displacedgamers Music by: ua-cam.com/users/HariboOSX ua-cam.com/channels/-PRsIpJXWpg3PtjfQLwiVw.html #NES #Programming #Castlevania
The Input Lag and Attack Animation Delay of Teenage Mutant Ninja Turtles (NES) - Behind the Code
Переглядів 62 тис.Рік тому
The Input Lag and Attack Animation Delay of Teenage Mutant Ninja Turtles (NES) - Behind the Code
The Bad Jump Design and 30 FPS Gravity of TMNT (NES) - Behind the Code
Переглядів 156 тис.Рік тому
The Bad Jump Design and 30 FPS Gravity of TMNT (NES) - Behind the Code
The Broken Water Level of Teenage Mutant Ninja Turtles (NES) - Behind the Code
Переглядів 188 тис.Рік тому
The Broken Water Level of Teenage Mutant Ninja Turtles (NES) - Behind the Code
Code History of Minus World and its Return to Mario All-Stars - Talkin' Code Episode 5
Переглядів 78 тис.Рік тому
Code History of Minus World and its Return to Mario All-Stars - Talkin' Code Episode 5
New Discovery for Minus World in Super Mario Bros! - Behind the Code
Переглядів 241 тис.Рік тому
New Discovery for Minus World in Super Mario Bros! - Behind the Code
Mega Man 2 - Quick Man A.I. Explained - Behind the Code
Переглядів 122 тис.2 роки тому
Mega Man 2 - Quick Man A.I. Explained - Behind the Code
Code Walk! CPU Cycles and Performance of Mega Man 2 (Bonus: MM3) - Talkin' Code Ep. 4
Переглядів 31 тис.2 роки тому
Code Walk! CPU Cycles and Performance of Mega Man 2 (Bonus: MM3) - Talkin' Code Ep. 4
The Complex Code of Mega Man 2 and How Zipping Works - Behind the Code
Переглядів 78 тис.2 роки тому
The Complex Code of Mega Man 2 and How Zipping Works - Behind the Code
Vertical Super Mario Bros.!? Not exactly... - Talkin' Code Episode 3.1
Переглядів 37 тис.2 роки тому
Vertical Super Mario Bros.!? Not exactly... - Talkin' Code Episode 3.1
Battle of the Bits: Nintendo Power, Mappers, and Circuit Boards - Talkin' Code Ep. 3
Переглядів 54 тис.2 роки тому
Battle of the Bits: Nintendo Power, Mappers, and Circuit Boards - Talkin' Code Ep. 3
NES Scrolling Basics featuring Super Mario Bros. - Behind the Code
Переглядів 118 тис.2 роки тому
NES Scrolling Basics featuring Super Mario Bros. - Behind the Code
NES vs Famicom Disk System - Zelda, Disks, Mappers, and "Ports" - Talkin' Code Episode 2
Переглядів 70 тис.2 роки тому
NES vs Famicom Disk System - Zelda, Disks, Mappers, and "Ports" - Talkin' Code Episode 2
NES Mapper History to 1988 and Blaster Master Code Analysis - Talkin' Code Ep. 1
Переглядів 48 тис.2 роки тому
NES Mapper History to 1988 and Blaster Master Code Analysis - Talkin' Code Ep. 1
Blaster Master Pause Glitch and Rotating Tanks Explained - Behind the Code
Переглядів 45 тис.2 роки тому
Blaster Master Pause Glitch and Rotating Tanks Explained - Behind the Code
The Frustrating Weapons and TWO Versions of Fester's Quest - Behind the Code
Переглядів 85 тис.2 роки тому
The Frustrating Weapons and TWO Versions of Fester's Quest - Behind the Code

КОМЕНТАРІ

  • @Legerine
    @Legerine 6 годин тому

    i am so very sick in bed with a very high fever... listening to your voice and going on about all of this has been rather soothing while I am in and out of consciousness.

  • @johnmj89schannel47
    @johnmj89schannel47 10 годин тому

    You should post a video of fixing the slow down in mega man wily wars

  • @johnmj89schannel47
    @johnmj89schannel47 11 годин тому

    Not a programmer but a self taught rom hacker love the videos

  • @Alphaminx
    @Alphaminx День тому

    I had a thought for speedrunners. Is there a way to, probably by using arbitrary code execution, set one of the pipes as the world 8 pipe in 1-2??? This would completely void 4-1 and 4-2 in the runs, and could potentially lower the time for speedruns significantly. Not sure if it's possible but I know arbitrary code execution has worked magic in the past.

  • @ClassicTVMan1981X
    @ClassicTVMan1981X 2 дні тому

    3:44 -- I think that ADC (add with carry) that adds the current value to the WeaponOrBubbleXPos RAM address, which follows the SEC (set carry) mnemonic, should really be an SBC (subtract with carry), to subtract from this address instead.

  • @ClannerA01
    @ClannerA01 2 дні тому

    2:44 I hacked the save file. I basically just did two saves with the turtle a few steps back and at the ledge, compared them in PCTools to find the variable and simply raised the variable to put me across the gap when i reload. I finished the game after that. 3:34 Looks like he did the same thing XD

  • @ruster666
    @ruster666 3 дні тому

    Thanks man, you have a great channel.

  • @ethanfranzen8684
    @ethanfranzen8684 4 дні тому

    2:28: Is that the camera's x position in the nametable or in the level?

  • @npc.retro87
    @npc.retro87 5 днів тому

    This makes why to this game was so frustrating growing up. Would it be possible to create a rom hack with all of these issues addressed?

  • @joeldheath
    @joeldheath 5 днів тому

    Fun fact that made me angry when I learned it: Jekyll is pronounced Jee-Kuhl rather than Jeck-uhl

  • @Paramurasaki
    @Paramurasaki 6 днів тому

    I’m missing square so much :( why we didn’t make just bigger square rather than this rectangles

  • @ArnaudMEURET
    @ArnaudMEURET 6 днів тому

    That off-by-one bug in the sprite animation is quite epic ! I’m amazed it could get unnoticed up to the release!

  • @unocarb
    @unocarb 7 днів тому

    I rented this disaster, wasn't a ruined weekend but still sucked

  • @muhammetozer1564
    @muhammetozer1564 7 днів тому

    Now this is quality content.

  • @Sinn0100
    @Sinn0100 8 днів тому

    9:08am

  • @zubareus
    @zubareus 8 днів тому

    We must pay tribute to those programmers who breathed life into these static pixels

  • @Sinn0100
    @Sinn0100 8 днів тому

    Wait a minute... we all know running the retail version of the game , i.e., no changes. Donatello's bow is the best weapon. Now, isn't that because it has such a large wind-up and attack, causing it to stay on screen longer? Here's a question...is every part of the Ninja Turtles weapon's fatal to the enemies in game? If so... Wouldn't it make more sense slowing down the very last part of the attack, thereby giving said weapon more screen time. Like if it hangs for a second after an attack, it would inadvertently take out another enemy or two...that could be neat.

  • @Wilberon_McBane
    @Wilberon_McBane 8 днів тому

    Literally just came over here from Bob at RetroRGB's recommendation before watching the recent 480i deep dive he did. This short 240p video is simply phenomenal. It clarified and taught me so much in just 7mins!!! An absolute must for all us beginner geeks. Thank you 🙏

  • @MisterSouji
    @MisterSouji 8 днів тому

    Someone send this to the nerd

  • @Sinn0100
    @Sinn0100 8 днів тому

    I, as a gamer and historian, love the use of generation separation by number. Further, using the type of media a device employed as a way of defining the generation it belongs to is a bad idea. Thankfully, that is not how we typically define a generation. Wikipedia is not the best tool for research and why most educational institutions bar its use almost entirely. A consoles generation is defined by its entire architectural makeup. I know I don't have to tell you this but the 3rd generation is populated by 8-bit architecture with RAM hitting 64K at the ceiling. The 4th generation is populated by the use of 16-bit processors and can include co/processors. The PC Engine should be assigned a generation based on its most complex hardware...its 16-bit graphics processors. It goes on like this creating an easy to follow historical line based on a single number. Addendum- In case you say 'The Jaguar is technically controlled by a Motorola 68K!' You're correct, but it's intended design was only to operate as a bootstrap for two 32-bit processors. That console was quite the albatross...

  • @LanceHayabusa
    @LanceHayabusa 9 днів тому

    blur witch project, still prefer rgb.

  • @rob6231981
    @rob6231981 10 днів тому

    Wait... Where did you get a Power glove with full fingers? Werent they all half-fingered?

  • @bitter-bit
    @bitter-bit 11 днів тому

    This level scared me so badly when i watched my siblings play it.

  • @MatijaErceg
    @MatijaErceg 11 днів тому

    I should be able to add a second thumbs up if I come back to this video years later and still love it

  • @Kenbomp
    @Kenbomp 11 днів тому

    Ppu view

  • @Red_Biker_Dude
    @Red_Biker_Dude 12 днів тому

    Before watching the entire video, here's how I would answer the question of "how would you program a trading ai?" Note: I never made a game for the NES, so I don't know if some of the stuff I say isn't allowed due to NES' limitations. Recieving a trade: The way how a trade would usually go will be like this: if money/value of property(ies) offered is less than the money/value of property that is given, then the trade is guaranteed to fail. After a failed trade happens the player either has the option to cancel the trade or let the ai choose what they might give instead. When the second option is chosen, the ai will choose a property that has the smallest difference to the offered ammount of money and if said property is cheaper than the offered ammount it will add money to it until it's equal. If the value of both ammounts is equal or the offered ammount is less than the given, the trade is guaranteed to be a success. Other factors: When a trade happens, the game will check the current properties of the two trading. Say a red property is offered. If the ai is one red property away from a monopoly, the value of said red property will increase by 100. If a railroad is offered the value will increase by 100 for each railroad the ai owns. If the electrostation/water station (I forgot their actual names) is offered and the ai already has one of them, the value is increased by 50. Giving a trade: Every turn if the ai is 1 away from having a monopoly, has a railroad or a station, they have a 50% chance to suggest a trade to a person that has the required property/railroad/station. From then on the offer ai works like when failing a trade from the "recieving a trade" section.

  • @CLINTSTER77COX
    @CLINTSTER77COX 12 днів тому

    Mine is stuck in standby mode but 100% works with remote. No face buttons work .

  • @slamshift6927
    @slamshift6927 15 днів тому

    Just offer a "Fix Pendant Bug" option, and let users toggle the font. The original Faxanadu font is a part of the experience, too.

  • @hexjoemax
    @hexjoemax 15 днів тому

    Lol, I played the game more than once without knowing about the bug, and happy about my pendant :'D

  • @PabstOban
    @PabstOban 15 днів тому

    2 years later, and after seeing ports like Phantasy Star 1 to the Switch... I like the "option" to go "updated" or "classic". I would define "Updated" as, cleaned up translations, bug fixes, graphical flashing due to limited memory and exploits and any sort of QoL upgrades like faster XP/Money. I would define "Classic" as "I want to play the game as I remember it". So many games get re-releases, but honestly, the reason I'm buying it is for nostalgia, and part of that nostalgia is how I remember it. While there are places for things like Fantasy Star 7 "its a completely different game with generally the same characters and story"... Most of the time, thats not for me. Just give me more Phantasy Star 1 ports like they had on the Switch. You can play it OG style or "Fast as F boi!!!". I'm an adult with kids and a full time job and tons of responsibilities, and while I'd love to sit down and dedicate 20 hours to a game I loved when I Was 11, Id much rather have the option to do it in 8 with in game maps.

  • @SPac316
    @SPac316 16 днів тому

    I remember playing as a kid and I was in the desert level and this very glitch happened. I was quite surprised. Never happened again ever since then.

  • @7thangelad586
    @7thangelad586 16 днів тому

    Can you satisfy my childhood curiosity and find out what’s behind the locked door in the well room of Shadowgate? 😏

  • @Alexs23743
    @Alexs23743 16 днів тому

    Negociations. D: I like how the game is aware of the "unwritten rule" of the orange properties being the most valuable. "The trade AI has a case of tunnel vision with this trade..." Just like in real life. D:

  • @BMXrecords
    @BMXrecords 17 днів тому

    josh from let's game it out?!?!

  • @MatusFinchus
    @MatusFinchus 18 днів тому

    Not sure if I missed it in the detail, but is the 3 damage for a charged shot 'much different' to 3 x 1 damage for three standard shots? (In terms of the time it takes to teal 3 damage from each?)

  • @kelvin1316
    @kelvin1316 18 днів тому

    Input lag is "fine" if it is consistent. If it isn't that is when it gets frustrating.

  • @perguto
    @perguto 18 днів тому

    60 fps patches (or even higher frame rates) are always an improvement, but resolutions than 480p aren't worth it for PS1 and N64 games, as the textures and polygons don't hold enough detail, (and increasing the internal resolution usually creates ugly artifacts in the 2d HUD). Texture packs are almost bad in taste (they have too noisy environment textures that make it really obvious that the grass is just one texture plastered over and over over the whole world, for example). A somewhat subtle CRT filter (like CRT-hyllian) is the way to go.

  • @Dejan27
    @Dejan27 18 днів тому

    I would like to suggest a topic for one of the next "Behind the code" Can I do it here or it would be better somewhere else?

  • @williamross6477
    @williamross6477 19 днів тому

    How long until someone achieves a Triforce% speed run on Tetris?

  • @DeadCatX2
    @DeadCatX2 19 днів тому

    Can we somehow block or return early from the call which calculates the score? Nop the call, write an RTS at the start of it, or make some branch inside the score routine unconditionally jump past the slow parts? Can we make it so the calculation always ends with a 0 in the uppermost byte by AND 0'ing the right instruction? Can we modify any parameters of the calculation so that the value grows more slowly? Can we rewrite what address it loads the score from?

  • @EthanTheWerewolf
    @EthanTheWerewolf 20 днів тому

    I wonder if tetris can play doom. Technically it should be possible, but i dont know if anyone has done it yet

  • @hugoclarke3284
    @hugoclarke3284 20 днів тому

    Subbed :D

  • @decker528
    @decker528 20 днів тому

    I can still beat this level on the first try everytime as an adult. Lots and lots of practice as a kid

  • @totoro5527
    @totoro5527 21 день тому

    gold

  • @realChewky
    @realChewky 21 день тому

    In 1995, i beat the level while simultaneously eating a Jimmy Dean Flap Stick with butter, syrup, and ranch dressing

  • @justinmonroe8683
    @justinmonroe8683 21 день тому

    On the DMC issue, wouldn't the input register at 60 checks make the DMC issue negligible? Being you're not waiting long to input, and most of us are button mashers, some have an eloquent touch. With the framing and timings, from input, to registered in memory, to animation and offsets, and cool down, was to make the game more challenging. Being there are not that many beefy hostiles save bosses, and pizzas/health are available in key areas to save up even. I remember beating this as a child. Leo swinging so fast along with the other turtles would make this game way too easy, or overkill. If there were swifter enemies, and more variety in hostiles attacks this would be reasonable changes. I getvghe code is crazy wonky, but fixing that doesn't necessarily balance the game.

  • @Vallee152
    @Vallee152 21 день тому

    I've never heard "paren" before

  • @mariksebastianishtar207
    @mariksebastianishtar207 22 дні тому

    Greetings, DisplacedGamers! I´m working on my own Punch Out! project, seeing as I´m a rookie Game Developer. And, I´d really like to know where I can find the original code for the game. Banger video, by the way.

  • @robb233
    @robb233 22 дні тому

    When mystics are chanting and performing odd rituals in real life they are just searching for similar exploits ;)

  • @Zobovor
    @Zobovor 22 дні тому

    How do we know it's "fu-zahna-doo" and not "fack-sannah-doo"?