Series

Mario

Nintendo's franchise around Mario, from the Super Mario platformers to the racing, puzzle, and role-playing series named for him.

Mario is Nintendo’s franchise around its hero of the same name. Its center is the Super Mario platformers, which began with Super Mario Bros. in 19851. Miyamoto set out to make that game like his arcade Mario Bros. of 1983, but scrolling, bright, and with bigger characters2, and its specification refines pieces of Donkey Kong, Donkey Kong Jr., and Mario Bros.3. Other series take Mario’s name into kart racing (Mario Kart), role-playing (Paper Mario), and falling-block puzzles (Dr. Mario).

Series

Games

Interactive: timeline (needs JavaScript)

The series by year

Mechanics

MechanicSuper Mario Bros.
1985
Super Mario Bros.: The Lost Levels
1986
Super Mario Bros. 2
1988
Super Mario Bros. 3
1988
Super Mario Land
1989
Dr. Mario (NES)
1990
Super Mario World
1990
Mario's Time Machine
1993
Mario Kart 64
1996
Super Mario 64
1996
Paper Mario
2000
Super Mario Sunshine
2002
Mario Kart: Double Dash!!
2003
Action commandTimed pressHold and release
Air controlMomentumMomentumMomentum
Bonus stageSlot machine
ChainCascade
CHR bank switchingFixedMid-frame
ClearingLine of four
ClimbingVine or ladder
ContinueUnlimited
Coyote timeNoneNoneSome platformsNone
Damage formulaAttack minus defense, no roll
Delayed auto shiftDelay, then repeat
Demo playbackInput script
Destructible terrainBreakable tiles
Difficulty rampLevel flag
DPCM samplesMusic track
Drift boostStick stages
Drop speedPiece ramp
Enemy spawningGenerated
Engine classTop speed
Entry delayAnimation
Extra lifeOther conditionOther condition
FlightHoverRun-upHeld height
GarbageDropped on top
GravitySwitch on releaseSwitch on releaseLighter while heldLighter while heldNoneLighter while heldOne gravityOne gravity
Ground poundHover then drop
Healing itemInstant
Health upgradeWhole containers
Hit pointsuses
HitboxPoints and a boxPoints and a box
Invincibility framesSlow timerSlow timerFrame timerFrame timerFrame timer
Item distributionBy placeFlatBy place
JumpSpeed from the runSpeed from the runSpeed by stateSpeed from the runTableSpeed from the runSpeed from the runSpeed from the run
KnockbackLaunch
Lock delayNone
Long jumpFrom a crouch slide
Mode 7Rotate and scale
MultiplayerAlternating
Music driverLength tableFractional tempo
Palette cyclingColor step
Piece randomizerDealt in advance
Power-upUntil hit
ProjectileBallistic
Raster effectsTwo bandsSeveral bands
Rocket startPress window
Rubber-band AIPower boost
RunningRun buttonRun buttonRun buttonP-meterP-meterAnalog
Sampled soundSampled instruments
Slope slidingOn Down
SpringboardTimed press
Sprite flickerRotating slots
Status bar splitSprite 0 hitScanline IRQScanline IRQ
Timed guardReduce · MarioNegate · partners
Triple jumpLanding chainLanding chain
Variable jump heightGravity switchGravity switchHeld gravityHeld gravityHold timerHeld gravityRelease cutRelease cut
Wall jumpusesKickWall slide
WindArea push
Stage selectuses
Water physicsuses

A marked cell changed from the game before. “Uses” means the game has the mechanic, with no variant recorded yet.

Every claim, by mechanic and game
ConceptSuper Mario Bros.
1985
Super Mario Bros.: The Lost Levels
1986
Super Mario Bros. 2
1988
Super Mario Bros. 3
1988
Super Mario Land
1989
Dr. Mario (NES)
1990
Super Mario World
1990
Mario's Time Machine
1993
Mario Kart 64
1996
Super Mario 64
1996
Paper Mario
2000
Super Mario Sunshine
2002
Mario Kart: Double Dash!!
2003
Action command
Air control
Area transition
Bonus stage
Chain
CHR bank switching
Clearing
Climbing
Continue
Coyote time
Damage formula
Delayed auto shift
Demo playback
Destructible terrain
Difficulty ramp
DPCM samples
Drift boost
Drop speed
Enemy spawning
Engine class
Entry delay
Extra lifeuses
Flight
Garbage
Gravityuses
Ground pound
Healing item
Health upgrade
Held item
Hit points
Hitbox
Invincibility frames
Item distribution
Jump
Knockbackuses
Level loading
Lock delay
Long jump
Metasprites
Mode 7
Multiplayeruses
Music driver
Palette cycling
Piece randomizer
Power-upuses
Projectileuses
Raster effectsuses
Rocket start
Rubber-band AI
Runninguses
Sampled sound
Slope sliding
Springboard
Sprite flicker
Stage selectuses
Status bar split
Timed guard
Triple jumpuses
Variable jump heightusesusesuses
Wall jumpuses
Water physicsuses
Wind

Code lineage

FromToMatchBytesWhat
Super Mario Bros. area-parser-task-handler … get-block-buffer-addrSuper Mario Bros.: The Lost Levels area-parser-task-handler … get-block-buffer-addrchanged2,422The area parser and its object builders (`AreaParserTaskHandler` through `GetBlockBufferAddr`) are Super Mario Bros.'s, with most changes in the metatile numbers they write, which shift with the renumbered metatiles (bridges, flagpole, coins, bricks, cannons, stairs, blocks, water pipe). Beyond those: the object jump table gains entries, the wind on and off commands among them, so three offsets into it change; `ScrollLockObject_Warp` picks the warp zone's destination by world, level and area; the third ledge style uses metatiles $8A-$8C and draws no stem, where Super Mario Bros.'s mushroom ledge uses $19-$1B with a stem (and `RenderUnderPart` drops its stem checks); the vertical pipes place a piranha plant through a shared `SetupPiranhaPlant`, with no exception for world 1-1; `Jumpspring` places nothing when no enemy slot is free. `IncrementColumnPos`, `AlterAreaAttributes`, `KillEnemies` and the object position helpers are byte for byte the same.
Super Mario Bros. chr-backgroundSuper Mario Bros.: The Lost Levels chr-backgroundchanged3,200Background tiles `$24`-`$EB` are Super Mario Bros.'s but for 65 of their 200: `$28`, `$29`, `$2B`-`$2D`, `$30`-`$3C`, `$45`, `$47`, `$4B`, `$4C`, `$4E`-`$52`, `$5D`, `$5E`, `$6B`-`$76`, `$80`, `$81`, `$9B`-`$9E`, `$A0`, `$A1`, `$A9`, `$AA`, `$AF`, `$B4`-`$BD`, `$C0`, `$C1` and `$CF` differ.
Super Mario Bros. chr-fontSuper Mario Bros.: The Lost Levels chr-fontrewritten576The font, background tiles `$00`-`$23` (the digits and A to Z), keeps Super Mario Bros.'s layout, so `GameText` spells with the same numbers, but every one of its 36 tiles differs from Super Mario Bros.'s.
Super Mario Bros. chr-sprites-objectsSuper Mario Bros.: The Lost Levels chr-spriteschanged2,816Sprite tiles `$50`-`$FF` are Super Mario Bros.'s but for 15: `$5B`, `$76`-`$7B`, `$85`, `$86`, `$D8`, `$DA`, `$DB` and `$FD`-`$FF` differ, among them `$76`-`$79`, Super Mario Bros.'s mushroom, which The Lost Levels' enemy table now draws, and the mushrooms' new tiles.
Super Mario Bros. chr-sprites-playerSuper Mario Bros.: The Lost Levels chr-spritesidentical1,280The player's 80 sprite tiles, `$00`-`$4F` of the sprite pattern table, are Super Mario Bros.'s byte for byte.
Super Mario Bros. draw-vine … draw-sprite-objectSuper Mario Bros.: The Lost Levels draw-vine … draw-sprite-objectchanged3,800The sprite drawing code (`DrawVine` through `DrawSpriteObject`) is Super Mario Bros.'s with these changes: `DrawPowerUp` draws every mushroom from tiles $D8, $DA, $DB and $FF where Super Mario Bros. uses $76-$79, and gives the poison mushroom, a fifth row, palette 3; `EnemyGfxHandler`'s tile table takes up $76-$79, and the handler also flips the upside-down piranha plants and colors the jumpsprings green on world numbers 2, 3 and 7; `RenderPlayerSub` plays the skid sound; `FlagpoleGfxHandler`'s score table gains the 1-up; `GetYOffscreenBits` has two of its tables' halves swapped, its instructions unchanged; `DrawBlock` uses a renumbered metatile. 12 regions, `PlayerGfxHandler` among them, differ only in their addresses, and five, `DrawSpriteObject` among them, are byte for byte the same.
Super Mario Bros. enemies-and-loops-core … init-jump-gp-troopaSuper Mario Bros.: The Lost Levels enemies-and-loops-core … init-jump-gp-troopachanged2,033Enemy spawning and set-up (`EnemiesAndLoopsCore` through `InitJumpGPTroopa`) are Super Mario Bros.'s with these changes: `ProcLoopCommand` reads 12 loop entries where Super Mario Bros. reads 11, and takes each loop's number of checks from a new `MultiLoopCount` table where Super Mario Bros. special-cases world 7; `ProcessEnemyData` skips a check in world 9 and gives one enemy code a piranha plant set-up; `InitHammerBro` checks the world; `LakituAndSpinyHandler` brings Lakitu back once `LakituReappearTimer` reaches 3, where Super Mario Bros. waits until it reaches 7, and brings him back lower on the screen in worlds 7 to 9 and A to D; `InitBowser` first erases any other Bowser; `InitPiranhaPlant` patches the plant's palette and pipe distance, green in worlds 1 to 3 and red from world 4 and in A to D; `InitJumpGPTroopa` starts the jumping paratroopa at x speed $F4 where Super Mario Bros. uses $F8. Of its 27 regions, 15 differ only in their addresses and 5 are byte for byte the same.
Super Mario Bros. fireball-enemy-collision … block-buffer-collisionSuper Mario Bros.: The Lost Levels fireball-enemy-collision … block-buffer-collisionchanged3,511The collision code (`FireballEnemyCollision` through `BlockBufferCollision`) is Super Mario Bros.'s with the upside-down piranha plant, the poison mushroom and the renumbered metatiles added: the fireball, enemy, background and stomp checks treat the upside-down plant like a piranha plant; `HandlePowerUpCollision` injures the player on power-up type 4; `InjurePlayer` also does nothing while the star's `StarInvincibleTimer` runs; `HandlePECollisions` checks for the cannon's Bullet Bill before the piranha plants and Podoboo, where Super Mario Bros. checks it after them; `PlayerEnemyCollision` decides a stomp with LDY, DEY, BPL on the vertical speed where Super Mario Bros. uses BMI and BNE (the two disagree only at speed $80); every stomp bounces the player through a new `SetBounce`, at vertical speed $FA, or $F8 off red paratroopas and flying green paratroopas, where Super Mario Bros. sets $FD after a stomp that defeats an enemy and $FC after one that demotes a paratroopa or knocks an enemy into its shell; `HandleClimbing` gives a life for grabbing the flagpole when the coin tally's digits and the timer's last digit match; `HandlePipeEntry` sends the player to the warp zone's one destination whichever pipe they take, where Super Mario Bros. picks by the pipe's x position; `HandleCoinMetatile`'s axe restores Mario's physics; `ChkForLandJumpSpring` sets `VerticalForceDown` to $70 as well as `VerticalForce`; `PlayerHammerCollision` also skips while the player is off screen; `HandleEToBGCollision` bounces a power-up on a bumped block without stunning it and never demotes a piranha plant; `CheckPlayerVertical` drops its test of how far down the screen the player is; one bounding box grows from $14 to $16. The platform collisions, `LandEnemyProperly`, the side checks and `BlockBufferCollision` differ only in their addresses, and three regions, `PlayerCollisionCore` among them, are byte for byte the same.
Super Mario Bros. floatey-numbers-routine … reset-screen-timerSuper Mario Bros.: The Lost Levels floatey-numbers-routine … reset-screen-timerchanged910The score numbers, the screen setup tasks, the status bar and the game's text (`FloateyNumbersRoutine` through `ResetScreenTimer`) are Super Mario Bros.'s with these changes: `GetPlayerColors` no longer picks a palette row by `CurrentPlayer` (Super Mario Bros.'s table has a row for Luigi); `WriteBottomStatusLine` goes through a new `GetWorldNumForDisplay`, which shows worlds A to D as letters; `DisplayIntermediate` blanks the screen after the world and lives screen in world 9, and `DisplayTimeUp` writes its text and resets the screen timer itself where Super Mario Bros. jumps into `DisplayIntermediate`; `ClearBuffersDrawIcon`'s title-screen part moves to the title code; the screen task list gains `DemoReset`; `GameText` drops the two-player and Luigi texts and adds CONTINUE and RETRY to the game-over screen. `InitScreen`, `SetupIntermediate`, `GetAreaPalette`, `GetAlternatePalette1`, `WriteTopStatusLine`, `AreaParserTaskControl` and `ResetScreenTimer` keep every instruction, with only addresses changed.
Super Mario Bros. game-core-routine … get-screen-positionSuper Mario Bros.: The Lost Levels game-core-routine … get-screen-positionchanged363`GameCoreRoutine` and `ScrollHandler` are Super Mario Bros.'s with three changes: the game mode's task list gains `GameModeDiskRoutines` at its head and the core no longer reads the current player's saved joypad bits; each frame of play calls `SimulateWind` once a disk file beyond worlds 1 to 4 is loaded; `ScrollHandler` waits for the status bar's timer IRQ before it scrolls and keeps the name table in `NameTableSelect`, where Super Mario Bros. sets it in its PPU control mirror. `GetScreenPosition` is byte for byte the same.
Super Mario Bros. game-menu-routineSuper Mario Bros.: The Lost Levels game-menu-routine … demo-enginechanged261`GameMenuRoutine` and `DemoEngine` are Super Mario Bros.'s menu and demo, rewritten in part: the menu drops the one- or two-player choice and the world select, and starts the game at world 1, or at world A when A is held and the game has been beaten 8 times; Select switches between Mario and Luigi; the demo plays new button presses and durations through the same code.
Super Mario Bros. game-routines … impose-frictionSuper Mario Bros.: The Lost Levels game-routines … impose-frictionchanged1,518The player's control and movement code (`GameRoutines` through `ImposeFriction`) is Super Mario Bros.'s, instruction for instruction in 14 of its 19 regions, with these changes: `OnGroundStateSub` and the jump and swim code move the player through a new `JmpMove`, which lets the wind push them (`BlowPlayerAround`) once a disk file beyond worlds 1 to 4 is loaded; `PlayerPhysicsSub`'s friction table moves up to follow the fall forces, inside the 17 bytes that `LoadPhysicsData` overwrites with Mario's or Luigi's set; `PlayerEndLevel` queues the level-end music once, guarded by a new `FlagpoleMusicFlag`, where Super Mario Bros. queues it whenever `ScrollLock` is set, and sets the hidden 1-up's flag on 10 coins in any world, where Super Mario Bros. reads a per-world table, and starts world 9 over after 9-4; `PlayerDeath` shares one RTS. The entrances, pipes, size change, injury blink, flagpole slide, falling, climbing, animation speed and `ImposeFriction` differ only in their addresses.
Super Mario Bros. init-bal-platform … run-fireworksSuper Mario Bros.: The Lost Levels init-bal-platform … run-fireworkschanged2,798The platforms' set-up, the enemy object loop, the enemies' movers, Bowser and the fireworks (`InitBalPlatform` through `RunFireworks`, 32 regions) are Super Mario Bros.'s instruction for instruction, with two changes: the enemy movers' jump table (`EnemyMovementSubs`) sends enemy 4, the upside-down piranha plant, to the new `MoveUpsideDownPiranhaP`, where Super Mario Bros. has `MoveNormalEnemy`; `MoveSwimmingCheepCheep` adds $40 to a swimming Cheep Cheep's vertical fraction each frame where Super Mario Bros. adds $20. Three of the regions are byte for byte the same, and the rest differ only in the addresses of their calls, jumps and tables.
Super Mario Bros. jump-engine … update-screenSuper Mario Bros.: The Lost Levels jump-engine … update-screenrelocated240`JumpEngine`, `InitializeNameTables`, `ReadJoypads` and `UpdateScreen` are Super Mario Bros.'s, instruction for instruction: `JumpEngine` is byte for byte the same, and the other three differ only in the addresses of their calls, jumps and tables.
Super Mario Bros. load-area-pointer … world-addr-offsetsSuper Mario Bros.: The Lost Levels load-area-pointer … area-data-addrschanged456`LoadAreaPointer`, `FindAreaPointer` and `GetAreaDataAddrs` are Super Mario Bros.'s, with the area data address tables made tables of words (indexed with an ASL) where Super Mario Bros. keeps separate low and high byte tables; the tables themselves hold The Lost Levels' worlds, and `AreaDataOfsLoopback` its 12 loop points. Of the level data, only the 9-byte pipe intro area (`L_GroundArea10`) is byte for byte Super Mario Bros.'s.
Super Mario Bros. move-object-horizontally … impose-gravitySuper Mario Bros.: The Lost Levels move-object-horizontally … impose-gravityrelocated325The movement and gravity routines (`MoveObjectHorizontally` through `ImposeGravity`) are Super Mario Bros.'s, instruction for instruction: `ImposeGravity` and `MoveDropPlatform` are byte for byte the same, and the other seven differ only in the addresses of their calls and jumps.
Super Mario Bros. music-handlerSuper Mario Bros.: The Lost Levels alt-sound-enginerewritten856`AlternateSoundEngine`, the ending's sound engine in `SM2DATA3`, is a rewrite of Super Mario Bros.'s `MusicHandler` that keeps its note and length code: it has no event or area music buffers and no time-running-out handling, steps through a list of patterns with `PatternNumber`, reading each pattern's header from `MusicHeaderData`, has its own pause and silence code, and plays the ending's music on the disk system's wavetable channel as well as the square, triangle and noise channels, with its own waveform, envelope and modulation tables.
Super Mario Bros. music-header-data … star-cloud-m-dataSuper Mario Bros.: The Lost Levels music-header-data … star-cloud-m-datachanged1,713SM2MAIN's music data is Super Mario Bros.'s less the victory theme: the headers lose `VictoryMusHdr` and their offsets shift by its five bytes, the residual header bytes differ, and `VictoryMusData` is gone from between the castle-clear music and the frequency tables, with two of the three unused bytes after it (the ending's music lives in `SM2DATA3`). The notes of every other song and the frequency, note-length and envelope tables after them are byte for byte the same.
Super Mario Bros. print-status-bar-numbers … run-game-overSuper Mario Bros.: The Lost Levels print-status-bar-numbers … run-game-overchanged846The status bar numbers, game setup, lives and game over (`PrintStatusBarNumbers` through `RunGameOver`) are Super Mario Bros.'s with a new `GameOverSubs` dispatch among them and these changes: the status bar's digit tables lose the second player's entries; `UpdateTopScore` checks one score where Super Mario Bros. checks two; `DigitsMathRoutine` drops a compare with zero before its BEQ; `DefaultSprOffsets` loses the sprite 0 data; `InitializeArea` loads the player's physics (`LoadPhysicsData`) and sets the secondary hard mode flag from 4-4 on and in all of worlds A to D (`HardWorldFlag`), where Super Mario Bros. sets it from 5-3 on or once the primary hard mode flag is set; `SecondaryGameSetup` sets the name table and switches on the status bar's IRQ split, where Super Mario Bros. sets the second player's lives and switches on the sprite 0 check; `InitializeMemory` also spares $0100-$0108; `PlayerLoseLife` reads its own halfway pages and no longer swaps players; `RunGameOver` opens the continue-or-retry menu (or, in world 9, ends the game) where Super Mario Bros. ends the game on Start or when the screen timer runs out and then hands over to the other player if they have lives left. `GetAreaMusic` and `Entrance_GameTimerSetup` keep every instruction, though the level timer's digits moved from $07F8 to $07EC.
Super Mario Bros. proc-fireballs … vine-object-handlerSuper Mario Bros.: The Lost Levels proc-fireballs … vine-object-handlerchanged1,013Fireballs, the level timer and the stage objects (`ProcFireballs` through `VineObjectHandler`) are Super Mario Bros.'s with these changes: `RunGameTimer` tests the player's height with BPL instead of BCS and points at the timer digits' new place; `WarpZoneObject` no longer counts up `WarpZoneControl`; `FlagpoleRoutine` gives a life for the new sixth flagpole score; `JumpspringHandler` launches with the green springs' force on world numbers 2, 3 and 7; `VineObjectHandler` erases the vine and its metatiles once it goes off the left of the screen. `ProcFireballs` and `ProcessWhirlpools` differ only in their addresses, and `SetupVine` is byte for byte the same.
Super Mario Bros. process-cannons … block-obj-mt-updaterSuper Mario Bros.: The Lost Levels process-cannons … block-obj-mt-updaterchanged1,358Cannons, hammers, coins, power-ups and blocks (`ProcessCannons` through `BlockObjMT_Updater`) are Super Mario Bros.'s with the poison mushroom added and one player: `BumpBlock`'s contents table gains poison mushroom blocks and `MushFlowerBlock` gains `PoisonMushBlock`, which sets power-up type 4; `PowerUpObjHandler` walks types 4 and 5 like a mushroom; `BlockBumpedChk` checks 19 block metatiles where Super Mario Bros. checks 14; `GiveOneCoin` and `AddToScore` use fixed offsets where Super Mario Bros. indexes by `CurrentPlayer`; the head-collision and coin checks use the renumbered metatiles. `SetupPowerUp` is byte for byte Super Mario Bros.'s, though the poison mushroom now passes through it, and so are `InitBlock_XY_Pos` and `SpawnBrickChunks`; the cannons, hammers, jumping coins, brick shatter and bouncing blocks differ only in their addresses.
Super Mario Bros. render-area-graphics … water-palette-dataSuper Mario Bros.: The Lost Levels render-area-graphics … water-palette-datachanged1,266The background renderer, the metatile tables and the area palettes (`RenderAreaGraphics` through the palette data) are Super Mario Bros.'s with the metatiles renumbered: The Lost Levels inserts new metatiles, so `ReplaceBlockMetatile` compares against shifted numbers ($56, $4F, $5C and $50 for Super Mario Bros.'s $58, $51, $5D and $52), and `MetatileGraphics_Low` moves some entries and adds others. The palette data region also holds two new messages. `RenderAttributeTables` is byte for byte the same, and `RenderAreaGraphics` and `ColorRotatePalette` differ only in their addresses.
Super Mario Bros. run-star-flag-obj … offscreen-bounds-checkSuper Mario Bros.: The Lost Levels run-star-flag-obj … offscreen-bounds-checkchanged1,047`RunStarFlagObj` through `OffscreenBoundsCheck` are Super Mario Bros.'s with these changes: `RunStarFlagObj` sets off fireworks when the timer's last digit matches the coin tally's, where Super Mario Bros. matches the timer's last digit against 1, 3 and 6, and adds its points to the one player's score; `MovePiranhaPlant` moves red piranha plants (the patched palette) every frame; `BalancePlatform` leaves a platform alone when its partner is no balance platform; `OffscreenBoundsCheck` treats upside-down piranha plants like upright ones. `FirebarSpin` is byte for byte the same, and the moving platforms differ only in their addresses.
Super Mario Bros. sound-engine … music-handlerSuper Mario Bros.: The Lost Levels sound-engine … music-handlerchanged1,705The sound engine (`SoundEngine` through `MusicHandler`) is Super Mario Bros.'s with two new sounds in the noise handler: the skid, played on the triangle channel from `SkidSfxFreqData`, and the wind, played from `WindFreqEnvData`; both tables sit after the square 2 handler. `SoundEngine`, `Dump_Squ1_Regs`, `Square1SfxHandler` and `MusicHandler` differ only in their addresses.
Super Mario Bros. star-cloud-m-dataSuper Mario Bros.: The Lost Levels star-cloud-m-dataidentical1,2991,299 bytes of The Lost Levels' music are Super Mario Bros.'s byte for byte: the last bytes of the music headers and the notes of every song SM2MAIN plays, from the star music (`Star_CloudMData`) through the ground music's parts, death, castle, game over, time running out, level end, underground, water and the castle-clear music (`EndOfCastleMusData`).
Super Mario Bros. start … move-all-sprites-offscreenSuper Mario Bros.: The Lost Levels start … move-all-sprites-offscreenchanged664The Lost Levels' boot, NMI and pause code (`Start` through `MoveAllSpritesOffscreen`) is Super Mario Bros.'s with these changes: `Start` sets mirroring through the disk drive's control register, keeps `WorldNumber` across the reset and sets the BIOS's IRQ flag; the NMI arms the drive's timer IRQ to split the status bar from the level, where Super Mario Bros. waits for the sprite 0 hit, and its VRAM address table is one table of 31 words where Super Mario Bros. has low and high byte tables of 19; `PauseRoutine` allows a pause in game-mode task 4 instead of 3, the game mode's task list having gained a disk task at its head. `SpriteShuffler` and `MoveAllSpritesOffscreen` are byte for byte the same, and the operating-mode dispatch differs only in its addresses.
Super Mario Bros. victory-mode … print-victory-messagesSuper Mario Bros.: The Lost Levels victory-mode … print-victory-messageschanged357The castle victory sequence (`VictoryMode` through `PrintVictoryMessages`) is Super Mario Bros.'s with these changes: on world 8, which world D also uses, `VictoryMode` runs a second task list that loads the ending from disk; `SetupVictoryMode` also sets the world's bit in `CompletedWorlds` and queues the castle-clear music; `PrintVictoryMessages` loses Super Mario Bros.'s world 8 branch and its victory music, and gains `EndCastleAward`, which counts the remaining time into points. `DrawTitleScreen`, which sits in the middle, shrinks to a few instructions that queue a layout held in the program, where Super Mario Bros. copies it out of CHR ROM. `PlayerVictoryWalk` keeps every instruction; only its addresses and one branch's distance differ.

References

  1. ^Nintendo dates the release of Super Mario Bros. to 13 September 1985.InterviewIwata Asks, SMB 25th, Vol. 2 p. 1 · Iwata Asks, SMB 25th, Vol. 5 p. 1 · Nintendo, Company Historyrevised
    How we know
    This September 13th marked the 25th anniversary of the release of the game Super Mario Bros.
    Vol. 2, p. 1, opening · archived copy ↗
    A side-scrolling action game released for the Family Computer System (Famicom) and the Nintendo Entertainment System (NES) in September 1985.
    Vol. 5, p. 1, note 1 · archived copy ↗
    Started selling the Super Mario Bros. game software for the Nintendo Entertainment System.
    1985 · archived copy ↗

    The quote matches our archived copy.

    Revised after a check by a second AI model, 2026-10-26.

    In the claim ledger

  2. ^Miyamoto says he set out to make something like his arcade Mario Bros. (1983), which didn't scroll and had a black background, but scrolling, bright, and with bigger characters. Scrolling cost Mario Bros.' simultaneous two-player play.InterviewIwata Asks, SMB 25th, Vol. 5 p. 3revised
    How we know
    About two years before Super Mario Bros., I made the arcade version of Mario Bros., but the screen didn't scroll, the background was black, and it was sort of plain. … So I decided to test out something like Mario Bros., but which scrolled, had a bright background, and had bigger characters moving around. … I wanted the screen to scroll, so at that point, I gave up on a two-player game. … Two people could enjoy playing Mario Bros., but it didn't scroll sideways.
    Vol. 5, p. 3, The Grand Culmination · archived copy ↗

    The quote matches our archived copy.

    Revised after a check by a second AI model, 2026-10-26.

    In the claim ledger

  3. ^The game drew on Nintendo's earlier ones. Its specification lists refinements of Donkey Kong's slopes, lifts, conveyor belts, and ladders, Donkey Kong Jr.'s ropes, logs, and springs, and Mario Bros.' enemies, frozen platforms, and POW Blocks. Iwata says the scrolling came from Excitebike and the large characters from Devil World, and Nakago that SRD's makers of Donkey Kong Jr.'s springs brought them in.InterviewIwata Asks, SMB 25th, Vol. 5 p. 3
    How we know
    Add refinements focusing on Donkey Kong's slopes, lifts, conveyor belts and ladders; Donkey Kong Jr.'s ropes, logs and springs; and Mario Bros.'s enemy attacks, enemy movement, frozen platforms and POW Blocks. … you brought in the partial scrolling technology from Excitebike, which allowed you to scroll part of the screen, and the two-character mode technology from Devil World, which allowed characters twice the size of those in Mario Bros. … Right. It was a combination of elements from previous games. … the SRD members who had made, for example, the Springs in Donkey Kong Jr.12, were also participating in the Super Mario Bros. project, so they brought that straight in.
    Vol. 5, p. 3, The Grand Culmination · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-26.

    In the claim ledger

Sources

Primary

  • Iwata, Satoru and Nintendo Co., Ltd. 2010. “Iwata Asks: Super Mario Bros. 25th Anniversary, Vol. 2, p. 1 (Bringing Video Games Home).” Iwata Asks, Wii, Super Mario Bros. 25th Anniversary, Vol. 2, p. 1. Nintendo Co., Ltd. original · archived · licence, all uses
  • Iwata, Satoru and Nintendo Co., Ltd. 2010. “Iwata Asks: Super Mario Bros. 25th Anniversary, Vol. 5, p. 1 (Using the D-pad to Jump).” Iwata Asks, Wii, Super Mario Bros. 25th Anniversary, Vol. 5, p. 1. Nintendo Co., Ltd. original · archived · licence, all uses
  • Co., Nintendo and Ltd. 2026. “Corporate Information: Company History (Nintendo).” original · archived · licence, all uses
  • Iwata, Satoru and Nintendo Co., Ltd. 2010. “Iwata Asks: Super Mario Bros. 25th Anniversary, Vol. 5, p. 3 (The Grand Culmination).” Iwata Asks, Wii, Super Mario Bros. 25th Anniversary, Vol. 5, p. 3. Nintendo Co., Ltd. original · archived · licence, all uses