John Romero Reveals Super Mario 3’s PC Port

Yesterday, on the 25th anniversary of the first Commander Keen release, id Software co-founder John Romero revealed a video of the studio’s Super Mario Bros. 3 demo. Created in a single week back in 1990, the year of Commander Keen, the demo was presented to Nintendo to show the viability of a PC port of the game. The second level has been redesigned to ask the important question: “Like it?”

Whether or not Nintendo did like the demo, history doesn’t make clear. What we do know is that they were concentrating all of their energies on games for their own hardware. How different the PC landscape might be if that hadn’t been the case.

Rather than falling into the rabbit hole of speculation (WHAT IF id HAD BEEN THE OFFICIAL NINTENDO LICENSE HANDLERS FOR PC), it’s worth examining why the demo was so impressive. Scrolling levels were tricky to implement for reasons that I’m not quite knowledgeable enough to understand. Essentially, redrawing the entire screen as soon as the edge moved even slightly was far too much of a drain on the humble home computers of the time and Carmack’s solution was to refresh only those parts that had actually changed. Static backgrounds were implemented wherever possible.

If my understanding of the timeline is correct, John Carmack had been trying to implement side-scrolling for use in a platformer based on a Romero design. The eventual demo of that game drew so heavily from Super Mario Bros, copying entire levels and simply replacing sprites, that the team referred to it as Dangerous Dave In Copyright Infringement. It was at that point that they decided to pitch an actual Mario port to Nintendo. When they were rebuffed, Apogee Software picked up the pieces and a version of the engine used in the demo became the foundation for Commander Keen.

I don’t have a copy of Masters of Doom at hand but that splendid book about the founding and history of id contains some details about the creation of this demo and the Commander Keen games. I did find a (supposed) quote from Romero about the details of the Keen engines and how they dealt with scrolling:

“Each Keen engine was different. The Keen 1-3 engine worked as you described: using the EGA panning register to get pixel-smooth scrolling and when it was about to hit a tile boundary it refreshed only those tiles on the screen that needed to change (thus “smart tile refresh”).

“Keen 4-6’s engine was different in that it not only used the EGA panning register for pixel-smooth horizontal scrolling but it also used the CRTC ADDRESS register to change the start of screen memory as the screen scrolled. This means that the entire 64k area of EGA RAM was used for the 2 page-flipped screens. As the player moved around, the start address of screen RAM changed and tiles were drawn off the edges so when it scrolled to that area of memory the tiles were already there.

“For example, if the player started falling down a hole the CRTC ADDR start would be moving down through memory as the engine drew tiles off the bottom of the visible screen area. Eventually you would be wrapping around the EGA screen segment (0xa000) – it didn’t take too long because both screens (for page-flipping) were in the same segment and ate twice the RAM.”

That’s taken from this thread, which explores the differences between the NES hardware and PCs of the time. And, yes, I’m unreasonably irritated by the typo in the thread title.

I shared some memories of Keen in a supporter post yesterday. If you have memories of your own about the boy wonder, share them below. And if you understand all of this platform engine business, please do discuss that as well. I might learn something.

From this site

13 Comments

  1. FreeTom says:

    This is really interesting. I wonder whether theyYOU CAN FLY WITHOUT A RUN-UP *bins Doom Collector’s Edition*

  2. Darth Gangrel says:

    I was fortunate enough to own a NES and play Super Mario Bros. 3 plenty of times all the way through, but it would have been nice to have a PC version as well, to play some for old times sake and all that. The levels look much better than many retro indie games, but perhaps those indie games take their graphical inspiration from even further back than SMB 3 or something else.

    I never went back to console games after I started playing PC games around mid 90’s and now I have a backlog too large to ever justify getting a second gaming platform.

    • GameCat says:

      Many “8-bit” indie games have graphics made by programmers with little art skill. Go figure.
      Also many “8-bit” indie games doesn’t even look like 8-bit game at all. Shovel Knight is a very good modern example of game that captures the feel and mood of 8-bit classics.

  3. Malcolm says:

    Good to see the old console/home computer wars are still bubbling along 20+ years later on that thread. Did I say “Good” – I meant “Depressing”

    • TillEulenspiegel says:

      As always, it’s a bit of a pointless question because all hardware is on different release schedules. A Famicom in 1983 looks way more impressive than it would in 1989, before the Super Famicom was released. And of course it took multiple years before the NES was available in the US and Europe.

      I was too young to experience the NES at its release, so around 1990 (pre-SNES) I was comparing it to a 50MHz 486 PC, which blows the 6502 away.

  4. jrodman says:

    I’d say it was a completely bog-standard technique to update as few pixels as possible when drawing new frames on hardware of that era. What differentiates efforts is how clever and/or effective you are at achieving that goal.

    By 1990, the ISA bus was so incredibly slow compared to the other features of the IBM PC clone platform (not to mention that it required a lot of active CPU time), that minimizing the amount of data you had to push across it was the defining performance characteristic of games until VESA local bus and later PCI arrived.

    • VelvetFistIronGlove says:

      Only updating changed tiles, plus register-controlled horizontal smooth scrolling, plus address-shifting for vertical smooth scrolling, plus double buffering, plus many sprites, all at a steady 30 FPS — none of this was new in 1990, but on PC it was still a rare enough combination to stand out.

  5. ocdmonkey says:

    Too bad this will probably never get released due to copyright issues. This would be really cool to have for us collectors of old computers and videogames.

    • VelvetFistIronGlove says:

      I doubt this demo will be released, but its predecessor—the one level demo that John Carmack and Tom Hall hacked together one night—was released on John Romero’s old site: link to web.archive.org (archived link)

  6. RealityJones says:

    I would not have cared then, or now, if that ever happened or was released. It’s probably my most disliked game series and one that I consider badly over-rated. Obviously each to their own but this news doesn’t surprise, excite, or titillate me at all. It does make me sort of sleepy though…

  7. welverin says:

    When I first started watching the video, I couldn’t shake the feeling that Mario just looked wrong, then it dawned on me his body is made of a Bob-omb.

  8. Devan says:

    While it’s true that it would be interesting to know what might have happened if Nintendo had invested in the PC market, Commander Keen would probably not have been made in that case. So IMHO it’s just as well that they didn’t.