# Bomberman II – Password System Guide

### NES

## Password System Guide by WNivek

**Version:** 9/1/06 | **Updated:** 09/01/2006

Bomberman II Password System Guide WNivek (wnivek@gmail.com) September 2, 2006 This document is the culumnation of several hours of effort on my own part. As such, it's my own creation and subject to copyright. You may download and print this document for your own personal use or your immediate friends', but any other reproduction or redistribution will require my express written permission. This document may not be sold, nor included in any form of compilation to be sold, without my express permission and a percentage of the procedes. If you wish to use this document as the basis for anything, please let me know. As of August 25 2006, the only authorised homes for this document are GameFaqs and my own website, http://www.wnivek.co.nr/ If you find this anywhere else, please contact me immediately. Revision history: August 25, 2006 - Initial release September 2, 2006 - Reworked to simplify checksum Some minor reformatting Added note about direct US<->JP conversion Intro: The purpose of this document is to explain how one can manufacture passwords for the NES/Famicom game Bomberman II. After creating my Adventures of Lomax password generator based on Erickson Deveza's Lomax Password FAQ, he mentioned he was having difficulty with Bomberman II and suggested I help him. So I picked up the game, and stated poking around. Starting from scratch and working on it for less than 12 hours, I have worked out the system and written a generator. And now, I write this guide. Explaination: Any given Bomberman 2 password saves 3 pieces of information: Area Number of Bombs Size of Explosions There are, however, three other factors to the password: Base number Checksum mod 1 Checksum mod 2 Those three do not affect the 'meaning' of the password, and are arbitrary. Based on all six of these, then, is one final element: the checksum. The code layout looks something like this: Base, Area1, Area2, Checksum, Bombs, Checkmod1, Size, Checkmod2 However, it's more complicated than that... Step 1: Decide on an Area, # of Bombs, and explosion Size. Be aware of the ranges... - Area1 - 1 to 6 - Area2 - 1 to 8 - Bombs - 1 to 8 - Size - 1 to 5 Subtract one from each once you've chosen them. Step 2: Choose three numbers from 0 to 15. These will be your Base, Checkmod1 and Checkmod2. The values here don't really matter - you can save yourself some effort by just using 0 for all three of them. Step 3: Calculate the checksum. The formula is as follows Checksum = (Area1+Area2+Bombs+Size+CheckMod1+CheckMod2) Modulo 16 In case you don't know, modulo is basically the remainder from integer division. Example: Area 6-8, 8 bombs, size 5, Checkmod1 0, Checkmod2 0 Checksum = (5+7+7+4+0+0) Modulo 16 Checksum = 23 Modulo 16 23 รท 16 = 1, with a remainder of 7 Checksum = 7 Step 4: Arrange the numbers so far in the order they'll appear in the finished password: Base, Area1, Area2, Checksum, Bombs, Checkmod1, Size, Checkmod2 Example: Area 6-8, 8 bombs, size 5, Checkmod1 0, Checkmod2 0, Base 3 3 5 7 7 7 0 4 0 Step 5: (Can skip if Base = 0) Apply the Base. Take your Base number, and XOR it with every number of the pass except for the base itself. (Area1,Area2,Bombs,Size,Check+,Check-,Checksum) To make your life easy, I've included a table illustrating XOR. Just look up the line for your base, and pull the appropriate numbers out of it. And don't worry about Row vs Column - XOR is symmetrical. Example: Area 6-8, 8 bombs, size 5, Checkmod1 0, Checkmod2 0, Base 3 3 5 7 7 7 0 4 0 3 6 4 4 4 3 7 3 Step 6: Further conversion. Based on Convert table below, replace every number of your code with its counterpart from the table. Example: Area 6-8, 8 bombs, size 5, Check+ 0, Check- 0, Base 3 3 6 4 4 4 3 7 3 6 9 12 12 12 6 3 6 Step 7: Encode. Based on the Encode table below, replace every number of your code with the appropriate character based on what version of the game you have: US or JP. Note that you can also use that table to convert existing codes from one version to another. Example: Area 6-8, 8 bombs, size 5, Check+ 0, Check- 0, Base 3, JP version 6 9 12 12 12 6 3 6 G J M M M G D G And that's it! Load up Bomberman II and give your new custom password a whirl. Symbolic representation: (note: % is Modulo, ^ is XOR, -= is subtract and assign) area1 -= 1; area2 -= 1; bombs -= 1; size -= 1; digits[0] = base; digits[1] = base ^ area1; digits[2] = base ^ area2; digits[3] = base ^ ((area1+area2+bombs+size+checkmod1+checkmod2) % 16); digits[4] = base ^ bombs; digits[5] = base ^ checkmod1; digits[6] = base ^ size; digits[7] = base ^ checkmod2; convert(digits); encode(digits, version); Tables: XOR| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ---+------------------------------------------------ 0 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 | 1 0 3 2 5 4 7 6 9 8 11 10 13 12 15 14 2 | 2 3 0 1 6 7 4 5 10 11 8 9 14 15 12 13 3 | 3 2 1 0 7 6 5 4 11 10 9 8 15 14 13 12 4 | 4 5 6 7 0 1 2 3 12 13 14 15 8 9 10 11 5 | 5 4 7 6 1 0 3 2 13 12 15 14 9 8 11 10 6 | 6 7 4 5 2 3 0 1 14 15 12 13 10 11 8 9 7 | 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 8 | 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 9 | 9 8 11 10 13 12 15 14 1 0 3 2 5 4 7 6 10 | 10 11 8 9 14 15 12 13 2 3 0 1 6 7 4 5 11 | 11 10 9 8 15 14 13 12 3 2 1 0 7 6 5 4 12 | 12 13 14 15 8 9 10 11 4 5 6 7 0 1 2 3 13 | 13 12 15 14 9 8 11 10 5 4 7 6 1 0 3 2 14 | 14 15 12 13 10 11 8 9 6 7 4 5 2 3 0 1 15 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Convert from 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 to 0 1 4 6 12 11 9 3 13 10 2 15 8 7 14 5 Encode Raw 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 US: 1 2 3 4 5 6 7 8 B C D F G H J K JP: A B C D E F G H I J K L M N O P Conclusion: I hope you've enjoyed this guide. If you think it's too much work, you can try the automated version here: http://www.wnivek.co.nr/bomber2.htm And if you liked that, feel free to check out my Lomax password gen: http://www.wnivek.co.nr/lomax.htm Special thanks to Erickson Deveza, who got me interested in this to begin with. Copyright 2006 WNivek (wnivek@gmail.com)

View in: