40

I am implementing a replica of the classic Super Mario Bros. in the Unity game engine. The problem is, I do not have a Nintendo Entertainment System.

I somehow found out that getting 100 coins will get you an extra 1UP (life), but what about the score?

There are 6 available decimal spots for the score:

Score

So what happens if the score exceeds 999999?

Too much score

1
51

Nothing special happens when going past 999,999 other than it just displays 7 digits instead. 1000100 score Source

4
  • 11
    I might have a follow-up question... Oct 22 '20 at 15:41
  • @AndréStannek and that is..? Oct 22 '20 at 18:17
  • 1
    @quetzalcoatl It was just supposed to be a joke because to me, the next obvious question is what happens when you exceed the 7 digits. Fortunately Ray also answered it in his answer :-) Oct 23 '20 at 7:48
  • @AndréStannek: ooh I see. Thanks, I totally was out of ideas re what you could mean and I thought it might be like "1000100pts by jumping.. how long did it take?" etc.. soo...yeah.. my mind went on a totally different route ;) Oct 23 '20 at 8:08
112

I quickly checked in an emulator since I didn't know either.

SMB1 stores the score in BCD encoding, using 6 bytes, one for each digit - excluding the units, since score granularity does not go below multiples of 50.

If you have a score of 123,450, the bytes will be 00 01 02 03 04 05.

The first 00 byte is reserved for properly handling millions. If you ever get scores between 1,000,000 and 9,999,950, there will simply be another digit displayed in front of the always visible 0's:

(The 6 bytes ahead of the marked ones are the TOP score, and the 6 following the Player 2 score.)

Technically, the maximum score possible is 9,999,990, 40 points above the maximum legal score which, as said, must be a multiple of 50.

If you exceed even this limit, the game will properly wrap over to 0, and the score is rendered as with a fresh game, with the millions-digit gone.

This is slightly spoiled by the TOP- 000000 highscore display at the start screen, leaving a space for the millions.

1
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat. Oct 20 '20 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.