############################################################################### # # File: amidarjp.keg # # Description: # # This file contains the definition for the Japanese version of Amidar. # # Author: Kevin Brisley # ############################################################################### # # The name of the game. # AmidarJP.Name: Amidar (Japanese Version) # # The desired FPS. # AmidarJP.FramesPerSecond: 60 # # The history and anecdote files. # AmidarJP.HistoryFile: amidarjp.his AmidarJP.TalesFile: amidarjp.tal # # Address spaces. # AmidarJP.NumSpaces: 1 # # The first address space is used by the Game CPU. It includes the following: # 0x00000-0x0FFFF (64K): Game RAM/ROM. # AmidarJP.Space1.Size: 0x10000 AmidarJP.Space1.NumROMs: 4 AmidarJP.Space1.ROM1.Description: amidar.2c @ 0x00000 AmidarJP.Space1.ROM2.Description: amidar.2e @ 0x01000 AmidarJP.Space1.ROM3.Description: amidar.2f @ 0x02000 AmidarJP.Space1.ROM4.Description: amidar.2h @ 0x03000 # # CPUs. # AmidarJP.NumCPUs: 1 # # CPU 1 (game). # AmidarJP.CPU1.Description: Game AmidarJP.CPU1.Type: Z80 AmidarJP.CPU1.ClockSpeed: 3072000 AmidarJP.CPU1.Space: 1 AmidarJP.CPU1.IValue: INT_NMI AmidarJP.CPU1.IDisable: 0x0a008 # # The number of inputs. # AmidarJP.NumInputs: 4 AmidarJP.Input1.Description: IN0 AmidarJP.Input1.CPU: 1 AmidarJP.Input1.Location: 0x0b000 AmidarJP.Input1.Default: 0xff AmidarJP.Input2.Description: IN1 AmidarJP.Input2.CPU: 1 AmidarJP.Input2.Location: 0x0b010 AmidarJP.Input2.Default: 0xff AmidarJP.Input3.Description: IN2 AmidarJP.Input3.CPU: 1 AmidarJP.Input3.Location: 0x0b020 AmidarJP.Input3.Default: 0xf1 AmidarJP.Input4.Description: DSW2 AmidarJP.Input4.CPU: 1 AmidarJP.Input4.Location: 0x0b820 AmidarJP.Input4.Default: 0xff # # The number of outputs. # AmidarJP.NumOutputs: 0 # # The keys used in the game. # AmidarJP.NumKeys: 10 # Coin Slot 1 AmidarJP.Key1.Key: KEY_4 AmidarJP.Key1.Mask: 0x80 AmidarJP.Key1.Input: 1 AmidarJP.Key1.Default: Off/1 # Coin Slot 2 AmidarJP.Key2.Key: KEY_5 AmidarJP.Key2.Mask: 0x40 AmidarJP.Key2.Input: 1 AmidarJP.Key2.Default: Off/1 # Left Player 1 AmidarJP.Key3.Key: KEY_LEFT AmidarJP.Key3.Joy: JOY_LEFT AmidarJP.Key3.Mask: 0x20 AmidarJP.Key3.Input: 1 AmidarJP.Key3.Default: Off/1 # Right Player 1 AmidarJP.Key4.Key: KEY_RIGHT AmidarJP.Key4.Joy: JOY_RIGHT AmidarJP.Key4.Mask: 0x10 AmidarJP.Key4.Input: 1 AmidarJP.Key4.Default: Off/1 # Fire Player 1 AmidarJP.Key5.Key: KEY_SPACE AmidarJP.Key5.Joy: JOY_B1 AmidarJP.Key5.Mask: 0x08 AmidarJP.Key5.Input: 1 AmidarJP.Key5.Default: Off/1 # Credit AmidarJP.Key6.Key: KEY_3 AmidarJP.Key6.Mask: 0x04 AmidarJP.Key6.Input: 1 AmidarJP.Key6.Default: Off/1 # Start 1 Player Game AmidarJP.Key7.Key: KEY_1 AmidarJP.Key7.Mask: 0x80 AmidarJP.Key7.Input: 2 AmidarJP.Key7.Default: Off/1 # Start 2 Player Game AmidarJP.Key8.Key: KEY_2 AmidarJP.Key8.Mask: 0x40 AmidarJP.Key8.Input: 2 AmidarJP.Key8.Default: Off/1 # Down Player 1 AmidarJP.Key9.Key: KEY_DOWN AmidarJP.Key9.Joy: JOY_DOWN AmidarJP.Key9.Mask: 0x40 AmidarJP.Key9.Input: 3 AmidarJP.Key9.Default: Off/1 # Up Player 1 AmidarJP.Key10.Key: KEY_UP AmidarJP.Key10.Joy: JOY_UP AmidarJP.Key10.Mask: 0x10 AmidarJP.Key10.Input: 3 AmidarJP.Key10.Default: Off/1 # # The dip switches used in the game. # AmidarJP.NumDips: 10 # Type of machine AmidarJP.Dip1.Description: Cocktail or Upright AmidarJP.Dip1.Mask: 0x08 AmidarJP.Dip1.Input: 3 AmidarJP.Dip1.Default: On/0 # Bonus Amidar AmidarJP.Dip2.Description: Bonus Amidar AmidarJP.Dip2.Mask: 0x04 AmidarJP.Dip2.Input: 3 AmidarJP.Dip2.Default: On/0 # Right Coin Slot (1 of 4) AmidarJP.Dip3.Description: Right Coin Slot (1 of 4) AmidarJP.Dip3.Mask: 0x80 AmidarJP.Dip3.Input: 4 AmidarJP.Dip3.Default: Off/1 # Right Coin Slot (2 of 4) AmidarJP.Dip4.Description: Right Coin Slot (2 of 4) AmidarJP.Dip4.Mask: 0x40 AmidarJP.Dip4.Input: 4 AmidarJP.Dip4.Default: Off/1 # Right Coin Slot (3 of 4) AmidarJP.Dip5.Description: Right Coin Slot (3 of 4) AmidarJP.Dip5.Mask: 0x20 AmidarJP.Dip5.Input: 4 AmidarJP.Dip5.Default: Off/1 # Right Coin Slot (4 of 4) AmidarJP.Dip6.Description: Right Coin Slot (4 of 4) AmidarJP.Dip6.Mask: 0x10 AmidarJP.Dip6.Input: 4 AmidarJP.Dip6.Default: Off/1 # Left Coin Slot (1 of 4) AmidarJP.Dip7.Description: Left Coin Slot (1 of 4) AmidarJP.Dip7.Mask: 0x08 AmidarJP.Dip7.Input: 4 AmidarJP.Dip7.Default: Off/1 # Left Coin Slot (2 of 4) AmidarJP.Dip8.Description: Left Coin Slot (2 of 4) AmidarJP.Dip8.Mask: 0x04 AmidarJP.Dip8.Input: 4 AmidarJP.Dip8.Default: Off/1 # Left Coin Slot (3 of 4) AmidarJP.Dip9.Description: Left Coin Slot (3 of 4) AmidarJP.Dip9.Mask: 0x02 AmidarJP.Dip9.Input: 4 AmidarJP.Dip9.Default: Off/1 # Left Coin Slot (4 of 4) AmidarJP.Dip10.Description: Left Coin Slot (4 of 4) AmidarJP.Dip10.Mask: 0x01 AmidarJP.Dip10.Input: 4 AmidarJP.Dip10.Default: Off/1 # # Screen Resolution. # AmidarJP.ScreenWidth: 256 AmidarJP.ScreenHeight: 256 # # Graphics Sets. # AmidarJP.NumGfxSets: 2 # # The first set contains the characters. # AmidarJP.GfxSet1.Width: 8 AmidarJP.GfxSet1.Height: 8 AmidarJP.GfxSet1.Number: 256 AmidarJP.GfxSet1.BPP: 2 AmidarJP.GfxSet1.BPs: 0 16384 AmidarJP.GfxSet1.XBits: 56 48 40 32 24 16 8 0 AmidarJP.GfxSet1.YBits: 0 1 2 3 4 5 6 7 AmidarJP.GfxSet1.Increment: 64 AmidarJP.GfxSet1.NumROMs: 2 AmidarJP.GfxSet1.ROM1.Description: amidar.5f AmidarJP.GfxSet1.ROM2.Description: amidar.5h # # The second set contains the sprites. # AmidarJP.GfxSet2.Width: 16 AmidarJP.GfxSet2.Height: 16 AmidarJP.GfxSet2.Number: 64 AmidarJP.GfxSet2.BPP: 2 AmidarJP.GfxSet2.BPs: 0 16384 AmidarJP.GfxSet2.XBits: 184 176 168 160 152 144 136 128 \ 56 48 40 32 24 16 8 0 AmidarJP.GfxSet2.YBits: 0 1 2 3 4 5 6 7 \ 64 65 66 67 68 69 70 71 AmidarJP.GfxSet2.Increment: 256 AmidarJP.GfxSet2.NumROMs: 2 AmidarJP.GfxSet2.ROM1.Description: amidar.5f AmidarJP.GfxSet2.ROM2.Description: amidar.5h # # Graphic Layers # AmidarJP.NumGfxLayers: 2 ############################################################################### # The first layer renders the characters. # # The video RAM starts at 0x09000 and is mapped as follows: # # 0x93e0 0x93c0 0x93a0 ... 0x9020 0x9000 # 0x93e1 0x93c1 0x93a1 ... 0x9021 0x9001 # ... ... ... ... ... # 0x93ff 0x93df 0x93bf ... 0x903f 0x901f # # The colour RAM starts at 0x9800 and is mapped as follows: # # 0x9801 0x9801 0x9801 ... 0x9801 0x9801 # 0x9803 0x9803 0x9803 ... 0x9803 0x9803 # ... ... ... ... ... # 0x983f 0x983f 0x983f ... 0x983f 0x983f ############################################################################### AmidarJP.GfxLayer1.Lightweight: Yes AmidarJP.GfxLayer1.Space: 1 AmidarJP.GfxLayer1.GfxSet: 1 AmidarJP.GfxLayer1.Palette: 1 AmidarJP.GfxLayer1.ColourTable: 1 AmidarJP.GfxLayer1.Transparency: Off AmidarJP.GfxLayer1.BlankChar: 16 AmidarJP.GfxLayer1.NumChars: 1024 AmidarJP.GfxLayer1.NumDirty: 2 AmidarJP.GfxLayer1.Dirty1.Start: 0x09000 AmidarJP.GfxLayer1.Dirty1.End: 0x093ff AmidarJP.GfxLayer1.Dirty1.CharsPerLoc: 1 AmidarJP.GfxLayer1.Dirty1.Assign: # AmidarJP.GfxLayer1.Dirty2.Start: 0x09800 AmidarJP.GfxLayer1.Dirty2.End: 0x0983f AmidarJP.GfxLayer1.Dirty2.CharsPerLoc: 32 AmidarJP.GfxLayer1.Dirty2.Assign: # / 2 + 32 * $ AmidarJP.GfxLayer1.NumCharNums: 1 AmidarJP.GfxLayer1.CharNum1.Value: @(0x09000 + #) AmidarJP.GfxLayer1.NumColours: 1 AmidarJP.GfxLayer1.Colour1.Value: @(0x09800 + # % 32 * 2 + 1) AmidarJP.GfxLayer1.NumXPoss: 1 AmidarJP.GfxLayer1.XPos1.Value: (31 - # / 32) * 8 AmidarJP.GfxLayer1.NumYPoss: 1 AmidarJP.GfxLayer1.YPos1.Value: (# % 32) * 8 ############################################################################### # The second layer renders the sprites. # # The sprite RAM starts at 0x09840. There are 4 sequential bytes per # sprite and 8 sprites. The following describes the 4 bytes: # # 0 : X Position. # 1 : bits 0-5 indicate the sprite number # bit 6 indicates vertical flip # bit 7 indicates horizontal flip # 2 : Colour # 3 : Y Position. ############################################################################### AmidarJP.GfxLayer2.Space: 1 AmidarJP.GfxLayer2.GfxSet: 2 AmidarJP.GfxLayer2.Palette: 1 AmidarJP.GfxLayer2.ColourTable: 1 AmidarJP.GfxLayer2.Clipping: 16,239,0,255 AmidarJP.GfxLayer2.Transparency: On AmidarJP.GfxLayer2.NumChars: 8 AmidarJP.GfxLayer2.NumDirty: 1 AmidarJP.GfxLayer2.Dirty1.Start: 0x09840 AmidarJP.GfxLayer2.Dirty1.End: 0x0985f AmidarJP.GfxLayer2.Dirty1.CharsPerLoc: 1 AmidarJP.GfxLayer2.Dirty1.Assign: # / 4 AmidarJP.GfxLayer2.NumCharNums: 1 AmidarJP.GfxLayer2.CharNum1.Value: @(0x09841 + 4 * #) & 0x3f AmidarJP.GfxLayer2.NumColours: 1 AmidarJP.GfxLayer2.Colour1.Value: @(0x09842 + 4 * #) AmidarJP.GfxLayer2.NumXPoss: 1 AmidarJP.GfxLayer2.XPos1.Value: @(0x09840 + 4 * #) AmidarJP.GfxLayer2.NumYPoss: 1 AmidarJP.GfxLayer2.YPos1.Value: @(0x09843 + 4 * #) AmidarJP.GfxLayer2.NumEnables: 1 AmidarJP.GfxLayer2.Enable1.Value: 1 AmidarJP.GfxLayer2.NumHFlips: 1 AmidarJP.GfxLayer2.HFlip1.Value: @(0x09841 + 4 * #) & 0x80 AmidarJP.GfxLayer2.NumVFlips: 1 AmidarJP.GfxLayer2.VFlip1.Value: @(0x09841 + 4 * #) & 0x40 # # Colour Palettes # AmidarJP.NumPalettes: 1 AmidarJP.Palette1.NumColours: 16 AmidarJP.Palette1.MaxValue: 255 AmidarJP.Palette1.Colour1.RGB: 0x00/0x00/0x00 AmidarJP.Palette1.Colour2.RGB: 0x94/0x00/0xd8 AmidarJP.Palette1.Colour3.RGB: 0xd8/0x00/0x00 AmidarJP.Palette1.Colour4.RGB: 0xf8/0x64/0xd8 AmidarJP.Palette1.Colour5.RGB: 0x00/0xd8/0x00 AmidarJP.Palette1.Colour6.RGB: 0x00/0xf8/0xd8 AmidarJP.Palette1.Colour7.RGB: 0xd8/0xd8/0x94 AmidarJP.Palette1.Colour8.RGB: 0xd8/0xf8/0xd8 AmidarJP.Palette1.Colour9.RGB: 0xf8/0x94/0x44 AmidarJP.Palette1.Colour10.RGB: 0x00/0x00/0xd8 AmidarJP.Palette1.Colour11.RGB: 0xf8/0x00/0x00 AmidarJP.Palette1.Colour12.RGB: 0xff/0x00/0xff AmidarJP.Palette1.Colour13.RGB: 0x00/0xf8/0x00 AmidarJP.Palette1.Colour14.RGB: 0x00/0xff/0xff AmidarJP.Palette1.Colour15.RGB: 0xf8/0xf8/0x00 AmidarJP.Palette1.Colour16.RGB: 0xff/0xff/0xff # # The colour lookup table. # AmidarJP.NumColourTables: 1 AmidarJP.ColourTable1.NumEntries: 32 AmidarJP.ColourTable1.List: \ 0x00,0x02,0x09,0x06,0x00,0x0c,0x01,0x08, \ 0x00,0x04,0x02,0x0e,0x00,0x02,0x04,0x0e, \ 0x00,0x0e,0x04,0x0a,0x00,0x0c,0x08,0x0e, \ 0x00,0x07,0x0a,0x03,0x00,0x05,0x0a,0x07