ISHI
is used as a RAM signature for Soft/Hard Reset test. Most probably this is the name of the developer which made the SNES version too.(COAL*700)+(NUCLEAR*2000)
points. This power "distributed" between every single powerable tiles including the Powers station and electric wires. Every single powerable tile (all tiles of buildings, electric wires) consume 1 point. Due to optimization rather than bug the recursive algorithm can overpower some tiles inside the buildings or at intersection of wires up to 3 times. So the same amount of buildings may consume more or less power just because of placement and grouping of power wires. Average consumption for 3x3 building is 13, not 9. The original Micropolis core has exactly the same algorithm.(roads+(rails*2))*coeff. Where coeff = 0.7
for easy, 0.9
for Normal and 1.2
for Hard. Exactly as in Micropolis sources.(R_L+C_L+I_L)*overall_city_value*coeff*0.71*year_tax_rate. coeff = 1.4
for Easy, 1.2
for Normal and 0.8
for Hard. Also exactly as in Micropolis sources.MISC#11. There are some special secret button codes in the NES version.
CODE#1 Press "A + B + Up + Down + Left + Right" once. Since you couldn't press all the D-Pad buttons at once on a single pad, at least two D-Pad buttons should be pressed on pad 1 and two on pad 2 (for example, "Up + Left" on pad 1 and "Down + Right" on pad 2, or "Down + Left" on pad 1 and "Up + Right" on pad 2, etc...). The "A" and "B" buttons on pad 1 works like a skip/quit commands so you may use them only if you already did another code before, but if you doing this code first, use only pad 2 for "A + B" combination.
CODE#2 The other code have no strict button combination. The main goal here is to have at least two identical buttons held on both pads at the same time (except "A" and "B", since you will close the window before can finish the code) and then press one more additional button on pad 1 (you may use any additional button here, but as mentioned above, you may use "A" or "B" only if you've done another code before). Easiest way here is to hold "Up" for example on both pads and then press "Left" on pad 1. When done, you must leave the message window in order to complete the cheat test sequence. If all done right, a message "I AM GOD I WISH YOU HAPPY" will be displayed. To disable the debug mode, do the same operations one more time and another message will appear then: "I AM GOD DEBUG OFF". The debug mode makes some changes to the gameplay:
BANK01 | 5D | 1x1 | Unused second type of rubble ground tile. |
BANK01 | A8 | 8x4 | Unknown frames or structures in different shades. |
BANK03 | 60 | 8x2 | "CLEAR" tablet, probably for clear scenarios. Another larger cross-type version is used. |
BANK03 | A4 | 6x1 | "GRAPHS" with small letters. 3x1 tile fonts used there instead. |
BANK03 | D0 | 6x1 | "GO TO" 3x2 for BG button, sprite 2x2 used instead. |
BANK04 | 20 | 2x2 | Unused info maps button, judging of placement this is an older version of pushed exit button which currently uses a man running picture and has no push animation. |
BANK04 | F0 | 15x1 | Unused small text for either evaluation or overview screens: "Current funds", "Tax rate", "Loans". |
BANK05 | 70 | 10x2 | Three small texts for budget screen: "Amount owed", "Amount paid", "Interest rate". |
BANK05 | F9 | 7x1 | One more unused overview or budget screens text: "Credit rating". |
BANK06 | E3 | 5x1 | Scenario screen unused text: "Hamburg 1944", a leftover of early version, same scenario were in original Micropolis. |
BANK06 | 95 | 2x1 | "Built", part of building names for HUD on the black BG. The game never used past time in it's messages. |
BANK07 | 69 | 4x1 | A set of tiles for open bridges. |
5C | 3x1 | ||
7C | 2x1 | ||
E9 | 3x1 | ||
BANK07 | 8C | 4x4 | Airport Terminal 2 building. An airport terminal does not change in the SNES version also. |
BANK07 | CC | 4x4 | Airport Terminal 3 building. |
BANK08 | 0D | 2x6 | A large pillar for bank screen, a smaller ones are used only. |
56 | 2x1 | ||
BANK08 | A0 | 6x1 | Two more copies of "Amount owed/paid" for early bank screen layout. |
BANK08 | C4 | 4x1 | "Initial funds" another unused bank screen text. |
B7 | 1x1 | ||
BANK08 | C0 | 9x4 | (complete set of two more frames of high traffic animations for all kind of ground roads) |
BANK08 | DA | 3x1 | Traffic animation tiles (4 frames for 4 different tiles) for water roads and bridges. |
E9 | 7x2 | ||
CF | 1x1 | ||
39 | 1x1 | ||
BANK09 | C0 | 2x2 | Unused config icon for - 6 option menu. |
BANK0A | 52 | 1x8 | "Start new game" description text for config icon for - 6 option menu. |
BANK0A | D6 | 2x2 | Bank icon with frame for one of the config menus also. |
BANK0B | 80 | 2x2 | Part of stadium from BANK15. |
BANK12 | 34 | 3x3 | Botanical Garden 2 present building. |
BANK12 | 3D | 3x3 | White House 2 present. The White House is different for every City type in SNES version. |
BANK12 | 60 | 3x3 | White House 3 present. |
BANK12 | 63 | 3x3 | White House 4 present. |
BANK12 | 89 | 7x1 | "Botanical Garden", a description text of unused present for menu. |
90 | 1x1 | ||
BANK12 | 9C | 4x1 | "Station", a part of present building names for HUD on the black background. Only single "Present" used for all presents. |
BANK15 | 00 | 9x1 | Set of tiles to draw rounded frame on the white background with "W:" letter, usage is unknown. |
BANK15 | 49 | 1x1 | Part of "Water Way Ar[ea]" text: "ea" not fit into the string and left unused. |
BANK15 | 4A | 5x1 | Copy of "Total area" text with different spacing. |
BANK15 | 79 | 3x1 | Complete sets for Race Track and two different Baseball stadiums buildings along with animation frames. A small portion of it also in BANK0B. |
80 | 16x4 | ||
DB | 1x1 | ||
DC | 4x3 | ||
BANK16 | 00 | 16x2 | A couple of present building names for HUD on the black background for "Monument", "Bank" "White House", "Boranical garden", "Amusement park", "Casino", "Zoo", neither of them are used as well. |
20 | 1x1 | ||
23 | 5x1 | ||
2F | 1x1 | ||
BANK19 | C6 | 4x4 | Two set for something like thin frame windows. |
(GG ZAEAPGPA+TANAPGLA+YANAZGGA)
Scenes 6-7. Uses the same sprites as for Traffic Jam message, but the "Mayor" character stands still at the rightmost window size and constantly looking to the left sweating. The closed door animation in the center of the window which someone ramming from the outside. Sprites of it never appear elsewhere. Both animated sprites together exceeded the 8 sprites per line limit and thus the "Mayor" missing part of its face. In the Micropolis sources there is an unused as well message string "They are rioting the streets!!", but there are no such warnings in current version at all. In the SNES version this animation used for common problems alert screens and hints.(GG AANAPGLE)
Scene 8. The "Mayor" character stand with his back toward us. Sprites never used before. Animation very short. Usage isn't clear.(GG PANAPGLE)
Scene 9. The mayor character at the middle of the screen with crutch and a bandage on its head, explaining something. Sprites aren't used anywhere else also. Most probably should be used for warnings about disasters or low funding of medicine.(GG ZAEAPGPA+ZANAPGLE+LANAZGGE+LUEZYALU)
Scenes 10-11. The "Mayor" character constantly running from the left side to the right side of the window. The green cloud is floating after him. Most probably this animation is for pollution warning message. Also exceeded the 8 sprites limit at some point. In any case, there aren't messages of pollution warning in the game.(GG GESLGPTZ)
There is an unused disabled code in Practice mode events handler which checks if you go well or bad during this game mode. This branch should check your town population after year 1905 (should be 30000), then send a message if you did it well or you need more practice. For some reason they decided to disable it or just make bug in a selection logic.(GG KIEXNPVU+OLOZEPUX)
The City scan routine uses a copy of power map data fetch routine at PRGB:$A8D9 to check if scanned building is powered or not. This fetch routine uses a bitmask array to test individual bits for every building in the power grid map. If bit 0, then building isn't powered and won't grow or drop down growth instantly. If bit is 1, then all developments are enabled. The problem is opcode to read bitmask data at PRGB:$A90E (AND $A3B6,X) refers to the bitmask table in PRGA, but in PRGB it refers to the portion of the game's code. Seems they overlooked this when moving the code around. As a result, this function may returning non zero values because more than one bit are unmasked then. If you have some powered areas nearby or just not-connected electrics, then not powered building may develop and grow even with no power icon blinking on it.(GG EPXXYZNP)
Sound is cracking sometimes in two channels. There is a reasonable solution for square channel by now, thanks to Chris Covell.(GG KEEAGEVE)
When airplane crashes, it's damaging one particular tile on the map with enabling "GOTO" alert button. However, due to copy-paste bug, the coordinates of "GOTO" are wrong and not points to the crash site.(GG KENXEOIY)
Also it summed with police stations counter in a city assessed value calculations. Based on Micropolis source code, police stations counter summed with fire stations counter.(GG PAXUVIAT)
Monster disaster appearance logic choses randomly the appearance point inside the map, calculates the destination point based on what side of the map is farthest then select a random position on that side. The selection routine stores both X and Y destination coordinates in the same variable. The most noticeable result of this bug is that the first appearance with higher probability the monster will go up on the map.INDEX | EVENT | REQUIREMENTS | RESULTS | REPEATS | MESSAGE APPEAR |
---|---|---|---|---|---|
01 | Becomes a Town | 2000 population | history record | once per game | yes |
02 | Becomes a City | 10000 population | history record, present "White House" | once per game | yes |
03 | Becomes a Capital | 50000 population | history record | once per game | yes |
04 | Becomes a Metropolis | 100000 population | history record | once per game | yes |
05 | Becomes a Megapolis | 500000 population | history record | once per game | yes |
06 | Traffic is bumper to bumper | traffic level 7 | - | every recalculation | yes |
07 | Commuters are grid-locket | traffic level 2 | - | every recalculation | yes |
08 | Crime rate is much too high | crime level 7 | - | every recalculation | yes |
09 | Monster disaster | scenario specific | monster appears, destroy all on its path | scenario specific | yes |
0A | Eartquake disaster | scenario specific | ground shake, destroy random areas | scenario specific | yes |
0B | Bank wants to build office | 5 years after White House has built | present "Bank" | once per game | yes |
0C | City wants relationship | 150000 population | relationship begin | once per game | yes |
0D | Open amusement park | 120000 population | present "Amusement Park" | once per game | yes |
0E | Open a Zoo | 250000 population | present "Zoo" | once per game | yes |
0F | Open a Casino | 200000 population | present "Casino" | once per game | yes |
10 | Build an extra land | 2 sea ports | present "Extra Land" | once per game | no, see BUGS#4 |
11 | New Police Station | 10 police stations | present "New Police St." | once per game | yes |
12 | New FireStation | 10 police stations | present "New Fire St." | once per game | yes |
13 | 10th anniversary monument | practice/city JAN 1910 | present "10th Monument" | once per game | yes |
14 | 100th anniversary monument | practice/city JAN 2000 | present "100th Monument" | once per game | yes |
15 | Holding World Expo | practice/city JAN 1950 | expo starts | once per game | yes |
16 | Erect Expo monument | practice/city JAN 1951 | present "Expo Monument" | once per game | yes, see BUGS#29 |
17 | Statue of Liberty present | practice/city 10 years after City Sistership | present "Liberty" | once per game | yes, see BUGS#29 |
18 | Build a Library | 70000 population | present "Library" | once per game | no, see BUGS#4 |
19 | Parks expand | 200 park squares | present "Extra Park" | once per game | yes |
1A | Railroad Station | 150 rail squares | present "Railroad St." | once per game | yes |
1B | Practice Intro | Practice FEB 1900 | - | once per game | yes |
1C | Practice Hint | Practice FEB 1901 | - | once per game | yes |
1D | Practice mode Failed | Practice FEB 1905, <30000 population | - | once per game | no, see BUGS#3 |
1E | Practice mode Complete | Prectice FEB 1905, >=30000 population | - | once per game | no, see BUGS#3 |
1F | Bank Hint | Bank has build | "BANK" button enabled at Budget screen | once per game | yes |
20 | Fire disaster | manual request | burn random areas | scenario specific | yes |
21 | Flood disaster | scenario specific | flood shore areas | scenario specific | yes |
22 | Airplane Crash | random or when PLANE collide with HELI | destroy single area | scenario specific | yes |
23 | Tornado disaster | scenario specific | destroy all on its path | scenario specific | yes |
INDEX | MESSAGE | REQUIREMENTS | FORCED | NOTES |
---|---|---|---|---|
00 | MORE RESIDENTIAL ZONES NEEDED | R<(R+C+I)/4 | no | - |
01 | MORE COMMERCIAL ZONES NEEDED | C<(R+C+I)/8 | no | - |
02 | MORE INDUSTRIAL ZONES NEEDED | I<(R+C+I)/8 | no | - |
03 | MORE ROADS REQUIRED | (R+C+I)>=10, (R+C+I)>ROADS | no | - |
04 | INADEQUATE RAIL SYSTEM | (R+C+I)>=50, (R+C+I)>RAILS | no | - |
05 | BUILD A POWER PLANT | (R+C+I)>=10, POWER=0 | no | see BUGS#1 |
06 | RESIDENTS DEMAND A STADIUM | R_L>=500fp, STADIUM=0 | yes | - |
07 | INDUSTRY REQUIRES A SEA PORT | I_L>=100fp, SEAPORT=0 | yes | - |
08 | COMMERCE REQUIRES AN AIRPORT | C_L>=150fp, AIRPORT=0 | yes | - |
09 | CITIZENS DEMAND A FIRE DEPARTMENT | ALL_L>=60fp, SPOLICE=0 | no | ALL_L=(R_L+C_L+I_L) |
0A | CITIZENS DEMAND A POLICE DEPARTMENT | ALL_L>=60fp, SFIRE=0 | no | ALL_L=(R_L+C_L+I_L) |
0B | BLACKOUTS REPORTED CHECK POWER MAP | -unused- | - | see UNFINISHED#4.1 |
0C | CITIZENS UPSET THE TAX RATE IS TOO HIGH | TAX_RATE>=0C | no | - |
0D | ROADS DETERIORATING DUE TO LACK OF FUNDS | RFUND_RATE<18, ROADS>=30 | no | - |
0E | FIRE DEPARTMENTS NEED FUNDING | FFUND_RATE<0B, ALL_L>=20fp | no | ALL_L=(R_L+C_L+I_L) |
0F | POLICE DEPARTMENTS NEED FUNDING | PFUND_RATE<0B, ALL_L>=20fp | no | ALL_L=(R_L+C_L+I_L) |
10 | A PLANE HAS CRASHED | -unused- | - | used as EVENT MESSAGE #22** |
11 | SHIPWRECK REPORTED | -unused- | - | see UNFINISHED#4.3 |
12 | A TRAIN CRASHED | -unused- | - | see UNFINISHED#4.3 |
13 | A HELICOPTER CRASHED | -unused- | - | see UNFINISHED#4.3 |
14 | UNEMPLOYMENT RATE IS HIGH | -unused- | - | see UNFINISHED#4.4 |
15 | YOUR CITY HAS GONE BROKE | -unused- | - | see UNFINISHED#4.5 |
16 | EXPLOSION DETECTED | -unused- | - | see UNFINISHED#4.6 |
17 | BROWNOUTS BUILD ANOTHER POWER PLANT | -unused- | - | see UNFINISHED#4.7 |
18 | HEAVY TRAFFIC REPORTED | TRAFFIC>=10 under HELI pos | yes | see MISC#1 |
INDEX | BUILDING | FLAGS | FLAG BITS | NOTES |
---|---|---|---|---|
00-18 | regular R area | CA | 11001010 | |
19 | hospital | CA | 11001010 | |
1A | school | CA | 11001010 | |
1B-1F | - | - | - | |
20-38 | C area | CA | 11001010 | |
39-3F | - | - | - | |
40-48 | I area | CA | 11001010 | |
49-4F | - | - | - | |
50 | police station | CA | 11001010 | |
51 | fire station | CA | 11001010 | |
52-5F | - | - | - | |
60 | coal power station | CA | 11001010 | |
61 | nuclear power station | CA | 11001010 | |
62 | sea port | CA | 11001010 | |
63 | stadium | CA | 11001010 | |
64 | air port | CA | 11001010 | |
65-6F | - | - | - | |
70 | bank | CE | 11001110 | |
71 | amusement park | CE | 11001110 | |
72 | zoo | CE | 11001110 | |
73 | casino | CE | 11001110 | |
74 | reclaimed water ground | CE | 11001110 | *turns to 90 when used |
75 | new police station | CE | 11001110 | |
76 | new fire station | CE | 11001110 | |
77 | 10th monument | CE | 11001110 | |
78 | 100th monument | CE | 11001110 | |
79 | expo monument | CE | 11001110 | |
7A | liberty monument | CE | 11001110 | |
7B | library | CE | 11001110 | |
7C | park | CE | 11001110 | |
7D | train station | CE | 11001110 | |
7E | white house | CE | 11001110 | |
7F | - | - | - | |
80-8E | internal building's tiles | C0 | 11000000 | |
8F | - | - | - | |
90 | bulldozed ground | 02 | 00000010 | |
91-9B | road | 62 | 01100010 | |
9C-A6 | rail | 52 | 01010010 | |
A7-B1 | electric | C2 | 11000010 | |
B2 | park grass | 46 | 01000110 | |
B3 | park tree | 06 | 00000110 | |
B4 | corrupt ground | 02 | 00000010 | |
B5 | flooded ground | 00 | 00000000 | |
B6 | polluted ground | 00 | 00000000 | |
B7-B8 | road+rail | 52 | 01010010 | |
B9-BA | electric+road | E2 | 11100010 | |
BB-BC | electric+rail | D2 | 11010010 | |
BD | water | 05 | 00000101 | |
BE-CD | ground/water shores | 06 | 00000110 | |
CE-DF | unbulldozed ground | 46 | 01000110 | |
E0-E1 | water+road | 05 | 00000101 | |
E2-E3 | water+rail | 15 | 00010101 | |
E4-E5 | water+electric | 85 | 10000101 | |
E6 | fire ground | 00 | 00000000 | |
E7-EA | disaster ground anim | 00 | 00000000 | |
EB-EC | sailable water+road | 05 | 00000101 | |
ED-FC | open bridge road | 05 | 00000101 | unused |
FD | - | - | - | |
FE | sailable water tile | 05 | 00000101 | |
FF | - | - | - |