If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Development:Super Mario Kart/1991 Alpha

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Development:Super Mario Kart.

This article is a work in progress.
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.

The 1991 Alpha is a very early build of Super Mario Kart that appears to be a general driving test.

The uncompiled code can be found in other.7z/NEWS.7z/テープリストア/NEWS_05/NEWS_05.tar/home/kimura/exp. The code files are dated from April 18 to July 25, 1991. Besides the code files, precompiled Intel-Hex files are also included in the same folder, called sfx-exp.hex and sfx-back.hex. These files can be directly converted to bootable ROMs, but they will only contain the code data, not any of the asset data. The main difference between these two files is the main menu (more on that below).

Credit goes to MrL314, Dirtbag, and atomicdesolation for the building and repair of these prototype builds.

To do:
  • The source files mention three different debug modes when pressing Select, with one being the CPU usage meter.
  • More info and disclaimers about possible assets.
  • Does the earlier 1991 Alpha (sfx-back.hex) make more sense as the "Man in Overalls" build?
  • Unknown object: The file tr2, which holds the info for the asset's offsets for the earlier sfx-back.hex, mentions another graphic file called "obj.CGX" at offset 3c000. Is it possible to load something at this offset, and is it possible to spawn any objects in the proto?

General Differences

  • No sound.
  • The only characters present are Mario, Luigi (who uses Mario's graphics with a green palette), and Bowser.
  • Five tracks are present: H-00, K-00, K-01, K-02, and K-03. While not entirely certain, it's possible that "H" tracks were for Hover Mode and "K" tracks for Kart Mode. The ZE2-X.scr track was likely one of the tracks used, as it has a timestamp of July 11, 1991.
  • Only one track tileset is loaded within every track. The ZE2.CGX tileset was likely used, as it has a timestamp June 20, 1991. It also contains water tiles, most likely used for a Hover Mode track.

Main Menu

Appears upon booting the game.

  • CONTROL - Lets you choose between two control options.
    • HOVER - Starts "race" in Hover Mode.
    • KART - Starts "race" in Kart Mode.
  • DRIVER - Lets you select Mario, Luigi, or Bowser for Player 1 (CONT-1) and Player 2 (CONT-2). Uses the internal names.
    • MARIO - Mario
    • LUIGI - Luigi
    • KUPPA - Bowser
  • MAP - Lets you select a track.
    • H-00 - Presumably Track for Hover Mode
    • K-00 - Presumably Track 1 for Kart Mode
    • K-01 - Presumably Track 2 for Kart Mode
    • K-02 - Presumably Track 3 for Kart Mode
    • K-03 - Presumably Track 4 for Kart Mode

Pressing Start will start the "race", such as it is at this point.

Early Menu Later Menu
SMK Alpha 91 Earlier Menu.png SMK alpha91 Menu.png

In the earlier version (sfx-back.hex) the menu only displays two options: CAR and HOVER, which will start a "race" in Kart and Hover Mode respectively.

1991 Alpha Font Nov'91 Font
SMK prerelease Car.cgx3.png SMK Nov'91 Font Type.png

The possible font used in the main menu of this build is similar to the possible font used in the later in November 1991 build, however it does not include colored edges nor the 1×1 tile version of the font.


Nominally a "race", as there is no set goal. There's also no items, no HUD, no CPU drivers (there are six "opponents", but they never move), and no wall collision (you can drive through everything and even off the course!).

The starting position is the same on every track, but differs depending on the selected control mode: Kart will put you on the middle-left side of the track, while Hover starts you in the middle. As can be seen in the Kart Mode picture below, the drivers' starting positions are bunched up together.

Other differences:

  • The camera is not always behind you.
  • Other drivers start glitching in the distance and in the near and are very shaky.
  • The background only consist of one layer and is only displayed in Player 2's screen.
    • It uses the files back.CGX and back.SCR. The latter can be found in data.lzh/back/scr, and uses the H.CGX sky graphics found in the Pilotwings source files which was most likely used for back.CGX.
  • Pressing Select will darken the screen and seems to add a CPU usage meter.
  • Pressing R while the game is paused will advance one frame.
  • Pressing Y + B + Select + Start will reset the game.

Kart Mode's physics are very different than in the final game. You cannot drift or hop, and driving in reverse with Y is buggy (you need to steer first then hold Y; the camera will also be locked). It is also possible to brake or to drive in reverse with A.

Hover Mode controls similar to a hovercraft: strong handling with fast rotation. Pressing Up decreases the handling, while pressing Down increases it. Unlike in Kart Mode, driving in reverse is not possible here. This control mode, the presence of a guy in a hovercraft in CAR.CGX, and the water tiles found in ZE2.CGX point to an early idea of racing with hovercraft machines, which was ultimately scrapped early on.

Earlier Version

sfx-back.hex with CAR.CGX sprites

The earlier version (sfx-back.hex) dated June 10, 1991, is 15 days older than sfx-exp.hex, which is dated June 25.

Besides a different main menu, there are also some small differences in-game:

  • There is only a single generic driver graphic loaded but with three different palettes. This lines up with a statement by Hideki Konno in an Iwata Asks interview claiming that the game wasn't turned into a Mario title until "about three to four months after we started development, when we had created a prototype involving two karts racing simultaneously."
  • The angles and sizes for the driver's graphic are arranged differently, including a close-up graphic displayed when another driver is very near the camera (shown on the screenshot at right). Something like this doesn't exist in later builds, the graphic file CAR.CGX includes a close-up graphic.
  • In Kart Mode, it is sometimes required to hold Up or Down for several seconds while holding B to start driving.
  • Handling in Hover Mode is less strong than in sfx-exp.hex.
  • The camera in Hover Mode isn't always behind the driver. In sfx-exp.hex, it's always fixed behind the driver.
  • Only two tracks can be loaded, one per mode.
  • Characters (or actually the color palettes) cannot be selected. Player 1 will load the first driver palette and Player 2 the second one. Four of the other six "opponents" load the third palette, while two of them use the ones from the human players.

Build Files

The included source files are sufficient to build the later of the two builds. With a proper assembler, the later alpha can be built from these source files (included in the order of appearance in the build). Each ASM file can be assembled into its respective REL file, and the REL files can be linked together to form the build. However, kimura/exp already includes pre-assembled REL files which can be linked to form the later build.

Raw ASM Source Files Assembled REL files

Setting the prog section to be assembled at $00:8000 will create the build identical to the sfx-exp.hex build. However, since neither of the builds include asset code, we cannot be certain of what the assets for this build would have been. The CAR.CGX file with the font-type was directly referenced in kimura/exp/tr, drops directly in-place in the game, and works as-is, so we are fairly sure that this version of the file was used in this build. This does not mean it for certain was used, only that it is highly likely that it was.

The only other info for certain assets used was the reference to mario.CGX and koopa.CGX, which are the internal names for the sprite sheets for Mario and Bowser respectively. These files needed to be rearranged, since this prototype renders the 2×2-tile character sprite differently than the way they are formatted in the leaked .CGX files.

(Source: MrL314, Dirtbag, atomicdesolation, Kowski)