###############################################################################
#
#  File:  pooyan.keg
#
#  Description:
#
#      This file contains the definition for Pooyan.
#
#  Author:  Kevin Brisley
#
###############################################################################


#
#  The name of the game.
#
Pooyan.Name:                           Pooyan

# 
#  The desired FPS.
#
Pooyan.FramesPerSecond:                60

#
#  The history and anecdote files.
#
Pooyan.HistoryFile:                    pooyan.his
Pooyan.TalesFile:                      pooyan.tal

#
#  Address spaces.
#
Pooyan.NumSpaces:                       1

#
#  The first address space is used by the Game CPU.  It includes the following:
#  0x00000-0x0FFFF (64K):      Game RAM/ROM.
#  0x10000-0x10000 (1Byte):    Interrupt Disable.
#
Pooyan.Space1.Size:                     0x10001
Pooyan.Space1.NumROMs:                  4
Pooyan.Space1.ROM1.Description:         ic22_a4.cpu @ 0x00000
Pooyan.Space1.ROM2.Description:         ic23_a5.cpu @ 0x02000
Pooyan.Space1.ROM3.Description:         ic24_a6.cpu @ 0x04000
Pooyan.Space1.ROM4.Description:         ic25_a7.cpu @ 0x06000

#
#  CPUs.
#
Pooyan.NumCPUs:                         1

#
#  CPU 1 (game).
#
Pooyan.CPU1.Description:                Game
Pooyan.CPU1.Type:                       Z80
Pooyan.CPU1.ClockSpeed:                 3072000
Pooyan.CPU1.Space:                      1
Pooyan.CPU1.IValue:                     INT_NMI
Pooyan.CPU1.IDisable:                   0x10000


#
#  The number of inputs.
#
Pooyan.NumInputs:                       5

Pooyan.Input1.Description:              Start Controls
Pooyan.Input1.CPU:                      1
Pooyan.Input1.Location:                 0x0a080
Pooyan.Input1.Default:                  0xff

Pooyan.Input2.Description:              Player Controls
Pooyan.Input2.CPU:                      1
Pooyan.Input2.Location:                 0x0a0a0
Pooyan.Input2.Default:                  0xff

Pooyan.Input3.Description:              Unused
Pooyan.Input3.CPU:                      1
Pooyan.Input3.Location:                 0x0a0c0
Pooyan.Input3.Default:                  0xff

Pooyan.Input4.Description:              Dip Switch 1
Pooyan.Input4.CPU:                      1
Pooyan.Input4.Location:                 0x0a0e0
Pooyan.Input4.Default:                  0xff

Pooyan.Input5.Description:              Dip Switch 2
Pooyan.Input5.CPU:                      1
Pooyan.Input5.Location:                 0x0a000
Pooyan.Input5.Default:                  0x73

#
#  The number of outputs.
#
Pooyan.NumOutputs:                      1

Pooyan.Output1.Description:             Interrupt Disable
Pooyan.Output1.CPU:                     1
Pooyan.Output1.WLocation:               0xa180
Pooyan.Output1.Location:                0x10000

#
#  The keys used in the game.
#
Pooyan.NumKeys:                         8

#  Player 1 Fire
Pooyan.Key1.Key:                        KEY_SPACE
Pooyan.Key1.Joy:                        JOY_B1      
Pooyan.Key1.Mask:                       0x10
Pooyan.Key1.Input:                      2
Pooyan.Key1.Default:                    Off/1

#  Player 1 Down
Pooyan.Key2.Key:                        KEY_DOWN
Pooyan.Key2.Joy:                        JOY_DOWN
Pooyan.Key2.Mask:                       0x08
Pooyan.Key2.Input:                      2
Pooyan.Key2.Default:                    Off/1

#  Player 1 Up
Pooyan.Key3.Key:                        KEY_UP
Pooyan.Key3.Joy:                        JOY_UP
Pooyan.Key3.Mask:                       0x04
Pooyan.Key3.Input:                      2
Pooyan.Key3.Default:                    Off/1

#  Player 1 Right
Pooyan.Key4.Key:                        KEY_RIGHT
Pooyan.Key4.Joy:                        JOY_RIGHT
Pooyan.Key4.Mask:                       0x02
Pooyan.Key4.Input:                      2
Pooyan.Key4.Default:                    Off/1

#  Player 1 Left
Pooyan.Key5.Key:                        KEY_LEFT
Pooyan.Key5.Joy:                        JOY_LEFT
Pooyan.Key5.Mask:                       0x01
Pooyan.Key5.Input:                      2
Pooyan.Key5.Default:                    Off/1

#  Player 1 Start
Pooyan.Key6.Key:                        KEY_1
Pooyan.Key6.Mask:                       0x08
Pooyan.Key6.Input:                      1
Pooyan.Key6.Default:                    Off/1

#  Player 2 Start     
Pooyan.Key7.Key:                        KEY_2
Pooyan.Key7.Mask:                       0x10
Pooyan.Key7.Input:                      1
Pooyan.Key7.Default:                    Off/1

#  Coin                 
Pooyan.Key8.Key:                        KEY_3
Pooyan.Key8.Mask:                       0x04
Pooyan.Key8.Input:                      1
Pooyan.Key8.Default:                    Off/1


#
#  The dip switches used in the game.
#
Pooyan.NumDips:                         16

#  Left Coin Slot (1 of 4)
Pooyan.Dip1.Description:                Left Coin Slot (1 of 4)
Pooyan.Dip1.Mask:                       0x80
Pooyan.Dip1.Input:                      4
Pooyan.Dip1.Default:                    Off/1 

#  Left Coin Slot (2 of 4)
Pooyan.Dip2.Description:                Left Coin Slot (2 of 4)
Pooyan.Dip2.Mask:                       0x40
Pooyan.Dip2.Input:                      4
Pooyan.Dip2.Default:                    Off/1

#  Left Coin Slot (3 of 4)
Pooyan.Dip3.Description:                Left Coin Slot (3 of 4)
Pooyan.Dip3.Mask:                       0x20
Pooyan.Dip3.Input:                      4
Pooyan.Dip3.Default:                    Off/1

#  Left Coin Slot (4 of 4)
Pooyan.Dip4.Description:                Left Coin Slot (4 of 4)
Pooyan.Dip4.Mask:                       0x10
Pooyan.Dip4.Input:                      4
Pooyan.Dip4.Default:                    Off/1

#  Right Coin Slot (1 of 4)
Pooyan.Dip5.Description:                Right Coin Slot (1 of 4)
Pooyan.Dip5.Mask:                       0x08
Pooyan.Dip5.Input:                      4
Pooyan.Dip5.Default:                    Off/1

#  Right Coin Slot (2 of 4)
Pooyan.Dip6.Description:                Right Coin Slot (2 of 4)
Pooyan.Dip6.Mask:                       0x04
Pooyan.Dip6.Input:                      4
Pooyan.Dip6.Default:                    Off/1

#  Right Coin Slot (3 of 4)
Pooyan.Dip7.Description:                Right Coin Slot (3 of 4)
Pooyan.Dip7.Mask:                       0x02
Pooyan.Dip7.Input:                      4
Pooyan.Dip7.Default:                    Off/1

#  Right Coin Slot (4 of 4)
Pooyan.Dip8.Description:                Right Coin Slot (4 of 4)
Pooyan.Dip8.Mask:                       0x01
Pooyan.Dip8.Input:                      4
Pooyan.Dip8.Default:                    Off/1

#  Attract Mode            
Pooyan.Dip9.Description:                Attract Mode 
Pooyan.Dip9.Mask:                       0x80
Pooyan.Dip9.Input:                      5
Pooyan.Dip9.Default:                    Off/1

#  Difficulty (1 of 3)
Pooyan.Dip10.Description:                Difficulty (1 of 3)
Pooyan.Dip10.Mask:                       0x40
Pooyan.Dip10.Input:                      5
Pooyan.Dip10.Default:                    Off/1

#  Difficulty (2 of 3)     
Pooyan.Dip11.Description:                Difficulty (2 of 3)
Pooyan.Dip11.Mask:                       0x20
Pooyan.Dip11.Input:                      5
Pooyan.Dip11.Default:                    Off/1

#  Difficulty (3 of 3)
Pooyan.Dip12.Description:                Difficulty (3 of 3)
Pooyan.Dip12.Mask:                       0x10
Pooyan.Dip12.Input:                      5
Pooyan.Dip12.Default:                    Off/1

#  Bonus Setting
Pooyan.Dip13.Description:                Bonus Setting
Pooyan.Dip13.Mask:                       0x08
Pooyan.Dip13.Input:                      5
Pooyan.Dip13.Default:                    Off/1

#  Cabinet Type
Pooyan.Dip14.Description:                Cabinet Type
Pooyan.Dip14.Mask:                       0x04
Pooyan.Dip14.Input:                      5
Pooyan.Dip14.Default:                    Off/1

#  Number of Lives (1 of 2)
Pooyan.Dip15.Description:                Number of Lives (1 of 2)
Pooyan.Dip15.Mask:                       0x02
Pooyan.Dip15.Input:                      5
Pooyan.Dip15.Default:                    Off/1

#  Number of Lives (2 of 2)
Pooyan.Dip16.Description:                Number of Lives (2 of 2)
Pooyan.Dip16.Mask:                       0x01
Pooyan.Dip16.Input:                      5
Pooyan.Dip16.Default:                    Off/1


#
#  Screen Resolution.
#
Pooyan.ScreenWidth:                     256
Pooyan.ScreenHeight:                    256


#
#  Graphics Sets.
#
Pooyan.NumGfxSets:                      2

#
#  The first set contains the character set.
#
Pooyan.GfxSet1.Width:                   8
Pooyan.GfxSet1.Height:                  8
Pooyan.GfxSet1.Number:                  256
Pooyan.GfxSet1.BPP:                     4
Pooyan.GfxSet1.BPs:                     32772 32768 4 0
Pooyan.GfxSet1.XBits:                    56  48  40  32  24  16   8   0
Pooyan.GfxSet1.YBits:                     0   1   2   3  64  65  66  67
Pooyan.GfxSet1.Increment:               128
Pooyan.GfxSet1.NumROMs:                 2
Pooyan.GfxSet1.ROM1.Description:        ic13_g10.cpu
Pooyan.GfxSet1.ROM2.Description:        ic14_g9.cpu

#
#  The second set contains the sprites.
#
Pooyan.GfxSet2.Width:                   16
Pooyan.GfxSet2.Height:                  16
Pooyan.GfxSet2.Number:                  64
Pooyan.GfxSet2.BPP:                     4
Pooyan.GfxSet2.BPs:                     32772 32768 4 0
Pooyan.GfxSet2.XBits:                   312 304 296 288 280 272 264 256 \
                                         56  48  40  32  24  16   8   0
Pooyan.GfxSet2.YBits:                     0   1   2   3  64  65  66  67 \
                                        128 129 130 131 192 193 194 195
Pooyan.GfxSet2.Increment:               512
Pooyan.GfxSet2.NumROMs:                 2
Pooyan.GfxSet2.ROM1.Description:        ic16_a8.cpu
Pooyan.GfxSet2.ROM2.Description:        ic15_a9.cpu


#
#  Graphic Layers
# 
Pooyan.NumGfxLayers:                    2

###############################################################################
#  The first layer renders the characters.
#
#  The video RAM starts at 0x08400 and is mapped as follows:
#
#      0x87e0 0x87c0 0x87a0   ...   0x8420 0x8400
#      0x87e1 0x87c1 0x87a1   ...   0x8421 0x8401
#      ...    ...    ...            ...    ...
#      0x87ff 0x87df 0x87bf   ...   0x843f 0x841f
###############################################################################
Pooyan.GfxLayer1.Lightweight:                  Yes
Pooyan.GfxLayer1.Space:                        1
Pooyan.GfxLayer1.GfxSet:                       1
Pooyan.GfxLayer1.Palette:                      1
Pooyan.GfxLayer1.ColourTable:                  1
Pooyan.GfxLayer1.Clipping:                     16,239,0,255
Pooyan.GfxLayer1.Transparency:                 Off
Pooyan.GfxLayer1.NumChars:                     1024

Pooyan.GfxLayer1.NumDirty:                     2
Pooyan.GfxLayer1.Dirty1.Start:                 0x08400
Pooyan.GfxLayer1.Dirty1.End:                   0x087ff
Pooyan.GfxLayer1.Dirty1.CharsPerLoc:           1
Pooyan.GfxLayer1.Dirty1.Assign:                #
Pooyan.GfxLayer1.Dirty2.Start:                 0x08000
Pooyan.GfxLayer1.Dirty2.End:                   0x083ff
Pooyan.GfxLayer1.Dirty2.CharsPerLoc:           1
Pooyan.GfxLayer1.Dirty2.Assign:                #

Pooyan.GfxLayer1.NumCharNums:                  1
Pooyan.GfxLayer1.CharNum1.Value:               \
    @(0x08400 + #) + 8 * (@(0x8000 + #) & 0x20)

Pooyan.GfxLayer1.NumColours:                   1
Pooyan.GfxLayer1.Colour1.Value:                @(0x08000 + #) & 0x3f

Pooyan.GfxLayer1.NumXPoss:                     1
Pooyan.GfxLayer1.XPos1.Value:                  (31 - # / 32) * 8
    
Pooyan.GfxLayer1.NumYPoss:                     1
Pooyan.GfxLayer1.YPos1.Value:                  (# % 32) * 8
    
Pooyan.GfxLayer1.NumEnables:                   1
Pooyan.GfxLayer1.Enable1.Value:                1

Pooyan.GfxLayer1.NumHFlips:                    1
Pooyan.GfxLayer1.HFlip1.Value:                 @(0x08000 + #) & 0x80

Pooyan.GfxLayer1.NumVFlips:                    1
Pooyan.GfxLayer1.VFlip1.Value:                 @(0x08000 + #) & 0x40


###############################################################################
#  The second layer renders the sprites.
#
#  There are two regions to the sprite ram.  The first starts at 0x9010 and
#  includes two bytes per 24 sprites.  The following describes the 2 bytes:
#
#      0 : Y Position
#      1 : Sprite Number
#
#  The second regions starts at 0x9410 and includes two bytes per 24 sprites.
#  The following describes the 2 bytes:
#
#      0 : bits 0-5 indicates colour
#          bit  6   indicates vertical flip
#          bit  7   indicates horizontal flip
#      1 : X Position
###############################################################################
Pooyan.GfxLayer2.Space:                  1
Pooyan.GfxLayer2.GfxSet:                 2
Pooyan.GfxLayer2.Palette:                1
Pooyan.GfxLayer2.ColourTable:            2
Pooyan.GfxLayer2.Clipping:               16,239,0,255
Pooyan.GfxLayer2.Transparency:           On
Pooyan.GfxLayer2.NumChars:               24       

Pooyan.GfxLayer2.NumDirty:               2
Pooyan.GfxLayer2.Dirty1.Start:           0x09010
Pooyan.GfxLayer2.Dirty1.End:             0x0903f
Pooyan.GfxLayer2.Dirty1.CharsPerLoc:     1
Pooyan.GfxLayer2.Dirty1.Assign:          # / 2
Pooyan.GfxLayer2.Dirty2.Start:           0x09410
Pooyan.GfxLayer2.Dirty2.End:             0x0943f
Pooyan.GfxLayer2.Dirty2.CharsPerLoc:     1
Pooyan.GfxLayer2.Dirty2.Assign:          # / 2

Pooyan.GfxLayer2.NumCharNums:            1
Pooyan.GfxLayer2.CharNum1.Value:         @(0x09011 + 2 * #) % 64

Pooyan.GfxLayer2.NumColours:             1
Pooyan.GfxLayer2.Colour1.Value:          @(0x09410 + 2 * #) & 0x3f

Pooyan.GfxLayer2.NumXPoss:               1
Pooyan.GfxLayer2.XPos1.Value:            @(0x09411 + 2 * #)

Pooyan.GfxLayer2.NumYPoss:               1
Pooyan.GfxLayer2.YPos1.Value:            @(0x09010 + 2 * #)

Pooyan.GfxLayer2.NumEnables:             1
Pooyan.GfxLayer2.Enable1.Value:          1

Pooyan.GfxLayer2.NumHFlips:              1
Pooyan.GfxLayer2.HFlip1.Value:           @(0x09410 + 2 * #) & 0x80

Pooyan.GfxLayer2.NumVFlips:              1
Pooyan.GfxLayer2.VFlip1.Value:           @(0x09410 + 2 * #) & 0x40 ? 0 : 1

#
#  Colour Palettes
#
Pooyan.NumPalettes:                     1

Pooyan.Palette1.NumColours:             256
Pooyan.Palette1.MaxValue:               255
Pooyan.Palette1.Colour1.RGB:            0x00/0x00/0x00
Pooyan.Palette1.Colour2.RGB:            0x00/0x00/0x51
Pooyan.Palette1.Colour3.RGB:            0x00/0x00/0xa2
Pooyan.Palette1.Colour4.RGB:            0x00/0x00/0xf3
Pooyan.Palette1.Colour5.RGB:            0x00/0x24/0x00
Pooyan.Palette1.Colour6.RGB:            0x00/0x24/0x51
Pooyan.Palette1.Colour7.RGB:            0x00/0x24/0xa2
Pooyan.Palette1.Colour8.RGB:            0x00/0x24/0xf3
Pooyan.Palette1.Colour9.RGB:            0x00/0x49/0x00
Pooyan.Palette1.Colour10.RGB:           0x00/0x49/0x51
Pooyan.Palette1.Colour11.RGB:           0x00/0x49/0xa2
Pooyan.Palette1.Colour12.RGB:           0x00/0x49/0xf3
Pooyan.Palette1.Colour13.RGB:           0x00/0x6d/0x00
Pooyan.Palette1.Colour14.RGB:           0x00/0x6d/0x51
Pooyan.Palette1.Colour15.RGB:           0x00/0x6d/0xa2
Pooyan.Palette1.Colour16.RGB:           0x00/0x6d/0xf3
Pooyan.Palette1.Colour17.RGB:           0x00/0x92/0x00
Pooyan.Palette1.Colour18.RGB:           0x00/0x92/0x51
Pooyan.Palette1.Colour19.RGB:           0x00/0x92/0xa2
Pooyan.Palette1.Colour20.RGB:           0x00/0x92/0xf3
Pooyan.Palette1.Colour21.RGB:           0x00/0xb6/0x00
Pooyan.Palette1.Colour22.RGB:           0x00/0xb6/0x51
Pooyan.Palette1.Colour23.RGB:           0x00/0xb6/0xa2
Pooyan.Palette1.Colour24.RGB:           0x00/0xb6/0xf3
Pooyan.Palette1.Colour25.RGB:           0x00/0xdb/0x00
Pooyan.Palette1.Colour26.RGB:           0x00/0xdb/0x51
Pooyan.Palette1.Colour27.RGB:           0x00/0xdb/0xa2
Pooyan.Palette1.Colour28.RGB:           0x00/0xdb/0xf3
Pooyan.Palette1.Colour29.RGB:           0x00/0xff/0x00
Pooyan.Palette1.Colour30.RGB:           0x00/0xff/0x51
Pooyan.Palette1.Colour31.RGB:           0x00/0xff/0xa2
Pooyan.Palette1.Colour32.RGB:           0x00/0xff/0xf3
Pooyan.Palette1.Colour33.RGB:           0x24/0x00/0x00
Pooyan.Palette1.Colour34.RGB:           0x24/0x00/0x51
Pooyan.Palette1.Colour35.RGB:           0x24/0x00/0xa2
Pooyan.Palette1.Colour36.RGB:           0x24/0x00/0xf3
Pooyan.Palette1.Colour37.RGB:           0x24/0x24/0x00
Pooyan.Palette1.Colour38.RGB:           0x24/0x24/0x51
Pooyan.Palette1.Colour39.RGB:           0x24/0x24/0xa2
Pooyan.Palette1.Colour40.RGB:           0x24/0x24/0xf3
Pooyan.Palette1.Colour41.RGB:           0x24/0x49/0x00
Pooyan.Palette1.Colour42.RGB:           0x24/0x49/0x51
Pooyan.Palette1.Colour43.RGB:           0x24/0x49/0xa2
Pooyan.Palette1.Colour44.RGB:           0x24/0x49/0xf3
Pooyan.Palette1.Colour45.RGB:           0x24/0x6d/0x00
Pooyan.Palette1.Colour46.RGB:           0x24/0x6d/0x51
Pooyan.Palette1.Colour47.RGB:           0x24/0x6d/0xa2
Pooyan.Palette1.Colour48.RGB:           0x24/0x6d/0xf3
Pooyan.Palette1.Colour49.RGB:           0x24/0x92/0x00
Pooyan.Palette1.Colour50.RGB:           0x24/0x92/0x51
Pooyan.Palette1.Colour51.RGB:           0x24/0x92/0xa2
Pooyan.Palette1.Colour52.RGB:           0x24/0x92/0xf3
Pooyan.Palette1.Colour53.RGB:           0x24/0xb6/0x00
Pooyan.Palette1.Colour54.RGB:           0x24/0xb6/0x51
Pooyan.Palette1.Colour55.RGB:           0x24/0xb6/0xa2
Pooyan.Palette1.Colour56.RGB:           0x24/0xb6/0xf3
Pooyan.Palette1.Colour57.RGB:           0x24/0xdb/0x00
Pooyan.Palette1.Colour58.RGB:           0x24/0xdb/0x51
Pooyan.Palette1.Colour59.RGB:           0x24/0xdb/0xa2
Pooyan.Palette1.Colour60.RGB:           0x24/0xdb/0xf3
Pooyan.Palette1.Colour61.RGB:           0x24/0xff/0x00
Pooyan.Palette1.Colour62.RGB:           0x24/0xff/0x51
Pooyan.Palette1.Colour63.RGB:           0x24/0xff/0xa2
Pooyan.Palette1.Colour64.RGB:           0x24/0xff/0xf3
Pooyan.Palette1.Colour65.RGB:           0x49/0x00/0x00
Pooyan.Palette1.Colour66.RGB:           0x49/0x00/0x51
Pooyan.Palette1.Colour67.RGB:           0x49/0x00/0xa2
Pooyan.Palette1.Colour68.RGB:           0x49/0x00/0xf3
Pooyan.Palette1.Colour69.RGB:           0x49/0x24/0x00
Pooyan.Palette1.Colour70.RGB:           0x49/0x24/0x51
Pooyan.Palette1.Colour71.RGB:           0x49/0x24/0xa2
Pooyan.Palette1.Colour72.RGB:           0x49/0x24/0xf3
Pooyan.Palette1.Colour73.RGB:           0x49/0x49/0x00
Pooyan.Palette1.Colour74.RGB:           0x49/0x49/0x51
Pooyan.Palette1.Colour75.RGB:           0x49/0x49/0xa2
Pooyan.Palette1.Colour76.RGB:           0x49/0x49/0xf3
Pooyan.Palette1.Colour77.RGB:           0x49/0x6d/0x00
Pooyan.Palette1.Colour78.RGB:           0x49/0x6d/0x51
Pooyan.Palette1.Colour79.RGB:           0x49/0x6d/0xa2
Pooyan.Palette1.Colour80.RGB:           0x49/0x6d/0xf3
Pooyan.Palette1.Colour81.RGB:           0x49/0x92/0x00
Pooyan.Palette1.Colour82.RGB:           0x49/0x92/0x51
Pooyan.Palette1.Colour83.RGB:           0x49/0x92/0xa2
Pooyan.Palette1.Colour84.RGB:           0x49/0x92/0xf3
Pooyan.Palette1.Colour85.RGB:           0x49/0xb6/0x00
Pooyan.Palette1.Colour86.RGB:           0x49/0xb6/0x51
Pooyan.Palette1.Colour87.RGB:           0x49/0xb6/0xa2
Pooyan.Palette1.Colour88.RGB:           0x49/0xb6/0xf3
Pooyan.Palette1.Colour89.RGB:           0x49/0xdb/0x00
Pooyan.Palette1.Colour90.RGB:           0x49/0xdb/0x51
Pooyan.Palette1.Colour91.RGB:           0x49/0xdb/0xa2
Pooyan.Palette1.Colour92.RGB:           0x49/0xdb/0xf3
Pooyan.Palette1.Colour93.RGB:           0x49/0xff/0x00
Pooyan.Palette1.Colour94.RGB:           0x49/0xff/0x51
Pooyan.Palette1.Colour95.RGB:           0x49/0xff/0xa2
Pooyan.Palette1.Colour96.RGB:           0x49/0xff/0xf3
Pooyan.Palette1.Colour97.RGB:           0x6d/0x00/0x00
Pooyan.Palette1.Colour98.RGB:           0x6d/0x00/0x51
Pooyan.Palette1.Colour99.RGB:           0x6d/0x00/0xa2
Pooyan.Palette1.Colour100.RGB:          0x6d/0x00/0xf3
Pooyan.Palette1.Colour101.RGB:          0x6d/0x24/0x00
Pooyan.Palette1.Colour102.RGB:          0x6d/0x24/0x51
Pooyan.Palette1.Colour103.RGB:          0x6d/0x24/0xa2
Pooyan.Palette1.Colour104.RGB:          0x6d/0x24/0xf3
Pooyan.Palette1.Colour105.RGB:          0x6d/0x49/0x00
Pooyan.Palette1.Colour106.RGB:          0x6d/0x49/0x51
Pooyan.Palette1.Colour107.RGB:          0x6d/0x49/0xa2
Pooyan.Palette1.Colour108.RGB:          0x6d/0x49/0xf3
Pooyan.Palette1.Colour109.RGB:          0x6d/0x6d/0x00
Pooyan.Palette1.Colour110.RGB:          0x6d/0x6d/0x51
Pooyan.Palette1.Colour111.RGB:          0x6d/0x6d/0xa2
Pooyan.Palette1.Colour112.RGB:          0x6d/0x6d/0xf3
Pooyan.Palette1.Colour113.RGB:          0x6d/0x92/0x00
Pooyan.Palette1.Colour114.RGB:          0x6d/0x92/0x51
Pooyan.Palette1.Colour115.RGB:          0x6d/0x92/0xa2
Pooyan.Palette1.Colour116.RGB:          0x6d/0x92/0xf3
Pooyan.Palette1.Colour117.RGB:          0x6d/0xb6/0x00
Pooyan.Palette1.Colour118.RGB:          0x6d/0xb6/0x51
Pooyan.Palette1.Colour119.RGB:          0x6d/0xb6/0xa2
Pooyan.Palette1.Colour120.RGB:          0x6d/0xb6/0xf3
Pooyan.Palette1.Colour121.RGB:          0x6d/0xdb/0x00
Pooyan.Palette1.Colour122.RGB:          0x6d/0xdb/0x51
Pooyan.Palette1.Colour123.RGB:          0x6d/0xdb/0xa2
Pooyan.Palette1.Colour124.RGB:          0x6d/0xdb/0xf3
Pooyan.Palette1.Colour125.RGB:          0x6d/0xff/0x00
Pooyan.Palette1.Colour126.RGB:          0x6d/0xff/0x51
Pooyan.Palette1.Colour127.RGB:          0x6d/0xff/0xa2
Pooyan.Palette1.Colour128.RGB:          0x6d/0xff/0xf3
Pooyan.Palette1.Colour129.RGB:          0x92/0x00/0x00
Pooyan.Palette1.Colour130.RGB:          0x92/0x00/0x51
Pooyan.Palette1.Colour131.RGB:          0x92/0x00/0xa2
Pooyan.Palette1.Colour132.RGB:          0x92/0x00/0xf3
Pooyan.Palette1.Colour133.RGB:          0x92/0x24/0x00
Pooyan.Palette1.Colour134.RGB:          0x92/0x24/0x51
Pooyan.Palette1.Colour135.RGB:          0x92/0x24/0xa2
Pooyan.Palette1.Colour136.RGB:          0x92/0x24/0xf3
Pooyan.Palette1.Colour137.RGB:          0x92/0x49/0x00
Pooyan.Palette1.Colour138.RGB:          0x92/0x49/0x51
Pooyan.Palette1.Colour139.RGB:          0x92/0x49/0xa2
Pooyan.Palette1.Colour140.RGB:          0x92/0x49/0xf3
Pooyan.Palette1.Colour141.RGB:          0x92/0x6d/0x00
Pooyan.Palette1.Colour142.RGB:          0x92/0x6d/0x51
Pooyan.Palette1.Colour143.RGB:          0x92/0x6d/0xa2
Pooyan.Palette1.Colour144.RGB:          0x92/0x6d/0xf3
Pooyan.Palette1.Colour145.RGB:          0x92/0x92/0x00
Pooyan.Palette1.Colour146.RGB:          0x92/0x92/0x51
Pooyan.Palette1.Colour147.RGB:          0x92/0x92/0xa2
Pooyan.Palette1.Colour148.RGB:          0x92/0x92/0xf3
Pooyan.Palette1.Colour149.RGB:          0x92/0xb6/0x00
Pooyan.Palette1.Colour150.RGB:          0x92/0xb6/0x51
Pooyan.Palette1.Colour151.RGB:          0x92/0xb6/0xa2
Pooyan.Palette1.Colour152.RGB:          0x92/0xb6/0xf3
Pooyan.Palette1.Colour153.RGB:          0x92/0xdb/0x00
Pooyan.Palette1.Colour154.RGB:          0x92/0xdb/0x51
Pooyan.Palette1.Colour155.RGB:          0x92/0xdb/0xa2
Pooyan.Palette1.Colour156.RGB:          0x92/0xdb/0xf3
Pooyan.Palette1.Colour157.RGB:          0x92/0xff/0x00
Pooyan.Palette1.Colour158.RGB:          0x92/0xff/0x51
Pooyan.Palette1.Colour159.RGB:          0x92/0xff/0xa2
Pooyan.Palette1.Colour160.RGB:          0x92/0xff/0xf3
Pooyan.Palette1.Colour161.RGB:          0xb6/0x00/0x00
Pooyan.Palette1.Colour162.RGB:          0xb6/0x00/0x51
Pooyan.Palette1.Colour163.RGB:          0xb6/0x00/0xa2
Pooyan.Palette1.Colour164.RGB:          0xb6/0x00/0xf3
Pooyan.Palette1.Colour165.RGB:          0xb6/0x24/0x00
Pooyan.Palette1.Colour166.RGB:          0xb6/0x24/0x51
Pooyan.Palette1.Colour167.RGB:          0xb6/0x24/0xa2
Pooyan.Palette1.Colour168.RGB:          0xb6/0x24/0xf3
Pooyan.Palette1.Colour169.RGB:          0xb6/0x49/0x00
Pooyan.Palette1.Colour170.RGB:          0xb6/0x49/0x51
Pooyan.Palette1.Colour171.RGB:          0xb6/0x49/0xa2
Pooyan.Palette1.Colour172.RGB:          0xb6/0x49/0xf3
Pooyan.Palette1.Colour173.RGB:          0xb6/0x6d/0x00
Pooyan.Palette1.Colour174.RGB:          0xb6/0x6d/0x51
Pooyan.Palette1.Colour175.RGB:          0xb6/0x6d/0xa2
Pooyan.Palette1.Colour176.RGB:          0xb6/0x6d/0xf3
Pooyan.Palette1.Colour177.RGB:          0xb6/0x92/0x00
Pooyan.Palette1.Colour178.RGB:          0xb6/0x92/0x51
Pooyan.Palette1.Colour179.RGB:          0xb6/0x92/0xa2
Pooyan.Palette1.Colour180.RGB:          0xb6/0x92/0xf3
Pooyan.Palette1.Colour181.RGB:          0xb6/0xb6/0x00
Pooyan.Palette1.Colour182.RGB:          0xb6/0xb6/0x51
Pooyan.Palette1.Colour183.RGB:          0xb6/0xb6/0xa2
Pooyan.Palette1.Colour184.RGB:          0xb6/0xb6/0xf3
Pooyan.Palette1.Colour185.RGB:          0xb6/0xdb/0x00
Pooyan.Palette1.Colour186.RGB:          0xb6/0xdb/0x51
Pooyan.Palette1.Colour187.RGB:          0xb6/0xdb/0xa2
Pooyan.Palette1.Colour188.RGB:          0xb6/0xdb/0xf3
Pooyan.Palette1.Colour189.RGB:          0xb6/0xff/0x00
Pooyan.Palette1.Colour190.RGB:          0xb6/0xff/0x51
Pooyan.Palette1.Colour191.RGB:          0xb6/0xff/0xa2
Pooyan.Palette1.Colour192.RGB:          0xb6/0xff/0xf3
Pooyan.Palette1.Colour193.RGB:          0xdb/0x00/0x00
Pooyan.Palette1.Colour194.RGB:          0xdb/0x00/0x51
Pooyan.Palette1.Colour195.RGB:          0xdb/0x00/0xa2
Pooyan.Palette1.Colour196.RGB:          0xdb/0x00/0xf3
Pooyan.Palette1.Colour197.RGB:          0xdb/0x24/0x00
Pooyan.Palette1.Colour198.RGB:          0xdb/0x24/0x51
Pooyan.Palette1.Colour199.RGB:          0xdb/0x24/0xa2
Pooyan.Palette1.Colour200.RGB:          0xdb/0x24/0xf3
Pooyan.Palette1.Colour201.RGB:          0xdb/0x49/0x00
Pooyan.Palette1.Colour202.RGB:          0xdb/0x49/0x51
Pooyan.Palette1.Colour203.RGB:          0xdb/0x49/0xa2
Pooyan.Palette1.Colour204.RGB:          0xdb/0x49/0xf3
Pooyan.Palette1.Colour205.RGB:          0xdb/0x6d/0x00
Pooyan.Palette1.Colour206.RGB:          0xdb/0x6d/0x51
Pooyan.Palette1.Colour207.RGB:          0xdb/0x6d/0xa2
Pooyan.Palette1.Colour208.RGB:          0xdb/0x6d/0xf3
Pooyan.Palette1.Colour209.RGB:          0xdb/0x92/0x00
Pooyan.Palette1.Colour210.RGB:          0xdb/0x92/0x51
Pooyan.Palette1.Colour211.RGB:          0xdb/0x92/0xa2
Pooyan.Palette1.Colour212.RGB:          0xdb/0x92/0xf3
Pooyan.Palette1.Colour213.RGB:          0xdb/0xb6/0x00
Pooyan.Palette1.Colour214.RGB:          0xdb/0xb6/0x51
Pooyan.Palette1.Colour215.RGB:          0xdb/0xb6/0xa2
Pooyan.Palette1.Colour216.RGB:          0xdb/0xb6/0xf3
Pooyan.Palette1.Colour217.RGB:          0xdb/0xdb/0x00
Pooyan.Palette1.Colour218.RGB:          0xdb/0xdb/0x51
Pooyan.Palette1.Colour219.RGB:          0xdb/0xdb/0xa2
Pooyan.Palette1.Colour220.RGB:          0xdb/0xdb/0xf3
Pooyan.Palette1.Colour221.RGB:          0xdb/0xff/0x00
Pooyan.Palette1.Colour222.RGB:          0xdb/0xff/0x51
Pooyan.Palette1.Colour223.RGB:          0xdb/0xff/0xa2
Pooyan.Palette1.Colour224.RGB:          0xdb/0xff/0xf3
Pooyan.Palette1.Colour225.RGB:          0xff/0x00/0x00
Pooyan.Palette1.Colour226.RGB:          0xff/0x00/0x51
Pooyan.Palette1.Colour227.RGB:          0xff/0x00/0xa2
Pooyan.Palette1.Colour228.RGB:          0xff/0x00/0xf3
Pooyan.Palette1.Colour229.RGB:          0xff/0x24/0x00
Pooyan.Palette1.Colour230.RGB:          0xff/0x24/0x51
Pooyan.Palette1.Colour231.RGB:          0xff/0x24/0xa2
Pooyan.Palette1.Colour232.RGB:          0xff/0x24/0xf3
Pooyan.Palette1.Colour233.RGB:          0xff/0x49/0x00
Pooyan.Palette1.Colour234.RGB:          0xff/0x49/0x51
Pooyan.Palette1.Colour235.RGB:          0xff/0x49/0xa2
Pooyan.Palette1.Colour236.RGB:          0xff/0x49/0xf3
Pooyan.Palette1.Colour237.RGB:          0xff/0x6d/0x00
Pooyan.Palette1.Colour238.RGB:          0xff/0x6d/0x51
Pooyan.Palette1.Colour239.RGB:          0xff/0x6d/0xa2
Pooyan.Palette1.Colour240.RGB:          0xff/0x6d/0xf3
Pooyan.Palette1.Colour241.RGB:          0xff/0x92/0x00
Pooyan.Palette1.Colour242.RGB:          0xff/0x92/0x51
Pooyan.Palette1.Colour243.RGB:          0xff/0x92/0xa2
Pooyan.Palette1.Colour244.RGB:          0xff/0x92/0xf3
Pooyan.Palette1.Colour245.RGB:          0xff/0xb6/0x00
Pooyan.Palette1.Colour246.RGB:          0xff/0xb6/0x51
Pooyan.Palette1.Colour247.RGB:          0xff/0xb6/0xa2
Pooyan.Palette1.Colour248.RGB:          0xff/0xb6/0xf3
Pooyan.Palette1.Colour249.RGB:          0xff/0xdb/0x00
Pooyan.Palette1.Colour250.RGB:          0xff/0xdb/0x51
Pooyan.Palette1.Colour251.RGB:          0xff/0xdb/0xa2
Pooyan.Palette1.Colour252.RGB:          0xff/0xdb/0xf3
Pooyan.Palette1.Colour253.RGB:          0xff/0xff/0x00
Pooyan.Palette1.Colour254.RGB:          0xff/0xff/0x51
Pooyan.Palette1.Colour255.RGB:          0xff/0xff/0xa2
Pooyan.Palette1.Colour256.RGB:          0xff/0xff/0xf3

#
#  The colour lookup table.
#
Pooyan.NumColourTables:           2

Pooyan.ColourTable1.NumEntries:   256
Pooyan.ColourTable1.List:                                                     \
                                  0x0f,0xe1,0x1c,0x03,0xff,0xf7,0xd0,0x88,    \
                                  0xb0,0xd4,0x1c,0x10,0xfd,0x41,0x92,0xfb,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x10,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0xe1,0x02,0x03,0x08,0xa0,0xd0,0x88,    \
                                  0xb0,0xd4,0x1c,0x10,0xfc,0x69,0x92,0xfb,    \
                                  0x0f,0x01,0x02,0x03,0xfc,0x10,0x3c,0x88,    \
                                  0xb0,0xd4,0x1c,0xb0,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x1c,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0xfd,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x81,0x02,0x1c,0xe8,0xfc,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0xe0,0x90,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0xfc,0x02,0x03,0xe1,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0x08,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0x01,0x02,0x03,0xe0,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x0f,0xdc,0x06,0x1c,0xff,0xe0,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0xfd,0x92,0xff,    \
                                  0x0f,0xdc,0x02,0x03,0xff,0x10,0x1c,0x88,    \
                                  0xb0,0xd4,0x1c,0x90,0xfc,0x49,0x92,0xfb

Pooyan.ColourTable2.NumEntries:   256
Pooyan.ColourTable2.List:                                                     \
                                  0x69,0xcd,0xb0,0x03,0xc1,0xf7,0xd4,0xe9,    \
                                  0x6e,0xd0,0x5d,0x30,0xff,0x00,0xe3,0xfb,    \
                                  0x48,0xcc,0x02,0x03,0xc0,0x10,0xfc,0x09,    \
                                  0xd0,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0x01,0x22,0xff,0x08,0x10,0x0f,0xff,    \
                                  0x12,0x17,0xdf,0xff,0xfc,0x09,0xff,0x0f,    \
                                  0x00,0x01,0x21,0x0f,0x08,0x10,0x0f,0xff,    \
                                  0x12,0x1f,0x0f,0xff,0xfc,0x29,0x6f,0xff,    \
                                  0x48,0xd6,0x02,0x03,0xc0,0x10,0xfc,0x09,    \
                                  0xb0,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0x01,0x02,0x03,0xd7,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0xd8,0x92,0xff,    \
                                  0x48,0xdb,0xa0,0x03,0xe0,0xb7,0xda,0x09,    \
                                  0x14,0x1c,0xde,0x90,0x98,0x49,0x92,0xff,    \
                                  0x48,0xdb,0xb6,0x03,0xe0,0x10,0xa1,0x80,    \
                                  0x12,0x1c,0xde,0x92,0xb5,0x49,0x92,0xff,    \
                                  0x48,0x01,0x02,0x0f,0x08,0x10,0xff,0xff,    \
                                  0x12,0x1f,0xde,0xff,0xfc,0x49,0x0f,0xff,    \
                                  0x48,0xf8,0x02,0x03,0xe0,0x10,0xfc,0x09,    \
                                  0xf4,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0xef,0x02,0x01,0x08,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0xfc,0x02,0x03,0x08,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0xe0,0x02,0x03,0x08,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0x48,0x92,0xff,    \
                                  0x48,0x01,0x02,0x03,0x08,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0x48,0x92,0xff,    \
                                  0x48,0xe3,0x02,0x03,0x08,0x10,0x1c,0x09,    \
                                  0x12,0x1f,0xde,0x90,0xfc,0x49,0x92,0xff,    \
                                  0x48,0x1b,0x02,0x03,0xa8,0xf7,0x1c,0x09,    \
                                  0x12,0x1f,0x00,0x90,0xfc,0x49,0x92,0xff