hide results

    Password Guide by babcockd

    Version: 1.02 | Updated: 06/25/05 | Search Guide | Bookmark Guide

                                      Mike Tyson's
               _____                  _            ____        _   _ _
              |  __ \                | |          / __ \      | | | | |
              | |__) |   _ _ __   ___| |__ ______| |  | |_   _| |_| | |
              |  ___/ | | | '_ \ / __| '_ \______| |  | | | | | __| | |
              | |   | |_| | | | | (__| | | |     | |__| | |_| | |_|_|_|
              |_|    \__,_|_| |_|\___|_| |_|      \____/ \__,_|\__(_|_)
               ___                              _    ___      _    _
              | _ \__ _ _______ __ _____ _ _ __| |  / __|_  _(_)__| |___
              |  _/ _` (_-<_-< V  V / _ \ '_/ _` | | (_ | || | / _` / -_)
              |_| \__,_/__/__/\_/\_/\___/_| \__,_|  \___|\_,_|_\__,_\___|
    
                             (Version 1.02, 16 October 2013)
    
                          by Doug Babcock (doug.babcock@gmail.com)
    
    
    LEGAL INFORMATION: I have put a lot of work into this guide. If you use any
    information from this guide for anything other than personal use, or if you
    quote it, please give me credit. If you wish to put a copy of this guide on
    your web site or elsewhere, please e-mail me and I will give you permission.
    Please do not distribute this guide except in its entirety, and please do not
    add anything to this guide. This guide is copyright 2005--2013 Douglas Babcock.
    
    --- [0] TABLE OF CONTENTS -----------------------------------------------------
    
          [1] Introduction - My introduction. Read this first in order to get the
              most out of this guide.
          [2] The Password Tables - Three tables of how the passwords work.
          [3] The Basics Of Reading The Table - A brief description of how to read
              the table.
          [4] About Checksum Bits - A description of how the checksum bits work
              and their purpose.
          [5] Some Examples - A derivation of two example passwords using the
              table. You should be sure to read this section.
          [6] Summary - A quick, explicit description of how to make a password.
              This section is intended for reference, not for learning how to
              make passwords. Read sections 3-5 before this one.
          [7] Some Noteworthy Passwords - A few passwords I find interesting or
              quirky; also, some special passwords you cannot generate with
              information from any other section in this guide.
          [8] Future Versions? - Goals for the future.
          [9] Thanks/Acknowledgements - What it says.
    
    --- [1] INTRODUCTION ----------------------------------------------------------
    
    This guide will tell you, in a fairly large amount of detail, how the
    passwords work in Mike Tyson's Punch-Out (or the later Punch-Out cartridges
    with Mr. Dream). Using this guide, you should be able to create a password
    with any record you wish for any place in the game the system allows,
    including passwords that are impossible to get while actually playing the game.
    
    As far as I know, there are very few FAQs of this type in existence, but
    "cracking" the passwords of video games is of great interest to me. I have
    written one other password guide to date, for Metal Gear for the NES. I may
    create guides like this for other games at some point in the future; for
    example, I have enough data to write one for Castlevania II: Simon's Quest,
    Gauntlet, or Legacy of the Wizard.
    
    If you find this guide at all useful, or even just cool or interesting,
    please e-mail me at babcockdc@yahoo.com; I would love to hear from you.
    
    One last note: the mechanics of actually creating a password by hand can be
    tedious and error-prone. I have created a tool for generating passwords more
    easily. It is available on the World Wide Web at the following address:
    
    
         http://www.dougbabcock.com/mtpo.php
    
    
    As far as I can tell, this password generator works 100% of the time
    (although I obviously can't test every single password to make sure).
    
    Thanks muchly for looking at my guide, and I hope that you will find it fun or
    interesting in some way.
    
    --- [2] THE PASSWORD TABLES ---------------------------------------------------
    
    WHICH TABLE DO I USE?
    
    Title Held:  Losses:  Use:
    ----------------------------
    "Minor"        0     TABLE I
    "Minor"        1     TABLE II
    "Minor"        2     TABLE III
    "Major"        0     TABLE II
    "Major"        1     TABLE III
    "Major"        2     TABLE I
    "World"        0     TABLE III
    "World"        1     TABLE I
    "World"        2     TABLE II
    
    TABLE I. (Base code: 635 791 5429)
    
    +-------------+-------------+-------------+
    | Checksum +16|     Wins +80|     Wins +40|
    |        KO +2|        KO +1|  Checksum +8|
    |  Checksum +4|        KO +8|        KO +4|
    |             |             |             |
    |     Wins +20|     Wins +10|  Checksum +2|
    |  Checksum +1|       KO +80|       KO +40|
    |      Wins +2|      Wins +1|XXXXXXXXXXXXX|
    |             |             |             |
    |XXXXXXXXXXXXX|      Wins +8|      Wins +4|
    |       KO +20|       KO +10|    Losses +2|
    |    Losses +1|     Title +2|     Title +1|
    | Checksum +32|XXXXXXXXXXXXX|XXXXXXXXXXXXX|
    +-------------+-------------+-------------+
    
    TABLE II. (Base code: 635 793 1420)
    
    +-------------+-------------+-------------+
    |     Wins +80|     Wins +40|        KO +2|
    |        KO +1|  Checksum +8|  Checksum +4|
    |        KO +8|        KO +4|     Wins +20|
    |             |             |             |
    |     Wins +10|  Checksum +2|  Checksum +1|
    |       KO +80|       KO +40|      Wins +2|
    |      Wins +1|XXXXXXXXXXXXX|XXXXXXXXXXXXX|
    |             |             |             |
    |      Wins +8|      Wins +4|       KO +20|
    |       KO +10|    Losses +2|    Losses +1|
    |     Title +2|     Title +1| Checksum +32|
    | Checksum +16|XXXXXXXXXXXXX|XXXXXXXXXXXXX|
    +-------------+-------------+-------------+
    
    TABLE III. (Base code: 635 790 7428)
    
    +-------------+-------------+-------------+
    | Checksum +32| Checksum +16|     Wins +80|
    |     Wins +40|        KO +2|        KO +1|
    |  Checksum +8|  Checksum +4|        KO +8|
    |             |             |             |
    |        KO +4|     Wins +20|     Wins +10|
    |  Checksum +2|  Checksum +1|       KO +80|
    |       KO +40|      Wins +2|      Wins +1|
    |             |             |             |
    |XXXXXXXXXXXXX|XXXXXXXXXXXXX|      Wins +8|
    |      Wins +4|       KO +20|       KO +10|
    |    Losses +2|    Losses +1|     Title +2|
    |     Title +1|XXXXXXXXXXXXX|XXXXXXXXXXXXX|
    +-------------+-------------+-------------+
    
    
    
    BITS-TO-NUMBER KEY
    ------------------
    000: +0  001: +1  010: +2  011: +3
    100: +4  101: +5  110: +6  111: +7
    
    
    
    TITLE NUMBER-TO-NAME KEY
    
    Title number     Title name
    ---------------------------
              0       "Minor"
              1       "Major"
              2       "World"
    
    
    --- [3] THE BASICS OF READING THE TABLE ---------------------------------------
    
    Passwords in Mike Tyson's Punch-Out are ten digits long, with the digits
    divided into three groups. The first two groups have three digits each, and
    the final group has four digits. You'll notice that the rows in the tables
    above are arranged the same way. Each row in one of the tables above
    corresponds to one digit of a password.
    
    Each digit of the password contains three pieces of information that are either
    true/on ("1") or false/off ("0"). I will call one of these pieces of
    information a "bit." Thus, each digit is composed of three bits. In case the
    meaning of a specific item of the table being "on" or "off" is unclear, I have
    described them completely in Section 6.
    
    All the bits are in the form of some increment, like "Wins +8". This increments
    stack; thus, if a password has "Wins +8" and "Wins +4" set to "on", but all of
    the other bits for wins are set to "off", then the player will have 12 wins in
    his/her record for that password.
    
    The bits-to-number key at the bottom of the tables tells you which combination
    of bits convert to which number. To use the key, pick a row in the table--for
    example, let's take the first row of Table II (reproduced here):
    
    +-------------+-------------+-------------+
    |     Wins +80|     Wins +40|        KO +2|
    +-------------+-------------+-------------+
    
    Let's assume we're trying to create a password with the "Wins +80" and
    "KO +2" bits set to "on", and the "Wins +40" bit set to off. Then, from left
    to right, the bit combination for this digit would be on-off-on, which can
    be written shorthand as 101. According to the bits-to-number key, the bits
    101 correspond to +5.
    
    So what does this mean? It means that for this digit of the password, we need
    to add +5 to the digit from the "base code." (The base code is slightly
    different depending on which table you're using.) Under Table II, the "base"
    code is listed as 635 793 1420. Thus, the first digit in our hypothetical
    password would be 6 + 5 = 11. But 11 isn't an option for the first
    digit of the password! We resolve this by doing the arithmetic "modulo 10";
    that is, we use only the rightmost digit. Thus, the first digit of our
    hypothetical password would be "1".
    
    Don't worry if some of the above didn't make too much sense; the examples
    in Section 5 provide some more "hands-on" descriptions to clarify things.
    
    --- [4] ABOUT CHECKSUM BITS ---------------------------------------------------
    
    Like many games, Mike Tyson's Punch-Out employs what is called a "checksum"
    in its passwords. Checksums are often used in electronics and computing when
    copying data, to ensure that the data is being copied correctly.
    
    The checksum does not actually hold any information; rather, when
    a password is issued, the checksum is completely determined by the rest of
    the password. When a password is entered, if the checksum does not match what
    it is supposed to be, then the password is denied. (This means that passwords
    that are copied down incorrectly are very unlikely to work; also, just randomly
    entering a password is very unlikely to work.)
    
    When creating a password, to determine what the checksum should be, follow
    this procedure:
    
    1. Determine the number of wins, losses, and KO's the password should have.
    2. Add all of the digits of all of these numbers up together.
    3. Subtract the sum you got in step 2 from 63.
    
    An example may be helpful here. Let's say we're trying to make a password
    where Little Mac's record is 15-1, and he has 13 KOs. Then, in step 2, we'd
    add all the digits of 15, 1, and 13 together; that is, we
    add 1 + 5 + 1 + 1 + 3 = 11. Then, in step 3, we get 63 - 11 = 52. So the final
    checksum value in this instance is 52.
    
    --- [5] SOME EXAMPLES ---------------------------------------------------------
    
    Let's construct a password that might occur at the beginning of the game:
    Little Mac has just defeated all the opponents in the minor circuit, without
    losing, and he knocked them all out. In other words, Mac is 3-0 3KO, and
    he holds the "Minor" circuit title.
    
    The first thing to do is to check "WHICH TABLE DO I USE?" at the top of
    Section 2. According to this table, for a password with the "Minor" title and
    0 losses, we use TABLE I.
    
    Our next job is to determine which bits should be "on" and which should be
    "off". Since Mac has no losses, the losses bits are easy; all of them should
    be "off." Since Mac has 3 wins, we need to set the "Wins +2" and "Wins +1"
    bit. Since Mac has 3 KOs, we need to set the "KO +2" and "KO +1" bits.
    (For more about selecting the right bits to sum to a given number, see
    Section 6.)
    
    Next, we need to determine what the checksum is. According to the procedure
    from Section 4, we need to add the digits of Mac's wins, losses, and KOs all
    together; this gives 3 + 0 + 3 = 6. Then, we need to subtract the result
    from 63. This gives 63 - 6 = 57. Thus, the value of the checksum is 57.
    
    In order to get the value 57, we need to set to "on" the following bits:
    "Checksum +32", "Checksum +16", "Checksum +8", and "Checksum +1." (Notice
    32 + 16 + 8 + 1 = 57.)
    
    Therefore, the bits we want "on" are "Wins +2", "Wins +1", "KO +2", "KO +1",
    "Checksum +32", "Checksum +16", "Checksum +8", and "Checksum +1." All the
    rest should be "off."
    
    Let's take a look at the first row of our Table:
    
    +-------------+-------------+-------------+
    | Checksum +16|     Wins +80|     Wins +40|
    +-------------+-------------+-------------+
    
    Since we want the "Checksum +16" bit on, but not "Wins +80" or "Wins +40",
    the bits for this row are on-off-off, or 100.
    
    Going through the rest of the table, we get the following sets of bits
    row by row (you can check these if you like):
    
    100, 111, 000,
    
    000, 100, 110
    
    000, 000, 000, 100
    
    (Note that the cells marked "XXXXXXXXXXXXX" are always "off.")
    
    Now, we need to use the bits-to-number key from the bottom of Section 2.
    This tells us that 100 means +4; 111 means +7; and so on down. So, now we
    have:
    
    +4, +7, +0
    
    +0, +4, +6
    
    +0, +0, +0, +4
    
    For the final step, we need to add these increments to the "base code", which
    is listed at the top of the table. (For TABLE I, it's 635 791 5429.) When
    adding, if the result is greater than 10, we keep just the rightmost digit.
    Thus, we get:
    
    6 + 4 = 10 => 0
    3 + 7 = 10 => 0
    5 + 0 = 5
    
    7 + 0 = 7
    9 + 4 = 13 => 3
    1 + 6 = 7
    
    5 + 0 = 5
    4 + 0 = 4
    2 + 0 = 2
    9 + 4 = 13 => 3
    
    So the final password is 005 737 5423. Try this on your game and see if it
    works!
    
    ---
    
    Now let's make a password that's a little more complex: Say Little Mac's
    record is 65-2 51KO, and he has the World Circuit title.
    
    The first thing to do is, again, check "WHICH TABLE DO I USE?". For
    a "World" title holder with 2 losses, the appropriate table is TABLE II.
    
    Now we need to figure out which bits should be set to "on". This is a
    little tricker than the first example, because the numbers are a lot bigger.
    Our choices of increments are +80, +40, +20, +10, +8, +4, +2, and +1. To
    get the right ones, just subtract off the highest increment that is
    less than or equal to your number, and keep repeating this until you have
    nothing left. For example, for the 65 wins, we get:
    
    65 - 40 = 25
    25 - 20 = 5
    5 - 4 = 1
    1 - 1 = 0
    
    We want to set all the numbers that we subtracted to get to zero to "on".
    So, in this case, we should set "Wins +40", "Wins +20", "Wins +4", and
    "Wins +1" to "on". All the other wins bits should be "off." (Note that,
    indeed, 40 + 20 + 4 + 1 = 65.)
    
    For the 51 KOs, we can do the same process:
    
    51 - 40 = 11
    11 - 10 = 1
    1 - 1 = 0
    
    So we want to set "KO +40", "KO +10", and "KO +1" to "on" and the rest of
    the KO bits to "off."
    
    For the checksum (see Section 4), we have 6 + 5 + 2 + 5 + 1 = 19, and
    63 - 19 = 44. Now, the checksum bits are a little different; here we have
    +32, +16, +8, +4, +2, and +1. Using this different increments, we can
    do the same process:
    
    44 - 32 = 12
    12 - 8 = 4
    4 - 4 = 0
    
    So we want to set "Checksum +32", "Checksum +8", and "Checksum +4" to "on".
    
    We're not quite done yet! Since we have losses this time, we also need
    to set "Losses +2" to "on". Additionally, we have to set some "Title" bits.
    Take a look at the "TITLE NUMBER-TO-NAME KEY" at the bottom of Section 2.
    Since we wanted Mac to be the champion of the "World" circuit, we want
    his Title number to be 2. Thus, we need to set the "Title +2" bit to "on".
    
    So, the bits we want set to "on" are: "Wins +40", "Wins +20", "Wins +4",
    "Wins +1", "KO +40", "KO +10", "KO +1", "Checksum +32", "Checksum +8",
    "Checksum +4", "Losses +2", and "Title +2". Whew!
    
    Reading down the table (TABLE II this time!), we get the following sets
    of bits:
    
    010, 111, 001
    
    000, 010, 100
    
    010, 110, 101, 000
    
    Now we convert these to increments using the BITS-TO-NUMBER KEY:
    
    +2, +7, +1
    
    +0, +2, +4
    
    +2, +6, +5, +0
    
    Finally, we add these increments to the "base code". The "base code" for
    TABLE II is slightly different: it's 635 793 1420. Remember that we need
    just the rightmost digit of our sum:
    
    6 + 2 = 8
    3 + 7 = 10 => 0
    5 + 1 = 6
    
    7 + 0 = 7
    9 + 2 = 11 => 1
    3 + 4 = 7
    
    1 + 2 = 3
    4 + 6 = 10 => 0
    2 + 5 = 7
    0 + 0 = 0
    
    So, our final password is 806 717 3070. Try this one out!
    
    --- [6] SUMMARY ---------------------------------------------------------------
    
    Here's how to make a password:
    
    1. Decide what you want your wins, losses, and KOs to be, and whether you
       want to be champion of the "Minor" circuit, the "Major" circuit, or the
       "World" circuit.
    2. Look in "WHICH TABLE DO I USE?" at the top of Section 2. Use the table that
       it says there for the rest of this process.
    3. Deconstruct your wins and KOs into increments that exist in the table.
       The increments are as follows: +80, +40, +20, +10, +8, +4, +2, +1. If your
       number of wins or KOs can be represented more than one way using these
       increments, always use the one that uses the biggest increments. For
       example, represent 51 as 40 + 10 + 1, not 40 + 8 + 2 + 1. If you do it
       the latter way, your password may not work.
    4. Discover your checksum as described in Section 4. Decompose the checksum
       into increments. The increments are as follows: +32, +16, +8, +4, +2, +1.
       (There's only one way to represent a given checksum using these increments.)
    5. Make a copy of the table. Mark all cells that had increments you picked
       in steps 3 or 4.
    6. If your desired record has 1 loss, mark the "Losses +1" cell. If your
       desired record has 2 losses, mark the "Losses +2" cell. If your desired
       record has 0 losses, do nothing.
    7. If your desired title is "World", mark the "Title +2" cell. If your
       desired title is "Major", mark the "Title +1" cell. If your desired title
       is "Minor", do nothing.
    8. To the right of each row, write three bits. The bit in each position should
       be "1" if the corresponding cell is marked, and "0" if it is not.
    9. To the right of each set of bits, write the increment corresponding to that
       bit set. (Use the BITS-TO-NUMBER KEY from the bottom of Section 2.)
    10.Take these ten increments, and add one each to the "base code" for the table
       you are using. Do the addition "Modulo 10"; that is, if a sum is more
       than 10, use only the rightmost digit. The result from this step is your
       desired password. 
    
    ---
    
    Here's how to tell whether the game will reject a password.
    
    In order for a password to work, all the following conditions must be met:
    -You must use the correct table and base code.
    -The wins must be at least 3.
    -The wins must be at most 99.
    -The losses must be at most 2.
    -The KOs must be less than or equal to the wins.
    -The "Title +2" and "Title +1" bits cannot both be set.
    -The checksum must be the right value.
    
    Provided the above are ALL true, the method for generating passwords given in
    this guide should ALWAYS work. However, truth be told, it is NOT true that
    all working passwords can be generated using the method of this guide. Some
    other passwords work as well. Some of these are listed in the next section.
    
    --- [7] SOME NOTEWORTHY PASSWORDS ---------------------------------------------
    
    First, some useful passwords that you could have generated using this guide:
    
    "Minor" title holder, 3-0 3KO:   005 737 5423
    "Major" title holder, 7-0 7KO:   777 807 3454
    "World" title holder, 13-0 13KO: 267 853 7538
    "World" title holder, 99-0 99KO: 940 861 8538
    "World" title holder, 99-0 0KO:  131 811 8438
    
    ---
    
    Now, some useful special passwords:
    
    "Fight Mike Tyson":              007 373 5963
    
    (This password takes you directly to Mike Tyson. In the game, after you beat
    the World Circuit, your password takes you to Super Macho Man, and you get
    no password for beating Mike Tyson. Thus, you can't actually get this
    password in the game.)
    
    "Another World Circuit":         135 792 4680
    
    (This password takes you to the circuit "Another World Circuit", which consists
    of King Hippo and Great Tiger, followed by the World Circuit, followed by
    Mike Tyson. In order for this password to work, after selecting the last digit,
    do NOT press Start; instead press A, B, and Select at the same time.)
    
    "Busy Signal":                   800 422 2602
    
    (This password plays a busy signal, but does nothing else. It was put in the
    game as a joke. The password is apparently an old phone number of Nintendo,
    which was frequently busy.)
    
    "Credits":                       106 113 0120
    
    (This password displays the credits. In order for this password to work, after
    selecting the last digit, do NOT press Start; instead press A, B, and Select
    at the same time.)
    
    
    --- [8] FUTURE VERSIONS? ------------------------------------------------------
    
    Although I think this guide is reasonably complete, there are still a few
    things I would like to clear up at some point, if possible. If I ever receive
    any e-mail about this guide, I may make a future version.
    
    Here are some of the questions I may try to answer in a future version.
    
    -Do the "XXXXXXXXXXXXX" digits actually do anything? They aren't necessary
    to get any obvious effect, so I doubt they are useful. But can they be used for
    anything at all?
    
    -There are some passwords that differ a little from what this guide would
    provide that work and provide the exact same effect. For example, the
    passwords 005 797 5483 and 003 797 5483 appear to do exactly the same thing.
    When, exactly, is it okay to screw around with a digit a little bit and
    still get a password that works?
    
    -Could any of the sections or explanations be made clearer?
    
    -Did I miss anything that readers would like to see?
    
    --- [9] THANKS/ACKNOWLEDGEMENTS -----------------------------------------------
    
    I would like to thank RedTom, who has on his web site a huge archive of
    passwords. It is primarily through examining these that I was able to discover
    the patterns within the password system and unlock its secrets. You can visit
    his web site here:
    
        http://www.tomspunchout.tk/
    
    I would like to thank Nintendo for bringing us the game Mike Tyson's
    Punch-Out!!, which is quite fun in itself. I would also like to thank my
    brothers Brian and Kevin, who suggested to me the idea of "cracking" games'
    password systems, and have provided me with endless intellectual inspiration
    in general. I would like to thank CJayC, maintainer of GameFAQS.com, the
    finest source for video game information available anywhere. I would like to
    thank the people who have written to me to express their appreciation for
    the guides that I have written. Finally, I would like to thank you, the reader,
    for looking over this guide. Once again, it is my hope that you found it
    interesting; if you did, I would love to hear from you at
    doug.babcock@gmail.com.
    

    FAQ Display Options: Printable Version