Previous 199869 Revisions Next

r31490 Saturday 2nd August, 2014 at 10:57:37 UTC by Robbbert
g627: fixed rota_115 and rota_101
by6803: fixed typo
by17, by35: slight improvement in display
[src/mame/drivers]by17.c by35.c by6803.c g627.c

trunk/src/mame/drivers/g627.c
r31489r31490
11/******************************************************************************
22
3    Pinball
3    PINBALL
44    Midway A084-91313-G627
55           A080-91313-G627
66           A082-91320-C000
r31489r31490
4848{
4949public:
5050   g627_state(const machine_config &mconfig, device_type type, const char *tag)
51      : genpin_class(mconfig, type, tag),
52   m_maincpu(*this, "maincpu")
51      : genpin_class(mconfig, type, tag)
52      , m_maincpu(*this, "maincpu")
5353   { }
5454
55   DECLARE_DRIVER_INIT(v115);
56   DECLARE_DRIVER_INIT(v117);
5557   DECLARE_READ8_MEMBER(porta_r);
5658   DECLARE_READ8_MEMBER(portb_r);
5759   DECLARE_WRITE8_MEMBER(portc_w);
5860   DECLARE_WRITE8_MEMBER(disp_w);
5961   DECLARE_WRITE8_MEMBER(lamp_w);
60
61protected:
62
63   // devices
64   required_device<cpu_device> m_maincpu;
65
6662private:
6763   UINT8 m_seg[6];
6864   UINT8 m_portc;
6965   UINT8 m_motor;
66   bool m_type;
67   required_device<cpu_device> m_maincpu;
7068};
7169
7270
r31489r31490
165163   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 8") PORT_CODE(KEYCODE_STOP)
166164INPUT_PORTS_END
167165
166DRIVER_INIT_MEMBER( g627_state, v115 )
167{
168   m_type = 0;
169}
168170
171DRIVER_INIT_MEMBER( g627_state, v117 )
172{
173   m_type = 1;
174}
175
169176// inputs
170177READ8_MEMBER( g627_state::porta_r )
171178{
r31489r31490
197204WRITE8_MEMBER( g627_state::portc_w )
198205{
199206   m_portc = data;
200   if (data < 6)
207   if ((m_type) && (data < 6))
201208   {
202209      output_set_digit_value(data, m_seg[0]);
203210      output_set_digit_value(10 + data, m_seg[1]);
r31489r31490
205212      output_set_digit_value(30 + data, m_seg[3]);
206213      output_set_digit_value(50 + data, m_seg[5]);
207214   }
215   else
216   if ((!m_type) && (data))
217   {
218      data--;
219
220      output_set_digit_value(data, m_seg[0]);
221      output_set_digit_value(10 + data, m_seg[1]);
222      output_set_digit_value(20 + data, m_seg[2]);
223      output_set_digit_value(30 + data, m_seg[3]);
224      output_set_digit_value(50 + data, m_seg[5]);
225   }
208226}
209227
210228// save segments until we can write the digits
r31489r31490
313331   ROM_LOAD("v101-c.bin", 0x1000, 0x0800, CRC(c7e85638) SHA1(b59805d8b558ab8f5ea5b4b9261e862afca4b9d3))
314332ROM_END
315333
316GAME(1978,  rotation,  0,         g627,  g627, driver_device,  0,  ROT0,  "Midway", "Rotation VIII (v. 1.17)", GAME_MECHANICAL )
317GAME(1978,  rota_115,  rotation,  g627,  g627, driver_device,  0,  ROT0,  "Midway", "Rotation VIII (v. 1.15)", GAME_MECHANICAL )
318GAME(1978,  rota_101,  rotation,  g627,  g627, driver_device,  0,  ROT0,  "Midway", "Rotation VIII (v. 1.01)", GAME_MECHANICAL )
334GAME(1978,  rotation,  0,         g627,  g627, g627_state, v117,  ROT0,  "Midway", "Rotation VIII (v. 1.17)", GAME_MECHANICAL )
335GAME(1978,  rota_115,  rotation,  g627,  g627, g627_state, v115,  ROT0,  "Midway", "Rotation VIII (v. 1.15)", GAME_MECHANICAL )
336GAME(1978,  rota_101,  rotation,  g627,  g627, g627_state, v115,  ROT0,  "Midway", "Rotation VIII (v. 1.01)", GAME_MECHANICAL )
trunk/src/mame/drivers/by6803.c
r31489r31490
33    PINBALL
44    Bally MPU A084-91786-AH06 (6803)
55
6There are no dispswitches; everything is done with a numeric keypad located just inside the
6There are no dipswitches; everything is done with a numeric keypad located just inside the
77door. The system responds with messages on the display.
88
99ToDo:
trunk/src/mame/drivers/by17.c
r31489r31490
6565   UINT8 m_u10_b;
6666   UINT8 m_u11_a;
6767   UINT8 m_u11_b;
68   bool m_u10_ca2;
6869   bool m_u10_cb2;
6970   bool m_u10_timer;
7071   bool m_u11_timer;
r31489r31490
265266
266267WRITE_LINE_MEMBER( by17_state::u10_ca2_w )
267268{
269   m_u10_ca2 = state;
268270}
269271     
270272WRITE_LINE_MEMBER( by17_state::u10_cb2_w )
r31489r31490
291293   m_segment = data >> 4;
292294   m_u10_a = data;
293295   m_u10 = (data & 15) | (BIT(m_u11_a, 0) << 4);
294   switch (m_u10)
296
297   if (!m_u10_ca2)
295298   {
296      case 0x10: // wrong
299      switch (m_u10)
300      {
301      case 0x10:
297302         output_set_digit_value(m_digit, patterns[m_segment]);
298303         break;
299304      case 0x1d:
r31489r31490
310315         break;
311316      default:
312317         break;
318      }
313319   }
314320}
315321
trunk/src/mame/drivers/by35.c
r31489r31490
6262   UINT8 m_u10_b;
6363   UINT8 m_u11_a;
6464   UINT8 m_u11_b;
65   bool m_u10_ca2;
6566   bool m_u10_cb2;
6667   bool m_u10_timer;
6768   bool m_u11_timer;
r31489r31490
262263
263264WRITE_LINE_MEMBER( by35_state::u10_ca2_w )
264265{
266   m_u10_ca2 = state;
265267}
266268     
267269WRITE_LINE_MEMBER( by35_state::u10_cb2_w )
r31489r31490
288290   m_segment = data >> 4;
289291   m_u10_a = data;
290292   m_u10 = (data & 15) | (BIT(m_u11_a, 0) << 4);
291   switch (m_u10)
293   if (!m_u10_ca2)
292294   {
293      case 0x10: // wrong
295      switch (m_u10)
296      {
297      case 0x10:
294298         output_set_digit_value(m_digit, patterns[m_segment]);
295299         break;
296300      case 0x1d:
r31489r31490
299303      case 0x1b:
300304         output_set_digit_value(16+m_digit, patterns[m_segment]);
301305         break;
302      case 0x07:
306      case 0x17:
303307         output_set_digit_value(24+m_digit, patterns[m_segment]);
304308         break;
305      case 0x0f:
309      case 0x1f:
306310         output_set_digit_value(32+m_digit, patterns[m_segment]);
307311         break;
308      default:
312      default://printf("%X ",m_u10);
309313         break;
314      }
310315   }
311316}
312317

Previous 199869 Revisions Next


© 1997-2024 The MAME Team