L'Empereur/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for L'Empereur.

RAM Function Details
0x007B Wait timer # of frames to wait
0x0098 - 0x009B Current PRG Bank pages Mirrors values stored to 0x5114 - 0x5117
0x0700 Palette flag Indicates that palettes are to be updated
0x0701 - 0x0720 Palette data
0x6005 - 0x6EF5 Officer data Start of officer stats = 0x6005 + 0x0F * (Officer ID)
  • + 0x00/0x01 = Next officer in list
  • + 0x02 = Nation
  • + 0x03 = City
  • + 0x04 = Civil Stats
  • + 0x05 = Cmbt Stats
  • + 0x06 = Experience
  • + 0x07 = Loyalty
  • + 0x08 = Age
  • + 0x09 = Men
  • + 0x0A = Horses
  • + 0x0B = Cannons
  • + 0x0C = Training
  • + 0x0D = Morale
  • + 0x0E = Status
0x6EF6 - 0x6FD6 Nations' Diplomatic Statuses

Relationship between Nation 1 & Nation 2 is located at:

0x6EF6 + 0x0F * (Nation 1 ID) + (Nation 2 ID)

Note that diplomatic statuses are mirrored to both possible locations when they are altered, so it doesn't matter what order the Nations are in. For example, 0x6EF7 (France/Holland) and 0x6F05 (Holland/France) will always contain the same value.

0x6FD7 - 0x6FE5 Nations' Aggression vs. France

Located at:

0x6FD7 + (Nation ID)

0x6FD7 (France's aggression towards itself) is permanently set at zero.

France is the only nation toward whom aggression is directly tracked in memory. If the aggression between two other nations is to be calculated, it is done by finding the difference between their aggression toward France.

0x6FE6 - 0x6FE7 Year
0x6FE8 Month
0x6FE9 Season
  • 00 = Spring (Mar-May)
  • 01 = Summer (Jun-Aug)
  • 02 = Fall (Sep-Nov)
  • 03 = Winter (Dec-Feb)
0x6FEA Scenario
0x6FEB Game State
  • 00 = Default
  • 03 = Ending sequence
  • 04 = Game Over (Napoleon dies of old age)
  • 05 = Game Over (Napoleon is captured)
  • Other values = Quit game ("Please play again" & Koei logo)
0x6FEC Settings
  • 0x80 = Autoplay on
  • 0x10 = Hex War on
  • 0x08 = BGM
  • 0x04 = BGM
  • 0x02 = Graphics
0x6FED Speed Lower = faster
0x6FEF Phase
  • 01 = City Phase
  • 02 = National Phase
  • 03 = Between Months
0x6FF0 Nation Turn # Current position in the list of nation turns
0x6FF1 City Turn # Current position in the list of city turns
0x6FF2 - 0x7000 Nation turns The 1-byte IDs of all nations are stored here in order of their randomized turn number
0x7001 End of nation turn list 0xFF is stored here to indicate the end of list to the game
0x7002 - 0x702F City turns The 1-byte IDs of all cities are stored here in order of their randomized turn number
0x7030 End of city turn list 0xFF is stored here to indicate the end of list to the game
0x7031 - 0x705E City used turn flag
0x705F # of National Actions left
0x7060 Nelson alive 1 by default, flipped to 0 when the Trafalgar event occurs
0x7061 Married to Josephine Set to 0 in December 1809
0x7062 Married to Marie Louise Set to 1 in April 1810
0x7068 - 0x7175 Nation data
  • +0x00/0x01 = Beginning of city list
  • +0x02/0x03 = Beginning of reserve officer list
  • +0x04/0x05 = Beginning of POW officer list
  • +0x06/0x07 = Nation ruler
  • +0x08/0x09 = Treasury - Gold
  • +0x0A/0x0B = Treasury - Food
  • +0x0C/0x0D = Treasury - Materials
  • +0x0E/0x0F = Cannons
  • +0x10/0x11 = Cannon factories
0x7176 - 0x767D City data
  • +0x00/0x01 = Next city in list
  • +0x02/0x03 = Commander
  • +0x04 = Nation
  • +0x05/0x06 = Population
  • +0x07 = Hospitals
  • +0x08 = Industry
  • +0x09 = Trade
  • +0x0A = Farming
  • +0x0B = Food sufficiency
  • +0x0C = Material sufficiency
  • +0x0D = Medical development
  • +0x0E/0x0F = Gold
  • +0x10/0x11 = Food
  • +0x12/0x13 = Materials
  • +0x14/0x15 = Soldier reserves
  • +0x16/0x17 = Horse reserves
  • +0x18/0x19 = Cannon reserves
  • +0x1A = Fleet
  • +0x1B = Status
    • 0x80 = Material supply low
    • 0x40 = Food supply low
    • 0x20 = Tax set
    • 0x10 = Recruited this year
    • 0x08 = Industry halted
    • 0x04 = Farming halted
    • 0x02 = Plague
    • 0x01 = Set as supply base
0x78B4 - 0x78B5 Active City - Population
0x78BC - 0x78BD Temp storage for calculations during city phase functions
0x78C0 - 0x78C1 Active City - Acting Officer Officer performing action during AI City Phase
0x78D0 Detected by enemy fleet Triggers sea battle
0x78D8 - 0x78D9 Current top city When a list of cities are being scanned to find the best match for a specific quantity, the current best is stored here
0x78DA Current top value Top value for whatever 0x78D8/0x78D9 is being evaluated for
0x78E8 - 0x78E9 Active City - Gold
0x78EA - 0x78EB Active City - Food
0x7B51 - 0x7B54 RNG value
0x7B59 Current map display
  • 00 = Full map
  • 01 = Northwest map
  • 02 = Northeast map
  • 03 = Southwest map
  • 04 = Southeast map
  • FF = No map
0x7B5A Current BGM track
  • 00 = Intro/Title screen
  • 01 = City Phase 1 (France)
  • 02 = City Phase 2 (Venice/Naples)
  • 03 = City Phase 3 (Bavaria/Austria/Prussia)
  • 04 = City Phase 4 (Spain/Portugal)
  • 05 = City Phase 5 (England)
  • 06 = City Phase 6 (Turkey)
  • 07 = City Phase 7 (Russia)
  • 08 = City Phase 8 (Holland/Sweden/Denmark)
  • 0C = Select a scenario/National phase
  • FF = No BGM
0x7B5B - 0x7B5C Menu x-position
0x7B5D - 0x7B5E Menu y-position
0x7BA0 Defender victory
0x7BA1 Invader victory
0x7BA2 - 0x7BC8 Army stats
  • 0x7BA2 + 0x0D * (Army #) = Start of Army (#)'s stats
  • Army 0 = Defenders, Army 1 = Invaders, Army 2 = Reinforcements
    • +0x00 = Status?
    • +0x02/0x03 = Officer list
    • +0x04 = Nation
    • +0x05 = City
    • +0x07 = Fleet
    • +0x08/0x09 = Food
    • +0x0A/0x0B = Reserves
0x7BC9 - 0x7C48 Officer List 0 Defending officers
  • 0x7BC9 + 0x08 * Officer # = Start of Officer (#)'s stats
    • +0x00/0x01 = Next Entry (blank if last entry in list)
    • +0x02/0x03 = Officer address
0x7C49 - 0x7CA0 Officer List 1 Invading officers
0x7CA1 - 0x7CD0 Officer List 2 Reinforcement officers
0x7CD1 - 0x7CD2 Active City The city currently taking its turn
0x7CD3 - 0x7CD4 Target City City that the active city is currently considering performing some action toward
0x7CE8 - 0x7CE9 Text window x-position
0x7CEA - 0x7CEB Text window y-position