akkaarrh: Document more lamps, cleanup (nw)

This commit is contained in:
Dirk Best 2019-04-18 10:38:58 +02:00
parent f3963ef41d
commit 1bd7bce0bc
2 changed files with 75 additions and 33 deletions

View File

@ -70,7 +70,7 @@ private:
required_shared_ptr<uint8_t> m_palette_ram;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
output_finder<16> m_lamps;
output_finder<26> m_lamps;
tilemap_t * m_tilemap[4];
uint8_t m_video_mirror;
@ -195,36 +195,59 @@ WRITE8_MEMBER(akkaarrh_state::irq_ack_w)
WRITE8_MEMBER(akkaarrh_state::output0_w)
{
m_lamps[0] = !BIT(data, 3); // player 2
m_lamps[1] = !BIT(data, 2); // player 1
// 765----- unknown (always 0?)
// ---4---- unknown (1 in attract mode, 0 when playing)
// ----3--- player 2 lamp
// -----2-- player 1 lamp
// ------1- coin counter 2
// -------0 coin counter 1
m_lamps[0] = !BIT(data, 3);
m_lamps[1] = !BIT(data, 2);
machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
}
WRITE8_MEMBER(akkaarrh_state::output1_w)
{
m_lamps[2] = BIT(data, 7); // left 0
m_lamps[3] = BIT(data, 6); // left 1
m_lamps[4] = BIT(data, 0); // bottom
// 7------- lamp 1 left bezel (top)
// -6------ lamp 2 left bezel
// --543--- unknown (1 in attract mode, 0 when playing)
// -----2-- unknown (always 0?)
// ------1- shooting lamp? toggles when shooting and not zoomed in
// -------0 bottom lamp
for (int i = 0; i < 8; i++)
m_lamps[2 + i] = BIT(data, i);
}
WRITE8_MEMBER(akkaarrh_state::output2_w)
{
m_lamps[5] = BIT(data, 7); // right 2
m_lamps[6] = BIT(data, 6); // top 0
m_lamps[7] = BIT(data, 5); // top 1
m_lamps[8] = BIT(data, 4); // top 2
m_lamps[9] = BIT(data, 3); // top 3
m_lamps[10] = BIT(data, 2); // top 4
m_lamps[11] = BIT(data, 1); // left 2
m_lamps[12] = BIT(data, 0); // left 3
// 7------- lamp 3 right bezel
// -6------ lamp 1 top bezel (left)
// --5----- lamp 2 top bezel
// ---4---- lamp 3 top bezel (middle)
// ----3--- lamp 4 top bezel
// -----2-- lamp 5 top bezel (right)
// ------1- lamp 3 left bezel
// -------0 lamp 4 left bezel (bottom)
for (int i = 0; i < 8; i++)
m_lamps[10 + i] = BIT(data, i);
}
WRITE8_MEMBER(akkaarrh_state::output3_w)
{
m_lamps[13] = BIT(data, 2); // right 1
m_lamps[14] = BIT(data, 1); // right 0
m_lamps[15] = BIT(data, 0); // right 3
// 7------- lamp zoomed in
// -6------ lamp warning
// --543--- unknown (1 in attract mode, 0 when playing)
// -----2-- lamp 2 right bezel
// ------1- lamp 1 right bezel (top)
// -------0 lamp 4 right bezel (bottom)
for (int i = 0; i < 8; i++)
m_lamps[18 + i] = BIT(data, i);
}

View File

@ -28,58 +28,77 @@ Test layout to show the lamps for Akka Arrh
<view name="Lamps">
<backdrop element="background">
<bounds x="0" y="0" width="760" height="570" />
<bounds x="0" y="0" width="760" height="630" />
</backdrop>
<screen index="0">
<bounds left="60" top="45" right="700" bottom="525" />
</screen>
<bezel name="lamp6" element="lamp">
<!-- top lamps -->
<bezel name="lamp16" element="lamp">
<bounds x="40" y="5" width="120" height="25" />
</bezel>
<bezel name="lamp7" element="lamp">
<bezel name="lamp15" element="lamp">
<bounds x="180" y="5" width="120" height="25" />
</bezel>
<bezel name="lamp8" element="lamp">
<bezel name="lamp14" element="lamp">
<bounds x="320" y="5" width="120" height="25" />
</bezel>
<bezel name="lamp9" element="lamp">
<bezel name="lamp13" element="lamp">
<bounds x="460" y="5" width="120" height="25" />
</bezel>
<bezel name="lamp10" element="lamp">
<bezel name="lamp12" element="lamp">
<bounds x="600" y="5" width="120" height="25" />
</bezel>
<bezel name="lamp2" element="lamp">
<!-- left lamps -->
<bezel name="lamp9" element="lamp">
<bounds x="20" y="100" width="20" height="75" />
</bezel>
<bezel name="lamp3" element="lamp">
<bezel name="lamp8" element="lamp">
<bounds x="20" y="200" width="20" height="75" />
</bezel>
<bezel name="lamp11" element="lamp">
<bounds x="20" y="300" width="20" height="75" />
</bezel>
<bezel name="lamp12" element="lamp">
<bezel name="lamp10" element="lamp">
<bounds x="20" y="400" width="20" height="75" />
</bezel>
<bezel name="lamp14" element="lamp">
<!-- right lamps -->
<bezel name="lamp19" element="lamp">
<bounds x="720" y="100" width="20" height="75" />
</bezel>
<bezel name="lamp13" element="lamp">
<bezel name="lamp20" element="lamp">
<bounds x="720" y="200" width="20" height="75" />
</bezel>
<bezel name="lamp5" element="lamp">
<bezel name="lamp17" element="lamp">
<bounds x="720" y="300" width="20" height="75" />
</bezel>
<bezel name="lamp15" element="lamp">
<bezel name="lamp18" element="lamp">
<bounds x="720" y="400" width="20" height="75" />
</bezel>
<bezel name="lamp4" element="lamp">
<bounds x="320" y="545" width="120" height="25" />
</bezel>
<!-- bottom lamps -->
<bezel name="lamp1" element="lamp">
<bounds x="40" y="545" width="120" height="25" />
</bezel>
<bezel name="lamp25" element="lamp">
<bounds x="180" y="545" width="120" height="25" />
</bezel>
<bezel name="lamp2" element="lamp">
<bounds x="320" y="545" width="120" height="25" />
</bezel>
<bezel name="lamp24" element="lamp">
<bounds x="460" y="545" width="120" height="25" />
</bezel>
<bezel name="lamp0" element="lamp">
<bounds x="600" y="545" width="120" height="25" />
</bezel>
<!-- second row bottom -->
<bezel name="lamp3" element="lamp">
<bounds x="320" y="590" width="120" height="25" />
</bezel>
</view>
</mamelayout>