############################################################################### # # File: superpac.keg # # Description: # # This file contains the definition for Super Pac Man. # # Author: Kevin Brisley # ############################################################################### # # The name of the game. # SuperPac.Name: Super Pac Man # # The desired FPS. # SuperPac.FramesPerSecond: 60 # # The history and anecdote files. # SuperPac.HistoryFile: superpac.his SuperPac.TalesFile: superpac.tal # # Address spaces. # SuperPac.NumSpaces: 1 # # The first address space is used by the Game CPU. It includes the following: # 0x00000-0x0FFFF (64K): Game RAM/ROM # SuperPac.Space1.Size: 0x10000 SuperPac.Space1.NumROMs: 2 SuperPac.Space1.ROM1.Description: spc-2.1c @ 0xc000 SuperPac.Space1.ROM2.Description: spc-1.1b @ 0xe000 SuperPac.Space1.NumPatchFiles: 1 SuperPac.Space1.PatchFile1: superpac.pch # # The second address space is used by the Sound CPU. # It includes the following: # 0x00000-0x0FFFF (64K): Game RAM/ROM # # Note: Since sound is not currently emulated, this Space and the Sound # CPU are commented out. # #SuperPac.Space2.Size: 0x10000 #SuperPac.Space2.NumROMs: 1 #SuperPac.Space2.ROM1.Description: spc-3.1k @ 0xf000 #SuperPac.Space2.NumShared: 1 #SuperPac.Space2.Shared1.Space: 1 #SuperPac.Space2.Shared1.StartLocation: 0x0040 #SuperPac.Space2.Shared1.EndLocation: 0x0041 #SuperPac.Space2.Shared1.ShareLocation: 0x4040 # # CPUs. # SuperPac.NumCPUs: 1 # # CPU 1 (game). # SuperPac.CPU1.Description: Game SuperPac.CPU1.Type: 6809 SuperPac.CPU1.ClockSpeed: 1000000 SuperPac.CPU1.Space: 1 SuperPac.CPU1.IPeriod: 31200 SuperPac.CPU1.IValue: INT_IRQ # # CPU 2 (sound). # # Note: Since sound is not currently emulated, this Space and the Sound # CPU are commented out. # #SuperPac.CPU2.Description: Sound #SuperPac.CPU2.Type: 6809 #SuperPac.CPU2.Space: 2 #SuperPac.CPU2.IPeriod: 3500 #SuperPac.CPU2.IValue: INT_NONE # # The number of inputs. # SuperPac.NumInputs: 5 SuperPac.Input1.Description: DSW-2 SuperPac.Input1.CPU: 1 SuperPac.Input1.Location: 0x10C6 SuperPac.Input2.Description: DSW-3 SuperPac.Input2.CPU: 1 SuperPac.Input2.Location: 0x10C5 # Note: I don't think this is quite right but it works for now. SuperPac.Input3.Description: Insert Coin SuperPac.Input3.CPU: 1 SuperPac.Input3.Location: 0x10C0 # Note: I don't think this is quite right but it works for now. SuperPac.Input4.Description: Start Game SuperPac.Input4.CPU: 1 SuperPac.Input4.Location: 0x10C1 SuperPac.Input5.Description: Controls SuperPac.Input5.CPU: 1 SuperPac.Input5.Location: 0x10C2 # # The number of outputs. # SuperPac.NumOutputs: 0 # # The keys used in the game. # SuperPac.NumKeys: 8 # Insert Credit. SuperPac.Key1.Key: KEY_3 SuperPac.Key1.Mask: 0x01 SuperPac.Key1.Input: 3 SuperPac.Key1.Default: Off/0 # 1 Player Start. SuperPac.Key2.Key: KEY_1 SuperPac.Key2.Mask: 0x01 SuperPac.Key2.Input: 4 SuperPac.Key2.Default: Off/0 # 2 Player Start. SuperPac.Key3.Key: KEY_2 SuperPac.Key3.Mask: 0x02 SuperPac.Key3.Input: 4 SuperPac.Key3.Default: Off/0 # Up. SuperPac.Key4.Key: KEY_UP SuperPac.Key4.Joy: JOY_UP SuperPac.Key4.Mask: 0x01 SuperPac.Key4.Input: 5 SuperPac.Key4.Default: Off/0 # Right. SuperPac.Key5.Key: KEY_RIGHT SuperPac.Key5.Joy: JOY_RIGHT SuperPac.Key5.Mask: 0x02 SuperPac.Key5.Input: 5 SuperPac.Key5.Default: Off/0 # Down. SuperPac.Key6.Key: KEY_DOWN SuperPac.Key6.Joy: JOY_DOWN SuperPac.Key6.Mask: 0x04 SuperPac.Key6.Input: 5 SuperPac.Key6.Default: Off/0 # Left. SuperPac.Key7.Key: KEY_LEFT SuperPac.Key7.Joy: JOY_LEFT SuperPac.Key7.Mask: 0x08 SuperPac.Key7.Input: 5 SuperPac.Key7.Default: Off/0 # Speed. SuperPac.Key8.Key: KEY_SPACE SuperPac.Key8.Joy: JOY_B1 SuperPac.Key8.Mask: 0x20 SuperPac.Key8.Input: 5 SuperPac.Key8.Default: Off/0 # # The dip switches used in the game. # SuperPac.NumDips: 14 SuperPac.Dip1.Description: Difficulty (1 of 4) SuperPac.Dip1.Mask: 0x01 SuperPac.Dip1.Input: 1 SuperPac.Dip1.Default: Off/0 SuperPac.Dip2.Description: Difficulty (2 of 4) SuperPac.Dip2.Mask: 0x02 SuperPac.Dip2.Input: 1 SuperPac.Dip2.Default: Off/0 SuperPac.Dip3.Description: Difficulty (3 of 4) SuperPac.Dip3.Mask: 0x04 SuperPac.Dip3.Input: 1 SuperPac.Dip3.Default: Off/0 SuperPac.Dip4.Description: Difficulty (4 of 4) SuperPac.Dip4.Mask: 0x08 SuperPac.Dip4.Input: 1 SuperPac.Dip4.Default: On/1 SuperPac.Dip5.Description: Sound SuperPac.Dip5.Mask: 0x40 SuperPac.Dip5.Input: 1 SuperPac.Dip5.Default: Off/0 SuperPac.Dip6.Description: Screen SuperPac.Dip6.Mask: 0x80 SuperPac.Dip6.Input: 1 SuperPac.Dip6.Default: Off/0 SuperPac.Dip7.Description: Coins/Credit (1 of 3) SuperPac.Dip7.Mask: 0x01 SuperPac.Dip7.Input: 2 SuperPac.Dip7.Default: Off/0 SuperPac.Dip8.Description: Coins/Credit (2 of 3) SuperPac.Dip8.Mask: 0x02 SuperPac.Dip8.Input: 2 SuperPac.Dip8.Default: Off/0 SuperPac.Dip9.Description: Coins/Credit (3 of 3) SuperPac.Dip9.Mask: 0x04 SuperPac.Dip9.Input: 2 SuperPac.Dip9.Default: Off/0 SuperPac.Dip10.Description: Bonus Pacman (1 of 3) SuperPac.Dip10.Mask: 0x08 SuperPac.Dip10.Input: 2 SuperPac.Dip10.Default: Off/0 SuperPac.Dip11.Description: Bonus Pacman (2 of 3) SuperPac.Dip11.Mask: 0x10 SuperPac.Dip11.Input: 2 SuperPac.Dip11.Default: Off/0 SuperPac.Dip12.Description: Bonus Pacman (3 of 3) SuperPac.Dip12.Mask: 0x20 SuperPac.Dip12.Input: 2 SuperPac.Dip12.Default: Off/0 SuperPac.Dip13.Description: Starting Pacmen (1 of 2) SuperPac.Dip13.Mask: 0x40 SuperPac.Dip13.Input: 2 SuperPac.Dip13.Default: Off/0 SuperPac.Dip14.Description: Starting Pacmen (2 of 2) SuperPac.Dip14.Mask: 0x80 SuperPac.Dip14.Input: 2 SuperPac.Dip14.Default: Off/0 # # Screen Resolution. # SuperPac.ScreenWidth: 224 SuperPac.ScreenHeight: 288 # # Graphics Sets. # SuperPac.NumGfxSets: 3 # # The first set contains the characters. # SuperPac.GfxSet1.Width: 8 SuperPac.GfxSet1.Height: 8 SuperPac.GfxSet1.Number: 256 SuperPac.GfxSet1.BPP: 2 SuperPac.GfxSet1.BPs: 0 4 SuperPac.GfxSet1.XBits: 56 48 40 32 24 16 8 0 SuperPac.GfxSet1.YBits: 64 65 66 67 0 1 2 3 SuperPac.GfxSet1.Increment: 128 SuperPac.GfxSet1.NumROMs: 1 SuperPac.GfxSet1.ROM1.Description: spv-1.3c # # The second set contains the sprites. # SuperPac.GfxSet2.Width: 16 SuperPac.GfxSet2.Height: 16 SuperPac.GfxSet2.Number: 128 SuperPac.GfxSet2.BPP: 2 SuperPac.GfxSet2.BPs: 0 4 SuperPac.GfxSet2.XBits: 312 304 296 288 280 272 264 256 \ 56 48 40 32 24 16 8 0 SuperPac.GfxSet2.YBits: 0 1 2 3 64 65 66 67 \ 128 129 130 131 192 193 194 195 SuperPac.GfxSet2.Increment: 512 SuperPac.GfxSet2.NumROMs: 1 SuperPac.GfxSet2.ROM1.Description: spv-2.3f # # The third set contains the big sprites. # SuperPac.GfxSet3.Width: 32 SuperPac.GfxSet3.Height: 32 SuperPac.GfxSet3.Number: 32 SuperPac.GfxSet3.BPP: 2 SuperPac.GfxSet3.BPs: 0 4 SuperPac.GfxSet3.XBits: 1336 1328 1320 1312 \ 1304 1296 1288 1280 \ 1080 1072 1064 1056 \ 1048 1040 1032 1024 \ 312 304 296 288 \ 280 272 264 256 \ 56 48 40 32 \ 24 16 8 0 SuperPac.GfxSet3.YBits: 0 1 2 3 \ 64 65 66 67 \ 128 129 130 131 \ 192 193 194 195 \ 512 513 514 515 \ 576 577 578 579 \ 640 641 642 643 \ 704 705 706 707 SuperPac.GfxSet3.Increment: 2048 SuperPac.GfxSet3.NumROMs: 1 SuperPac.GfxSet3.ROM1.Description: spv-2.3f # # Graphic Layers # SuperPac.NumGfxLayers: 4 ############################################################################### # The first layer renders the characters. # # The video RAM starts at 0x00000 and is mapped as follows: # # /0x3dd 0x3dc 0x3db ... 0x3c3 0x3c2\ # \0x3fd 0x3fc 0x3fb ... 0x3e3 0x3e2/ # /0x3a0 0x380 0x360 ... 0x060 0x040\ # | 0x3a1 0x381 0x361 ... 0x061 0x041 | # ... ... ... ... ... # | 0x3be 0x39e 0x37e ... 0x07e 0x05e | # \0x3bf 0x39f 0x37f ... 0x07f 0x05f/ # /0x01d 0x01c 0x01b ... 0x003 0x002\ # \0x03d 0x03c 0x03b ... 0x023 0x022/ # # The colour RAM starts at 0x00400 and is mapped as follows: # # /0x7dd 0x7dc 0x47db ... 0x7c3 0x7c2\ # \0x7fd 0x7fc 0x47fb ... 0x7e3 0x7e2/ # /0x7a0 0x780 0x4760 ... 0x460 0x440\ # | 0x7a1 0x781 0x4761 ... 0x461 0x441 | # ... ... ... ... ... # | 0x7be 0x79e 0x477e ... 0x47e 0x45e | # \0x7bf 0x79f 0x477f ... 0x47f 0x45f/ # /0x41d 0x41c 0x441b ... 0x403 0x402\ # \0x43d 0x43c 0x443b ... 0x423 0x422/ # ############################################################################### SuperPac.GfxLayer1.Lightweight: Yes SuperPac.GfxLayer1.Space: 1 SuperPac.GfxLayer1.GfxSet: 1 SuperPac.GfxLayer1.Palette: 1 SuperPac.GfxLayer1.ColourTable: 1 SuperPac.GfxLayer1.Transparency: Off SuperPac.GfxLayer1.Clipping: 0,223,0,287 SuperPac.GfxLayer1.BlankChar: 64 SuperPac.GfxLayer1.NumChars: 1024 SuperPac.GfxLayer1.NumDirty: 2 SuperPac.GfxLayer1.Dirty1.Start: 0x00000 SuperPac.GfxLayer1.Dirty1.End: 0x003ff SuperPac.GfxLayer1.Dirty1.CharsPerLoc: 1 SuperPac.GfxLayer1.Dirty1.Assign: # SuperPac.GfxLayer1.Dirty2.Start: 0x00400 SuperPac.GfxLayer1.Dirty2.End: 0x007ff SuperPac.GfxLayer1.Dirty2.CharsPerLoc: 1 SuperPac.GfxLayer1.Dirty2.Assign: # SuperPac.GfxLayer1.NumCharNums: 1 SuperPac.GfxLayer1.CharNum1.Value: @(0x00000 + #) SuperPac.GfxLayer1.NumColours: 1 SuperPac.GfxLayer1.Colour1.Value: @(0x00400 + #) SuperPac.GfxLayer1.NumXPoss: 1 SuperPac.GfxLayer1.XPos1.Value: \ (# / 32) <= 1 ? (29 - # % 32) * 8 : \ (# / 32) >= 30 ? (29 - # % 32) * 8 : \ (29 - # / 32) * 8 SuperPac.GfxLayer1.NumYPoss: 1 SuperPac.GfxLayer1.YPos1.Value: \ (# / 32) <= 1 ? (# / 32 + 34) * 8 : \ (# / 32) >= 30 ? (# / 32 - 30) * 8 : \ (# % 32 + 2) * 8 ############################################################################### # The second layer renders the remainder of the sprites. # # The sprite RAM begins at 0x00800 with 32 bytes per sprite for 56 sprites. # Only a few of these bytes pertains to the sprites though. These are: # # 0-24 : not relevant # 25 : bit 0 indicates vertical flip # bit 1 indicates horizontal flip # 26 : Sprite number # 27 : Colour & Enable # 28 : X Position from right side of the screen. # 29 : Y Position (off by 8). ############################################################################### SuperPac.GfxLayer2.Space: 1 SuperPac.GfxLayer2.GfxSet: 2 SuperPac.GfxLayer2.Palette: 1 SuperPac.GfxLayer2.ColourTable: 2 SuperPac.GfxLayer2.Clipping: 0,223,16,271 SuperPac.GfxLayer2.Transparency: Map SuperPac.GfxLayer2.NumChars: 56 SuperPac.GfxLayer2.NumDirty: 1 SuperPac.GfxLayer2.Dirty1.Start: 0x00800 SuperPac.GfxLayer2.Dirty1.End: 0x00eff SuperPac.GfxLayer2.Dirty1.CharsPerLoc: 1 SuperPac.GfxLayer2.Dirty1.Assign: # / 32 # The following could be used for the Assign but it doesn't seem to speed # it up so we'll stick with the simple. # (((# % 32) >= 25) || ((# % 32) <= 29)) ? # / 32 : 99 SuperPac.GfxLayer2.NumCharNums: 1 SuperPac.GfxLayer2.CharNum1.Value: @(0x0081a + 32 * #) SuperPac.GfxLayer2.NumColours: 1 SuperPac.GfxLayer2.Colour1.Value: @(0x0081b + 32 * #) SuperPac.GfxLayer2.NumXPoss: 1 SuperPac.GfxLayer2.XPos1.Value: 231 - @(0x0081c + 32 * #) SuperPac.GfxLayer2.NumYPoss: 1 SuperPac.GfxLayer2.YPos1.Value: @(0x0081d + 32 * #) + 8 SuperPac.GfxLayer2.NumEnables: 1 SuperPac.GfxLayer2.Enable1.Value: 1 #SuperPac.GfxLayer2.Enable1.Value: @(0x0081b + 32 * #) SuperPac.GfxLayer2.NumHFlips: 1 SuperPac.GfxLayer2.HFlip1.Value: @(0x00819 + 32 * #) & 0x02 SuperPac.GfxLayer2.NumVFlips: 1 SuperPac.GfxLayer2.VFlip1.Value: @(0x00819 + 32 * #) & 0x01 ############################################################################### # The third and fourth layers render the pacman sprites. The sprites can # be normal (layer 3) or double (layer 4) size. # # The pac sprite RAM is at 0x01600 with 32 bytes per sprite for 4 sprites. # Only a few of these bytes pertains to the sprites though. These are: # # 0-24 : not relevant # 25 : bit 0 indicates vertical flip # bit 1 indicates horizontal flip # bit 2 indicates large size # 26 : Sprite number # 27 : Colour # 28 : X Position from right side of the screen. # 29 : Y Position (off by 8). ############################################################################### SuperPac.GfxLayer3.Space: 1 SuperPac.GfxLayer3.GfxSet: 2 SuperPac.GfxLayer3.Palette: 1 SuperPac.GfxLayer3.ColourTable: 2 SuperPac.GfxLayer3.Clipping: 0,223,16,271 SuperPac.GfxLayer3.Transparency: Map SuperPac.GfxLayer3.NumChars: 4 SuperPac.GfxLayer3.NumDirty: 1 SuperPac.GfxLayer3.Dirty1.Start: 0x01600 SuperPac.GfxLayer3.Dirty1.End: 0x0167f SuperPac.GfxLayer3.Dirty1.CharsPerLoc: 1 SuperPac.GfxLayer3.Dirty1.Assign: # / 32 SuperPac.GfxLayer3.NumCharNums: 1 SuperPac.GfxLayer3.CharNum1.Value: @(0x0161a + 32 * #) SuperPac.GfxLayer3.NumColours: 1 SuperPac.GfxLayer3.Colour1.Value: @(0x0161b + 32 * #) SuperPac.GfxLayer3.NumXPoss: 1 SuperPac.GfxLayer3.XPos1.Value: 231 - @(0x0161c + 32 * #) SuperPac.GfxLayer3.NumYPoss: 1 SuperPac.GfxLayer3.YPos1.Value: @(0x0161d + 32 * #) + 8 SuperPac.GfxLayer3.NumEnables: 1 SuperPac.GfxLayer3.Enable1.Value: @(0x01619 + 32 * #) & 0x04 ? 0 : 1 SuperPac.GfxLayer3.NumHFlips: 1 SuperPac.GfxLayer3.HFlip1.Value: @(0x01619 + 32 * #) & 0x02 SuperPac.GfxLayer3.NumVFlips: 1 SuperPac.GfxLayer3.VFlip1.Value: @(0x01619 + 32 * #) & 0x01 ############################################################################### # The third and fourth layers render the pacman sprites. The sprites can # be normal (layer 3) or double (layer 4) size. # # The pac sprite RAM is at 0x01600 with 32 bytes per sprite for 4 sprites. # Only a few of these bytes pertains to the sprites though. These are: # # 0-24 : not relevant # 25 : bit 0 indicates vertical flip # bit 1 indicates horizontal flip # bit 2 indicates large size # 26 : Sprite number # 27 : Colour # 28 : X Position from right side of the screen (off by 8). # 29 : Y Position ############################################################################### SuperPac.GfxLayer4.Space: 1 SuperPac.GfxLayer4.GfxSet: 3 SuperPac.GfxLayer4.Palette: 1 SuperPac.GfxLayer4.ColourTable: 2 SuperPac.GfxLayer4.Clipping: 0,223,16,271 SuperPac.GfxLayer4.Transparency: Map SuperPac.GfxLayer4.NumChars: 4 SuperPac.GfxLayer4.NumDirty: 1 SuperPac.GfxLayer4.Dirty1.Start: 0x01600 SuperPac.GfxLayer4.Dirty1.End: 0x0167f SuperPac.GfxLayer4.Dirty1.CharsPerLoc: 1 SuperPac.GfxLayer4.Dirty1.Assign: # / 32 SuperPac.GfxLayer4.NumCharNums: 1 SuperPac.GfxLayer4.CharNum1.Value: @(0x0161a + 32 * #) / 4 SuperPac.GfxLayer4.NumColours: 1 SuperPac.GfxLayer4.Colour1.Value: @(0x0161b + 32 * #) SuperPac.GfxLayer4.NumXPoss: 1 SuperPac.GfxLayer4.XPos1.Value: 223 - @(0x0161c + 32 * #) SuperPac.GfxLayer4.NumYPoss: 1 SuperPac.GfxLayer4.YPos1.Value: @(0x0161d + 32 * #) SuperPac.GfxLayer4.NumEnables: 1 SuperPac.GfxLayer4.Enable1.Value: @(0x01619 + 32 * #) & 0x04 SuperPac.GfxLayer4.NumHFlips: 1 SuperPac.GfxLayer4.HFlip1.Value: @(0x01619 + 32 * #) & 0x02 SuperPac.GfxLayer4.NumVFlips: 1 SuperPac.GfxLayer4.VFlip1.Value: @(0x01619 + 32 * #) & 0x01 # # Colour Palettes # SuperPac.NumPalettes: 1 SuperPac.Palette1.NumColours: 16 SuperPac.Palette1.MaxValue: 255 SuperPac.Palette1.Colour1.RGB: 0x00/0x00/0x00 SuperPac.Palette1.Colour2.RGB: 0xff/0x00/0x00 SuperPac.Palette1.Colour3.RGB: 0xde/0x97/0x47 SuperPac.Palette1.Colour4.RGB: 0xff/0xb8/0xde SuperPac.Palette1.Colour5.RGB: 0x00/0x00/0x00 SuperPac.Palette1.Colour6.RGB: 0x00/0xff/0xde SuperPac.Palette1.Colour7.RGB: 0x47/0xb8/0xde SuperPac.Palette1.Colour8.RGB: 0xff/0xb8/0x47 SuperPac.Palette1.Colour9.RGB: 0x00/0x00/0x00 SuperPac.Palette1.Colour10.RGB: 0xff/0xff/0x00 SuperPac.Palette1.Colour11.RGB: 0x00/0x00/0x00 SuperPac.Palette1.Colour12.RGB: 0x21/0x21/0xde SuperPac.Palette1.Colour13.RGB: 0x00/0xff/0x00 SuperPac.Palette1.Colour14.RGB: 0x47/0xb8/0x97 SuperPac.Palette1.Colour15.RGB: 0xff/0xb8/0x97 SuperPac.Palette1.Colour16.RGB: 0xde/0xde/0xde # # The colour lookup table. # SuperPac.NumColourTables: 2 SuperPac.ColourTable1.NumEntries: 128 SuperPac.ColourTable1.List: \ 0x00,0x00,0x0b,0x0c,0x00,0x09,0x09,0x00, \ 0x00,0x0f,0x0f,0x0f,0x00,0x03,0x0f,0x0b, \ 0x00,0x03,0x0f,0x0b,0x00,0x03,0x0f,0x0b, \ 0x00,0x05,0x0f,0x0b,0x00,0x07,0x0f,0x0b, \ 0x00,0x0b,0x03,0x0f,0x00,0x09,0x07,0x03, \ 0x00,0x09,0x07,0x01,0x00,0x0f,0x0f,0x0f, \ 0x00,0x01,0x02,0x0f,0x00,0x09,0x0f,0x02, \ 0x00,0x02,0x07,0x0f,0x00,0x02,0x0f,0x0c, \ 0x00,0x0f,0x09,0x02,0x00,0x02,0x09,0x0c, \ 0x00,0x01,0x03,0x0c,0x00,0x0f,0x0e,0x01, \ 0x00,0x0e,0x03,0x0c,0x00,0x0c,0x05,0x0b, \ 0x00,0x0e,0x0f,0x0b,0x00,0x07,0x02,0x0f, \ 0x00,0x09,0x0f,0x02,0x00,0x0c,0x0f,0x0b, \ 0x00,0x01,0x09,0x0b,0x00,0x0f,0x03,0x01, \ 0x00,0x0c,0x0c,0x0c,0x00,0x0c,0x0c,0x0c, \ 0x00,0x0c,0x0c,0x0c,0x00,0x0c,0x0c,0x0c SuperPac.ColourTable2.NumEntries: 148 SuperPac.ColourTable2.List: \ 0x00,0x00,0x00,0x0c,0x00,0x09,0x09,0x00, \ 0x00,0x0f,0x0f,0x0f,0x00,0x0f,0x01,0x0b, \ 0x00,0x01,0x0f,0x0b,0x00,0x03,0x0f,0x0b, \ 0x00,0x05,0x0f,0x0b,0x00,0x07,0x0f,0x0b, \ 0x00,0x0b,0x03,0x0f,0x00,0x09,0x07,0x03, \ 0x00,0x00,0x0f,0x0b,0x00,0x0e,0x00,0x0b, \ 0x00,0x0c,0x0c,0x0c,0x00,0x0c,0x0c,0x00, \ 0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00, \ 0x00,0x01,0x02,0x0f,0x00,0x09,0x0f,0x02, \ 0x00,0x02,0x07,0x0f,0x00,0x02,0x0f,0x0c, \ 0x00,0x0f,0x09,0x02,0x00,0x02,0x09,0x0c, \ 0x00,0x01,0x03,0x0c,0x00,0x0f,0x0e,0x01, \ 0x00,0x0e,0x03,0x0c,0x00,0x0c,0x05,0x0b, \ 0x00,0x0e,0x0f,0x0b,0x00,0x07,0x02,0x0f, \ 0x00,0x09,0x0f,0x02,0x00,0x0c,0x0f,0x0b, \ 0x00,0x01,0x09,0x0b,0x00,0x0f,0x03,0x01, \ 0x00,0x0c,0x0c,0x0c,0x00,0x09,0x0c,0x0c, \ 0x00,0x0f,0x0f,0x0f,0x00,0x01,0x01,0x01, \ 0x00,0x05,0x0f,0x0c