hh_cop400: promoted qkracer to working (nw)

This commit is contained in:
hap 2016-12-19 17:40:32 +01:00
parent abd7e4234a
commit 9d7031d8b5
2 changed files with 39 additions and 40 deletions

View File

@ -1152,6 +1152,8 @@ MACHINE_CONFIG_END
National Semiconductor QuizKid Racer (COP420 version)
* COP420 MCU label COP420-NPG/N
This is the COP420 version, the first release was on a MM5799 MCU.
***************************************************************************/
@ -1174,9 +1176,10 @@ public:
void qkracer_state::prepare_display()
{
set_display_segmask(0xff, 0x7f);
set_display_segmask(0xdf, 0x7f);
set_display_segmask(0x20, 0x41); // equals sign
display_matrix(7, 9, m_l, (m_d | m_g << 4 | m_sk << 8) ^ 0xff);
display_matrix(7, 9, m_l, ~(m_d | m_g << 4 | m_sk << 8));
}
WRITE8_MEMBER(qkracer_state::write_d)
@ -1184,7 +1187,6 @@ WRITE8_MEMBER(qkracer_state::write_d)
// D: select digit, D3: input mux high bit
m_inp_mux = (m_inp_mux & 0xf) | (data << 1 & 0x10);
m_d = data;
prepare_display();
}
WRITE8_MEMBER(qkracer_state::write_g)
@ -1192,13 +1194,15 @@ WRITE8_MEMBER(qkracer_state::write_g)
// G: select digit, input mux
m_inp_mux = (m_inp_mux & 0x10) | (data & 0xf);
m_g = data;
prepare_display();
}
WRITE8_MEMBER(qkracer_state::write_l)
{
// L0-L6: digit segment data
m_l = data & 0x7f;
// strobe display
m_l = data;
prepare_display();
m_l = 0;
prepare_display();
}
@ -1254,7 +1258,7 @@ static MACHINE_CONFIG_START( qkracer, qkracer_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", COP420, 1000000) // approximation - RC osc. R=47K, C=100pf
MCFG_COP400_CONFIG(COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, false) // guessed
MCFG_COP400_CONFIG(COP400_CKI_DIVISOR_32, COP400_CKO_OSCILLATOR_OUTPUT, false) // guessed
MCFG_COP400_WRITE_D_CB(WRITE8(qkracer_state, write_d))
MCFG_COP400_WRITE_G_CB(WRITE8(qkracer_state, write_g))
MCFG_COP400_WRITE_L_CB(WRITE8(qkracer_state, write_l))
@ -1346,7 +1350,7 @@ CONS( 1980, plus1, 0, 0, plus1, plus1, driver_device, 0, "Mil
CONS( 1981, lightfgt, 0, 0, lightfgt, lightfgt, driver_device, 0, "Milton Bradley", "Lightfight", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1982, bship82, bship, 0, bship82, bship82, driver_device, 0, "Milton Bradley", "Electronic Battleship (1982 version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // ***
CONS( 1978, qkracer, 0, 0, qkracer, qkracer, driver_device, 0, "National Semiconductor", "QuizKid Racer (COP420 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
CONS( 1978, qkracer, 0, 0, qkracer, qkracer, driver_device, 0, "National Semiconductor", "QuizKid Racer (COP420 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
// ***: As far as MAME is concerned, the game is emulated fine. But for it to be playable, it requires interaction
// with other, unemulatable, things eg. game board/pieces, playing cards, pen & paper, etc.

View File

@ -20,49 +20,44 @@
<text string="\" state="0"><color red="0.125490" green="0.035294" blue="0.0235294" /></text>
</element>
<element name="gled" defstate="0">
<disk state="1"><color red="0.2" green="1.0" blue="0.2" /></disk>
<disk state="0"><color red="0.04" green="0.2" blue="0.04" /></disk>
</element>
<element name="text_right">
<text string="RIGHT"><color red="0.5" green="0.4" blue="0.3" /></text>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="0" right="100" top="0" bottom="15" />
<bounds left="0" right="93.5" top="0" bottom="15" />
<bezel name="digit0" element="digit">
<bounds x="0" y="0" width="10" height="15" />
</bezel>
<bezel name="digit1" element="digit">
<bounds x="10" y="0" width="10" height="15" />
</bezel>
<bezel name="8.a" element="gled"><bounds x="84.5" y="5" width="4.5" height="4.5" /></bezel>
<bezel element="text_right"><bounds x="80" y="10" width="14" height="4.5" /></bezel>
<bezel name="digit2" element="digit">
<bounds x="20" y="0" width="10" height="15" />
</bezel>
<bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel>
<bezel name="digit1" element="digit"><bounds x="10" y="0" width="10" height="15" /></bezel>
<bezel name="digit3" element="digit">
<bounds x="30" y="0" width="10" height="15" />
</bezel>
<bezel name="digit4" element="digit">
<bounds x="40" y="0" width="10" height="15" />
</bezel>
<bezel name="digit5" element="digit">
<bounds x="50" y="3.5" width="10" height="15" />
</bezel>
<bezel name="digit6" element="digit">
<bounds x="60" y="0" width="10" height="15" />
</bezel>
<bezel name="digit7" element="digit">
<bounds x="70" y="0" width="10" height="15" />
</bezel>
<bezel name="digit3" element="digit"><bounds x="30" y="0" width="10" height="15" /></bezel>
<bezel name="digit4" element="digit"><bounds x="40" y="0" width="10" height="15" /></bezel>
<bezel name="digit5" element="digit"><bounds x="50" y="3.5" width="10" height="15" /></bezel>
<bezel name="digit6" element="digit"><bounds x="60" y="0" width="10" height="15" /></bezel>
<bezel name="digit7" element="digit"><bounds x="70" y="0" width="10" height="15" /></bezel>
<!-- math symbols custom digit -->
<!-- TODO -->
<!--
<bezel name="2.0" element="seg_rect"><bounds x="21.5" y="7.25" width="7" height="0.5" /></bezel>
<bezel name="2.0" element="seg_x1"><bounds x="24" y="-0.5" width="5" height="7.5" /></bezel>
<bezel name="2.0" element="seg_x1"><bounds x="21" y="7" width="5" height="7.5" /></bezel>
<bezel name="2.4" element="seg_rect"><bounds x="21.5" y="7.25" width="7" height="0.5" /></bezel>
<bezel name="2.0" element="seg_rect"><bounds x="24.75" y="0.9" width="0.5" height="5.75" /></bezel>
<bezel name="2.3" element="seg_rect"><bounds x="24.75" y="8.5" width="0.5" height="5.75" /></bezel>
<bezel name="2.1" element="seg_x1"><bounds x="24" y="-0.5" width="5" height="7.5" /></bezel>
<bezel name="2.2" element="seg_x1"><bounds x="21" y="7" width="5" height="7.5" /></bezel>
<bezel name="2.5" element="seg_x2"><bounds x="21" y="-0.5" width="5" height="7.5" /></bezel>
<bezel name="2.6" element="seg_x2"><bounds x="24" y="7" width="5" height="7.5" /></bezel>
<bezel name="2.0" element="seg_x2"><bounds x="21" y="-0.5" width="5" height="7.5" /></bezel>
<bezel name="2.0" element="seg_x2"><bounds x="24" y="7" width="5" height="7.5" /></bezel>
-->
</view>
</mamelayout>