Difference between revisions of "L'Empereur:ROM map"

From Data Crystal
Jump to navigation Jump to search
Line 9: Line 9:
 
ROM location: 0x10010-0x1200F
 
ROM location: 0x10010-0x1200F
  
===Function $A8DF===
+
===E8:A8DF===
 
Main function for all CPU city actions.
 
Main function for all CPU city actions.
  
 
  A8E4 AA D1 7C    / Push $7CD1/$7CD2 to stack / (+2) Active city
 
  A8E4 AA D1 7C    / Push $7CD1/$7CD2 to stack / (+2) Active city
  A8E7 E9 DB BA 02 / Run function $BADB        / (-2)
+
  A8E7 E9 DB BA 02 / Run function $[[L%27Empereur:ROM_map/E8:BADB|BADB]]       / (-2)
  
  0x3466A - 0x35758
+
  ...
  Officer names and traits
+
 
 +
===E8:BADB===
 +
 
 +
==Page FA ($A000-$BFFF)==
 +
===FA:A004===
 +
Table of Nations
 +
$A004 + #$0A x (Nation code) = Beginning of nation data starting with name
 +
 
 +
===FA:A09A===
 +
Table of Cities
 +
$A09A + #$20 x (City code) = Beginning of city data starting with name
 +
 
 +
===FA:A650===
 +
Table of Officers
 +
  $A650 + #$11 x (Officer code) = Beginning of officer data starting with name and ending with hidden personality stats.
  
 
See [[L%27Empereur:Notes|Notes]] for more detail on officer traits.
 
See [[L%27Empereur:Notes|Notes]] for more detail on officer traits.
 +
 +
==Page FE ($C000-$DFFF)==
 +
ROM location: 0x3C010-0x3E00F

Revision as of 23:17, 3 January 2019

Note that most functions in this game are essentially written in a higher-level computer language than 6502. By using a jump table, more complex operations are able to be identified by single hex codes. These functions are prefaced by "20 09 E5 ## ##" and terminated by the operation "CF". (## ## indicates how many memory spaces need to be dedicated to the new function, written as an inverse. A function that requires no new memory space will say "00 00", while one that requires 16 spaces will say "F0 FF"


A list of these operations is located here. This same system seems to be used by the other MMC5 Koei games.

Page E8 ($A000-$BFFF)

ROM location: 0x10010-0x1200F

E8:A8DF

Main function for all CPU city actions.

A8E4 AA D1 7C    / Push $7CD1/$7CD2 to stack / (+2) Active city
A8E7 E9 DB BA 02 / Run function $BADB        / (-2)
...

E8:BADB

Page FA ($A000-$BFFF)

FA:A004

Table of Nations

$A004 + #$0A x (Nation code) = Beginning of nation data starting with name

FA:A09A

Table of Cities

$A09A + #$20 x (City code) = Beginning of city data starting with name

FA:A650

Table of Officers

$A650 + #$11 x (Officer code) = Beginning of officer data starting with name and ending with hidden personality stats.

See Notes for more detail on officer traits.

Page FE ($C000-$DFFF)

ROM location: 0x3C010-0x3E00F