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_shared_ptr<uint8_t> m_palette_ram;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen; required_device<screen_device> m_screen;
output_finder<16> m_lamps; output_finder<26> m_lamps;
tilemap_t * m_tilemap[4]; tilemap_t * m_tilemap[4];
uint8_t m_video_mirror; uint8_t m_video_mirror;
@ -195,36 +195,59 @@ WRITE8_MEMBER(akkaarrh_state::irq_ack_w)
WRITE8_MEMBER(akkaarrh_state::output0_w) WRITE8_MEMBER(akkaarrh_state::output0_w)
{ {
m_lamps[0] = !BIT(data, 3); // player 2 // 765----- unknown (always 0?)
m_lamps[1] = !BIT(data, 2); // player 1 // ---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(1, BIT(data, 1));
machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
} }
WRITE8_MEMBER(akkaarrh_state::output1_w) WRITE8_MEMBER(akkaarrh_state::output1_w)
{ {
m_lamps[2] = BIT(data, 7); // left 0 // 7------- lamp 1 left bezel (top)
m_lamps[3] = BIT(data, 6); // left 1 // -6------ lamp 2 left bezel
m_lamps[4] = BIT(data, 0); // bottom // --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) WRITE8_MEMBER(akkaarrh_state::output2_w)
{ {
m_lamps[5] = BIT(data, 7); // right 2 // 7------- lamp 3 right bezel
m_lamps[6] = BIT(data, 6); // top 0 // -6------ lamp 1 top bezel (left)
m_lamps[7] = BIT(data, 5); // top 1 // --5----- lamp 2 top bezel
m_lamps[8] = BIT(data, 4); // top 2 // ---4---- lamp 3 top bezel (middle)
m_lamps[9] = BIT(data, 3); // top 3 // ----3--- lamp 4 top bezel
m_lamps[10] = BIT(data, 2); // top 4 // -----2-- lamp 5 top bezel (right)
m_lamps[11] = BIT(data, 1); // left 2 // ------1- lamp 3 left bezel
m_lamps[12] = BIT(data, 0); // left 3 // -------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) WRITE8_MEMBER(akkaarrh_state::output3_w)
{ {
m_lamps[13] = BIT(data, 2); // right 1 // 7------- lamp zoomed in
m_lamps[14] = BIT(data, 1); // right 0 // -6------ lamp warning
m_lamps[15] = BIT(data, 0); // right 3 // --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"> <view name="Lamps">
<backdrop element="background"> <backdrop element="background">
<bounds x="0" y="0" width="760" height="570" /> <bounds x="0" y="0" width="760" height="630" />
</backdrop> </backdrop>
<screen index="0"> <screen index="0">
<bounds left="60" top="45" right="700" bottom="525" /> <bounds left="60" top="45" right="700" bottom="525" />
</screen> </screen>
<bezel name="lamp6" element="lamp">
<!-- top lamps -->
<bezel name="lamp16" element="lamp">
<bounds x="40" y="5" width="120" height="25" /> <bounds x="40" y="5" width="120" height="25" />
</bezel> </bezel>
<bezel name="lamp7" element="lamp"> <bezel name="lamp15" element="lamp">
<bounds x="180" y="5" width="120" height="25" /> <bounds x="180" y="5" width="120" height="25" />
</bezel> </bezel>
<bezel name="lamp8" element="lamp"> <bezel name="lamp14" element="lamp">
<bounds x="320" y="5" width="120" height="25" /> <bounds x="320" y="5" width="120" height="25" />
</bezel> </bezel>
<bezel name="lamp9" element="lamp"> <bezel name="lamp13" element="lamp">
<bounds x="460" y="5" width="120" height="25" /> <bounds x="460" y="5" width="120" height="25" />
</bezel> </bezel>
<bezel name="lamp10" element="lamp"> <bezel name="lamp12" element="lamp">
<bounds x="600" y="5" width="120" height="25" /> <bounds x="600" y="5" width="120" height="25" />
</bezel> </bezel>
<bezel name="lamp2" element="lamp">
<!-- left lamps -->
<bezel name="lamp9" element="lamp">
<bounds x="20" y="100" width="20" height="75" /> <bounds x="20" y="100" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp3" element="lamp"> <bezel name="lamp8" element="lamp">
<bounds x="20" y="200" width="20" height="75" /> <bounds x="20" y="200" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp11" element="lamp"> <bezel name="lamp11" element="lamp">
<bounds x="20" y="300" width="20" height="75" /> <bounds x="20" y="300" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp12" element="lamp"> <bezel name="lamp10" element="lamp">
<bounds x="20" y="400" width="20" height="75" /> <bounds x="20" y="400" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp14" element="lamp">
<!-- right lamps -->
<bezel name="lamp19" element="lamp">
<bounds x="720" y="100" width="20" height="75" /> <bounds x="720" y="100" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp13" element="lamp"> <bezel name="lamp20" element="lamp">
<bounds x="720" y="200" width="20" height="75" /> <bounds x="720" y="200" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp5" element="lamp"> <bezel name="lamp17" element="lamp">
<bounds x="720" y="300" width="20" height="75" /> <bounds x="720" y="300" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp15" element="lamp"> <bezel name="lamp18" element="lamp">
<bounds x="720" y="400" width="20" height="75" /> <bounds x="720" y="400" width="20" height="75" />
</bezel> </bezel>
<bezel name="lamp4" element="lamp">
<bounds x="320" y="545" width="120" height="25" /> <!-- bottom lamps -->
</bezel>
<bezel name="lamp1" element="lamp"> <bezel name="lamp1" element="lamp">
<bounds x="40" y="545" width="120" height="25" /> <bounds x="40" y="545" width="120" height="25" />
</bezel> </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"> <bezel name="lamp0" element="lamp">
<bounds x="600" y="545" width="120" height="25" /> <bounds x="600" y="545" width="120" height="25" />
</bezel> </bezel>
<!-- second row bottom -->
<bezel name="lamp3" element="lamp">
<bounds x="320" y="590" width="120" height="25" />
</bezel>
</view> </view>
</mamelayout> </mamelayout>