Previous 199869 Revisions Next

r18241 Tuesday 2nd October, 2012 at 08:23:08 UTC by Robbbert
AFTOR - fixed display, marked as WORKING [Robbbert]
[src/mame/drivers]wico.c
[src/mame/layout]wico.lay

trunk/src/mame/layout/wico.lay
r18240r18241
1<!-- g627.lay -->
1<!-- wico.lay -->
22
3<!-- 2012-09-11: Initial version.  [Robbbert] -->
3<!-- 2012-10-02: Initial version.  [Robbbert] -->
44
55<mamelayout version="2">
66
7   <element name="digit" defstate="0">
7   <element name="diag" defstate="0">
88      <led7seg>
99         <color red="1.0" green="0.0" blue="0.0" />
1010      </led7seg>
1111   </element>
12   <element name="digit" defstate="0">
13      <led14seg>
14         <color red="0.0" green="0.75" blue="1.0" />
15      </led14seg>
16   </element>
1217
1318   <element name="background">
1419      <rect>
r18240r18241
1823   </element>
1924   <element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2025   <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element>
21   <element name="P3"><text string="East"><color red="1.0" green="1.0" blue="1.0" /></text></element>
22   <element name="P4"><text string="North"><color red="1.0" green="1.0" blue="1.0" /></text></element>
23   <element name="P5"><text string="West"><color red="1.0" green="1.0" blue="1.0" /></text></element>
24   <element name="P6"><text string="South"><color red="1.0" green="1.0" blue="1.0" /></text></element>
26   <element name="P2"><text string="Diagnostic"><color red="1.0" green="1.0" blue="1.0" /></text></element>
27   <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
28   <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
29   <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
30   <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2531
2632   <view name="Default Layout">
2733
2834      <!-- Background -->
2935      <backdrop element="background">
30         <bounds left="0" top="20" right="274" bottom="394" />
36         <bounds left="0" top="20" right="318" bottom="394" />
3137      </backdrop>
3238
33      <!-- LEDs -->
39      <!-- Flourescent Displays -->
3440
3541      <!-- Player 1 Score -->
3642
37      <bezel name="digit0" element="digit">
43      <bezel name="digit10" element="digit">
3844         <bounds left="10" top="45" right="44" bottom="84" />
3945      </bezel>
40      <bezel name="digit1" element="digit">
46      <bezel name="digit11" element="digit">
4147         <bounds left="54" top="45" right="88" bottom="84" />
4248      </bezel>
43      <bezel name="digit2" element="digit">
49      <bezel name="digit12" element="digit">
4450         <bounds left="98" top="45" right="132" bottom="84" />
4551      </bezel>
46      <bezel name="digit3" element="digit">
52      <bezel name="digit13" element="digit">
4753         <bounds left="142" top="45" right="176" bottom="84" />
4854      </bezel>
49      <bezel name="digit4" element="digit">
55      <bezel name="digit14" element="digit">
5056         <bounds left="186" top="45" right="220" bottom="84" />
5157      </bezel>
52      <bezel name="digit5" element="digit">
58      <bezel name="digit15" element="digit">
5359         <bounds left="230" top="45" right="264" bottom="84" />
5460      </bezel>
61      <bezel name="digit16" element="digit">
62         <bounds left="274" top="45" right="308" bottom="84" />
63      </bezel>
5564
5665      <!-- Player 2 Score -->
57      <bezel name="digit10" element="digit">
66      <bezel name="digit30" element="digit">
5867         <bounds left="10" top="105" right="44" bottom="144" />
5968      </bezel>
60      <bezel name="digit11" element="digit">
69      <bezel name="digit31" element="digit">
6170         <bounds left="54" top="105" right="88" bottom="144" />
6271      </bezel>
63      <bezel name="digit12" element="digit">
72      <bezel name="digit32" element="digit">
6473         <bounds left="98" top="105" right="132" bottom="144" />
6574      </bezel>
66      <bezel name="digit13" element="digit">
75      <bezel name="digit33" element="digit">
6776         <bounds left="142" top="105" right="176" bottom="144" />
6877      </bezel>
69      <bezel name="digit14" element="digit">
78      <bezel name="digit34" element="digit">
7079         <bounds left="186" top="105" right="220" bottom="144" />
7180      </bezel>
72      <bezel name="digit15" element="digit">
81      <bezel name="digit35" element="digit">
7382         <bounds left="230" top="105" right="264" bottom="144" />
7483      </bezel>
84      <bezel name="digit36" element="digit">
85         <bounds left="274" top="105" right="308" bottom="144" />
86      </bezel>
7587
7688      <!-- Player 3 Score -->
7789      <bezel name="digit20" element="digit">
r18240r18241
92104      <bezel name="digit25" element="digit">
93105         <bounds left="230" top="165" right="264" bottom="204" />
94106      </bezel>
107      <bezel name="digit26" element="digit">
108         <bounds left="274" top="165" right="308" bottom="204" />
109      </bezel>
95110
96111      <!-- Player 4 Score -->
97      <bezel name="digit30" element="digit">
112      <bezel name="digit40" element="digit">
98113         <bounds left="10" top="225" right="44" bottom="264" />
99114      </bezel>
100      <bezel name="digit31" element="digit">
115      <bezel name="digit41" element="digit">
101116         <bounds left="54" top="225" right="88" bottom="264" />
102117      </bezel>
103      <bezel name="digit32" element="digit">
118      <bezel name="digit42" element="digit">
104119         <bounds left="98" top="225" right="132" bottom="264" />
105120      </bezel>
106      <bezel name="digit33" element="digit">
121      <bezel name="digit43" element="digit">
107122         <bounds left="142" top="225" right="176" bottom="264" />
108123      </bezel>
109      <bezel name="digit34" element="digit">
124      <bezel name="digit44" element="digit">
110125         <bounds left="186" top="225" right="220" bottom="264" />
111126      </bezel>
112      <bezel name="digit35" element="digit">
127      <bezel name="digit45" element="digit">
113128         <bounds left="230" top="225" right="264" bottom="264" />
114129      </bezel>
130      <bezel name="digit46" element="digit">
131         <bounds left="274" top="225" right="308" bottom="264" />
132      </bezel>
115133
116134      <!-- Credits and Balls -->
117      <bezel name="digit50" element="digit">
135      <bezel name="digit0" element="digit">
118136         <bounds left="10" top="345" right="44" bottom="384" />
119137      </bezel>
120      <bezel name="digit51" element="digit">
138      <bezel name="digit1" element="digit">
121139         <bounds left="54" top="345" right="88" bottom="384" />
122140      </bezel>
123      <bezel name="digit52" element="digit">
141      <bezel name="digit2" element="digit">
124142         <bounds left="98" top="345" right="132" bottom="384" />
125143      </bezel>
126      <bezel name="digit53" element="digit">
144      <bezel name="digit3" element="digit">
127145         <bounds left="142" top="345" right="176" bottom="384" />
128146      </bezel>
129      <bezel name="digit54" element="digit">
147      <bezel name="digit4" element="digit">
130148         <bounds left="186" top="345" right="220" bottom="384" />
131149      </bezel>
132      <bezel name="digit55" element="digit">
150      <bezel name="digit5" element="digit">
133151         <bounds left="230" top="345" right="264" bottom="384" />
134152      </bezel>
135      <bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
153      <bezel name="digit9" element="diag">
154         <bounds left="274" top="345" right="308" bottom="384" />
155      </bezel>
156      <bezel element="P0"><bounds left="100" right="180" top="330" bottom="342" /></bezel>
136157      <bezel element="P1"><bounds left="30" right="88" top="330" bottom="342" /></bezel>
137      <bezel element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
138      <bezel element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
139      <bezel element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
140      <bezel element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
158      <bezel element="P2"><bounds left="260" right="318" top="330" bottom="342" /></bezel>
159      <bezel element="P3"><bounds left="120" right="200" top="30" bottom="42" /></bezel>
160      <bezel element="P4"><bounds left="120" right="200" top="90" bottom="102" /></bezel>
161      <bezel element="P5"><bounds left="120" right="200" top="150" bottom="162" /></bezel>
162      <bezel element="P6"><bounds left="120" right="200" top="210" bottom="222" /></bezel>
141163   </view>
142164</mamelayout>
trunk/src/mame/drivers/wico.c
r18240r18241
66    Schematic and PinMAME used as references.
77    Code for the interrupts/timers was derived from PinMAME.
88
9    Af-Tor was the first pinball to use alphanumeric displays.
10    Each display has 12 segments, but are programmed with 8-bit codes.
11    This makes some of the letters look rather odd, but it is still
12    readable.
913
14         a a
15         _ _
16       f/_/_/ b    g = 2 middle horizontal segments
17      e/_/_/ c     h = 2 middle vertical segments
18        d d
19
20
21ToDo:
22- Outhole doesn't work
23- Add mechanical sounds
24- Fix failures in test mode
25- Find and add Clear and Advance buttons (behind front door)
26
27
1028***************************************************************************/
1129
1230#include "machine/genpin.h"
r18240r18241
5472   bool m_disp_on;
5573   bool m_diag_on;
5674   UINT8 m_firqtimer;
57   UINT8 m_digit;
58public:
59   DECLARE_DRIVER_INIT(wico);
6075};
6176
6277// housekeeping cpu
r18240r18241
198213   PORT_DIPNAME( 0x40, 0x00, "Fast Ride Lights Extra Ball" )
199214   PORT_DIPSETTING(    0x00, "2" )
200215   PORT_DIPSETTING(    0x40, "3" )
201   PORT_DIPNAME( 0x80, 0x80, "Free Play" )
216   PORT_DIPNAME( 0x80, 0x00, "Free Play" )
202217   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
203218   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
204219   PORT_START("XD")
r18240r18241
285300   m_zcen = 0;
286301   m_gten = 0;
287302   m_firqtimer = 0;
288   m_digit = 0;
289303   m_disp_on = 0;
290304   m_diag_on = 0;
291305}
292306
293DRIVER_INIT_MEMBER(wico_state,wico)
294{
295}
296
297307// diagnostic display off
298308WRITE8_MEMBER( wico_state::dled0_w )
299309{
r18240r18241
313323   UINT8 segments = 0;
314324   if (m_diag_on)
315325      segments = patterns[data>>4];
316   output_set_digit_value(41, segments);
326   output_set_digit_value(9, segments);
327   m_disp_on = BIT(data, 0);
317328}
318329
319330// reset digit/scan counter
320331WRITE8_MEMBER( wico_state::muxld_w )
321332{
322   m_digit = 0;
323333}
324334
325335// enable zero-crossing interrupt
r18240r18241
346356// write digits in main display
347357READ8_MEMBER( wico_state::lampst_r )
348358{
349   UINT8 i;
359   int i, j;
350360   for (i = 0; i < 5; i++)
351      output_set_digit_value(i * 10 + (m_shared_ram[0x96] & 7), m_shared_ram[0x7f9 + i]);
361   {
362      if (m_disp_on)
363         j = m_shared_ram[0x7f9 + i];
364      else
365         j = 0;
366      output_set_digit_value(i * 10 + (m_shared_ram[0x96] & 7), BITSWAP16(j, 8, 8, 8, 8, 8, 8, 7, 7, 6, 6, 5, 4, 3, 2, 1, 0));
367   }
352368   return 0xff;
353369}
354370
r18240r18241
426442/ Big Top  (1977)
427443/-------------------------------------------------------------------*/
428444
429GAME(1984,  aftor,  0,  wico,  wico, wico_state,  wico,  ROT0,  "Wico", "Af-Tor", GAME_IS_SKELETON_MECHANICAL)
445GAME(1984,  aftor,  0,  wico,  wico, driver_device0,  ROT0,  "Wico", "Af-Tor", GAME_MECHANICAL)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team