Previous 199869 Revisions Next

r36644 Wednesday 25th March, 2015 at 20:21:01 UTC by hap
added ssimon i/o
[src/mess/drivers]hh_tms1k.c
[src/mess/layout]ssimon.lay

trunk/src/mess/drivers/hh_tms1k.c
r245155r245156
14211421   // R7 -> 75494 IN2 -> blue lamp
14221422   display_matrix(4, 1, data >> 4, 1);
14231423
1424   // R8 -> 75494 IN0 -> speaker
1424   // R8 -> 75494 IN0 -> speaker out
14251425   m_speaker->level_w(data >> 8 & 1);
14261426
1427   // R0,R1,R2,R9: input mux
1427   // R0-R2,R9: input mux
14281428   // R3: GND
14291429   // other bits: N/C
14301430   m_inp_mux = (data & 7) | (data >> 6 & 8);
r245155r245156
14501450   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
14511451
14521452   PORT_START("IN.1") // R1
1453   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Green Button")
1454   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Red Button")
1455   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Yellow Button")
1456   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Blue Button")
1453   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Green Button")
1454   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Red Button")
1455   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Yellow Button")
1456   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Blue Button")
14571457
14581458   PORT_START("IN.2") // R2
14591459   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
1460   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Last")
1461   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Longest")
1460   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
1461   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
14621462   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
14631463
14641464   PORT_START("IN.3") // R9
1465   PORT_CONFNAME( 0x0f, 0x01, "Skill Level")
1465   PORT_CONFNAME( 0x0f, 0x02, "Skill Level")
14661466   PORT_CONFSETTING(    0x02, "1" )
14671467   PORT_CONFSETTING(    0x04, "2" )
14681468   PORT_CONFSETTING(    0x08, "3" )
r245155r245156
15041504
15051505WRITE16_MEMBER(hh_tms1k_state::ssimon_write_r)
15061506{
1507   // R0-R3,R9,R10: input mux
1508   m_inp_mux = (data & 0xf) | (data >> 5 & 0x30);
1509   
1510   // R4: yellow lamps
1511   // R5: green lamps
1512   // R6: blue lamps
1513   // R7: red lamps
1514   display_matrix(4, 1, data >> 4, 1);
1515   
1516   // R8: speaker out
1517   m_speaker->level_w(data >> 8 & 1);
15071518}
15081519
15091520WRITE16_MEMBER(hh_tms1k_state::ssimon_write_o)
r245155r245156
15131524
15141525READ8_MEMBER(hh_tms1k_state::ssimon_read_k)
15151526{
1516   return 0;
1527   return read_inputs(6);
15171528}
15181529
15191530
15201531static INPUT_PORTS_START( ssimon )
1532   PORT_START("IN.0") // R0
1533   PORT_CONFNAME( 0x0f, 0x01, "Game Select")
1534   PORT_CONFSETTING(    0x01, "1" )
1535   PORT_CONFSETTING(    0x02, "2" )
1536   PORT_CONFSETTING(    0x04, "3" )
1537   PORT_CONFSETTING(    0x08, "4" )
1538   PORT_CONFSETTING(    0x00, "5" )
1539
1540   PORT_START("IN.1") // R1
1541   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Yellow Button")
1542   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Green Button")
1543   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Blue Button")
1544   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Red Button")
1545
1546   PORT_START("IN.2") // R2
1547   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
1548   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
1549   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
1550   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Decision")
1551
1552   PORT_START("IN.3") // R3
1553   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Yellow Button")
1554   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Green Button")
1555   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Blue Button")
1556   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Red Button")
1557
1558   PORT_START("IN.4") // R9
1559   PORT_CONFNAME( 0x0f, 0x02, "Skill Level")
1560   PORT_CONFSETTING(    0x00, "Head-to-Head" ) // this sets R10 K2, see below
1561   PORT_CONFSETTING(    0x02, "1" )
1562   PORT_CONFSETTING(    0x04, "2" )
1563   PORT_CONFSETTING(    0x08, "3" )
1564   PORT_CONFSETTING(    0x01, "4" )
1565
1566   PORT_START("IN.5") // R10
1567   PORT_BIT( 0x02, 0x02, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, EQUALS, 0x00)
1568   PORT_BIT( 0x02, 0x00, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, NOTEQUALS, 0x00)
1569   PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
1570
1571   PORT_START("IN.6") // fake
1572   PORT_CONFNAME( 0x03, 0x00, "Speed" ) //PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL)
1573   PORT_CONFSETTING(    0x00, "Simple" )
1574   PORT_CONFSETTING(    0x01, "Normal" )
1575   PORT_CONFSETTING(    0x02, "Super" )
15211576INPUT_PORTS_END
15221577
15231578
15241579static MACHINE_CONFIG_START( ssimon, hh_tms1k_state )
15251580
15261581   /* basic machine hardware */
1527   MCFG_CPU_ADD("maincpu", TMS1000, 350000) // x
1582   MCFG_CPU_ADD("maincpu", TMS1100, 350000) // x
15281583   MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ssimon_read_k))
15291584   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ssimon_write_r))
15301585   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ssimon_write_o))
trunk/src/mess/layout/ssimon.lay
r245155r245156
55
66   <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
77
8   <element name="lamp_r" defstate="0">
9      <rect state="0"><color red="0.5" green="0.15" blue="0.1" /></rect>
10      <rect state="1"><color red="1.0" green="0.4" blue="0.28" /></rect>
11   </element>
12   <element name="lamp_b" defstate="0">
13      <rect state="0"><color red="0.1" green="0.15" blue="0.5" /></rect>
14      <rect state="1"><color red="0.3" green="0.42" blue="1.0" /></rect>
15   </element>
16   <element name="lamp_g" defstate="0">
17      <rect state="0"><color red="0.15" green="0.5" blue="0.1" /></rect>
18      <rect state="1"><color red="0.52" green="1.0" blue="0.4" /></rect>
19   </element>
20   <element name="lamp_y" defstate="0">
21      <rect state="0"><color red="0.5" green="0.45" blue="0.1" /></rect>
22      <rect state="1"><color red="1.0" green="0.93" blue="0.4" /></rect>
23   </element>
824
25
26
927<!-- build screen -->
1028
1129   <view name="Internal Layout">
r245155r245156
1331      <bezel element="static_black">
1432         <bounds left="0" right="64" top="0" bottom="64" />
1533      </bezel>
34     
35      <bezel name="lamp3" element="lamp_r"><bounds x="0" y="0" width="10" height="10" /></bezel>
36      <bezel name="lamp2" element="lamp_b"><bounds x="10" y="0" width="10" height="10" /></bezel>
37      <bezel name="lamp1" element="lamp_g"><bounds x="20" y="0" width="10" height="10" /></bezel>
38      <bezel name="lamp0" element="lamp_y"><bounds x="30" y="0" width="10" height="10" /></bezel>
1639
1740
1841   </view>


Previous 199869 Revisions Next


© 1997-2024 The MAME Team