Previous 199869 Revisions Next

r45038 Saturday 20th February, 2016 at 03:19:19 UTC by hap
New Working machine added
--------------
Conic Electronic Football II [hap, Sean Riddle]
[src/mame]mess.lst
[src/mame/drivers]elecbowl.cpp hh_tms1k.cpp ticalc1x.cpp
[src/mame/layout]cnfball2.lay*

trunk/src/mame/drivers/elecbowl.cpp
r253549r253550
161161
162162***************************************************************************/
163163
164// output PLA is not dumped
164// output PLA is not decapped
165165static const UINT16 elecbowl_output_pla[0x20] =
166166{
167167   lA+lB+lC+lD+lE+lF,      // 0
trunk/src/mame/drivers/hh_tms1k.cpp
r253549r253550
2222 @MP1030   TMS1100   1980, APF Mathemagician
2323 @MP1133   TMS1470   1979, Kosmos Astro
2424 @MP1180   TMS1100   1980, Tomy Power House Pinball
25 *MP1181   TMS1100   1979, Conic Football 2
25 @MP1181   TMS1100   1979, Conic Football 2
2626 @MP1204   TMS1100   1980, Entex Baseball 3 (6007)
2727 @MP1211   TMS1100   1980, Entex Space Invader
2828 @MP1218   TMS1100   1980, Entex Basketball 2 (6010)
r253549r253550
114114#include "astro.lh"
115115#include "bankshot.lh"
116116#include "bigtrak.lh"
117#include "cnfball2.lh"
117118#include "cnsector.lh"
118119#include "comp4.lh"
119120#include "cqback.lh"
r253549r253550
475476INPUT_PORTS_END
476477
477478
478// output PLA is not dumped
479// output PLA is not decapped
479480static const UINT16 mathmagi_output_pla[0x20] =
480481{
481482   lA+lB+lC+lD+lE+lF,      // 0
r253549r253550
774775INPUT_PORTS_END
775776
776777
777// output PLA is not dumped
778// output PLA is not decapped
778779static const UINT16 zodiac_output_pla[0x20] =
779780{
780781   0x80,                   // empty/led 1/7
r253549r253550
13561357
13571358/***************************************************************************
13581359
1360  Conic Electronic Football II
1361  * TMS1100 MP1181 (no decap)
1362  * 9-digit LED grid, 1-bit sound
1363 
1364  This is a clone of Coleco's Quarterback, similar at hardware-level too.
1365  It was also sold by Tandy under the same title.
1366
1367***************************************************************************/
1368
1369class cnfball2_state : public hh_tms1k_state
1370{
1371public:
1372   cnfball2_state(const machine_config &mconfig, device_type type, const char *tag)
1373      : hh_tms1k_state(mconfig, type, tag)
1374   { }
1375
1376   void prepare_display();
1377   DECLARE_WRITE16_MEMBER(write_r);
1378   DECLARE_WRITE16_MEMBER(write_o);
1379   DECLARE_READ8_MEMBER(read_k);
1380};
1381
1382// handlers
1383
1384void cnfball2_state::prepare_display()
1385{
1386   // R1 selects between segments B/C or A'/D'
1387   UINT16 seg = m_o;
1388   if (~m_r & 2)
1389      seg = (m_o << 7 & 0x300) | (m_o & 0xf9);
1390   
1391   set_display_segmask(0x1ff, 0xff);
1392   display_matrix(11, 9, seg, m_r >> 1 & 0x1ff);
1393}
1394
1395WRITE16_MEMBER(cnfball2_state::write_r)
1396{
1397   // R0: speaker out
1398   m_speaker->level_w(data & 1);
1399
1400   // R8-R10: input mux
1401   m_inp_mux = data >> 8 & 7;
1402   
1403   // R1-R10: select digit/segment
1404   m_r = data;
1405   prepare_display();
1406}
1407
1408WRITE16_MEMBER(cnfball2_state::write_o)
1409{
1410   // O0-O7: digit segments
1411   m_o = data;
1412   prepare_display();
1413}
1414
1415READ8_MEMBER(cnfball2_state::read_k)
1416{
1417   // K: multiplexed inputs
1418   return read_inputs(3);
1419}
1420
1421
1422// config
1423
1424static INPUT_PORTS_START( cnfball2 )
1425   PORT_START("IN.0") // R8
1426   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
1427   PORT_CONFNAME( 0x02, 0x00, "Factory Test" )
1428   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
1429   PORT_CONFSETTING(    0x02, DEF_STR( On ) )
1430   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_TOGGLE PORT_NAME("Play Selector") // pass/run
1431   PORT_CONFNAME( 0x08, 0x00, "Skill Level" )
1432   PORT_CONFSETTING(    0x00, "1" ) // college
1433   PORT_CONFSETTING(    0x08, "2" ) // professional
1434
1435   PORT_START("IN.1") // R9
1436   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY
1437   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
1438   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY
1439   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY
1440
1441   PORT_START("IN.2") // R10
1442   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Kick/Pass")
1443   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Score")
1444   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Status")
1445   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
1446INPUT_PORTS_END
1447
1448
1449// output PLA is not decapped
1450static const UINT16 cnfball2_output_pla[0x20] =
1451{
1452   // first half was dumped electronically
1453   0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x40, 0x01, 0x08, 0x02, 0x04, 0x00,
1454
1455   // rest is unknown
1456   0, 0, 0, 0, 0, 0, 0, 0,
1457   0, 0, 0, 0, 0, 0, 0, 0
1458};
1459
1460static MACHINE_CONFIG_START( cnfball2, cnfball2_state )
1461
1462   /* basic machine hardware */
1463   MCFG_CPU_ADD("maincpu", TMS1100, 375000) // approximation - RC osc. R=47K, C=47pf
1464   MCFG_TMS1XXX_OUTPUT_PLA(cnfball2_output_pla)
1465   MCFG_TMS1XXX_READ_K_CB(READ8(cnfball2_state, read_k))
1466   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(cnfball2_state, write_r))
1467   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(cnfball2_state, write_o))
1468
1469   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
1470   MCFG_DEFAULT_LAYOUT(layout_cnfball2)
1471
1472   /* sound hardware */
1473   MCFG_SPEAKER_STANDARD_MONO("mono")
1474   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
1475   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1476MACHINE_CONFIG_END
1477
1478
1479
1480
1481
1482/***************************************************************************
1483
13591484  Entex (Electronic) Baseball (1)
13601485  * TMS1000NLP MP0914 (die labeled MP0914A)
13611486  * 1 7seg LED, and other LEDs behind bezel, 1-bit sound
r253549r253550
45254650INPUT_PORTS_END
45264651
45274652
4653// output PLA is not decapped
45284654static const UINT16 tandy12_output_pla[0x20] =
45294655{
45304656   // these are certain
r253549r253550
48094935
48104936void phpball_state::prepare_display()
48114937{
4812   // R0-R2 are 7segs
4813   for (int y = 0; y < 3; y++)
4814      m_display_segmask[y] = 0x7f;
4815
4938   set_display_segmask(7, 0x7f);
48164939   display_matrix(7, 9, m_o, m_r);
48174940}
48184941
r253549r253550
48244947   // R9: input mux
48254948   m_inp_mux = data >> 9 & 1;
48264949
4950   // R0-R2: digit select
48274951   // R0-R8: led select
48284952   m_r = data;
48294953   prepare_display();
r253549r253550
48314955
48324956WRITE16_MEMBER(phpball_state::write_o)
48334957{
4834   // O0-O6: led state
4958   // O0-O6: digit segment/led data
48354959   // O7: N/C
48364960   m_o = data & 0x7f;
48374961   prepare_display();
r253549r253550
49695093ROM_END
49705094
49715095
5096ROM_START( cnfball2 )
5097   ROM_REGION( 0x0800, "maincpu", 0 )
5098   ROM_LOAD( "mp1181", 0x0000, 0x0800, CRC(4553a840) SHA1(2e1132c9bc51641f77ba7f2430b5a3b2766b3a3d) )
5099
5100   ROM_REGION( 867, "maincpu:mpla", 0 )
5101   ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, BAD_DUMP CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) // not verified
5102   ROM_REGION( 365, "maincpu:opla", 0 )
5103   ROM_LOAD( "tms1100_cnfball2_output.pla", 0, 365, NO_DUMP )
5104ROM_END
5105
5106
49725107ROM_START( ebball )
49735108   ROM_REGION( 0x0400, "maincpu", 0 )
49745109   ROM_LOAD( "mp0914", 0x0000, 0x0400, CRC(3c6fb05b) SHA1(b2fe4b3ca72d6b4c9bfa84d67f64afdc215e7178) )
r253549r253550
53175452CONS( 1980, h2hbaseb,  0,        0, h2hbaseb,  h2hbaseb,  driver_device, 0, "Coleco", "Head to Head Baseball", MACHINE_SUPPORTS_SAVE )
53185453CONS( 1981, tc4,       0,        0, tc4,       tc4,       driver_device, 0, "Coleco", "Total Control 4", MACHINE_SUPPORTS_SAVE )
53195454
5455CONS( 1979, cnfball2,  0,        0, cnfball2,  cnfball2,  driver_device, 0, "Conic", "Electronic Football II (Conic)", MACHINE_SUPPORTS_SAVE )
5456
53205457CONS( 1979, ebball,    0,        0, ebball,    ebball,    driver_device, 0, "Entex", "Electronic Baseball (Entex)", MACHINE_SUPPORTS_SAVE )
53215458CONS( 1979, ebball2,   0,        0, ebball2,   ebball2,   driver_device, 0, "Entex", "Electronic Baseball 2 (Entex)", MACHINE_SUPPORTS_SAVE )
53225459CONS( 1980, ebball3,   0,        0, ebball3,   ebball3,   driver_device, 0, "Entex", "Electronic Baseball 3 (Entex)", MACHINE_SUPPORTS_SAVE )
trunk/src/mame/drivers/ticalc1x.cpp
r253549r253550
438438WRITE16_MEMBER(ti1000_state::write_r)
439439{
440440   // R0-R7: select digit
441   UINT8 o = BITSWAP8(m_o,7,4,3,2,1,0,6,5);
442441   set_display_segmask(0xff, 0xff);
443   display_matrix(8, 8, o, data);
442   display_matrix(8, 8, m_o, data);
444443}
445444
446445WRITE16_MEMBER(ti1000_state::write_o)
r253549r253550
448447   // O0-O3,O5(?): input mux
449448   // O0-O7: digit segments
450449   m_inp_mux = (data & 0xf) | (data >> 1 & 0x10);
451   m_o = data;
450   m_o = BITSWAP8(data,7,4,3,2,1,0,6,5);
452451}
453452
454453READ8_MEMBER(ti1000_state::read_k)
trunk/src/mame/layout/cnfball2.lay
r0r253550
1<?xml version="1.0"?>
2<mamelayout version="2">
3
4<!-- define elements -->
5
6   <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
7   <element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
8   <element name="static_green"><rect><color red="0.1" green="0.5" blue="0.2" /></rect></element>
9
10   <element name="text_down">
11      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
12      <text string="DOWN"><color red="0.8" green="0.8" blue="0.8" /></text>
13   </element>
14   <element name="text_home">
15      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
16      <text string="HOME"><color red="0.8" green="0.8" blue="0.8" /></text>
17   </element>
18   <element name="text_yards">
19      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
20      <text string="YARDS TO GO"><color red="0.8" green="0.8" blue="0.8" /></text>
21   </element>
22   <element name="text_time">
23      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
24      <text string="TIME REMAINING"><color red="0.8" green="0.8" blue="0.8" /></text>
25   </element>
26   <element name="text_field">
27      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
28      <text string="FIELD POSITION"><color red="0.8" green="0.8" blue="0.8" /></text>
29   </element>
30   <element name="text_visitor">
31      <rect><color red="0.1" green="0.5" blue="0.2" /></rect>
32      <text string="VISITOR"><color red="0.8" green="0.8" blue="0.8" /></text>
33   </element>
34
35   <element name="text_p1">
36      <rect><color red="0.06" green="0.3" blue="0.12" /></rect>
37      <text string="PL SEL:">
38         <bounds x="0.0" y="0.17" width="1.0" height="0.6" />
39         <color red="0.7" green="0.7" blue="0.8" />
40      </text>
41   </element>
42   <element name="text_p2" defstate="0">
43      <rect><color red="0.06" green="0.3" blue="0.12" /></rect>
44      <text state="0" string="RUN">
45         <bounds x="0.0" y="0.17" width="1.0" height="0.6" />
46         <color red="0.82" green="0.82" blue="0.82" />
47      </text>
48      <text state="1" string="PASS">
49         <bounds x="0.0" y="0.17" width="1.0" height="0.6" />
50         <color red="0.82" green="0.82" blue="0.82" />
51      </text>
52   </element>
53
54   <element name="digit" defstate="0">
55      <led7seg><color red="1.0" green="0.25" blue="0.26" /></led7seg>
56   </element>
57   <element name="seg" defstate="0">
58      <rect state="0"><color red="0.13" green="0.0325" blue="0.0338" /></rect>
59      <rect state="1"><color red="1.0" green="0.25" blue="0.26" /></rect>
60   </element>
61
62
63<!-- build screen -->
64
65   <view name="Internal Layout">
66      <bounds left="-9" right="393" top="-104" bottom="186" />
67      <bezel element="static_black">
68         <bounds left="-9" right="393" top="-104" bottom="186" />
69      </bezel>
70
71   <!-- bezel -->
72
73      <bezel element="static_green"><bounds left="-9" right="393" top="-110" bottom="-60" /></bezel>
74      <bezel element="static_green"><bounds left="-9" right="393" top="111" bottom="200" /></bezel>
75
76      <bezel element="static_white"><bounds x="-10" y="-84" width="404" height="3" /></bezel>
77      <bezel element="text_down"><bounds x="5" y="-92" width="66" height="19" /></bezel>
78      <bezel element="text_field"><bounds x="122" y="-92" width="140" height="19" /></bezel>
79      <bezel element="text_yards"><bounds x="286" y="-92" width="111" height="19" /></bezel>
80
81      <bezel element="static_white"><bounds x="-10" y="141" width="404" height="3" /></bezel>
82      <bezel element="text_home"><bounds x="5" y="133" width="66" height="19" /></bezel>
83      <bezel element="text_time"><bounds x="122" y="133" width="140" height="19" /></bezel>
84      <bezel element="text_visitor"><bounds x="306" y="133" width="80" height="19" /></bezel>
85
86      <bezel element="text_p1"><bounds x="316" y="161" width="40" height="16" /></bezel>
87      <bezel element="text_p2" inputtag="IN.0" inputmask="0x04">
88         <bounds x="354" y="161" width="35" height="16" />
89      </bezel>
90
91      <bezel element="static_white"><bounds left="-9" right="393" top="-61" bottom="-51" /></bezel>
92      <bezel element="static_white"><bounds left="-9" right="393" top="110" bottom="120" /></bezel>
93
94      <bezel element="static_white"><bounds x="-9" y="-52" width="4" height="163" /></bezel>
95      <bezel element="static_white"><bounds x="37" y="-52" width="2" height="163" /></bezel>
96      <bezel element="static_white"><bounds x="81" y="-52" width="2" height="163" /></bezel>
97      <bezel element="static_white"><bounds x="125" y="-52" width="2" height="163" /></bezel>
98      <bezel element="static_white"><bounds x="169" y="-52" width="2" height="163" /></bezel>
99      <bezel element="static_white"><bounds x="213" y="-52" width="2" height="163" /></bezel>
100      <bezel element="static_white"><bounds x="257" y="-52" width="2" height="163" /></bezel>
101      <bezel element="static_white"><bounds x="301" y="-52" width="2" height="163" /></bezel>
102      <bezel element="static_white"><bounds x="345" y="-52" width="2" height="163" /></bezel>
103      <bezel element="static_white"><bounds x="389" y="-52" width="4" height="163" /></bezel>
104
105      <bezel element="static_white"><bounds x="-8" y="2" width="4" height="1" /></bezel>
106      <bezel element="static_white"><bounds x="-8" y="29" width="4" height="1" /></bezel>
107      <bezel element="static_white"><bounds x="-8" y="56" width="4" height="1" /></bezel>
108
109      <bezel element="static_white"><bounds x="36" y="2" width="4" height="1" /></bezel>
110      <bezel element="static_white"><bounds x="36" y="29" width="4" height="1" /></bezel>
111      <bezel element="static_white"><bounds x="36" y="56" width="4" height="1" /></bezel>
112
113      <bezel element="static_white"><bounds x="80" y="2" width="4" height="1" /></bezel>
114      <bezel element="static_white"><bounds x="80" y="29" width="4" height="1" /></bezel>
115      <bezel element="static_white"><bounds x="80" y="56" width="4" height="1" /></bezel>
116
117      <bezel element="static_white"><bounds x="124" y="2" width="4" height="1" /></bezel>
118      <bezel element="static_white"><bounds x="124" y="29" width="4" height="1" /></bezel>
119      <bezel element="static_white"><bounds x="124" y="56" width="4" height="1" /></bezel>
120
121      <bezel element="static_white"><bounds x="168" y="2" width="4" height="1" /></bezel>
122      <bezel element="static_white"><bounds x="168" y="29" width="4" height="1" /></bezel>
123      <bezel element="static_white"><bounds x="168" y="56" width="4" height="1" /></bezel>
124
125      <bezel element="static_white"><bounds x="212" y="2" width="4" height="1" /></bezel>
126      <bezel element="static_white"><bounds x="212" y="29" width="4" height="1" /></bezel>
127      <bezel element="static_white"><bounds x="212" y="56" width="4" height="1" /></bezel>
128
129      <bezel element="static_white"><bounds x="256" y="2" width="4" height="1" /></bezel>
130      <bezel element="static_white"><bounds x="256" y="29" width="4" height="1" /></bezel>
131      <bezel element="static_white"><bounds x="256" y="56" width="4" height="1" /></bezel>
132
133      <bezel element="static_white"><bounds x="300" y="2" width="4" height="1" /></bezel>
134      <bezel element="static_white"><bounds x="300" y="29" width="4" height="1" /></bezel>
135      <bezel element="static_white"><bounds x="300" y="56" width="4" height="1" /></bezel>
136
137      <bezel element="static_white"><bounds x="344" y="2" width="4" height="1" /></bezel>
138      <bezel element="static_white"><bounds x="344" y="29" width="4" height="1" /></bezel>
139      <bezel element="static_white"><bounds x="344" y="56" width="4" height="1" /></bezel>
140
141      <bezel element="static_white"><bounds x="388" y="2" width="4" height="1" /></bezel>
142      <bezel element="static_white"><bounds x="388" y="29" width="4" height="1" /></bezel>
143      <bezel element="static_white"><bounds x="388" y="56" width="4" height="1" /></bezel>
144
145   <!-- leds -->
146
147      <bezel name="digit8" element="digit"><bounds x="3" y="-15.5" width="24" height="32" /></bezel>
148      <bezel name="8.8" element="seg"><bounds x="7" y="42.5" width="15" height="3" /></bezel>
149      <bezel name="8.9" element="seg"><bounds x="7" y="71.5" width="15" height="3" /></bezel>
150
151      <bezel name="digit7" element="digit"><bounds x="47" y="-15.5" width="24" height="32" /></bezel>
152      <bezel name="7.8" element="seg"><bounds x="51" y="42.5" width="15" height="3" /></bezel>
153      <bezel name="7.9" element="seg"><bounds x="51" y="71.5" width="15" height="3" /></bezel>
154
155      <bezel name="digit6" element="digit"><bounds x="91" y="-15.5" width="24" height="32" /></bezel>
156      <bezel name="6.8" element="seg"><bounds x="95" y="42.5" width="15" height="3" /></bezel>
157      <bezel name="6.9" element="seg"><bounds x="95" y="71.5" width="15" height="3" /></bezel>
158
159      <bezel name="digit5" element="digit"><bounds x="135" y="-15.5" width="24" height="32" /></bezel>
160      <bezel name="5.8" element="seg"><bounds x="139" y="42.5" width="15" height="3" /></bezel>
161      <bezel name="5.9" element="seg"><bounds x="139" y="71.5" width="15" height="3" /></bezel>
162
163      <bezel name="digit4" element="digit"><bounds x="179" y="-15.5" width="24" height="32" /></bezel>
164      <bezel name="4.8" element="seg"><bounds x="183" y="42.5" width="15" height="3" /></bezel>
165      <bezel name="4.9" element="seg"><bounds x="183" y="71.5" width="15" height="3" /></bezel>
166
167      <bezel name="digit3" element="digit"><bounds x="223" y="-15.5" width="24" height="32" /></bezel>
168      <bezel name="3.8" element="seg"><bounds x="227" y="42.5" width="15" height="3" /></bezel>
169      <bezel name="3.9" element="seg"><bounds x="227" y="71.5" width="15" height="3" /></bezel>
170
171      <bezel name="digit2" element="digit"><bounds x="267" y="-15.5" width="24" height="32" /></bezel>
172      <bezel name="2.8" element="seg"><bounds x="271" y="42.5" width="15" height="3" /></bezel>
173      <bezel name="2.9" element="seg"><bounds x="271" y="71.5" width="15" height="3" /></bezel>
174
175      <bezel name="digit1" element="digit"><bounds x="311" y="-15.5" width="24" height="32" /></bezel>
176      <bezel name="1.8" element="seg"><bounds x="315" y="42.5" width="15" height="3" /></bezel>
177      <bezel name="1.9" element="seg"><bounds x="315" y="71.5" width="15" height="3" /></bezel>
178
179      <bezel name="digit0" element="digit"><bounds x="355" y="-15.5" width="24" height="32" /></bezel>
180      <bezel name="0.8" element="seg"><bounds x="359" y="42.5" width="15" height="3" /></bezel>
181      <bezel name="0.9" element="seg"><bounds x="359" y="71.5" width="15" height="3" /></bezel>
182
183
184   </view>
185</mamelayout>
trunk/src/mame/mess.lst
r253549r253550
22912291h2hbaseb    // Coleco
22922292h2hfootb    // Coleco
22932293tc4         // Coleco
2294cnfball2    // Conic
22942295ebball      // Entex
22952296ebball2     // Entex
22962297ebball3     // Entex


Previous 199869 Revisions Next


© 1997-2024 The MAME Team