Previous 199869 Revisions Next

r31889 Wednesday 3rd September, 2014 at 13:16:21 UTC by Robbbert
inder.c : Brave Team is working. [Robbbert]
[src/mame/drivers]inder.c
[src/mame/layout]inder.lay

trunk/src/mame/layout/inder.lay
r31888r31889
134134      <bezel name="digit40" element="digit">
135135         <bounds left="69" top="345" right="103" bottom="384" />
136136      </bezel>
137      <bezel name="digit42" element="digit">
137      <bezel name="digit45" element="digit">
138138         <bounds left="171" top="345" right="205" bottom="384" />
139139      </bezel>
140      <bezel name="digit45" element="digit">
140      <bezel name="digit44" element="digit">
141141         <bounds left="210" top="345" right="244" bottom="384" />
142142      </bezel>
143143      <bezel element="P1"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
trunk/src/mame/drivers/inder.c
r31888r31889
66  All manuals are in Spanish (including the 'English' ones), so some guesswork will be needed.
77  The schematics for Brave Team, Canasta are too blurry to read.
88
9  Setting up:
10  - First time run, the displays will all show zero. Take the opportunity to set up the dips. Then
11    exit and restart. The game will be working.
12
13  Status:
14  - Brave Team: working
15  - Others: still to be worked on
16
17
918********************************************************************************************************/
1019
1120#include "machine/genpin.h"
1221#include "cpu/z80/z80.h"
1322#include "machine/i8255.h"
23#include "sound/sn76496.h"
1424#include "inder.lh"
1525
1626class inder_state : public genpin_class
r31888r31889
1929   inder_state(const machine_config &mconfig, device_type type, const char *tag)
2030      : genpin_class(mconfig, type, tag)
2131      , m_maincpu(*this, "maincpu")
32      , m_sn(*this, "sn")
2233      , m_switches(*this, "SW")
2334   { }
2435
25   DECLARE_READ8_MEMBER(io_r);
26   DECLARE_WRITE8_MEMBER(io_w);
36   DECLARE_READ8_MEMBER(sw_r);
37   DECLARE_WRITE8_MEMBER(sw_w);
38   DECLARE_WRITE8_MEMBER(sol_w);
39   DECLARE_WRITE8_MEMBER(sn_w);
40   DECLARE_WRITE8_MEMBER(lamp_w) { };
2741   DECLARE_WRITE8_MEMBER(disp_w);
2842   DECLARE_DRIVER_INIT(inder);
2943private:
r31888r31889
3145   UINT8 m_segment[5];
3246   virtual void machine_reset();
3347   required_device<cpu_device> m_maincpu;
48   optional_device<sn76489_device> m_sn;
3449   required_ioport_array<11> m_switches;
3550};
3651
r31888r31889
3954   AM_RANGE(0x2000, 0x20ff) AM_WRITE(disp_w)
4055   AM_RANGE(0x4000, 0x43ff) AM_RAM // pair of 2114
4156   AM_RANGE(0x4400, 0x44ff) AM_RAM AM_SHARE("nvram") // pair of 5101, battery-backed
42   AM_RANGE(0x4800, 0x480a) AM_READWRITE(io_r,io_w)
57   AM_RANGE(0x4800, 0x480a) AM_READWRITE(sw_r,sw_w)
58   AM_RANGE(0x4900, 0x4900) AM_WRITE(sol_w)
59   AM_RANGE(0x4901, 0x4907) AM_WRITE(lamp_w)
60   AM_RANGE(0x4b00, 0x4b00) AM_WRITE(sn_w)
4361   //AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi", i8255_device, read, write)
4462ADDRESS_MAP_END
4563
4664static INPUT_PORTS_START( inder )
47   PORT_START("TEST")
48   //PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Self Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, inder_state, self_test, 0)
49   //PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Activity") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, inder_state, activity_test, 0)
50
5165   PORT_START("SW.0")
52   PORT_DIPNAME( 0x1f, 0x02, "Coin Slot 1")
53   PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C )) // same as 01
54   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ))
55   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ))
56   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ))
57   PORT_DIPSETTING(    0x05, DEF_STR( 2C_2C ))
58   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ))
59   PORT_DIPSETTING(    0x07, DEF_STR( 2C_3C ))
60   PORT_DIPSETTING(    0x08, DEF_STR( 1C_4C ))
61   PORT_DIPSETTING(    0x09, DEF_STR( 2C_4C ))
62   PORT_DIPSETTING(    0x0a, DEF_STR( 1C_5C ))
63   PORT_DIPSETTING(    0x0b, DEF_STR( 2C_5C ))
64   PORT_DIPSETTING(    0x0c, DEF_STR( 1C_6C ))
65   PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ))
66   PORT_DIPSETTING(    0x0e, DEF_STR( 1C_7C ))
67   PORT_DIPSETTING(    0x0f, DEF_STR( 2C_7C ))
68   PORT_DIPSETTING(    0x10, DEF_STR( 1C_8C ))
69   PORT_DIPSETTING(    0x11, DEF_STR( 2C_8C ))
70   PORT_DIPSETTING(    0x12, DEF_STR( 1C_9C ))
71   PORT_DIPSETTING(    0x13, "2 coins 9 credits")
72   PORT_DIPSETTING(    0x14, "1 coin 10 credits")
73   PORT_DIPSETTING(    0x15, "2 coins 10 credits")
74   PORT_DIPSETTING(    0x16, "1 coin 11 credits")
75   PORT_DIPSETTING(    0x17, "2 coins 11 credits")
76   PORT_DIPSETTING(    0x18, "1 coin 12 credits")
77   PORT_DIPSETTING(    0x19, "2 coins 12 credits")
78   PORT_DIPSETTING(    0x1a, "1 coin 13 credits")
79   PORT_DIPSETTING(    0x1b, "2 coins 13 credits")
80   PORT_DIPSETTING(    0x1c, "1 coin 14 credits")
81   PORT_DIPSETTING(    0x1d, "2 coins 14 credits")
82   PORT_DIPSETTING(    0x1e, "1 coin 15 credits")
83   PORT_DIPSETTING(    0x1f, "2 coins 15 credits")
84   PORT_DIPNAME( 0x60, 0x40, "Award for beating high score")
85   PORT_DIPSETTING(    0x00, "Nothing")
86   PORT_DIPSETTING(    0x20, "1 free game")
87   PORT_DIPSETTING(    0x40, "2 free games")
88   PORT_DIPSETTING(    0x60, "3 free games")
89   PORT_DIPNAME( 0x80, 0x00, "Melody option 1")
90   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
91   PORT_DIPSETTING(    0x80, DEF_STR( On ))
66   PORT_DIPNAME( 0x03, 0x01, "Coin Slot 1") // sw G,H
67   PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C )) // slot 2: 1 moneda 4 partidas  // selection 00 is same as 01
68   PORT_DIPSETTING(    0x02, DEF_STR( 4C_5C )) // slot 2: 1 moneda 5 partidas
69   PORT_DIPSETTING(    0x03, "4 moneda 6 partidas") // slot 2: 1 moneda 6 partidas
70   PORT_DIPNAME( 0x08, 0x08, "Balls") // sw E
71   PORT_DIPSETTING(    0x08, "3")
72   PORT_DIPSETTING(    0x00, "5")
73   PORT_DIPNAME( 0x30, 0x20, "Points for free game") // sw C,D
74   PORT_DIPSETTING(    0x00, "850000")
75   PORT_DIPSETTING(    0x10, "800000")
76   PORT_DIPSETTING(    0x20, "750000")
77   PORT_DIPSETTING(    0x30, "700000")
78   PORT_BIT( 0xc4, IP_ACTIVE_LOW, IPT_UNUSED )
9279
9380   PORT_START("SW.1")
94   PORT_DIPNAME( 0x1f, 0x02, "Coin Slot 3")
95   PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C )) // same as 01
96   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ))
97   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ))
98   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ))
99   PORT_DIPSETTING(    0x05, DEF_STR( 2C_2C ))
100   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ))
101   PORT_DIPSETTING(    0x07, DEF_STR( 2C_3C ))
102   PORT_DIPSETTING(    0x08, DEF_STR( 1C_4C ))
103   PORT_DIPSETTING(    0x09, DEF_STR( 2C_4C ))
104   PORT_DIPSETTING(    0x0a, DEF_STR( 1C_5C ))
105   PORT_DIPSETTING(    0x0b, DEF_STR( 2C_5C ))
106   PORT_DIPSETTING(    0x0c, DEF_STR( 1C_6C ))
107   PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ))
108   PORT_DIPSETTING(    0x0e, DEF_STR( 1C_7C ))
109   PORT_DIPSETTING(    0x0f, DEF_STR( 2C_7C ))
110   PORT_DIPSETTING(    0x10, DEF_STR( 1C_8C ))
111   PORT_DIPSETTING(    0x11, DEF_STR( 2C_8C ))
112   PORT_DIPSETTING(    0x12, DEF_STR( 1C_9C ))
113   PORT_DIPSETTING(    0x13, "2 coins 9 credits")
114   PORT_DIPSETTING(    0x14, "1 coin 10 credits")
115   PORT_DIPSETTING(    0x15, "2 coins 10 credits")
116   PORT_DIPSETTING(    0x16, "1 coin 11 credits")
117   PORT_DIPSETTING(    0x17, "2 coins 11 credits")
118   PORT_DIPSETTING(    0x18, "1 coin 12 credits")
119   PORT_DIPSETTING(    0x19, "2 coins 12 credits")
120   PORT_DIPSETTING(    0x1a, "1 coin 13 credits")
121   PORT_DIPSETTING(    0x1b, "2 coins 13 credits")
122   PORT_DIPSETTING(    0x1c, "1 coin 14 credits")
123   PORT_DIPSETTING(    0x1d, "2 coins 14 credits")
124   PORT_DIPSETTING(    0x1e, "1 coin 15 credits")
125   PORT_DIPSETTING(    0x1f, "2 coins 15 credits")
126   PORT_DIPNAME( 0x60, 0x60, "Award")
127   PORT_DIPSETTING(    0x00, "Nothing")
128   PORT_DIPSETTING(    0x40, "Extra Ball")
129   PORT_DIPSETTING(    0x60, "Free Game")
130   PORT_DIPNAME( 0x80, 0x00, "Balls")
131   PORT_DIPSETTING(    0x00, "3")
132   PORT_DIPSETTING(    0x80, "5")
81   PORT_DIPNAME( 0x03, 0x03, "High Score") //"Handicap"  // sw O,P
82   PORT_DIPSETTING(    0x00, "990000")
83   PORT_DIPSETTING(    0x01, "950000")
84   PORT_DIPSETTING(    0x02, "900000")
85   PORT_DIPSETTING(    0x03, "850000")
86   PORT_DIPNAME( 0x04, 0x00, "Maximum Credits") // sw N
87   PORT_DIPSETTING(    0x04, "10")
88   PORT_DIPSETTING(    0x00, "20")
89   PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
13390
134   PORT_START("SW.2")
135   PORT_DIPNAME( 0x07, 0x02, "Maximum Credits")
136   PORT_DIPSETTING(    0x00, "5")
137   PORT_DIPSETTING(    0x01, "10")
138   PORT_DIPSETTING(    0x02, "15")
139   PORT_DIPSETTING(    0x03, "20")
140   PORT_DIPSETTING(    0x04, "25")
141   PORT_DIPSETTING(    0x05, "30")
142   PORT_DIPSETTING(    0x06, "35")
143   PORT_DIPSETTING(    0x07, "40")
144   PORT_DIPNAME( 0x08, 0x08, "Credits displayed")
145   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
146   PORT_DIPSETTING(    0x08, DEF_STR( On ))
147   PORT_DIPNAME( 0x10, 0x10, "Match")
148   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
149   PORT_DIPSETTING(    0x10, DEF_STR( On ))
150   PORT_DIPNAME( 0x20, 0x00, "S22 (game specific)")
151   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
152   PORT_DIPSETTING(    0x20, DEF_STR( On ))
153   PORT_DIPNAME( 0x40, 0x00, "S23 (game specific)")
154   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
155   PORT_DIPSETTING(    0x40, DEF_STR( On ))
156   PORT_DIPNAME( 0x80, 0x00, "S24 (game specific)")
157   PORT_DIPSETTING(    0x00, DEF_STR( Off ))
158   PORT_DIPSETTING(    0x80, DEF_STR( On ))
91   PORT_START("SW.2") // bank of unused dipswitches
92   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
15993
16094   PORT_START("SW.3")
161   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH)
162   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON)
163   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE)
164   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH)
165   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE)
166   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
167   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
168   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X)
95   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
16996
17097   PORT_START("SW.4")
171   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 )
172   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
173   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
174   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L)
175   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE)
176   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
177   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER)
178   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT1 ) PORT_NAME("Slam Tilt")
98   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
17999
180   PORT_START("SW.5")
181   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A)
182   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S)
183   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D)
184   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F)
185   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G)
186   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H)
187   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J)
188   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K)
100   PORT_START("SW.5") // Contactos 50-57
101   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // "Monedero A"
102   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // "Monedero B"
103   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
104   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT ) // "Falta"
105   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) // "Pulsador Partidas"
106   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Reset") // "Puesta a cero"
107   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Accounting info") // "Test economico"
108   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Test") // "Test tecnico"
189109
190   PORT_START("SW.6")
191   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
192   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_W)
193   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E)
194   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R)
195   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
196   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U)
197   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_I)
198   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_O)
110   PORT_START("SW.6") // 60-67
111   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
112   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W)
113   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E)
114   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
115   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
116   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U)
117   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I)
118   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O)
199119
200   PORT_START("SW.7")
201   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
202   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C)
203   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V)
204   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B)
205   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N)
206   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M)
207   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
208   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
120   PORT_START("SW.7") // 70-77
121   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A)
122   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S)
123   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
124   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F)
125   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G)
126   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H)
127   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J)
128   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K)
209129
210   PORT_START("SW.8")
211   PORT_START("SW.9")
130   PORT_START("SW.8") // 80-87
131   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
132   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C)
133   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V)
134   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B)
135   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N)
136   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M)
137   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
138   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
139
140   PORT_START("SW.9") // 90-97
141   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L)
142   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("Outhole")
143   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS)
144   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE)
145   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE)
146   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
147   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH)
148   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COLON)
149
212150   PORT_START("SW.10")
151   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
213152INPUT_PORTS_END
214153
215READ8_MEMBER( inder_state::io_r )
154READ8_MEMBER( inder_state::sw_r )
216155{
217156   return m_switches[m_row]->read();
218157}
219158
220WRITE8_MEMBER( inder_state::io_w )
159WRITE8_MEMBER( inder_state::sw_w )
221160{
222161   m_row = offset;
223162}
224163
164WRITE8_MEMBER( inder_state::sn_w )
165{
166   m_sn->write(space, 0, BITSWAP8(data, 0, 1, 2, 3, 4, 5, 6, 7));
167}
168
169// "bobinas"
170WRITE8_MEMBER( inder_state::sol_w )
171{
172   if ((data & 0xee) && BIT(data, 4)) // solenoid selected & activated
173   {
174      if BIT(data, 1)
175         m_samples->start(0, 7); // left sling near bumpers
176
177      if BIT(data, 2)
178         m_samples->start(1, 7); // right sling near bumpers
179
180      if BIT(data, 3)
181         m_samples->start(0, 5); // outhole
182
183      if BIT(data, 5)
184         m_samples->start(2, 0); // left bumper
185
186      if BIT(data, 6)
187         m_samples->start(3, 0); // right bumper
188
189      if BIT(data, 7)
190         m_samples->start(4, 0); // middle bumper
191   }
192}
193
225194WRITE8_MEMBER( inder_state::disp_w )
226195{
227196   UINT8 i;
r31888r31889
258227
259228   /* Sound */
260229   MCFG_FRAGMENT_ADD( genpin_audio )
230   MCFG_SPEAKER_STANDARD_MONO("snvol")
231   MCFG_SOUND_ADD("sn", SN76489, XTAL_8MHz / 2) // jumper choice of 2 or 4 MHz
232   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "snvol", 2.0)
261233
262234   /* Devices */
263235   MCFG_DEVICE_ADD("ppi", I8255A, 0 )
r31888r31889
424396   ROM_LOAD("sound_m3.bin", 0x40000, 0x20000, CRC(4d9f5ed2) SHA1(bc6b7c70369c25eddddac5304497f30cee7675d4))
425397ROM_END
426398
427GAME(1985,  brvteam,    0,      inder,  inder, inder_state, inder,  ROT0, "Inder", "Brave Team",         GAME_IS_SKELETON_MECHANICAL)
399GAME(1985,  brvteam,    0,      inder,  inder, inder_state, inder,  ROT0, "Inder", "Brave Team",         GAME_MECHANICAL)
428400GAME(1986,  canasta,    0,      inder,  inder, inder_state, inder,  ROT0, "Inder", "Canasta '86'",       GAME_IS_SKELETON_MECHANICAL)
429401GAME(1986,  lapbylap,   0,      inder,  inder, inder_state, inder,  ROT0, "Inder", "Lap By Lap",         GAME_IS_SKELETON_MECHANICAL)
430402GAME(1987,  pinmoonl,   0,      inder,  inder, inder_state, inder,  ROT0, "Inder", "Moon Light (Inder)", GAME_IS_SKELETON_MECHANICAL)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team