How to Reprogram Tetris By Playing It – Behind the Code Leveled Up

In a previous episode of Behind the Code, we talked about how the scoring logic of Tetris can crash the game at high levels. Now what is even more interesting is that you can hook up extra controllers to the expansion port on a Famicom and use them to redirect code execution to the A-Type […]


Crashing Tetris! The Logic Behind the Madness – Behind the Code Leveled Up

This has been a really big year so far for Tetris on the NES. Players have found ways to provide controller inputs at speeds the programmers of the game didn’t anticipate. A technique called “rolling” has allowed players to move pieces at such fast speeds that they can progress beyond level 150! Unfortunately, this might […]


The Wacky Frame Rate and Game Engine of Dr. Jekyll and Mr. Hyde (NES) – Behind the Code: Leveled Up

While I was working on the previous episode of Behind the Code and researching Jekyll’s walking speed in Dr. Jekyll and Mr. Hyde for the NES, I noticed that the frame rate was rather odd. Turns out it is REALLY odd. If you’ve played the game, you may have noticed that the speed is inconsistent. […]


Reprogramming Dr. Jekyll and Mr. Hyde for NES – Behind the Code

A friend of mine rented Dr. Jekyll and Mr. Hyde when it was new, and we gave it a try. It was certainly different than any of the other games we had played on the NES. Try playing Contra or Punch-Out and then switching over to a game that demands patience like this one does. […]


Why is Platforming so Difficult in the Terminator for NES? – Behind the Code

Have you ever played The Terminator for the NES? Landing is difficult. Jumping is inconsistent. Sometimes you appear to land but fall through the ground! Sometimes you fall off the edge of a platform while running even though you swear you pressed jump before you got there. Sometimes jumping to the first ledge works but […]


NES Sprites, OAM, and the Battle for Priority – Behind the Code

Sprite limitations and flicker define what the NES is. They are a part of history. This video dives into Object Attribute Memory – OAM – to explain why the system is limited to eight sprites on a scanline as well as how both sprite limitation and sprite priority are used by programmers to add some […]


MMC2 Magic – How Graphics Work in Punch-Out – Behind the Code

Unique graphics. Giant sprites. No flicker. How on earth does this game work? The MMC2 chip contained in Punch-Out’s cartridge allows the NES to switch between two pairs of tiles for each half of the pattern table. While the MMC1 already allows bank switching for graphics, the MMC2 allows the switch to happen in the […]


How do Boxers Work in Mike Tyson’s Punch-Out!!? – Behind the Code

Punch-Out!! has been on my list of games to investigate for a long time, and I finally have something to show after a crazy amount of research. This video covers how opponent data is used to determine where to branch and what to do in code, how to manipulate boxer behavior, secrets that you will […]

SaturnDave (Sega Saturn, SHIRO!)

UNREAL Demo on REAL Saturn Hardware

Saturn-wizard, XL2 and crew (Corvusdeux & Ponut) have stunned the fan community with a tech demo that many would have thought to completely impossible… ‘IRRÉEL’ features the first two levels of the 1998 benchmark PC game, UNREAL, painstakingly & meticulously recreated in all of their gritty, late 90’s glory… Remade from the ground up, using […]