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
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)
Page FA ($A000-$BFFF)
Table of Nations
$A004 + #$0A x (Nation code) = Beginning of nation data starting with name
Table of Cities
$A09A + #$20 x (City code) = Beginning of city data starting with name
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