Editing Rules

From NES Hacker Wiki
Revision as of 15:05, 21 April 2014 by TheAlmightyGuru (talk | contribs)
Jump to: navigation, search

In order to ensure that each page follows a similar style, please read and conform to the following editing rules.

Easy Cheats

These are the cheats that appear at the top of every game page.

General Display

Easy Cheats should be formatted in the following way:

0123 - 0F - Cheat Description

Each number uses leading zeroes to ensure they're all the same length, 4 digits for the memory address and two digits for the value. The description should be treated like a title where all important words are upper case, while lesser important words like a, of, the, etc. are lower case.

Multiple Codes Per Cheat

When two cheat codes need to be tied together, add the cheat number to the description with the total number of cheats include. Here is an example:

B424 - 0B - High Jumps (1/5)
B425 - 0B - High Jumps (2/5)
B426 - 0B - High Jumps (3/5)
B427 - 0B - High Jumps (4/5)
B428 - 0B - High Jumps (5/5)

Description Notes

If you need to add a note in the description, put the note in parentheses and do not upper case it like a title. For example:

0071 - 63 - Infinite Hearts (Must turn off at the end of a stage)

Grouping

Group similar codes together and given them a name. For example:

Lives
010A - 09 - Start With 9 Lives and 9 Continues
010A - 63 - Start With 99 Lives and 99 Continues
02BE - 09 - Infinite Lives Both Players

Hit Points
C5D0 - 0F - Start With More Hit Points (1/2)
C889 - 0F - Start With More Hit Points (2/2)
02AB - 0B - Infinite Hit Points

Power Ups
02A2 - 01 - Always Have Knife
02A2 - 02 - Always Have Nunchucks

Naming Conventions

Unless the game has a specific name for a value, use the following standard names in the cheat code description.

  • Lives - For the number of retries a player gets. Don't used Guys, 1-Ups, etc.
  • Hit Points - For when the player can take multiple hits. Don't use HP, Life, Hits, etc.
  • Level - Try to match the game's terminology (Stage, Area, etc.), but use Level as the default when no specific name is listed.
  • Invincible - When the player cannot take damage. Don't use invulnerable unless you need to describe a second type of invincibility.

Multiple Players

When distinguishing between Player 1 and Player 2, always use P1, P2 at the beginning of the code. All P1 codes should be grouped together, then all P2 codes. Here is an example:

0432 - 0A - P1 Infinite Lives
041E - 7F - P1 Hit Points
03CC - FE - P1 Always Invincible
0433 - 0A - P2 Infinite Lives
041F - 7F - P2 Hit Points
03CD - FE - P2 Always Invincible

For those few games that allow 4 players, use P3 and P4.

Code Duplication

Don't duplicate an existing code unless there is a valid reason. The first code below gives the player 9 oil, the second code gives them 99 oil, but since they both yield infinite oil, they do the same thing.

00A4 - 09 - Infinite Oil
00A4 - 99 - Infinite Oil

However, in this example, the codes have a different purpose. One starts the player with a lot of oil, the other provides infinite oil. In this case, both codes are valid.

00A4 - 99 - Infinite Oil
D86C - 2F - Start With 99 Oil


Memory Addresses

Memory addresses include the values found in bytes 0000-07FF. You can also include any memory beyond this section provided it's not code. For example, if there is a data table in the ROM, or the area where the game stores battery memory.

Numbers

Many games handle a series of numbers like score, hit points, lives, etc. Displaying these numbers need to be standardized in order to remain intuitive. If the numbers are stored across multiple memory locations, write them out as follows:

07DE - P1 Score: 9xxxx
07DF - P1 Score: x9xxx
07E0 - P1 Score: xx9xx
07E1 - P1 Score: xxx9x
07E2 - P1 Score: xxxx9

Note that the 9 is the position that is being altered, and the x shows the full size of the number. Sometimes a game will display a digit that isn't part of actual number. For example, the score may read "125500," but the 00 at the end is not stored in memory. When this occurs, add the unused values to the score to show where they are. For example:

0200 - P1 Score: 9xxx00
0201 - P1 Score: x9xx00
0202 - P1 Score: xx9x00
0203 - P1 Score: xxx900

Sometimes two digits are stored in a single byte. In cases like this, simply display 99 per section and xx in the place holders, like so:

0424 - Score: 99xxxx
0425 - Score: xx99xx
0426 - Score: xxxx99

Many games store numbers by multiplying one byte with a second byte, and sometimes a third byte. When this occurs, use the following notation:

00BC - Gold: x1
00BD - Gold: x255
00BE - Gold: x65535

Normal Range

When the game has a normal operating range for a variable, include the normal low and high values.

00C6 - Magic Points (00-63)

Example Values

If a byte stores multiple values, each with a different description, try to include each description. For example:

0756 - Powerup Flag (00 - Mario, 01 - Super Mario, 02 - Fire Mario)


Text

Characters should be listed with a two-digit hexadecimal look up, an equal sign, and then the character value. Do not put spaces before or after the equal sign. The text table should be sorted in order of the hexadecimal number NOT the character. Here is an example:

10=A
11=B
12=C
13=D


Code

Try to use the same indentation for comments as existing games.