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