The password is made of 11 capital letters (A to Z) and encodes the following values:
A value from 0 to 3 that indicates the selected player (red, green, yellow, or blue).
A value from 0 to 9 that indicates the starting epoch (1st to 9th epoch or Megalomania).
The number of men, from 0 to 999.
Four unknown values, each from 0 to 49. (I haven't played the game to confirm where these values are used, but a hypothesis is that some of these values may be related to the number of men you put into suspended animation in the 7th, 8th, and 9th epochs. In the password lists below, the unknown values are zero until the passwords for starting on the 8th epoch.)
The encoding process includes the following kinds of steps:
The last character of the password is a checksum generated with addition and exclusive or operations.
The bits of data are obfuscated with bit rotation and exclusive or operations.
Some of the unused bits that would have normally been zero are instead filled with amounts based on counting the number of "1" bits in segments of the data.
I created a simple Mega-Lo-Mania Password Generator in HTML and JavaScript. Here are some JavaScript snippets adapted from it that show the encoding process:
player = 0;
epoch = 0;
men = 100;
w = 0; // unknown values
x = 0;
y = 0;
z = 0;
d0 = 40 * men + 4 * epoch + player;
d1 = 50 * w + x;
d2 = 50 * y + z;
k = d0; // checksum
k ^= 0x2435;
k += d1;
k ^= 0x2435;
k += d2;
k ^= 0x2435;
k &= 0xFFFF;
k %= 26;
d1 = (d0 & 0xFFF) ^ d1;
d2 = ( (d0 >> 3) & 0xFFF ) ^ d2;
d0 = ( ((d0 & 0xF800) >> 11) | ((d0 & 0x07FF) << 5) ) ^ 0x2435;
d1 = ((count_bits(d1) & 3) << 12) | d1;
d2 = ((count_bits(d2) & 3) << 12) | d2;
password = "";
password += base26(d0, 4); // 4 letters, A to Z, little-endian
password += base26(d1, 3); // 3 letters
password += base26(d2, 3); // 3 letters
password += base26(k, 1); // 1 letter
Here are some example passwords and the data they contain.
From IGN Genesis Cheats - MEGAloMANIA: Jikuu Daisenryaku:
Password |
Player |
Epoch |
Men |
Unknown |
NZUCWTIAEHV |
Red |
2nd |
148 |
0 0 0 0 |
ARTCKXKNMND |
Red |
3rd |
184 |
0 0 0 0 |
YLGBUMQZKNL |
Red |
4th |
176 |
0 0 0 0 |
IHUBUGQULTB |
Red |
5th |
172 |
0 0 0 0 |
COCAKLDWEBX |
Red |
6th |
160 |
0 0 0 0 |
EBWROLJUHNJ * |
|
|
|
|
EBWAOLJUHNJ ** |
Red |
7th |
159 |
0 0 0 0 |
QPIAXODAHHM |
Red |
8th |
163 |
5 1 0 0 |
ZBLDRNIHGTY |
Red |
9th |
143 |
5 1 0 0 |
CPFDVMRBYST |
Red |
Megalomania |
100 |
10 1 0 1 |
* sic, invalid password
** corrected
From GameFAQs Tyrants: Fight Through Time (Genesis) - Cheats:
Password |
Player |
Epoch |
Men |
Unknown |
SIZCSVLOPNL |
Red |
1st |
200 |
0 0 0 0 |
SMLCUQKDKHH |
Red |
2nd |
999 |
0 0 0 0 |
WQICAUWQIBN |
Red |
3rd |
999 |
0 0 0 0 |
UVICOPEQIBJ |
Red |
4th |
999 |
0 0 0 0 |
SAJCSPEFKHV |
Red |
5th |
999 |
0 0 0 0 |
QFJCKRKFKHR |
Red |
6th |
999 |
0 0 0 0 |
OKJCAQEGKHX |
Red |
7th |
999 |
0 0 0 0 |
MPJCDWEGKHK |
Red |
8th |
999 |
5 1 0 0 |
KUJCTYQVLNW |
Red |
9th |
999 |
5 1 0 0 |
IZJCJKXGKHD |
Red |
Megalomania |
999 |
10 1 0 1 |