Romhack Thursday: Zelda II: The Adventure of Mario

On Romhack Thursdays, we bring you interesting finds from the world of game modifications.

We’ve not done a Romhack Thursday* for a while. Found by way of a Bluesky post by bro3256, of the website Famibro, this is a brilliant romhack by jroweboy (SMBArena page) that not only puts Mario into Zelda II, but also subtly remixes the game to allow for his different moveset.

While this is a hack to Zelda II, not Super Mario Bros., Mario’s physics and jump have been faithfully recreated in the engine. Mario doesn’t have Link’s sword, and without certain spells his only means of attack is his trademark jump! But all of the enemies that Link could employ his downthrust move against Mario can stomp. This makes some enemies much easier to beat, like the Dairas in Death Mountain, but it makes Stalfos and Ironknuckles almost impossible to defeat without some aid. It takes a lot of familiarity with the original game to notice it, but a couple of enemies have been removed in order to provide a better play experience.

I’ve found it to be unusually well-balanced and implemented for a romhack, especially one with such a unique premise. The game plays a lot like if Nintendo had made it themselves. When Mario is reduced to two bars of health he loses his Super status and becomes small, just like in the SMB games. There are certain advantages to being small; a few keys require a difficult running ducking jump/slide to get when Mario’s big, but if he’s small it’s simple to collect them.

The spells have been redone to fit Mario’s abilities, and the implications of the new rules make the game seem fresh even to Zelda II obsessives like me. The Shield spell doesn’t reduce damage taken, but instead gives Mario a floating shield that acts like Link’s shield. Mario already has a great jump, so the Jump spell is replaced with a spell called Tanooki. Tanooki gives Mario his tail from SMB3; he can’t fly with it, but he can float down from jumps and, crucially, he can use it like Link’s sword if it were limited to low attacks. Unlike all of Link’s spells, Mario’s Tanooki and Fire powerups don expire when the scene changes, but instead lasts until Mario becomes small. I think there are other changes too but I haven’t gotten far enough to find them.

On top of all of that, the music has been slightly Mariofied too, and the soundtrack is really good! Here’s some footage of me playing through some early portions of the hack. (1 hour 23 minutes)

I do need to warn you of one issue though. On my first attempt at playing the game, one of the keys in the first dungeon didn’t register when I collected it, softlocking me and making it impossible to finish the Parapa Palace (the first dungeon). I suggest you save often in case something like this happens to you. It was lucky for me that it happened so early in the game, and starting over didn’t lose me much progress. There’s another place where you appear to be softlocked, in the third palace, but I managed to overcome it by getting the item out of it then setting it aside and exploring ahead, and sure enough, soon after I got an ability that let me go back and finish it.

Despite those issues I’m having a great time trying to puzzle through Zelda II’s huge challenges with this different moveset. If you’re a Zelda II fan too (I hear there are a few of your out there at least) you should check it out!

* Why, you may ask, a Romhack Thursday? It’s because I wanted to do a weekly romhack feature but there aren’t any days of the week beginning with the letter R! You may also ask, why a picture of a frog wearing sunglasses for its header image? They’re the cool frog of the swamp, they know how to edit rom files and give them to all their friends. If you look closely at the cartridge in its hand, the label may look slightly familiar if you’ve played a lot of classic arcade games….

Zelda II: The Adventure of Mario (hack of Zelda II by jroweboy)

Gamefinds: Sophie Houlden’s Picotron Remake of Lemmings

We love it when we find weird and unique indie games to tell you all about! Our alien friends to the left herald these occasions.

It’s got every level of the original Lemmings, including variants from different versions, and the first Holiday demo collection, along with a smattering of extras with more on the way. Picotron of course is the successor to the popular Pico-8 fantasy console, more of a fantasy workstation, but you can still play Picotron Lemmings without buying the $20 tools.

It doesn’t have music or many of the sound effects (including any digitized voices), but it does play very well. It’s smoother than the original and even has visual indicators for Climbers and Floaters, which the originals didn’t have.

Lemmings is a true classic from the 16-bit era and even without music this version is a fine remake. And it’s free to play!

One of those ports we mentioned was a web-based port from 2004, DHTML Lemmings, still online after all these years. Back then it was amazing to see a game like that without even needing Shockwave or Flash. We’ve come a long way, for better or worse, but Sophie’s version is destined to be a highlight among the legends of the Lemmings.

What is that? Some of you may not know what Lemmings is? It’s a classic computer game from DMA Design in the early 90s, originally for the Commodore Amiga but ported to many other systems including the SNES. A bunch of green-haired numbskulls march forward through a huge variety of dangerous landscapes. As kind of their benevolent god, you give them skills to help them get through the terrain and also prepare the way for their friends. In the original you had to have a certain percentage survive to progress to the next level, but in this version you can play them in any order you choose. Give it a try, it’s just as brilliant now as when it was first released in 1991.

Sophie’s Picotron remake of Lemmings (Picotron, Web, $0)

@Play: Larn Turns 40

@Play‘ is a frequently-appearing column which discusses the history, present, and future of the roguelike dungeon exploring genre.

Larn, created by Noah Morgan, may his name be sung by the bards forever, is a venerable classic roguelike game, from the same era as Moria and the first Hacks. It’s always been more obscure than the other games but was still popular, and it’s still played today. atsb, aka Gibbon, made a GitHub post commemorating its 40th anniversary, and noting the code has been ported to run on many systems, like Windows, Mac, Linux, DOS, OS/2, 68000, Alpha and many others. There they have both its source code and many precompiled binaries. We covered Larn once back on GameSetWatch, but GSW’s now only accessible through the Wayback Machine, and my Larn article from there is in the book Exploring Roguelike Games, so it seems a good opportunity to write of it again here.

You can download it from that page, but note that after unpacking it you should copy the files in the larnfiles directory into that of the executable, then edit larnopts to suit your playstyle (I’d change the player name, turn on color and pick a suitable gender.) If you don’t copy the files you won’t have in-game help; if you don’t edit larnopts your player will default to a male character named Gibbon.

I’ve only played a little of this version, but what I’ve seen is in keeping with the style of olde. Larn is a great game and worth trying. It makes a lot of different choices from its colleague games, which gives it a different feel. By default it’s easier than Rogue or Hack, but you can pick a higher difficulty if you want. High-difficulty games are ranked higher on the scoreboard.

Larn has a town level like Moria, but it includes features like a college that can teach you skills (but cost money and time) and a bank to save money at. It has two dungeons: a main dungeon that’s ten levels long, and a volcano that’s three levels and much stronger monsters. It has many random features, akin to Nethack’s fountains and thrones, that can do various things to your character, and it uses a code-based spell system. Press Shift-I from the spellcasting prompt (the c key) to be told what spells you know and what their codes are.

In the land of Larn many items cost lots of money, but you also find lots of money in the dungeon, there are lots of valuable gems there, and enemies frequently drop more. There are some things that are different from the Rogue and the Hack line of roguelikes that will need some adjustment:

  • One key that works the same is Question Mark for Help, which should give you enough information to start you on your way.
  • I haven’t tried using a numpad to play yet, but the help text doesn’t mention it. You might have to use the vi keys plus diagonals to move: hjkl for leftdownupright, and yubn for up&leftup&rightdown&leftdown&right.
  • While the standard keys < and > go up and down levels, to enter places from down you have to press Shift-E.
  • Monsters don’t follow you between dungeon levels, but the stairs, going both up and down, deposit you at a random place on the next level, so you can’t just retreat up if you find a dangerous monster on the next level.
  • Some dungeon features use letters of the alphabet in addition to monsters: a deep blue P is a pit you might fall down.
  • There is no key to put on or remove a ring, for they take effect automatically as you carry them. They’re identified immediately too.
  • Potions and books don’t get individual descriptions when unknown, like “scroll titled KIRJE” or “plaid potions,” but they do still have underlying identities, and get identified when you use them.
  • Lots of items, not just weapons and armor, have plusses, and you can even see them when the item type is unknown. What they mean, you’ll have to figure that out for yourself.
  • When you find gems, don’t sell them in the trading post. Take them to the bank and have them appraised there.
  • The flow of your quest is unusual to players expecting to collect an Amulet of Yendor some ways down and escape with it. The Eye of Larn is at the bottom of the main dungeon, but it won’t cure your daughter. But there is a way it can greatly further your quest, if you can figure out what that is.

A really distinctive thing about Larn is its time limit. Larn doesn’t use a food clock like many other classic roguelikes, but instead your daughter is dying of a mysterious disease whose cure is rumored to be somewhere in the land. As long as you progress slowly enough you can usually handle the monsters, and you can learn new skills in the College of Larn, but if you take more than 350 “mobils” you’ll fail your quest, although there is an item that can give you more time. If you manage to win the game, the Larn Revenue Service assesses you taxes based on your score before you can use the stores in subsequent games, and you can set a difficulty level before playing that affects the game in many ways: use the command-line option -# where # is the level, with 0 being the easiest.

Larn has its own wiki with many play tips (a lot of them spoilers) at wiki.larn.org.

Obscure Arcade Games, Presented By Gary

Used to be there were many thousands of different arcade games that you could find nearly, in arcades, convenience stores, grocery stores, gas stations and sometimes even just on a street corner. In the US (the country that originated arcade games somehow), those days have been gone for a long time, unless you count video poker machines as arcade games, and I don’t, as doing so would send me into a profound depression.

More than that, arcade games in the days of their ascendance had a breadth and variety that no other style of video game has ever had. Even home microcomputers, to my eyes, didn’t see games as ludicrously peculiar as arcade games could be, especially in their early days.

Somebody on Youtube with the user name GaryRetroGamer has made a three videos showing off obscure but interesting arcade games from the 80s, ranging in length from 20 to 25 minutes, 127 games from 1983-1984 (25 minutes):

133 from 1985-1986 (22 minutes):

and 100 from the late 80s:

To help you track down individual games, the ones in each video are presented here, in order. Please excuse errors, these lists were compiled with the aid of text processing tools. (For any bashheads out there, of particular use: cut, tr, wl-paste, wl-copy)

1983-4

Dr. Micro, Exerion, Guzzler, Harem, High Way Race, Hoccer, Hopper Robo, I Robot, Intrepid, Joinem, Joyful Road, Jump Coaster, Kick Boy, Lover Boy, Markham, Marvin’s Maze, Money Money, Mouser, Mr. TNT, New Sinbad, Nova 2001, Phozon, Popper, Raiders, Regulus, Roc’n’Rope, Saturn, Scrambled Egg, Senjyo, SF, Sinbad Mystery, Sky Lancer, Star Jacker, Stinger, Super Doubles Tennis, Super Glob, Tin Star, The, Traverse USA, Tropical Angel, Uncle Poo, Van, Vastar, Yamato, Acrobatic Dog Fight, Appoooh, BanBam, Bank Panic, Battle, Ben Bero Beh, Bull Fighter, Bullfight, B-Wings, Champion Boxing, Cheyenne, Chicken Shift, Chinese Hero, Circus Charlie, Complex X, Country Girl, Crater Raider, Crowns Golf, Cycle Mabou, D-Day, Demolition Derby, Do Run Run, Dragon Buster, Drakton, Driving Force, Eeekk!, Eight Ball Action, Equites, Field Day, Fighting Basketball, Fire Battle, Freeze, Future Spy, Gladiator 1984, Goalie Ghost, Great Swordsman, Grobda, Gyrodine, Hero, Hole Land, Hunchback Olympics, Imago, Itazura Tenshi, Jack Rabbit, Jumping Cross, Jumping Jack, Kamikaze Cabbie, Kick Rider, Kick Start, Liberation, Lode Runner, Mad Crasher, Mister Viking, Mr. Kougar, Mysterious Stones, Ninjakun Majou No Bouken, Off The Wall, Pandora’s Palace, Peter Pack Rat, Pinbo, Pirate Ship Higemaru, Progress, Revenger ’84, Roller Jammer, Rumba Lumber, Sea Fighter Poseidon, Seicross, Snacks’n’Jaxson, Snake Pit, Son Son, Spatter, Star Force, Super Bag Man, Super Basketball, SWAT, Three Stooges in Brides Is Brides, Timber, Tube Panic, Two Tigers, Wai Wai Jockey Gate, Wanted, Wily Tower, Zaviga, Zwackery

1985-6
4-D Warriors, Alien Sector, Arm Wrestling, Bogey Manor, Boulder Dash, Canvas Croquis, Cerberus, Chanbara, City Connection, Combat, Cop 01, Crazy Rally, Crowns Golf in Hawaii, Doki Doki Penguin Land, Field Combat, Finalizer, Flashgal, Galactic Warriors, Go Go Mr. Yamaguchi, HAL21, Heavy Metal, High Voltage, I’m Sorry, Ikki, Knuckle Joe, Lady Master of Kung Fu, Lizard Wizard, Lode Runner III, Lot Lot, Mat Mania, Mayhem 2002, Metal Clash, Mirax, Motos, N.Y. Captor, Penguin, Performan, Pinball Action, Pitfall 2, Porky, Powerplay, Raiders 5, Repulse, Samurai Nihon, Sarge, Scooter Shooter, Sega Ninja, Shanghai Kid, Shoot Out, Shot Rider, Sky Destroyer, Sky Kid, Special Forces, Spelunker, Splendor Blast, Street Heat, Submarine, Super Speed Race Junior, Tank Busters, Team Hat Trick, Teddy Boy Blues, The FairyLand Story, Typhoon Gal, Wink, Wiz, Wyvern F, Argus, Baluba, Battle Lane! Vol 5, Big Event Golf, Body Slam, Brain, Calorie Kun vs Moguranian, Chiller, Clash Road, Clay Pigeon, Competition Golf Final Round, Danger Zone, Darwin 4078, Empire City 1931, Fire Trap, Flower, Gardia, Genpei ToumaDen, Gigas, Gladiator, Guardian, Halley’s Comet, Hopping Mappy, Joust 2, Kiki KaiKai, Land Sea Air Squad, Legend, Lock, Lost Castle In Darkmist, The, Mania Challenge, Max RPM, Merlin’s Money Maze, Mighty Guy, Mission 660, Mr. Goemon, Night Stocker, Ninja Emaki, Noboranka, Omega, Power Drive, Prebillian, Rack + Roll, Rafflesia, Red Robin, Return of Ishar, The, Riddle of Pythagoras, Robo Wres 2001, Rock ‘n Rage, S.R.D Mission, Shackled, Sky Kids Deluxe, Slap Shooter, Soldier Girl Amazon, Space Position, Spiker, Stompin, Super Stingary, Thunder Ceptor, Tokio, Top Gunner, Top Secret, Toypop, Transformer, Ufo Robo Dangar, Up Scope, XX Mission, Youjyuden

Late 80s
Aaargh, Act Fancer, Bakutotsu Kijuutei, Battle Shark, Black Panther, Block Hole, Bonze Adventure, Buccaneers, Burning Force, Champion Wrestler, China Gate, Chopper, Chuka Taisen, Crazy Climber 2, Crime City, Crime Fighters, Cue Brick, Dead Angle, The Deep, Demon’s World Horror Story, Devastators, Devil World, Diamond Run, Don Doko Don, Dr. Topper’s Adventures, Dragon Punch, Dragon Unit Castle of Dragon, Dynamite Duke, Enforce, Extermination, Exterminator, Exzisus, Fast Lane, Final Round, The, Finest Hour, Gang Wars, Garyo Retsudent, Ginga NinkyouDen, Gold Medalist, Gondomania, Gorodki, Hachoo, Hard Head, Hippodrome, Hot Chase, Hyper Crash, InsectorX, Kabuk, Kageki, Kitten Kaboodle, Konek, Kozure Ookami, Kuri Kunton, Kyros, Legend of Hero Tonma, Legend of Makai, Legion, Mad Gear, The Main Event, Marchen Maze, Maze of Flott, Metal Freezer, Metal Hawk, Mirai Ninja, Mustache Boy, Mutant Night, Night Striker, Ninja Kazan, Ninja Kid II, Ninja Mission, Pig and Bombers, Plump Pop, Poker Ladies, Psychic 5, Psycho, Python, Rabbit Punch, Racing Hero, Raimais, Reikai Doushi, Rompers, Shingen Samurai, Skull & Crossbones, Sky Robo, Snezhnaja Koroleva, SOS, Spark Man, Special Project Y, Star Guards, Street Smart, Super Ranger, Shadowland, Tough Turf, Trick Trap, Tricky Doc, Trio The Punch, Ufo Senshi Yohko Chan, Viper, Wild Fang, Wit’s, Wonder Momo


Nerdly Pleasures Breaks Down The History of Wizardry

NOTE: WordPress has malfunctioned and isn’t allowing me to use the Visual Editor right now, so I’m writing this with the code editor. I don’t have much experience with this, and I don’t know how to add images using it other than a featured image (which might not even show on the web). It’s a good thing I can write HTML code.

Wizardry was the first popular (actually, mega-popular) CRPG, though as with many CRPGs from the time it’s much forgotten about now, even if its legacy is truly gigantic. It is indeed fortunate that Digital Eclipse has released that modern remake of Wizardry I, Proving Grounds of the Mad Overlord, which is a lot more than you can say about Ultima, Phantasy, Might & Magic or a bunch of other games.

Nerdly Pleasures has posted a detailed history of the original games and their microcomputer ports, breaking down versions, features and bugs. It reminds of a number of interesting things, like that the original Apple II Wizardry would write to the Scenario Disk if you defeated a certain encounter, and thus make it permanently impossible to encounter it again on later playthroughs. Or that character growth was badly broken in the original PC version, with stats going down when they should have gone up. Or that the Commodore 64 version came out so late that it not only includes support for the C128’s extra memory, but even Commodore’s bankswitching RAM expansion modules.

I have come to realize that I much prefer the gameplay in these early CRPGs to those of more recent takes like Skyrim. The simulationist depth of those founding games has largely been replaced with gamish fluff, and in place of the imagination that the first CRPGs asked players to bring to the experience, everything has been made literal, explicitly rendered on your screen just as you’re supposed to perceive it. I know this comes across as nostalgia talking, but I don’t think it necessarily is. There’s a whole approach to making RPGs that has been lost, and I think we’re all poorer for it.

A Bunch Of C64 Music Remixes

Still working on various other things, but fortunately I found out today about remix.kwed.org, which is kind of a version of OCRemix that focuses (but I don’t think is exclusive to) Commodore 64 music remixes. These aren’t also not all played by a C64, but are remixes of songs from them, so, not all chiptunes. If you need a jam to get you started, try this remix of M.U.L.E.

One of those things I mentioned is, I’m getting a table at Vintage Computing Festival Southeast 2026 in Atlanta! And they said they wouldn’t mind if I did another presentation on the history of Loadstar, so it looks like I’ll be doing that again too! If anyone reading this is in Atlanta July 31, or on August 1-2, please drop by and say hello!

PlayChoice-10 Punch-Out Is Different From Cartridge

It’s a weird thing to change, but there is a slight difference between the version of Mike Tyson’s Punch-Out!! in the Playchoice-10 version than any other version of the program. As explained on the NES/Famicom game’s page at The Cutting Room Floor, when you start a game in Playchoice Punch-Out, it asks you to enter your initials.

Image from The Cutting Room Floor

It does this because of a couple of other changes: the player is identified by their initials before each fight, and it saves a high score table for each fight that’s displayed when the game comes up in attract mode.

While we’re on the subject of Playchoice differences, on dual-screen Playchoice-10 machines, the top screen is used as a simple UI for selecting games and tracking how much playtime you have left, but it also displays instructions for the game. The instruction screen for Metroid contains a simple map of the first area. (Cutting Room Floor article with image)

Just a minor thing today, as I’ve been splitting my time between other projects. I may have mentioned the Punch-Out fact here before, but if I have it’s been awhile.

Multilink Monday 5/11/26

We collect literally hundreds of links in compiling stuff to you, far more to give everything its own post. Here’s a scattershot collection of some of it, we hope that one or two of them might strike your discriminating fancy.

We dusted off the image editor and made the first new page header in years! It’s about time too, for it’s time to shorten our list of pages before they threaten to overwhelm our nonexistent offices.

1. Seminal official D&D blobber Eye of The Beholder got a C64 port three years ago. That’s how long this link’s been laying at the bottom of our barrel. Here’s a demonstration video. (37 minutes) If you play it on a C128 in C128 mode, it uses the 80-column screen to display a map! Something to try out in VICE.

2. Also from around that time LowSpecGamer did a video exploring the origins of the ARM processor. (18 minutes) It was created by people new to processor construction for British Acorn microcomputers, and from there expanded and grew until now it’s the most popular processor style in the whole world, backing both Apple and Android devices, by a long shot. It’s beginning to make inroads into desktop use even; I’m currently writing this on an ARM-powered Raspberry Pi 500+.

3. onaretrotip shows off cancelled arcade games in two videos, Part 1 (18 minutes) and Part 2 (32 minutes).

4. I’ve been having a distracting amount of fun on a kind of public Unix/Linux machine called a tilde lately. I plan on writing a lot more on my experiences, but in the meantime you can find out what they’re about, including finding one to sign up for yourself, at tildeverse.org.

5. It’s been hanging out among my tabs for a few days, a memory of days when I referred to it frequently, Ali Harlow’s Nethack spoiler site. Not that the Nethack Wiki isn’t great, but the Wiki-style organization of information is not always the perfect mechanism for information delivery, and the decline of this style of fansite has weighed down on my soul, a whole species of site preyed upon by Fandom and its horde of highly SEO’d corporate wikis. Here’s some more surviving Nethack info sites, though you should note much of the information is a little outdated: the venerable Steelypips, Stan’s Nethack site, some miscellaneous related files most from 1997, and a few more files scattered about this directory at www.chiark.greenend.org.uk: an identification spoiler and item sheet, a musing about Nethack bots, a brief discussion about combat, a discussion comparing Dungeon Crawl with Nethack, and this cake:

6. A late-breaking development, the 25-year-old forums of classic gaming site Digital Press have been destroyed, apparently due to miscommunication between owners, in order to save a little bit of cash every month. As Time Extension reports, this is a gigantic blow to the retro gaming community, there was a huge amount of information that was contained there, and the Wayback Machine’s preservation of these forums is scattershot.

7. To throw in another last-second inclusion, Nintendo’s “My Nintendo” store is changing its name to just the “Nintendo Store.” This is their web shop, not their console-based digital game sales service called eShop, although you can buy downloadable games from the site too. I’d link to the announcement, but they stupidly only made it via Twitter. Get with the times, Nintendo!

Rings of Saturn

The Rings of Saturn logo, from the site itself

This post isn’t about any game specifically, but rather about an awesome Substack blog, Rings of Saturn, that examines the code of games from what they call the “32-bit era,” around the time of the Saturn to the Playstation 2, which includes the original Playstation, Dreamcast, and Gamecube, with a handful for the Nintendo 64, 3DO, Xbox and even the PSP along the way. They load them up in like Ghidra and search for unpublished codes, they look through demos and prototypes for ways to unlock features (sometimes ones that aren’t present in the finished game) and they make hacks to make unreleased features usable. All are very worthy activities that should be of interest for the kinds of people who would visit Set Side B. (You know who you are.)

A few selected items: a mod for Burning Rangers to play it two-player co-op, playing as Sonic in Christmas NiGHTS Into Dreams, enabling a secret English translation in Kingdom Grandprix, a debug mode in Grandia II, a patch to unlock the entire first Clockwork Knight game in Clockwork Knight 2, a code to unlock some extra cartoon artwork in Cotton Boomerang, extra options in Radiant Silvergun, a cheat code for Parappa the Rapper, and much more!

Really, if you’re a fan of games from this era, you’re almost bound to find something on this site of interest to you. Have a look!

Dealing With Mortal Kombat II’s CPU Players

In the past we’ve linked to Modern Vintage Gamer’s looks into how Mortal Kombat II and Street Fighter II CPU opponents utilize unfair advantages against their players. These games’ code react to player movements far faster than another human could, can activate special moves much faster than humans can because they aren’t limited by move input timing, and in the case of MKII have a random component in whether the player is allowed to do certain things to CPU fighters. It might be worth having a look at the MKII video from that post.

So then, what can the player do? Just because CPU opponents have unfair advantages no human player has doesn’t mean its AI can’t be exploited in certain specific ways. Danny Tsung06 has a 19-minute video demonstrating how to handle the various opponents:

Another thing we’ve linked in the past is instructions on how to activate Ed Boon’s secret developer menu in the first three Mortal Kombat games.

NESHacker on Basic NES Platformer Movement

A 6502 is not a bad little machine, but it does require efficient coding to get decent real-time results. NESHacker dives into basic Mario-style platformer movement in a 10-minute video

The main portion of the video goes into subpixel movement, a term you may have heard speedrunners use. Many NES platformer heroes don’t jump immediately to movement when a control is pressed, but instead increase acceleration, and that acceleration is measured, in the case of Mario, in 16ths of a pixel.

The process of conversion is pretty slick though. It doesn’t use floating point math but fixed point. Mario’s position isn’t stored just in hardware screen coordinates but in a number with four extra bits off the right side. This larger number is what acceleration math is performed on, and when it comes time to position Mario’s sprite matrix (he’s not properly a sprite because he’s made of several), the code divides by 16 by just rolling the bits to the right, which is a very time performant operation on a 6502.

Other useful tricks are explicated, like storing controller states in a single byte (easily done since NES controllers have precisely eight buttons) and jumping. It’s not a general guide into general platformer implementation, but that’s okay, as there already exists a terrific example of that.