#! GameDirector V. 1.1 or later

module "Civilization Editor V.1.0" {
    desc "Information provided by Tom Kimball  tom@europa.lonestar.org"
    desc " "
    desc "This is a collective Usenet effort.  The following"
    desc "people supplied  contributions and information:"
    desc " "
    desc "Cordell Melgaard        cmelgarr@uwsuper.edu"
    desc "Jasona                  jasona@sco.com"
    desc "Ralph Betza             uunet!ssiny!gnohmon"
    desc "Charles Hughes"
    desc "AI                      syserror@sage.cc.purdue.edu"
    desc "Rocky Brown             ooprb@trex.oscs.montana.edu"
    desc " "
    desc "Translated to JUDGE by Jack Hwang   jch@netcom.com"

    absolute "Game Progress Info" {
        desc "Game data for players' progress."

        field "Turn #" {
            data 0 2 uword
            entry 0 1 3 1 26 5 dec
        }

        field "Player's Civilization" {
            desc "Decimal, 0 - 7"
            desc "This field equals to ID - 1."
            data 2 1 ubyte
            entry 0 2 3 2 26 1 dec
        }

        # masks are always defined as ascii data with hex entry

        field "Movement Mask??" {
            data 4 2 ascii
            entry 0 3 3 3 26 4 hex
        }

        field "Year" {
            desc "Unsigned or signed number?"
            data 8 2 word
            entry 0 4 3 4 26 5 dec
        }

        field "Difficulty" {
            desc "Difficulty level - unsigned/signed ?"
            data 0x0a 2 uword
            entry 0 5 3 5 26 5 dec
        }

        field "Number of Civilizations" {
            data 0x93bc 1 ubyte
            entry 0 6 3 6 26 2 dec
        }

        field "Pyramids" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8674 2 uword
            entry 0 8 3 8 26 5 dec
        }

        field "Hanging Gardens" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8676 2 uword
            entry 0 9 3 9 26 5 dec
        }

        field "Colossus" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8678 2 uword
            entry 0 10 3 10 26 5 dec
        }

        field "Lighthouse" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x867a 2 uword
            entry 0 11 3 11 26 5 dec
        }

        field "Great Library" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x867c 2 uword
            entry 0 12 3 12 26 5 dec
        }

        field "Oracle" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x867e 2 uword
            entry 0 13 3 13 26 5 dec
        }

        field "Great Wall" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8680 2 uword
            entry 0 14 3 14 26 5 dec
        }

        field "Magellan's Expedition" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8682 2 uword
            entry 0 15 3 15 26 5 dec
        }

        field "Michelangelo's Chapel" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8684 2 uword
            entry 0 16 3 16 26 5 dec
        }

        field "Copernicus Observatory" {
            desc "The city it is located.  0 - 65535."
            desc "65535 means not built yet."
            data 0x8686 2 uword
            entry 0 17 3 17 26 5 dec
        }

    }

    absolute "Red Civilization" {
        desc "Barbarians"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x10 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0x80 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0xe0 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x138 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "Resources for civilization advances"
            desc "0 - 65535"
            data 0x148 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4d8 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x4e8 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x738 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x748 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bb4 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "White Civilization" {
        desc "Romans/Russians"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x1e 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0x8c 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0xeb 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x13a 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x14a 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4da 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x4f2 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x73a 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x74a 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bb6 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Green Civilization" {
        desc "Babylonians/Zulus"
        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x2c 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0x98 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0xf6 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x13c 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x14c 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4dc 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x4fc 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x73c 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x74c 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bb8 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Dark Blue Civilization" {
        desc "Germans/French"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x3a 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0xa4 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0x101 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x13e 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x14e 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4de 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x506 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x73e 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x74e 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bba 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Yellow Civilization" {
        desc "Aztecs/Egyptians"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x48 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0xb0 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0x10c 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x140 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x150 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4e0 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x510 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x740 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x750 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bbc 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Light Blue Civilization" {
        desc "Americans/Chinese"
        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x56 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0xbc 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0x117 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x142 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x152 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4e2 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x51a 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x742 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x752 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bbe 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Pink Civilization" {
        desc "English/Greek"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x64 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0xc8 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0x122 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x144 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x154 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4e4 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x524 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x744 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x754 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bc0 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    absolute "Grey Civilization" {
        desc "Indians/Mongols"

        field "Leader" {
            desc "Name of the leader of the civilization."
            data 0x72 14 ascii
            entry 0 2 3 2 28 14 asc
        }

        field "Plural Name" {
            desc "Plural name of the civilization."
            data 0xd4 12 ascii
            entry 0 3 3 3 28 12 asc
        }

        field "Singular Name" {
            desc "Singular name of the civilization."
            data 0x12d 11 ascii
            entry 0 4 3 4 28 11 asc
        }

        field "Money" {
            desc "Treasury of the civilization."
            desc "0 - 65535"
            data 0x146 2 uword
            entry 0 5 3 5 28 5 dec
        }

        field "Bulbs" {
            desc "R&D efforts for advances."
            desc "0 - 65535"
            data 0x156 2 uword
            entry 0 6 3 6 28 5 dec
        }

        field "Number of Tech.'s" {
            desc "Number of technologies, used for scoring and"
            desc "to determine how much next advance costs"
            data 0x4e6 2 uword
            entry 0 7 3 7 28 5 dec	
        }

        field "Technology" {
            desc "Mask for technologies"
            data 0x52e 10 ascii
            entry 0 8 3 8 28 20 hex
        }

        field "Tax Rate" {
            data 0x746 2 uword
            entry 0 9 3 9 28 5 dec
        }

        field "Population" {
            data 0x756 2 uword
            entry 0 10 3 10 28 5 dec
        }

        field "Luxury Rate" {
            data 0x8bc2 2 uword
            entry 0 11 3 11 28 5 dec
        }
    }

    relative "Civilization's Unit Statistics" {
        desc "The data set number is equal to the civilization ID"
        desc " "
        desc "ID      COLORS          CIVILIZATION"
        desc "1       RED             Barbarians"
        desc "2       WHITE           Romans/Russians"
        desc "3       GREEN           Babylonians/Zulus"
        desc "4       DARK BLUE       Germans/French"
        desc "5       YELLOW          Aztecs/Egyptians"
        desc "6       LIGHT BLUE      Americans/Chinese"
        desc "7       PINK            English/Greek"
        desc "8       GREY            Indians/Mongols"

        recloc 0x158 56 8

        field "Settler" {
            desc "Number of Settler"
            data 0 2 uword
            entry 0 2 3 2 31 5 dec
        }
 
        field "Militia" {
            desc "Number of Militia"
            data 2 2 uword
            entry 0 3 3 3 31 5 dec
        }
 
        field "Phalanx" {
            desc "Number of Phalanx"
            data 4 2 uword
            entry 0 4 3 4 31 5 dec
        }
 
        field "Legion" {
            desc "Number of Legion"
            data 6 2 uword
            entry 0 5 3 5 31 5 dec
        }
 
        field "Muskeeteers" {
            desc "Number of Muskeeteers"
            data 8 2 uword
            entry 0 6 3 6 31 5 dec
        }
 
        field "Rifleman" {
            desc "Number of Rifleman"
            data 10 2 uword
            entry 0 7 3 7 31 5 dec
        }
 
        field "Cavalry" {
            desc "Number of Cavalry"
            data 12 2 uword
            entry 0 8 3 8 31 5 dec
        }
 
        field "Knights" {
            desc "Number of Knights"
            data 14 2 uword
            entry 0 9 3 9 31 5 dec
        }
 
        field "Catapolt" {
            desc "Number of Catapolt"
            data 16 2 uword
            entry 0 10 3 10 31 5 dec
        }
 
        field "Cannon" {
            desc "Number of Cannon"
            data 18 2 uword
            entry 0 11 3 11 31 5 dec
        }
 
        field "Chariot" {
            desc "Number of Chariot"
            data 20 2 uword
            entry 0 12 3 12 31 5 dec
        }
 
        field "Armor" {
            desc "Number of Armor"
            data 22 2 uword
            entry 0 13 3 13 31 5 dec
        }
 
        field "Mech_Infantry" {
            desc "Number of Mech_Infantry"
            data 24 2 uword
            entry 0 14 3 14 31 5 dec
        }
 
        field "Artillery" {
            desc "Number of Artillery"
            data 26 2 uword
            entry 0 15 3 15 31 5 dec
        }
 
        field "Fighter" {
            desc "Number of Fighter"
            data 28 2 uword
            entry 0 2 40 2 68 5 dec
        }
 
        field "Bomber" {
            desc "Number of Bomber"
            data 30 2 uword
            entry 0 3 40 3 68 5 dec
        }
 
        field "Trireme" {
            desc "Number of Trireme"
            data 32 2 uword
            entry 0 4 40 4 68 5 dec
        }
 
        field "Sail" {
            desc "Number of Sail"
            data 34 2 uword
            entry 0 5 40 5 68 5 dec
        }
 
        field "Clipper_Ship" {
            desc "Number of Clipper_Ship"
            data 36 2 uword
            entry 0 6 40 6 68 5 dec
        }
 
        field "IronClad" {
            desc "Number of IronClad"
            data 38 2 uword
            entry 0 7 40 7 68 5 dec
        }
 
        field "Cruiser" {
            desc "Number of Cruiser"
            data 40 2 uword
            entry 0 8 40 8 68 5 dec
        }
 
        field "Battleship" {
            desc "Number of Battleship"
            data 42 2 uword
            entry 0 9 40 9 68 5 dec
        }
 
        field "Submarine" {
            desc "Number of Submarine"
            data 44 2 uword
            entry 0 10 40 10 68 5 dec
        }
 
        field "Carrier" {
            desc "Number of Carrier"
            data 46 2 uword
            entry 0 11 40 11 68 5 dec
        }
 
        field "Transport" {
            desc "Number of Transport"
            data 48 2 uword
            entry 0 12 40 12 68 5 dec
        }
 
        field "Nuclear" {
            desc "Number of Nuclear"
            data 50 2 uword
            entry 0 13 40 13 68 5 dec
        }
 
        field "Diplomat" {
            desc "Number of Diplomat"
            data 52 2 uword
            entry 0 14 40 14 68 5 dec
        }
 
        field "Caravan" {
            desc "Number of Caravan"
            data 54 2 uword
            entry 0 15 40 15 68 5 dec
        }
 
    }

    relative "City Names" {
        desc "256 city names in total."
        desc " "
        desc "  1 -  16  Roman        17 -  32 Babylonian      33 -  48 German"
        desc " 49 -  64  Egyptian     65 -  80 American        81 -  96 Greek"
        desc " 97 - 112  Indian      113 - 128 Russian        129 - 144 Zulu"
        desc "145 - 160  French      161 - 176 Aztec          177 - 192 Chinese"
        desc "192 - 208  English     209 - 224 Mongol         225 - 256 Extra"

        recloc 0x6970 13 256

        field "City"  {
            data 0 13 ascii
            entry 0 4 10 4 16 13 asc
        }
    }

    relative "Unit Definitions" {
        desc "This is the defintions for each type of unit."
        desc "There are 28 types of unit.  Each is 34 bytes long."
        desc "Starting from 0x2308."

        recloc 0x2308 34 28

        field "Name" {
            data 0 12 ascii
            entry 0 2 3 2 20 12 asc
        }

        field "Obsolete" {
            desc "Tech number in which the unit is obsolete"
            desc "(7f00 = never obsolete)"
            data 12 2 ascii
            entry 0 3 3 3 20 4 hex
        }

        field "Travel Mode" {
            desc "Travel mode (0=land 1=air 2=sea)" 
            data 14 2 uword
            entry 0 4 3 4 20 5 dec
        }

        field "Movement/Turn" {
            desc "Movement per turn." 
            data 16 2 uword
            entry 0 5 3 5 20 5 dec
        }

        field "Air Travel" {
            desc "Turns of movement for air travel."
            data 20 2 uword
            entry 0 6 3 6 20 5 dec
        }

        field "Offense" {
            desc "Offense value"
            data 22 2 uword
            entry 0 7 3 7 20 5 dec
        }

        field "Defense" {
            desc "Defense value"
            data 24 2 uword
            entry 0 8 3 8 20 5 dec
        }

        field "Cost" {
            desc "Cost to build the unit."
            desc "The value X 10 is the actual cost."
            data 24 2 uword
            entry 0 9 3 9 20 5 dec
        }

        field "Visibility??" {
            desc "Vision distance??"
            
            data 26 2 uword
            entry 0 10 3 10 20 5 dec
        }

        field "Transport" {
            desc "Transport amount"
            data 28 2 uword
            entry 0 11 3 11 20 5 dec
        }

        field "Unit Type" {
            desc "Type of unit"
            desc "0=expansion 1=ground offense 2=ground defense"
            desc "3=sea offense 4=air defense 5=sea transport 6=other"
            data 30 2 uword
            entry 0 12 3 12 20 5 dec
        }

        field "Available" {
            desc "Tech number in which the unit is available"
            desc "(fffb = always available)"
            data 32 2 ascii
            entry 0 3 30 3 40 4 hex
        }
    }
            	
    relative "Barbarians Units Info" {
        desc "(Red)"

        recloc 0x26c0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Romans/Russians Units Info" {
        desc "(White)"

        recloc 0x2cc0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Babylonians/Zulus Units Info" {
        desc " (Green) "

        recloc 0x32c0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Germans/French Units Info" {
        desc " (Dark Blue) "

        recloc 0x38c0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Aztecs/Egyptians Units Info" {
        desc " (Yellow) "

        recloc 0x3ec0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Americans/Chinese Units Info" {
        desc " (Light Blue) "

        recloc 0x44c0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "English/Greek Units Info" {
        desc "(Pink)"

        recloc 0x4ac0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Indians/Mongols Units Info" {
        desc "(Grey)"

        recloc 0x50c0 12 128

        field "Flags" {
            desc "0x20 = veteran, hexdecimal"
            data 0 1 ubyte
            entry 0 2 3 2 18 2 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 1 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 2 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Type" {
            desc "00 - Settler        01 - Militia    02 - Phalanx     03 - Legion"
            desc "04 - Muskeeteers    05 - Rifleman   06 - Cavalry     07 - Knights"
            desc "08 - Catapolt       09 - Cannon     0a - Chariot     0b - Armor"
            desc "0c - Mech Infantry  0d - Artillery  0e - Fighter     0f - Bomber"
            desc "10 - Trireme        11 - Sail       12 - Clipper Ship"
            desc "13 - IronClad       14 - Cruiser    15 - Battleship  16 - Submarine"
            desc "17 - Carrier        18 - Transport  19 - Nuclear     1a - Diplomat"
            desc "1b - Caravan        ff - destroyed/disbanded unit (sec 3)"

            data 3 1 ubyte
            entry 0 7 3 7 18 2 hex
        }

        field "Movement" {
            desc "decimal, 0 - 255"
            desc "The value here is the actual movements remained X 3"

            data 4 1 ubyte
            entry 0 8 3 8 18 3 dec
        }

        field "Turns??" {
            desc "The number of turns for settlers??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 8 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Status" {
            desc "Status of the unit - hexdecimal."
            desc " "
            desc "00 - normal  02 - sentry"
            desc "08 - cannot move; sentry; or settler finished op"
            desc "10 -         40 -         80 -"
            
            data 9 1 ubyte
            entry 0 14 3 14 18 2 hex
        }

        field "Next Unit??" {
            desc "The number of the next unit??"
            desc "Not confirmed.  Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 15 3 15 18 3 dec
        }

        field "City??" {
            desc "City under the unit's control??"
            desc " "
            desc "decimal.  0 - 254.  255 - none."
            desc "The value maps to the city records (0 means city 1.)"
            
            data 11 1 ubyte
            entry 0 16 3 16 18 3 dec
        }
    }

    relative "Citie Information" {
        desc "CITIES LAYOUT (28 bytes/City - Start at 0x1508)"

        recloc 0x1508 28 128

        field "Improvment" {
            data 0 3 ascii
            entry 0 2 3 2 18 6 hex
        }

        field "Latitude" {
            desc "decimal, 0 - 255"
            data 4 1 ubyte
            entry 0 3 3 3 18 3 dec
        }

        field "Longtitude" {
            desc "decimal, 0 - 255"
            data 4 1 ubyte
            entry 0 4 3 4 18 3 dec
        }

        field "Size" {
            desc "Size of the city?  0 - 255, decimal."
            data 7 1 ubyte
            entry 0 5 3 5 18 3 dec
        }

        field "Constructing" {
            desc "Item under constructtion"
            desc " "
            desc "ff - Palace       fe - Barracks   fd - Granary     fc - Temple"
            desc "fb - Marketplace  fa - Library    f9 - Courthouse  f8 - City Walls"
            desc "f7 - Aquaduct     f6 - Bank       f5 - Cathedral   f4 - University"
            desc "f3 - Mass Transit f2 - Colloseum  f1 - factory     f0 - Manuf. Plant"
            desc "ef - SDI Defense  ee - Recycling Center            ed - Power Plant"
            desc "ec - Hydro Plant  eb - Nuclear Plant               ea - SS Structure"
            desc "e9 - SS Component e8 - SS Module"
            desc "e7 - Pyramids     e6 - Hanging Gardens             e5 - Colossus"
            desc "e4 - Lighthouse   e3 - Great Library               e2 - Oracle"
            desc "e1 - Great Wall                   e0 - Magellan's Expedition"
            desc "df - Michelangelo's Chapel        de - Copernicus Observatory"
            desc "d8 - Women's Suffrage"

            data 9 1 ubyte
            entry 0 6 3 6 18 2 hex
        }

        field "Trade" {
            desc "Number of trades?"
            desc "Decimal, 0 - 255"
            
            data 10 1 ubyte
            entry 0 7 3 7 18 3 dec
        }

        field "Civilization" {
            desc "Controlling civilization"
            desc " "
            desc "NUMBERS COLORS          CIVILIZATION            MASK"
            desc "0       RED             Barbarians              01"
            desc "1       WHITE           Romans/Russians         02"
            desc "2       GREEN           Babylonians/Zulus       04"
            desc "3       DARK BLUE       Germans/French          08"
            desc "4       YELLOW          Aztecs/Egyptians        10"
            desc "5       LIGHT BLUE      Americans/Chinese       20"
            desc "6       PINK            English/Greek           40"
            desc "7       GREY            Indians/Mongols         80"
            data 11 1 ubyte
            entry 0 8 3 8 18 2 hex
        }

        field "Foods" {
            desc "Current amount of food"
            desc "0 - 65535 ?  2 bytes integer, decimal"
            
            data 12 2 uword
            entry 0 9 3 9 18 5 dec
        }

        field "Shields" {
            desc "Current amount of shield"
            desc "0 - 65535 ?  2 bytes integer, decimal"
            
            data 14 2 uword
            entry 0 10 3 10 18 5 dec
        }

        field "Land Usage" {
            desc "Land usage mask"
            
            data 16 3 ascii
            entry 0 11 3 11 18 6 hex
        }

        field "Specialist" {
            desc "Number of specialist x 4"
            desc "0 - 255, decimal"
            
            data 19 1 ubyte
            entry 0 12 3 12 18 3 dec
        }

        field "Spec. in use" {
            desc "Specialist in use"
            
            data 20 2 uword
            entry 0 13 3 13 18 4 dec
        }

        # You won't want to interfer this.
        # field "Name Index" {
        #     desc "Index to city names"
        #    data 22 1 ubyte
        #    entry 0 xx 3 xx 18 3 dec
        # }

        field "Trade Routes 1" {
            desc "Index for the trade route"
            desc "0 - 254.  255 = none."
            desc "This map to trade route record (0 - means trade 1)"
            
            data 23 1 ubyte
            entry 0 15 3 15 18 3 dec
        } 

        field "Trade Routes 2" {
            desc "Index for the trade route"
            desc "0 - 254.  255 = none."
            desc "This map to trade route record (0 - means trade 1)"
            
            data 24 1 ubyte
            entry 0 16 3 16 18 3 dec
        }

        field "Trade Routes 3" {
            desc "Index for the trade route"
            desc "0 - 254.  255 = none."
            desc "This map to trade route record (0 - means trade 1)"
            
            data 25 1 ubyte
            entry 0 17 3 17 18 3 dec
        }
    }
}

