Previous 15994 Revisions Next

r14949 Tuesday 17th April, 2012 at 08:26:17 UTC by Miodrag Milanović
Sync with MAME r16008 and total removal of AM_BASE (no whatsnew)
[src/emu]addrmap.h
[src/emu/cpu/m68000]68307bus.c 68307bus.h 68307sim.c m68000.h m68kcpu.c
[src/emu/machine]i8279.c
[src/emu/sound]i5000.c i5000.h
[src/mame]mame.lst mame.mak
[src/mame/drivers]bfm_sc4.c bfm_sc4h.c rabbit.c turbo.c voyager.c*
[src/mame/includes]bfm_sc45.h turbo.h
[src/mame/machine]bfm_bd1.c sec.c* sec.h*
[src/mess/drivers]ami1200.c amiga.c astrocde.c cfx9850.c cgenie.c d6800.c dc.c interact.c ip22.c next.c oric.c pc1500.c pce.c phunsy.c pv1000.c scv.c
[src/mess/includes]mikromik.h next.h tmc600.h
[src/mess/video]mikromik.c tmc600.c

src/mame/mame.lst
r14948r14949
1026310263yuka         // (c) 1999 Yubis
1026410264yujan         // (C) 1999 Yubis
1026510265
10266// Team Play, Inc.
10267
10268voyager         // (c) 2002 Team Play, Inc.
10269
1026610270// BMC
1026710271
1026810272bmcbowl         // (c) 1994 BMC
src/mame/machine/sec.c
r0r14949
1/* Serial Electronic Counter (SEC) */
2
3#include "emu.h"
4#include "sec.h"
5
6
7
8void SEC::reset(void)
9{
10   m_clk = 1;
11   m_curbyte = m_clks = n_reqpos = m_rxclk = m_rxlen = m_rxpos = 0;
12}
13
14void SEC::write_cs_line(UINT8 bit)
15{
16   if ( bit )
17   {
18      if ( !enabled )
19      {
20         enabled = true;
21         m_rxdat = 0;
22      }
23   }
24   else
25   {
26      if ( enabled )
27      {
28         m_rxdat = 1;
29      }
30
31      enabled = false;
32      reset();
33   }
34}
35
36void SEC::write_data_line(UINT8 bit)
37{
38   m_data = bit ? 1 : 0;
39}
40
41UINT8 SEC::read_data_line(void)
42{
43   return m_rxdat;
44}
45
46void SEC::write_clock_line(UINT8 bit)
47{
48   bit = bit ? 1 : 0;
49
50   if ( (m_clk ^ bit) & 1 )
51   {
52      if ( !bit )
53      {
54         m_curbyte = ( m_curbyte << 1 ) | m_data;
55         if ( m_rxclk == 8 )
56         {
57            m_rxclk = 0;
58            m_rxpos++;
59            m_rxlen--;
60         }
61
62         if ( m_rxlen )
63            m_rxdat = (m_reply[m_rxpos] & 0x80) >> 7;
64         else
65            m_rxdat = enabled ? 0 : 1;
66      }
67      else
68      {
69         m_clks++;
70         if ( m_rxlen )
71         {
72            m_reply[m_rxpos] <<= 1;
73            m_rxclk++;
74         }
75
76         if ( m_clks == 8 )
77         {
78            m_clks = 0;
79            if ( !m_rxlen )
80            {
81               m_request[n_reqpos++] = m_curbyte;
82               if ( chars_left )
83               {
84                  chars_left--;
85                  if ( !chars_left )
86                  {
87                     n_reqpos--;
88                     Do_Command();
89                     n_reqpos = 0;
90                  }
91               }
92               if ( n_reqpos == 3 )
93                  chars_left = m_curbyte + 1;
94            }
95         }
96      }
97      m_clk = bit;
98   }
99}
100
101
102
103void SEC::Do_Command(void)
104{
105   m_last = m_request[1];
106   switch ( m_request[0] )
107   {
108      case SEC_REQUEST_VERSION:    Cmd_Get_Ver(); break;
109      case SEC_REQUE$T_STATUS:     Cmd_Get_Sta(); break;
110      case SEC_REQUEST_MARKET:     Cmd_Get_Mrk(); break;
111      case SEC_REQEUST_LAST_ERROR: Cmd_Get_Err(); break;
112      case SEC_REQUEST_FINGERPRNT: Cmd_Get_Fpr(); break;
113      case SEC_REQUEST_LAST_CMD:   Cmd_Get_Lst(); break;
114      case SEC_REQUEST_COUNT_VAL:  Cmd_Get_Cnt(); break;
115      case SEC_SET_NUM_COUNTERS:     Cmd_Set_Ncn(); break;
116      case SEC_SET_MARKET:       Cmd_Set_Mrk(); break;
117      case SEC_SET_COUNTER_TXT:    Cmd_Set_Txt(); break;
118      case SEC_COUNT_INC_SMALL:     Cmd_Inc_Sml(); break;
119      case SEC_COUNT_INC_MED:       Cmd_Inc_Med(); break;
120      case SEC_COUNT_INC_LARGE:    Cmd_Inc_Lrg(); break;
121
122      /* acknowledge these without doing anything */
123      case SEC_SHOW_TEXT:          Cmd_NOP();     break;
124      case SEC_SHOW_COUNTER_VAL:   Cmd_NOP();     break;
125      case SEC_SHOW_COUNTER_TXT:   Cmd_NOP();     break;
126      case SEC_SHOW_BITPATTERN:    Cmd_NOP();     break;
127      case SEC_COUNT_CYCLE_DISP:   Cmd_NOP();     break;
128      case SEC_STOP_CYCLE:         Cmd_NOP();     break;
129      case SEC_SELF_TEST:          Cmd_NOP();     break;
130   }
131}
132
133UINT8 SEC::CalcByteSum(int length)
134{
135   UINT8 csum = 0;
136   for ( int i = 0; i < 3 + length; i++ )
137   {
138      csum += m_reply[i];
139   }
140   return csum;
141}
142
143void SEC::Cmd_Get_Err(void)
144{
145   m_reply[0] = SEC_DAT;
146   m_reply[1] = m_last;
147   m_reply[2] = 1;
148
149   m_reply[3] = 0; // Last Error
150
151   m_reply[4] = CalcByteSum(1);
152   
153   m_rxpos = 0;
154   m_rxclk = 0;
155   m_rxlen = 5;
156}
157
158void SEC::Cmd_Get_Fpr(void)
159{
160   m_reply[0] = SEC_DAT;
161   m_reply[1] = m_last;
162   m_reply[2] = 4;
163   
164   // fingerprint
165   m_reply[3] = 0x11;
166   m_reply[4] = 0x01;
167   m_reply[5] = 0x00;
168   m_reply[6] = 0x00;
169
170   m_reply[7] = CalcByteSum(4);
171   
172   m_rxpos = 0;
173   m_rxclk = 0;
174   m_rxlen = 8;
175}
176
177void SEC::Cmd_Get_Lst(void)
178{
179   m_reply[0] = SEC_DAT;
180   m_reply[1] = m_last;
181   m_reply[2] = 4;
182   
183   // Last Command (is this really 4 bytes?)
184   m_reply[3] = m_last;
185   m_reply[4] = 0x00;
186   m_reply[5] = 0x00;
187   m_reply[6] = 0x00;
188
189   m_reply[7] = CalcByteSum(4);
190   
191   m_rxpos = 0;
192   m_rxclk = 0;
193   m_rxlen = 8;
194}
195
196void SEC::Cmd_Get_Ver(void)
197{
198   m_reply[0] = SEC_DAT;
199   m_reply[1] = m_last;
200   m_reply[2] = 3;
201
202   // version
203   m_reply[3] = '0';
204   m_reply[4] = '2';
205   m_reply[5] = 'E';
206
207   m_reply[6] = CalcByteSum(3);
208   
209   m_rxpos = 0;
210   m_rxclk = 0;
211   m_rxlen = 7;
212}
213
214void SEC::Cmd_Get_Cnt(void)
215{
216   char temp[10];
217
218   sprintf(temp,"%07d0", m_counters[m_request[3]]);
219         
220   m_reply[0] = SEC_DAT;
221   m_reply[1] = m_last;
222   m_reply[2] = 4;
223
224   m_reply[3] = ((temp[0] - 0x30) << 4) + (temp[1] - 0x30);
225   m_reply[4] = ((temp[2] - 0x30) << 4) + (temp[3] - 0x30);
226   m_reply[5] = ((temp[4] - 0x30) << 4) + (temp[5] - 0x30);
227   m_reply[6] = ((temp[6] - 0x30) << 4) + (temp[7] - 0x30);
228
229   m_reply[7] = CalcByteSum(4);
230   
231   m_rxpos = 0;
232   m_rxclk = 0;
233   m_rxlen = 8;
234}
235
236void SEC::Cmd_Get_Sta(void)
237{
238   m_reply[0] = SEC_DAT;
239   m_reply[1] = m_last;
240   m_reply[2] = 1;
241
242   m_reply[3] = 0x20; // Status
243
244   m_reply[4] = CalcByteSum(1);
245   
246   m_rxpos = 0;
247   m_rxclk = 0;
248   m_rxlen = 5;
249}
250
251void SEC::Cmd_Get_Mrk(void)
252{
253   m_reply[0] = SEC_DAT;
254   m_reply[1] = m_last;
255   m_reply[2] = 1;
256
257   m_reply[3] = m_market;
258
259   m_reply[4] = CalcByteSum(1);
260   
261   m_rxpos = 0;
262   m_rxclk = 0;
263   m_rxlen = 5;
264}
265
266void SEC::Cmd_Set_Ncn(void)
267{
268   m_nocnt = m_request[3];
269
270   m_reply[0] = SEC_ACK;
271   m_reply[1] = m_last;
272   m_reply[2] = 0;
273   m_reply[3] = CalcByteSum(0);
274   m_rxpos = 0;
275   m_rxclk = 0;
276   m_rxlen = 4;
277}
278
279void SEC::Cmd_Set_Mrk(void)
280{
281   m_market = m_request[3];   
282
283   m_reply[0] = SEC_ACK;
284   m_reply[1] = m_last;
285   m_reply[2] = 0;
286   m_reply[3] = CalcByteSum(0);
287   m_rxpos = 0;
288   m_rxclk = 0;
289   m_rxlen = 4;
290}
291
292void SEC::Cmd_Set_Txt(void)
293{
294   char valbuf[10];
295   UINT8 meter = m_request[3];
296   memcpy( valbuf, &m_request[4], 7);
297   valbuf[7] = 0;
298   strcpy(m_strings[meter], valbuf);
299
300   m_reply[0] = SEC_ACK;
301   m_reply[1] = m_last;
302   m_reply[2] = 0;
303   m_reply[3] = CalcByteSum(0);
304   m_rxpos = 0;
305   m_rxclk = 0;
306   m_rxlen = 4;
307}
308
309
310void SEC::Cmd_Inc_Sml(void)
311{
312   UINT8 meter = m_request[3];
313   UINT8 value = m_request[4] & 0xf;
314   m_counters[meter] += value;
315
316   m_reply[0] = SEC_ACK;
317   m_reply[1] = m_last;
318   m_reply[2] = 0;
319   m_reply[3] = CalcByteSum(0);
320   m_rxpos = 0;
321   m_rxclk = 0;
322   m_rxlen = 4;
323}
324
325void SEC::Cmd_Inc_Med(void)
326{
327   UINT8 meter = m_request[3];
328   UINT8 value = m_request[4];
329   m_counters[meter] += value;
330
331   m_reply[0] = SEC_ACK;
332   m_reply[1] = m_last;
333   m_reply[2] = 0;
334   m_reply[3] = CalcByteSum(0);
335   m_rxpos = 0;
336   m_rxclk = 0;
337   m_rxlen = 4;
338}
339
340void SEC::Cmd_Inc_Lrg(void)
341{
342   UINT8 meter = m_request[3];
343   UINT8 value = m_request[4] + 256 * m_request[5];
344   m_counters[meter] += value;
345
346   m_reply[0] = SEC_ACK;
347   m_reply[1] = m_last;
348   m_reply[2] = 0;
349   m_reply[3] = CalcByteSum(0);
350   m_rxpos = 0;
351   m_rxclk = 0;
352   m_rxlen = 4;
353}
354
355void SEC::Cmd_NOP(void)
356{
357   m_reply[0] = SEC_ACK;
358   m_reply[1] = m_last;
359   m_reply[2] = 0;
360   m_reply[3] = CalcByteSum(0);
361   m_rxpos = 0;
362   m_rxclk = 0;
363   m_rxlen = 4;
364}
365
366
src/mame/machine/sec.h
r0r14949
1
2/* commands */
3
4#define SEC_REQUE$T_STATUS     (0x20)
5#define SEC_REQUEST_MARKET     (0x21)
6#define SEC_REQEUST_LAST_ERROR (0x22)
7#define SEC_REQUEST_VERSION    (0x23)
8#define SEC_REQUEST_COUNT_VAL  (0x24)
9#define SEC_REQUEST_LAST_CMD   (0x25)
10#define SEC_REQUEST_FINGERPRNT (0x26)
11
12#define SEC_SET_NUM_COUNTERS   (0x30)
13#define SEC_SET_MARKET         (0x31)
14#define SEC_SET_COUNTER_TXT    (0x32)
15
16#define SEC_SHOW_TEXT          (0x40)
17#define SEC_SHOW_COUNTER_VAL   (0x41)
18#define SEC_SHOW_COUNTER_TXT   (0x42)
19#define SEC_SHOW_BITPATTERN    (0x43)
20
21#define SEC_COUNT_INC_SMALL    (0x50)
22#define SEC_COUNT_INC_MED      (0x51)
23#define SEC_COUNT_INC_LARGE    (0x52)
24
25#define SEC_COUNT_CYCLE_DISP   (0x54)
26#define SEC_STOP_CYCLE         (0x55)
27
28#define SEC_SELF_TEST          (0x5c)
29
30#define MAX_COUNTERS (32)
31
32#define SEC_DAT  (0x60)
33#define SEC_ACK  (0x61)
34
35class SEC
36{
37public:
38   SEC()
39   {
40      reset();
41   }
42
43// Internal registers
44
45private:
46
47   // stuff the SEC stores
48   int m_counters[MAX_COUNTERS];
49   char m_strings[MAX_COUNTERS][8];
50    UINT8 m_market;
51    UINT8 m_nocnt;
52    UINT8 m_last;
53
54   // serial comms
55   UINT8 m_curbyte;
56    UINT8 m_data;
57
58   UINT8 m_clk;
59   UINT8 m_clks;
60    UINT8 m_rxpos;
61    UINT8 m_rxclk;
62    UINT8 m_rxdat;
63    UINT8 m_rxlen;
64    UINT8 chars_left;
65
66    UINT8 n_reqpos;
67
68   // communication buffer
69    UINT8 m_request[12];
70    UINT8 m_reply[8];
71
72    bool             enabled;
73
74   // execute command
75    void             Do_Command(void);
76   // command handlers
77   void Cmd_NOP(void);
78   void Cmd_Set_Txt(void);
79   void Cmd_Inc_Sml(void);
80   void Cmd_Inc_Med(void);
81   void Cmd_Inc_Lrg(void);
82   void Cmd_Set_Ncn(void);
83   void Cmd_Set_Mrk(void);
84   void Cmd_Get_Sta(void);
85   void Cmd_Get_Mrk(void);
86   void Cmd_Get_Err(void);
87   void Cmd_Get_Fpr(void);
88   void Cmd_Get_Lst(void);
89   void Cmd_Get_Ver(void);
90   void Cmd_Get_Cnt(void);
91
92   UINT8      CalcByteSum(int length);
93
94public:
95   void          reset(void);
96
97   /* serial interface */
98    void write_clock_line(UINT8 bit);
99   void write_data_line(UINT8 bit);
100   void write_cs_line(UINT8 bit);
101   UINT8 read_data_line(void);
102};
src/mame/machine/bfm_bd1.c
r14948r14949
380380      }
381381      break;
382382
383      default:   // normal character
383      default:
384384
385385      change = BD1_setdata(id, BD1charset[data & 0x3F], data);
386386      break;
src/mame/includes/turbo.h
r14948r14949
1111#define TURBO_X_SCALE      2
1212
1313
14struct i8279_state
15{
16   UINT8      command;
17   UINT8      mode;
18   UINT8      prescale;
19   UINT8      inhibit;
20   UINT8      clear;
21   UINT8      ram[16];
22};
2314
24
2515class turbo_state : public driver_device
2616{
2717public:
r14948r14949
3828   UINT8 *      m_buckrog_bitmap_ram;
3929
4030   /* machine states */
41   i8279_state   m_i8279;
31   UINT8       m_i8279_scanlines;
4232
4333   /* sound state */
4434   UINT8      m_turbo_osel;
r14948r14949
8272   UINT8      m_buckrog_command;
8373   UINT8      m_buckrog_myship;
8474   int m_last_sound_a;
85   DECLARE_READ8_MEMBER(turbo_8279_r);
86   DECLARE_WRITE8_MEMBER(turbo_8279_w);
75   
76   DECLARE_WRITE8_MEMBER(scanlines_w);
77   DECLARE_WRITE8_MEMBER(digit_w);
8778   DECLARE_READ8_MEMBER(turbo_collision_r);
8879   DECLARE_WRITE8_MEMBER(turbo_collision_clear_w);
8980   DECLARE_WRITE8_MEMBER(turbo_analog_reset_w);
src/mame/includes/bfm_sc45.h
r14948r14949
11/* Scorpion 4 + 5 driver releated includes */
22/* mainly used for stuff which is currently shared between sc4 / 5 sets to avoid duplication */
33
4#include "machine/sec.h"
5#include "machine/steppers.h" // stepper motor
6
7
8class sc4_state : public driver_device
9{
10public:
11   sc4_state(const machine_config &mconfig, device_type type, const char *tag)
12      : driver_device(mconfig, type, tag),
13        m_maincpu(*this, "maincpu")
14   {
15      m_chk41addr = -1;
16      m_dochk41 = false;
17   }
18
19   UINT16* m_cpuregion;
20   UINT16* m_mainram;
21   // devices
22   device_t* m_duart;
23   device_t* m_ymz;
24   required_device<cpu_device> m_maincpu;
25
26   // serial vfd
27   int vfd_enabled;
28   bool vfd_old_clock;
29
30   UINT8 vfd_ser_value;
31   int vfd_ser_count;
32
33   const stepper_interface **m_reel_setup;
34   int m_reel_changed;
35   int m_reels;
36   int m_reel12_latch;
37   int m_reel3_latch;
38   int m_reel4_latch;
39   int m_reel56_latch;
40   int m_optic_pattern;
41   SEC   sec;
42
43   int m_meterstatus;
44
45   int m_chk41addr;
46   bool m_dochk41;
47
48
49
50   DECLARE_READ16_MEMBER(sc4_mem_r);
51   DECLARE_WRITE16_MEMBER(sc4_mem_w);
52};
53
54class sc4_adder4_state : public sc4_state
55{
56public:
57   sc4_adder4_state(const machine_config &mconfig, device_type type, const char *tag)
58      : sc4_state(mconfig, type, tag),
59        m_adder4cpu(*this, "adder4")
60   { }
61
62   // devices
63   required_device<cpu_device> m_adder4cpu;
64};
65
66
467MACHINE_CONFIG_EXTERN( sc4 );
568MACHINE_CONFIG_EXTERN( sc4_adder4 );
6INPUT_PORTS_EXTERN( sc4 );
69INPUT_PORTS_EXTERN( sc4_base );
770
71#define SC4_JACKPOT_KEY_SETTINGS \
72   PORT_DIPSETTING(    0x00, "No Key" ) \
73   PORT_DIPSETTING(    0x01, "75GBP (club)" ) \
74   PORT_DIPSETTING(    0x02, "100GBP (club)" ) \
75   PORT_DIPSETTING(    0x03, "250GBP (club)" ) \
76   PORT_DIPSETTING(    0x04, "150GBP (club)" ) \
77   PORT_DIPSETTING(    0x05, "5" ) \
78   PORT_DIPSETTING(    0x06, "6" ) \
79   PORT_DIPSETTING(    0x07, "500GBP (club)" ) \
80   PORT_DIPSETTING(    0x08, "5GBP" ) \
81   PORT_DIPSETTING(    0x09, "9" ) \
82   PORT_DIPSETTING(    0x0a, "4GBP / 25GBP" ) \
83   PORT_DIPSETTING(    0x0b, "11" ) \
84   PORT_DIPSETTING(    0x0c, "35GBP" ) \
85   PORT_DIPSETTING(    0x0d, "70GBP" ) \
86   PORT_DIPSETTING(    0x0e, "14" ) \
87   PORT_DIPSETTING(    0x0f, "15" ) \
888
89
90
991#define sc_ivply_others \
1092   ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
1193   ROM_LOAD( "95004313.snd", 0x0000, 0x080000, CRC(28faed9e) SHA1(624d6cfcc97dd1950b5d908cde2e4d2eb6ea1dc6) ) \
r14948r14949
152234
153235#define sc_bonbx_others \
154236   ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
155   ROM_LOAD( "barx sounds", 0x0000, 0x100000, NO_DUMP ) \
237   ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX - right header, wrong sounds */ \
156238
157239#define sc_brksp_others \
158240   ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
r14948r14949
825907   ROM_LOAD( "95008780.bin", 0x100000, 0x100000, CRC(ec270dbe) SHA1(f649ffd4530feed491dc050f40aa0205f4bfdd89) ) \
826908
827909#define sc_dndww_others \
828   ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 )  \
910   ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
911   ROM_LOAD( "95008688.bin", 0x000000, 0x100000, CRC(9a5c8ac0) SHA1(988a26b042acd1462927c1b8ad300fe67c8d7c00) ) \
912   ROM_LOAD( "95008689.bin", 0x100000, 0x100000, CRC(5c1cf5fb) SHA1(c05b819158622ab96c265c85072b48ae3593b962) ) \
913   ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) /* casino set */ \
829914   ROM_LOAD( "95008730.bin", 0x0000, 0x100000, CRC(e2aebdb0) SHA1(d22fee7ff3d5912ea9a7440ec82de52a7d016090) ) /* casino wow */ \
830915
831916#define sc_dndtr_others \
src/mame/mame.mak
r14948r14949
522522   $(DRIVERS)/bfm_swp.o \
523523   $(DRIVERS)/bfmsys83.o \
524524   $(DRIVERS)/bfmsys85.o \
525   $(MACHINE)/sec.o \
525526   $(MACHINE)/bfm_bd1.o $(VIDEO)/bfm_dm01.o \
526527
527528$(MAMEOBJ)/bmc.a: \
r14948r14949
18711872   $(DRIVERS)/vcombat.o \
18721873   $(DRIVERS)/vectrex.o $(VIDEO)/vectrex.o $(MACHINE)/vectrex.o \
18731874   $(DRIVERS)/videopkr.o \
1875    $(DRIVERS)/voyager.o \
18741876   $(DRIVERS)/vp101.o \
18751877   $(DRIVERS)/vpoker.o \
18761878   $(DRIVERS)/vroulet.o \
src/mame/drivers/voyager.c
r0r14949
1/************************************************************************************
2
3Star Trek Voyager (c) 2002 Team Play, Inc. / Game Refuge / Monaco Entertainment
4
5skeleton driver by R. Belmont
6 
7Motherboard is FIC AZIIEA with AMD Duron processor of unknown speed
8Chipset: VIA KT133a with VT8363A Northbridge and VT82C686B Southbridge
9Video: Jaton 3DForce2MX-32, based on Nvidia GeForce 2MX chipset w/32 MB of VRAM
10 
11TODO: VIA KT133a chipset support, GeForce 2MX video support, lots of things ;-)
12 
13*************************************************************************************/
14
15#include "emu.h"
16#include "cpu/i386/i386.h"
17#include "memconv.h"
18#include "devconv.h"
19#include "machine/8237dma.h"
20#include "machine/pic8259.h"
21#include "machine/pit8253.h"
22#include "machine/mc146818.h"
23#include "machine/pcshare.h"
24#include "machine/pci.h"
25#include "machine/8042kbdc.h"
26#include "machine/pckeybrd.h"
27#include "machine/idectrl.h"
28#include "video/pc_vga.h"
29
30class voyager_state : public driver_device
31{
32public:
33   voyager_state(const machine_config &mconfig, device_type type, const char *tag)
34      : driver_device(mconfig, type, tag),
35        m_maincpu(*this, "maincpu")
36        { }
37
38   UINT32 *m_bios_ram;
39   int m_dma_channel;
40   UINT8 m_dma_offset[2][4];
41   UINT8 m_at_pages[0x10];
42   UINT8 m_mxtc_config_reg[256];
43   UINT8 m_piix4_config_reg[4][256];
44
45   device_t   *m_pit8254;
46   device_t   *m_pic8259_1;
47   device_t   *m_pic8259_2;
48   device_t   *m_dma8237_1;
49   device_t   *m_dma8237_2;
50
51   UINT32 m_idle_skip_ram;
52   required_device<cpu_device> m_maincpu;
53   DECLARE_READ8_MEMBER(at_page8_r);
54   DECLARE_WRITE8_MEMBER(at_page8_w);
55   DECLARE_READ8_MEMBER(pc_dma_read_byte);
56   DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
57   DECLARE_WRITE32_MEMBER(bios_ram_w);
58};
59
60
61static void ide_interrupt(device_t *device, int state);
62
63
64static READ8_DEVICE_HANDLER(at_dma8237_2_r)
65{
66   return i8237_r(device, offset / 2);
67}
68
69static WRITE8_DEVICE_HANDLER(at_dma8237_2_w)
70{
71   i8237_w(device, offset / 2, data);
72}
73
74static READ32_DEVICE_HANDLER(at32_dma8237_2_r)
75{
76   return read32le_with_read8_device_handler(at_dma8237_2_r, device, offset, mem_mask);
77}
78
79static WRITE32_DEVICE_HANDLER(at32_dma8237_2_w)
80{
81   write32le_with_write8_device_handler(at_dma8237_2_w, device, offset, data, mem_mask);
82}
83
84
85
86READ8_MEMBER(voyager_state::at_page8_r)
87{
88   UINT8 data = m_at_pages[offset % 0x10];
89
90   switch(offset % 8) {
91   case 1:
92      data = m_dma_offset[(offset / 8) & 1][2];
93      break;
94   case 2:
95      data = m_dma_offset[(offset / 8) & 1][3];
96      break;
97   case 3:
98      data = m_dma_offset[(offset / 8) & 1][1];
99      break;
100   case 7:
101      data = m_dma_offset[(offset / 8) & 1][0];
102      break;
103   }
104   return data;
105}
106
107
108WRITE8_MEMBER(voyager_state::at_page8_w)
109{
110   m_at_pages[offset % 0x10] = data;
111
112   switch(offset % 8) {
113   case 1:
114      m_dma_offset[(offset / 8) & 1][2] = data;
115      break;
116   case 2:
117      m_dma_offset[(offset / 8) & 1][3] = data;
118      break;
119   case 3:
120      m_dma_offset[(offset / 8) & 1][1] = data;
121      break;
122   case 7:
123      m_dma_offset[(offset / 8) & 1][0] = data;
124      break;
125   }
126}
127
128
129static WRITE_LINE_DEVICE_HANDLER( pc_dma_hrq_changed )
130{
131   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
132
133   /* Assert HLDA */
134   i8237_hlda_w( device, state );
135}
136
137
138READ8_MEMBER(voyager_state::pc_dma_read_byte)
139{
140   offs_t page_offset = (((offs_t) m_dma_offset[0][m_dma_channel]) << 16)
141      & 0xFF0000;
142
143   return space.read_byte(page_offset + offset);
144}
145
146
147WRITE8_MEMBER(voyager_state::pc_dma_write_byte)
148{
149   offs_t page_offset = (((offs_t) m_dma_offset[0][m_dma_channel]) << 16)
150      & 0xFF0000;
151
152   space.write_byte(page_offset + offset, data);
153}
154
155static void set_dma_channel(device_t *device, int channel, int state)
156{
157   voyager_state *drvstate = device->machine().driver_data<voyager_state>();
158   if (!state) drvstate->m_dma_channel = channel;
159}
160
161static WRITE_LINE_DEVICE_HANDLER( pc_dack0_w ) { set_dma_channel(device, 0, state); }
162static WRITE_LINE_DEVICE_HANDLER( pc_dack1_w ) { set_dma_channel(device, 1, state); }
163static WRITE_LINE_DEVICE_HANDLER( pc_dack2_w ) { set_dma_channel(device, 2, state); }
164static WRITE_LINE_DEVICE_HANDLER( pc_dack3_w ) { set_dma_channel(device, 3, state); }
165
166static I8237_INTERFACE( dma8237_1_config )
167{
168   DEVCB_LINE(pc_dma_hrq_changed),
169   DEVCB_NULL,
170   DEVCB_DRIVER_MEMBER(voyager_state, pc_dma_read_byte),
171   DEVCB_DRIVER_MEMBER(voyager_state, pc_dma_write_byte),
172   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
173   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
174   { DEVCB_LINE(pc_dack0_w), DEVCB_LINE(pc_dack1_w), DEVCB_LINE(pc_dack2_w), DEVCB_LINE(pc_dack3_w) }
175};
176
177static I8237_INTERFACE( dma8237_2_config )
178{
179   DEVCB_NULL,
180   DEVCB_NULL,
181   DEVCB_NULL,
182   DEVCB_NULL,
183   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
184   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
185   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
186};
187
188static READ32_DEVICE_HANDLER( ide_r )
189{
190   return ide_controller32_r(device, 0x1f0/4 + offset, mem_mask);
191}
192
193static WRITE32_DEVICE_HANDLER( ide_w )
194{
195   ide_controller32_w(device, 0x1f0/4 + offset, data, mem_mask);
196}
197
198
199
200
201
202static READ32_DEVICE_HANDLER( fdc_r )
203{
204   return ide_controller32_r(device, 0x3f0/4 + offset, mem_mask);
205}
206
207static WRITE32_DEVICE_HANDLER( fdc_w )
208{
209   //mame_printf_debug("FDC: write %08X, %08X, %08X\n", data, offset, mem_mask);
210   ide_controller32_w(device, 0x3f0/4 + offset, data, mem_mask);
211}
212
213
214// Intel 82439TX System Controller (MXTC)
215
216static UINT8 mxtc_config_r(device_t *busdevice, device_t *device, int function, int reg)
217{
218   voyager_state *state = busdevice->machine().driver_data<voyager_state>();
219//  mame_printf_debug("MXTC: read %d, %02X\n", function, reg);
220
221   return state->m_mxtc_config_reg[reg];
222}
223
224static void mxtc_config_w(device_t *busdevice, device_t *device, int function, int reg, UINT8 data)
225{
226   voyager_state *state = busdevice->machine().driver_data<voyager_state>();
227//  mame_printf_debug("%s:MXTC: write %d, %02X, %02X\n", machine.describe_context(), function, reg, data);
228
229   switch(reg)
230   {
231      //case 0x59:
232      case 0x63:   // PAM0
233      {
234         //if (data & 0x10)     // enable RAM access to region 0xf0000 - 0xfffff
235         if ((data & 0x50) | (data & 0xA0))
236         {
237            memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
238         }
239         else            // disable RAM access (reads go to BIOS ROM)
240         {
241            //Execution Hack to avoid crash when switch back from Shadow RAM to Bios ROM, since i386 emu haven't yet pipelined execution structure.
242            //It happens when exit from BIOS SETUP.
243            #if 0
244            if ((state->m_mxtc_config_reg[0x63] & 0x50) | ( state->m_mxtc_config_reg[0x63] & 0xA0)) // Only DO if comes a change to disable ROM.
245            {
246               if ( cpu_get_pc(busdevice->machine().device("maincpu"))==0xff74e) cpu_set_reg(busdevice->machine().device("maincpu"), STATE_GENPC, 0xff74d);
247            }
248            #endif
249
250            //memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x10000);
251            memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base());
252         }
253         break;
254      }
255   }
256
257   state->m_mxtc_config_reg[reg] = data;
258}
259
260static void intel82439tx_init(running_machine &machine)
261{
262   voyager_state *state = machine.driver_data<voyager_state>();
263   state->m_mxtc_config_reg[0x60] = 0x02;
264   state->m_mxtc_config_reg[0x61] = 0x02;
265   state->m_mxtc_config_reg[0x62] = 0x02;
266   state->m_mxtc_config_reg[0x63] = 0x02;
267   state->m_mxtc_config_reg[0x64] = 0x02;
268   state->m_mxtc_config_reg[0x65] = 0x02;
269}
270
271static UINT32 intel82439tx_pci_r(device_t *busdevice, device_t *device, int function, int reg, UINT32 mem_mask)
272{
273   UINT32 r = 0;
274
275   if(reg == 0)
276      return 0x05851106; // VT82C585VPX, VIA
277
278   if (ACCESSING_BITS_24_31)
279   {
280      r |= mxtc_config_r(busdevice, device, function, reg + 3) << 24;
281   }
282   if (ACCESSING_BITS_16_23)
283   {
284      r |= mxtc_config_r(busdevice, device, function, reg + 2) << 16;
285   }
286   if (ACCESSING_BITS_8_15)
287   {
288      r |= mxtc_config_r(busdevice, device, function, reg + 1) << 8;
289   }
290   if (ACCESSING_BITS_0_7)
291   {
292      r |= mxtc_config_r(busdevice, device, function, reg + 0) << 0;
293   }
294   return r;
295}
296
297static void intel82439tx_pci_w(device_t *busdevice, device_t *device, int function, int reg, UINT32 data, UINT32 mem_mask)
298{
299   if (ACCESSING_BITS_24_31)
300   {
301      mxtc_config_w(busdevice, device, function, reg + 3, (data >> 24) & 0xff);
302   }
303   if (ACCESSING_BITS_16_23)
304   {
305      mxtc_config_w(busdevice, device, function, reg + 2, (data >> 16) & 0xff);
306   }
307   if (ACCESSING_BITS_8_15)
308   {
309      mxtc_config_w(busdevice, device, function, reg + 1, (data >> 8) & 0xff);
310   }
311   if (ACCESSING_BITS_0_7)
312   {
313      mxtc_config_w(busdevice, device, function, reg + 0, (data >> 0) & 0xff);
314   }
315}
316
317// Intel 82371AB PCI-to-ISA / IDE bridge (PIIX4)
318
319static UINT8 piix4_config_r(device_t *busdevice, device_t *device, int function, int reg)
320{
321   voyager_state *state = busdevice->machine().driver_data<voyager_state>();
322//  mame_printf_debug("PIIX4: read %d, %02X\n", function, reg);
323   return state->m_piix4_config_reg[function][reg];
324}
325
326static void piix4_config_w(device_t *busdevice, device_t *device, int function, int reg, UINT8 data)
327{
328   voyager_state *state = busdevice->machine().driver_data<voyager_state>();
329//  mame_printf_debug("%s:PIIX4: write %d, %02X, %02X\n", machine.describe_context(), function, reg, data);
330   state->m_piix4_config_reg[function][reg] = data;
331}
332
333static UINT32 intel82371ab_pci_r(device_t *busdevice, device_t *device, int function, int reg, UINT32 mem_mask)
334{
335   UINT32 r = 0;
336
337   if(reg == 0)
338      return 0x30401106; // VT82C586B, VIA
339
340   if (ACCESSING_BITS_24_31)
341   {
342      r |= piix4_config_r(busdevice, device, function, reg + 3) << 24;
343   }
344   if (ACCESSING_BITS_16_23)
345   {
346      r |= piix4_config_r(busdevice, device, function, reg + 2) << 16;
347   }
348   if (ACCESSING_BITS_8_15)
349   {
350      r |= piix4_config_r(busdevice, device, function, reg + 1) << 8;
351   }
352   if (ACCESSING_BITS_0_7)
353   {
354      r |= piix4_config_r(busdevice, device, function, reg + 0) << 0;
355   }
356   return r;
357}
358
359static void intel82371ab_pci_w(device_t *busdevice, device_t *device, int function, int reg, UINT32 data, UINT32 mem_mask)
360{
361   if (ACCESSING_BITS_24_31)
362   {
363      piix4_config_w(busdevice, device, function, reg + 3, (data >> 24) & 0xff);
364   }
365   if (ACCESSING_BITS_16_23)
366   {
367      piix4_config_w(busdevice, device, function, reg + 2, (data >> 16) & 0xff);
368   }
369   if (ACCESSING_BITS_8_15)
370   {
371      piix4_config_w(busdevice, device, function, reg + 1, (data >> 8) & 0xff);
372   }
373   if (ACCESSING_BITS_0_7)
374   {
375      piix4_config_w(busdevice, device, function, reg + 0, (data >> 0) & 0xff);
376   }
377}
378
379WRITE32_MEMBER(voyager_state::bios_ram_w)
380{
381   //if (m_mxtc_config_reg[0x59] & 0x20)       // write to RAM if this region is write-enabled
382          if (m_mxtc_config_reg[0x63] & 0x50)
383   {
384      COMBINE_DATA(m_bios_ram + offset);
385   }
386}
387
388static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state )
389   AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
390   AM_RANGE(0x000a0000, 0x000bffff) AM_RAM // VGA VRAM
391   AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
392   AM_RANGE(0x000c8000, 0x000cffff) AM_NOP
393   //AM_RANGE(0x000d0000, 0x000d0003) AM_RAM  // XYLINX - Sincronus serial communication
394   AM_RANGE(0x000d0008, 0x000d000b) AM_WRITENOP // ???
395   AM_RANGE(0x000d0800, 0x000d0fff) AM_ROM AM_REGION("nvram",0) //
396   AM_RANGE(0x000d0800, 0x000d0fff) AM_RAM  // GAME_CMOS
397
398   //GRULL AM_RANGE(0x000e0000, 0x000effff) AM_RAM
399   //GRULL-AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bank1")
400   //GRULL AM_RANGE(0x000f0000, 0x000fffff) AM_WRITE(bios_ram_w)
401   AM_RANGE(0x000e0000, 0x000fffff) AM_ROMBANK("bank1")
402   AM_RANGE(0x000e0000, 0x000fffff) AM_WRITE(bios_ram_w)
403   AM_RANGE(0x00100000, 0x03ffffff) AM_RAM  // 64MB
404   AM_RANGE(0x02000000, 0x28ffffff) AM_NOP
405   //AM_RANGE(0x04000000, 0x040001ff) AM_RAM
406   //AM_RANGE(0x08000000, 0x080001ff) AM_RAM
407   //AM_RANGE(0x0c000000, 0x0c0001ff) AM_RAM
408   //AM_RANGE(0x10000000, 0x100001ff) AM_RAM
409   //AM_RANGE(0x14000000, 0x140001ff) AM_RAM
410   //AM_RANGE(0x18000000, 0x180001ff) AM_RAM
411   //AM_RANGE(0x20000000, 0x200001ff) AM_RAM
412   //AM_RANGE(0x28000000, 0x280001ff) AM_RAM
413   AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0)   /* System BIOS */
414ADDRESS_MAP_END
415
416static ADDRESS_MAP_START( voyager_io, AS_IO, 32, voyager_state )
417   AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8_LEGACY("dma8237_1", i8237_r, i8237_w, 0xffffffff)
418   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8_LEGACY("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
419   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8_LEGACY("pit8254", pit8253_r, pit8253_w, 0xffffffff)
420   AM_RANGE(0x0060, 0x006f) AM_READWRITE_LEGACY(kbdc8042_32le_r,         kbdc8042_32le_w)
421   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) /* todo: nvram (CMOS Setup Save)*/
422   AM_RANGE(0x0080, 0x009f) AM_READWRITE8(at_page8_r, at_page8_w, 0xffffffff)
423   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8_LEGACY("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
424   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE_LEGACY("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
425   //AM_RANGE(0x00e8, 0x00eb) AM_NOP
426   AM_RANGE(0x00e8, 0x00ef) AM_NOP //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
427   AM_RANGE(0x0170, 0x0177) AM_NOP //To debug
428   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE_LEGACY("ide", ide_r, ide_w)
429   AM_RANGE(0x0200, 0x021f) AM_NOP //To debug
430   AM_RANGE(0x0260, 0x026f) AM_NOP //To debug
431   AM_RANGE(0x0278, 0x027b) AM_WRITENOP//AM_WRITE_LEGACY(pnp_config_w)
432   AM_RANGE(0x0280, 0x0287) AM_NOP //To debug
433   AM_RANGE(0x02a0, 0x02a7) AM_NOP //To debug
434   AM_RANGE(0x02c0, 0x02c7) AM_NOP //To debug
435   AM_RANGE(0x02e0, 0x02ef) AM_NOP //To debug
436   AM_RANGE(0x0278, 0x02ff) AM_NOP //To debug
437   AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug
438   AM_RANGE(0x0320, 0x038f) AM_NOP //To debug
439   AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug
440   AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug
441   AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
442   // AM_RANGE(0x0300, 0x03af) AM_NOP
443   // AM_RANGE(0x03b0, 0x03df) AM_NOP
444   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE_LEGACY("ide", fdc_r, fdc_w)
445   AM_RANGE(0x03f8, 0x03ff) AM_NOP // To debug Serial Port COM1:
446   AM_RANGE(0x0a78, 0x0a7b) AM_WRITENOP//AM_WRITE_LEGACY(pnp_data_w)
447   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE_LEGACY("pcibus", pci_32le_r,   pci_32le_w)
448   AM_RANGE(0x42e8, 0x43ef) AM_NOP //To debug
449   AM_RANGE(0x43c0, 0x43cf) AM_RAM AM_SHARE("share1")
450   AM_RANGE(0x46e8, 0x46ef) AM_NOP //To debug
451   AM_RANGE(0x4ae8, 0x4aef) AM_NOP //To debug
452   AM_RANGE(0x83c0, 0x83cf) AM_RAM AM_SHARE("share1")
453   AM_RANGE(0x92e8, 0x92ef) AM_NOP //To debug
454
455ADDRESS_MAP_END
456
457#define AT_KEYB_HELPER(bit, text, key1) \
458   PORT_BIT( bit, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME(text) PORT_CODE(key1)
459
460
461
462#if 1
463static INPUT_PORTS_START( voyager )
464   PORT_START("pc_keyboard_0")
465   PORT_BIT ( 0x0001, 0x0000, IPT_UNUSED )    /* unused scancode 0 */
466   AT_KEYB_HELPER( 0x0002, "Esc",          KEYCODE_Q           ) /* Esc                         01  81 */
467
468   PORT_START("pc_keyboard_1")
469   AT_KEYB_HELPER( 0x0010, "T",            KEYCODE_T           ) /* T                           14  94 */
470   AT_KEYB_HELPER( 0x0020, "Y",            KEYCODE_Y           ) /* Y                           15  95 */
471   AT_KEYB_HELPER( 0x0100, "O",            KEYCODE_O           ) /* O                           18  98 */
472   AT_KEYB_HELPER( 0x1000, "Enter",        KEYCODE_ENTER       ) /* Enter                       1C  9C */
473
474   PORT_START("pc_keyboard_2")
475
476   PORT_START("pc_keyboard_3")
477   AT_KEYB_HELPER( 0x0001, "B",            KEYCODE_B           ) /* B                           30  B0 */
478   AT_KEYB_HELPER( 0x0002, "N",            KEYCODE_N           ) /* N                           31  B1 */
479   AT_KEYB_HELPER( 0x0800, "F1",           KEYCODE_S           ) /* F1                          3B  BB */
480//  AT_KEYB_HELPER( 0x8000, "F5",           KEYCODE_F5          )
481
482   PORT_START("pc_keyboard_4")
483//  AT_KEYB_HELPER( 0x0004, "F8",           KEYCODE_F8          )
484
485   PORT_START("pc_keyboard_5")
486
487   PORT_START("pc_keyboard_6")
488   AT_KEYB_HELPER( 0x0040, "(MF2)Cursor Up",      KEYCODE_UP          ) /* Up                          67  e7 */
489   AT_KEYB_HELPER( 0x0080, "(MF2)Page Up",         KEYCODE_PGUP        ) /* Page Up                     68  e8 */
490   AT_KEYB_HELPER( 0x0100, "(MF2)Cursor Left",      KEYCODE_LEFT        ) /* Left                        69  e9 */
491   AT_KEYB_HELPER( 0x0200, "(MF2)Cursor Right",      KEYCODE_RIGHT       ) /* Right                       6a  ea */
492   AT_KEYB_HELPER( 0x0800, "(MF2)Cursor Down",      KEYCODE_DOWN        ) /* Down                        6c  ec */
493   AT_KEYB_HELPER( 0x1000, "(MF2)Page Down",      KEYCODE_PGDN        ) /* Page Down                   6d  ed */
494   AT_KEYB_HELPER( 0x4000, "Del",                   KEYCODE_A           ) /* Delete                      6f  ef */
495
496   PORT_START("pc_keyboard_7")
497
498   PORT_START("IOCARD1")
499   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
500   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
501   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
502   PORT_DIPNAME( 0x0008, 0x0008, "1" )
503   PORT_DIPSETTING(    0x0008, DEF_STR( Off ) )
504   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
505   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
506   PORT_DIPSETTING(    0x0010, DEF_STR( Off ) )
507   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
508   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
509   PORT_DIPSETTING(    0x0020, DEF_STR( Off ) )
510   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
511   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Accelerator")
512   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
513   PORT_DIPSETTING(    0x0080, DEF_STR( Off ) )
514   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
515   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
516   PORT_START("IOCARD2")
517   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE1 ) // guess
518   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Reset SW")
519   PORT_DIPNAME( 0x0004, 0x0004, "2" )
520   PORT_DIPSETTING(    0x0004, DEF_STR( Off ) )
521   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
522   PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
523   PORT_DIPSETTING(    0x0008, DEF_STR( Off ) )
524   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
525   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
526   PORT_DIPSETTING(    0x0010, DEF_STR( Off ) )
527   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
528   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
529   PORT_DIPSETTING(    0x0020, DEF_STR( Off ) )
530   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
531   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Turbo")
532   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) // returns back to MS-DOS (likely to be unmapped and actually used as a lame protection check)
533   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
534   PORT_START("IOCARD3")
535   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_VBLANK )
536   PORT_BIT( 0xdfff, IP_ACTIVE_LOW, IPT_UNUSED )
537
538   PORT_START("IOCARD4")
539   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
540   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
541   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
542   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
543   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
544   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
545   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
546   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
547   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
548   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
549   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
550   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
551   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
552   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
553   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
554   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
555   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
556   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
557   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
558   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
559   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
560   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
561   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
562   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
563   PORT_DIPNAME( 0x0100, 0x0100, "DSWA" )
564   PORT_DIPSETTING(    0x0100, DEF_STR( Off ) )
565   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
566   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
567   PORT_DIPSETTING(    0x0200, DEF_STR( Off ) )
568   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
569   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
570   PORT_DIPSETTING(    0x0400, DEF_STR( Off ) )
571   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
572   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
573   PORT_DIPSETTING(    0x0800, DEF_STR( Off ) )
574   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
575   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
576   PORT_DIPSETTING(    0x1000, DEF_STR( Off ) )
577   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
578   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
579   PORT_DIPSETTING(    0x2000, DEF_STR( Off ) )
580   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
581   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
582   PORT_DIPSETTING(    0x4000, DEF_STR( Off ) )
583   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
584   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
585   PORT_DIPSETTING(    0x8000, DEF_STR( Off ) )
586   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
587   PORT_START("IOCARD5")
588   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
589   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
590   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
591   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
592   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
593   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
594   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
595   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
596   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
597   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
598   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
599   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
600   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
601   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
602   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
603   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
604   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
605   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
606   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
607   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
608   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
609   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
610   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
611   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
612   PORT_DIPNAME( 0x0100, 0x0100, "DSWA" )
613   PORT_DIPSETTING(    0x0100, DEF_STR( Off ) )
614   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
615   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
616   PORT_DIPSETTING(    0x0200, DEF_STR( Off ) )
617   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
618   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
619   PORT_DIPSETTING(    0x0400, DEF_STR( Off ) )
620   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
621   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
622   PORT_DIPSETTING(    0x0800, DEF_STR( Off ) )
623   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
624   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
625   PORT_DIPSETTING(    0x1000, DEF_STR( Off ) )
626   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
627   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
628   PORT_DIPSETTING(    0x2000, DEF_STR( Off ) )
629   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
630   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
631   PORT_DIPSETTING(    0x4000, DEF_STR( Off ) )
632   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
633   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
634   PORT_DIPSETTING(    0x8000, DEF_STR( Off ) )
635   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
636INPUT_PORTS_END
637#endif
638
639static IRQ_CALLBACK(irq_callback)
640{
641   voyager_state *state = device->machine().driver_data<voyager_state>();
642   return pic8259_acknowledge( state->m_pic8259_1);
643}
644
645static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
646
647static MACHINE_START(voyager)
648{
649   voyager_state *state = machine.driver_data<voyager_state>();
650   device_set_irq_callback(machine.device("maincpu"), irq_callback);
651
652   state->m_pit8254 = machine.device( "pit8254" );
653   state->m_pic8259_1 = machine.device( "pic8259_1" );
654   state->m_pic8259_2 = machine.device( "pic8259_2" );
655   state->m_dma8237_1 = machine.device( "dma8237_1" );
656   state->m_dma8237_2 = machine.device( "dma8237_2" );
657}
658
659/*************************************************************
660 *
661 * pic8259 configuration
662 *
663 *************************************************************/
664
665static WRITE_LINE_DEVICE_HANDLER( voyager_pic8259_1_set_int_line )
666{
667   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
668}
669
670static READ8_DEVICE_HANDLER( get_slave_ack )
671{
672   voyager_state *state = device->machine().driver_data<voyager_state>();
673   if (offset==2) {
674      return pic8259_acknowledge(state->m_pic8259_2);
675   }
676   return 0x00;
677}
678
679static const struct pic8259_interface voyager_pic8259_1_config =
680{
681   DEVCB_LINE(voyager_pic8259_1_set_int_line),
682   DEVCB_LINE_VCC,
683   DEVCB_HANDLER(get_slave_ack)
684};
685
686static const struct pic8259_interface voyager_pic8259_2_config =
687{
688   DEVCB_DEVICE_LINE("pic8259_1", pic8259_ir2_w),
689   DEVCB_LINE_GND,
690   DEVCB_NULL
691};
692
693
694
695
696/*************************************************************
697 *
698 * pit8254 configuration
699 *
700 *************************************************************/
701
702static const struct pit8253_config voyager_pit8254_config =
703{
704   {
705      {
706         4772720/4,            /* heartbeat IRQ */
707         DEVCB_NULL,
708         DEVCB_DEVICE_LINE("pic8259_1", pic8259_ir0_w)
709      }, {
710         4772720/4,            /* dram refresh */
711         DEVCB_NULL,
712         DEVCB_NULL
713      }, {
714         4772720/4,            /* pio port c pin 4, and speaker polling enough */
715         DEVCB_NULL,
716         DEVCB_NULL
717      }
718   }
719};
720
721static MACHINE_RESET(voyager)
722{
723   //memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x10000);
724   memory_set_bankptr(machine, "bank1", machine.region("bios")->base());
725}
726
727static void set_gate_a20(running_machine &machine, int a20)
728{
729   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
730}
731
732static void keyboard_interrupt(running_machine &machine, int state)
733{
734   voyager_state *drvstate = machine.driver_data<voyager_state>();
735   pic8259_ir1_w(drvstate->m_pic8259_1, state);
736}
737
738static void ide_interrupt(device_t *device, int state)
739{
740   voyager_state *drvstate = device->machine().driver_data<voyager_state>();
741   pic8259_ir6_w(drvstate->m_pic8259_2, state);
742}
743
744static int voyager_get_out2(running_machine &machine)
745{
746   voyager_state *state = machine.driver_data<voyager_state>();
747   return pit8253_get_output(state->m_pit8254, 2 );
748}
749
750static const struct kbdc8042_interface at8042 =
751{
752   KBDC8042_AT386, set_gate_a20, keyboard_interrupt, NULL, voyager_get_out2
753};
754
755static void voyager_set_keyb_int(running_machine &machine, int state)
756{
757   voyager_state *drvstate = machine.driver_data<voyager_state>();
758   pic8259_ir1_w(drvstate->m_pic8259_1, state);
759}
760
761static MACHINE_CONFIG_START( voyager, voyager_state )
762   MCFG_CPU_ADD("maincpu", PENTIUM, 133000000) // actually AMD Duron CPU of unknown clock
763   MCFG_CPU_PROGRAM_MAP(voyager_map)
764   MCFG_CPU_IO_MAP(voyager_io)
765
766   MCFG_MACHINE_START(voyager)
767   MCFG_MACHINE_RESET(voyager)
768
769   MCFG_PIT8254_ADD( "pit8254", voyager_pit8254_config )
770   MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
771   MCFG_I8237_ADD( "dma8237_2", XTAL_14_31818MHz/3, dma8237_2_config )
772   MCFG_PIC8259_ADD( "pic8259_1", voyager_pic8259_1_config )
773   MCFG_PIC8259_ADD( "pic8259_2", voyager_pic8259_2_config )
774   MCFG_IDE_CONTROLLER_ADD("ide", ide_interrupt, ide_devices, "hdd", NULL)
775
776   MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
777   MCFG_PCI_BUS_ADD("pcibus", 0)
778   MCFG_PCI_BUS_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
779   MCFG_PCI_BUS_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
780
781   /* video hardware */
782   MCFG_FRAGMENT_ADD( pcvideo_vga )
783
784   /* sound hardware */
785   MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
786MACHINE_CONFIG_END
787
788static DRIVER_INIT( voyager )
789{
790   voyager_state *state = machine.driver_data<voyager_state>();
791   state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x20000/4);
792
793   pc_vga_init(machine, vga_setting, NULL);
794   pc_svga_trident_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
795   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int);
796
797   intel82439tx_init(machine);
798
799   kbdc8042_init(machine, &at8042);
800}
801
802ROM_START( voyager )
803   ROM_REGION( 0x40000, "bios", 0 )
804    ROM_LOAD( "stv.u23", 0x000000, 0x040000, CRC(0bed28b6) SHA1(8e7f17af65ca9d17c5c7ddedb2313507d0ea8181) )
805
806   ROM_REGION( 0x8000, "video_bios", 0 )   // incorrect,
807   ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
808   ROM_CONTINUE(                                 0x0001, 0x4000 )
809
810   ROM_REGION( 0x800, "nvram", ROMREGION_ERASE00 )
811
812   DISK_REGION( "drive_0" )
813    DISK_IMAGE_READONLY( "voyager", 0, SHA1(8b94f2420f6abb40148e4ba6eed8819d8e85dbde))     
814ROM_END
815
816GAME( 2002, voyager,  0, voyager, voyager,  voyager, ROT0, "Team Play/Game Refuge/Monaco Entertainment", "Star Trek: Voyager", GAME_NOT_WORKING|GAME_NO_SOUND )
src/mame/drivers/bfm_sc4h.c
r14948r14949
2323    This file contains the hardware emulation, for the supported sets
2424    see bfm_sc4.c
2525 
26   ---
27   note, if game says 'read meters' simply press CTRL then 'B'
28   I think we're stuck in some king of free play test mode so Start 1 will spin and give you credit
29 
2630*/
2731 
2832 
r14948r14949
3539#include "bfm_sc4.lh"
3640#include "machine/bfm_bd1.h"
3741#include "video/awpvid.h"
38#include "machine/steppers.h" // stepper motor
3942 
43UINT8 read_input_matrix(running_machine &machine, int row)
44{
4045 
46   static const char *const portnames[16] = { "IN-0", "IN-1", "IN-2", "IN-3", "IN-4", "IN-5", "IN-6", "IN-7", "IN-8", "IN-9", "IN-A", "IN-B" };
47   UINT8 value;
4148 
42class sc4_state : public driver_device
43{
44public:
45   sc4_state(const machine_config &mconfig, device_type type, const char *tag)
46      : driver_device(mconfig, type, tag),
47        m_maincpu(*this, "maincpu")
49   if (row<4)
4850   {
51      value = (input_port_read_safe(machine, portnames[row], 0x00) & 0x1f) + ((input_port_read_safe(machine, portnames[row+8], 0x00) & 0x07) << 5);
4952   }
53   else
54   {
55      value = (input_port_read_safe(machine, portnames[row], 0x00) & 0x1f) + ((input_port_read_safe(machine, portnames[row+4], 0x00) & 0x18) << 2);
56   }
5057 
51   UINT16* m_cpuregion;
52   UINT16* m_mainram;
53   // devices
54   device_t* m_duart;
55   device_t* m_ymz;
56   required_device<cpu_device> m_maincpu;
58   return value;
59}
5760 
58   // serial vfd
59   int vfd_enabled;
60   bool vfd_old_clock;
61 
62   UINT8 vfd_ser_value;
63   int vfd_ser_count;
64 
65   int m_reel_changed;
66   int m_reels;
67   int m_reel12_latch;
68   int m_reel3_latch;
69   int m_reel4_latch;
70   int m_reel56_latch;
71   int m_optic_pattern;
72 
73   DECLARE_READ16_MEMBER(sc4_mem_r);
74   DECLARE_WRITE16_MEMBER(sc4_mem_w);
75};
76 
77class sc4_adder4_state : public sc4_state
78{
79public:
80   sc4_adder4_state(const machine_config &mconfig, device_type type, const char *tag)
81      : sc4_state(mconfig, type, tag),
82        m_adder4cpu(*this, "adder4")
83   { }
84 
85   // devices
86   required_device<cpu_device> m_adder4cpu;
87};
88 
8961READ16_MEMBER(sc4_state::sc4_mem_r)
9062{
9163   int pc = cpu_get_pc(&space.device());
9264   int cs = m68307_get_cs(m_maincpu, offset * 2);
9365   int base = 0, end = 0, base2 = 0, end2 = 0;
9466//  if (!(debugger_access())) printf("cs is %d\n", cs);
67   UINT16 retvalue;
9568 
69 
9670   switch ( cs )
9771   {
9872      case 1:
9973         if (offset<0x100000/2)
74         {
75            // allow some sets to boot, should probably return this data on Mbus once we figure out what it is
76            if ((pc == m_chk41addr) && (offset == m_chk41addr>>1))
77            {
78               UINT32 r_A0 = cpu_get_reg(&space.device(), M68K_A0);
79               UINT32 r_A1 = cpu_get_reg(&space.device(), M68K_A1);
80               UINT32 r_D1 = cpu_get_reg(&space.device(), M68K_D1);
81             
82               if (r_D1 == 0x7)
83               {
84                  bool valid = true;
85                  for (int i=0;i<8;i++)
86                  {
87                     UINT8 code = space.read_byte(r_A0+i);
88                     if (code != 0xff) // assume our mbus code just returns 0xff for now..
89                        valid = false;
90                  }
91 
92                  if (valid && m_dochk41)
93                  {
94                     m_dochk41 = false;
95                     // the value is actually random.. probably based on other reads
96                     // making this a comparison?
97                     printf("Ident code? ");
98                     for (int i=0;i<8;i++)
99                     {
100                        UINT8 code = space.read_byte(r_A1+i);
101                        printf("%02x",code);
102                        space.write_byte(r_A0+i, code);
103                     }
104                     printf("\n");
105                  }
106               }
107            }
108 
109 
100110            return m_cpuregion[offset];
111         
112         }
101113         else
102114            logerror("%08x maincpu read access offset %08x mem_mask %04x cs %d\n", pc, offset*2, mem_mask, cs);
103115         break;
r14948r14949
118130         else if ((offset>=base2) && (offset<end2))
119131         {
120132            offset-=base2;
133            logerror("%08x maincpu read access offset %08x mem_mask %04x cs %d\n", pc, offset*2, mem_mask, cs);
134            int addr = (offset<<1);
121135 
122            switch (offset << 1)
136            if (addr < 0x0080)
123137            {
124               case 0x0030:
125                  return 0x0000;
138               UINT16 retvalue = 0x0000;
139               if (mem_mask&0xff00)
140               {
141                  logerror("mem_mask&0xff00 unhandled\n");
142               }
126143 
127               case 0x0050:
128                  return 0x0000;
144               if (mem_mask&0x00ff)
145               {
146                  retvalue = read_input_matrix(machine(), (addr & 0x00f0)>>4);
147               }
148               return retvalue;
149            }
150            else
151            {
152               switch (addr)
153               {
154                  case 0x0240:
155                     retvalue = 0x00ff;
156                     
157                     if (mem_mask&0xff00)
158                     {
159                        retvalue |= (sec.read_data_line() << (6+8));
160                        retvalue |= 0xbf00; // coin?
161                        //printf("%08x maincpu read access offset %08x mem_mask %04x cs %d (LAMPS etc.)\n", pc, offset*2, mem_mask, cs);
162                     }
163                     return retvalue;
129164 
130               case 0x0060:
131                  return 0x0000;
165                  case 0x02e0:
166                     return 0x0080;//space.machine().rand();;
132167 
133               case 0x0240:
134                  return 0xffff;
168                  case 0x1000:
169                     return 0x0000;//space.machine().rand();;
135170 
136               case 0x02e0:
137                  return 0x0000;
171                  case 0x1010:
172                     return 0x0000;//space.machine().rand();;
138173 
139               case 0x1000:
140                  return 0x0000;
174                  case 0x1020:
175                     return 0x0000;//space.machine().rand();;
141176 
142               case 0x1010:
143                  return 0x0000;
177                  case 0x1030:
178                     return 0x0000;//space.machine().rand();;
144179 
145               case 0x1020:
146                  return 0x0000;
180                  case 0x1040: // door switch, test switch etc.
181                     return 0x0000;//space.machine().rand();;
147182 
148               case 0x1040:
149                  return 0x0000;
183                  case 0x1244:
184                     return ymz280b_r(m_ymz,0);
150185 
151               case 0x1244:
152                  return ymz280b_r(m_ymz,0);
186                  case 0x1246:
187                     return ymz280b_r(m_ymz,1);
153188 
154               case 0x1246:
155                  return ymz280b_r(m_ymz,1);
156 
157               default:
158                  logerror("%08x maincpu read access offset %08x mem_mask %04x cs %d (LAMPS etc.)\n", pc, offset*2, mem_mask, cs);
189                  default:
190                     logerror("%08x maincpu read access offset %08x mem_mask %04x cs %d (LAMPS etc.)\n", pc, offset*2, mem_mask, cs);
191               }
159192            }
160193         }
161194         else
r14948r14949
230263 
231264            switch (offset << 1)
232265            {
266               case 0x0330:
267                  logerror("%08x meter write %04x\n",pc, data);
268                  //m_meterstatus = (m_meterstatus&0xc0) | (data & 0x3f);
269                  sec.write_clock_line(~data&0x20);               
270                  break;
271 
233272               case 0x1248:
234273                  ymz280b_w(m_ymz,0, data & 0xff);
235274                  break;
r14948r14949
240279 
241280               case 0x1330:
242281                  bfm_sc4_reel4_w(&space,0,data&0xf);
282                  //m_meterstatus = (m_meterstatus&0x3f) | ((data & 0x30) << 2);
283                  sec.write_data_line(~data&0x10);
243284                  break;
244285 
245286               default:
r14948r14949
343384}
344385 
345386 
346static WRITE8_HANDLER( bfm_sc4_68307_porta_w )
387void bfm_sc4_68307_porta_w(address_space *space, bool dedicated, UINT8 data, UINT8 line_mask)
347388{
348389   sc4_state *state = space->machine().driver_data<sc4_state>();
349390 
r14948r14949
389430   awp_draw_reel(3);
390431}
391432 
392 
393static WRITE16_HANDLER( bfm_sc4_68307_portb_w )
433void bfm_sc4_68307_portb_w(address_space *space, bool dedicated, UINT16 data, UINT16 line_mask)
394434{
395   int pc = cpu_get_pc(&space->device());
396   //m68ki_cpu_core *m68k = m68k_get_safe_token(&space->device());
397   // serial output to the VFD at least..
398   logerror("%08x bfm_sc4_68307_portb_w %04x %04x\n", pc, data, mem_mask);
435//   if (dedicated == false)
436   {
437      int pc = cpu_get_pc(&space->device());
438      //m68ki_cpu_core *m68k = m68k_get_safe_token(&space->device());
439      // serial output to the VFD at least..
440      logerror("%08x bfm_sc4_68307_portb_w %04x %04x\n", pc, data, line_mask);
399441 
400   bfm_sc4_write_serial_vfd(space->machine(), (data & 0x4000)?1:0, (data & 0x1000)?1:0, !(data & 0x2000)?1:0);
442      bfm_sc4_write_serial_vfd(space->machine(), (data & 0x4000)?1:0, (data & 0x1000)?1:0, !(data & 0x2000)?1:0);
401443 
402   bfm_sc4_reel3_w(space, 0, (data&0x0f00)>>8);
444      bfm_sc4_reel3_w(space, 0, (data&0x0f00)>>8);
445   }
403446 
404447}
405 
406static READ8_HANDLER( bfm_sc4_68307_porta_r )
448UINT8 bfm_sc4_68307_porta_r(address_space *space, bool dedicated, UINT8 line_mask)
407449{
408450   int pc = cpu_get_pc(&space->device());
409451   logerror("%08x bfm_sc4_68307_porta_r\n", pc);
410452   return space->machine().rand();
411453}
412454 
413static READ16_HANDLER( bfm_sc4_68307_portb_r )
455UINT16 bfm_sc4_68307_portb_r(address_space *space, bool dedicated, UINT16 line_mask)
414456{
415   int pc = cpu_get_pc(&space->device());
416   logerror("%08x bfm_sc4_68307_portb_r %04x\n", pc, mem_mask);
417   return 0x0000;//0xffff;//space->machine().rand();
457   if (dedicated==false)
458   {
459      return 0x0000;
460   }
461   else
462   {
463      // generating certain interrupts expecteds the bit 0x8000 to be set here
464      // but it's set ot dedicated i/o, not general purpose, source?
465      return 0x8040;
466   }
418467}
419468 
420469static MACHINE_RESET( sc4 )
r14948r14949
429478      if ( stepper_optic_state(i) ) pattern |= 1<<i;
430479   }
431480 
481   state->m_dochk41 = true;
482 
432483   state->m_optic_pattern = pattern;
484   state->sec.reset();
433485}
434486 
487static NVRAM_HANDLER( bfm_sc4 )
488{
489   sc4_state *state = machine.driver_data<sc4_state>();
490   if ( read_or_write )
491   {   // writing
492      file->write(state->m_mainram,0x10000);
493   }
494   else
495   { // reading
496      if ( file )
497      {
498         file->read(state->m_mainram,0x10000);
499      }
500   }
501}
502 
503 
504 
435505static MACHINE_START( sc4 )
436506{
437507   sc4_state *state = machine.driver_data<sc4_state>();
438508   state->m_cpuregion = (UINT16*)machine.region( "maincpu" )->base();
439   state->m_mainram = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x100000);
509   state->m_mainram = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x10000);
440510   state->m_duart = machine.device("duart68681");
441511   state->m_ymz = machine.device("ymz");
442512   m68307_set_port_callbacks(machine.device("maincpu"),
r14948r14949
451521   int reels = 6;
452522   state->m_reels=reels;
453523 
454   // todo, make reel configs a per game structure
455524   for ( int n = 0; n < reels; n++ )
456525   {
457      if (n!=3) stepper_config(machine, n, &starpoint_interface_48step);
458      else  stepper_config(machine, n, &starpoint_interface_200step_reel); // luckb
526       if (state->m_reel_setup[n]) stepper_config(machine, n, state->m_reel_setup[n]);
459527   }
460528   if (reels)
461529   {
r14948r14949
478546 
479547void bfm_sc4_duart_irq_handler(device_t *device, UINT8 vector)
480548{
549   // triggers after reel tests on luckb, at the start on dnd...
550   // not sure this is right, causes some games to crash
481551   logerror("bfm_sc4_duart_irq_handler\n");
552   m68307_licr2_interrupt((legacy_cpu_device*)device->machine().device("maincpu"));
482553};
483554 
484555void bfm_sc4_duart_tx(device_t *device, int channel, UINT8 data)
r14948r14949
527598 
528599void m68307_duart_irq_handler(device_t *device, UINT8 vector)
529600{
530   printf("m68307_duart_irq_handler\n");
601   logerror("m68307_duart_irq_handler\n");
531602   m68307_serial_interrupt((legacy_cpu_device*)device->machine().device("maincpu"), vector);
532603};
533604 
r14948r14949
535606{
536607   if (channel==0)
537608   {
538      printf("m68307_duart_tx %02x\n",data);
609      logerror("m68307_duart_tx %02x\n",data);
539610   }
540611   else
541612   {
r14948r14949
545616 
546617UINT8 m68307_duart_input_r(device_t *device)
547618{
548   printf("m68307_duart_input_r\n");
619   logerror("m68307_duart_input_r\n");
549620   return 0x00;
550621}
551622 
552623void m68307_duart_output_w(device_t *device, UINT8 data)
553624{
554   printf("m68307_duart_output_w %02x\n", data);
625   logerror("m68307_duart_output_w %02x\n", data);
555626}
556627 
557628 
r14948r14949
579650   /* sound hardware */
580651   MCFG_SPEAKER_STANDARD_MONO("mono")
581652 
653   MCFG_NVRAM_HANDLER(bfm_sc4)
582654 
583 
584655   MCFG_DUART68681_ADD("duart68681", 16000000/4, bfm_sc4_duart68681_config) // ?? Mhz
585656 
586657 
r14948r14949
598669MACHINE_CONFIG_END
599670 
600671 
601INPUT_PORTS_START( sc4 )
672INPUT_PORTS_START( sc4_base )
673   PORT_START("IN-0")
674   PORT_DIPNAME( 0x01, 0x00, "IN-0:0" )
675   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
676   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
677   PORT_DIPNAME( 0x02, 0x00, "IN-0:1" )
678   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
679   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
680   PORT_DIPNAME( 0x04, 0x00, "IN-0:2" )
681   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
682   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
683   PORT_DIPNAME( 0x08, 0x00, "IN-0:3" )
684   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
685   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
686   PORT_DIPNAME( 0x10, 0x00, "IN-0:4" )
687   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
688   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
689 
690   PORT_START("IN-1")
691   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
692   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
693   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
694   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 )
695   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5 )
696 
697   PORT_START("IN-2")
698   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON6 )
699   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON7 )
700   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON8 )
701   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON9 )
702   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1") // also gives you 0.50 credits at the moment, I guess because we're in freeplay?
703 
704 
705   PORT_START("IN-3")
706   PORT_DIPNAME( 0x01, 0x00, "IN-3:0" )
707   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
708   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
709   PORT_DIPNAME( 0x02, 0x00, "IN-3:1" )
710   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
711   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
712   PORT_DIPNAME( 0x04, 0x00, "IN-3:2" )
713   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
714   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
715   PORT_DIPNAME( 0x08, 0x00, "IN-3:3" )
716   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
717   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
718   PORT_DIPNAME( 0x10, 0x00, "IN-3:4" )
719   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
720   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
721 
722 
723   PORT_START("IN-4")
724   PORT_DIPNAME( 0x01, 0x00, "IN-4:0" )
725   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
726   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
727   PORT_DIPNAME( 0x02, 0x00, "IN-4:1" )
728   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
729   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
730   PORT_DIPNAME( 0x04, 0x00, "IN-4:2" )
731   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
732   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
733   PORT_DIPNAME( 0x08, 0x00, "IN-4:3" )
734   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
735   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
736   PORT_DIPNAME( 0x10, 0x00, "IN-4:4" )
737   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
738   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
739 
740 
741   PORT_START("IN-5")
742   PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) // Jackpot Key, filled in later
743   PORT_DIPNAME( 0x10, 0x00, "IN-5:4" )
744   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
745   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
746 
747   PORT_START("IN-6")
748   PORT_DIPNAME( 0x01, 0x00, "IN-6:0" )
749   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
750   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
751   PORT_DIPNAME( 0x02, 0x00, "IN-6:1" )
752   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
753   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
754   PORT_DIPNAME( 0x04, 0x00, "IN-6:2" )
755   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
756   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
757   PORT_DIPNAME( 0x08, 0x00, "IN-6:3" )
758   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
759   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
760   PORT_DIPNAME( 0x10, 0x00, "IN-6:4" )
761   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
762   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
763 
764   PORT_START("IN-7")
765   PORT_DIPNAME( 0x01, 0x00, "IN-7:0" )
766   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
767   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
768   PORT_DIPNAME( 0x02, 0x00, "IN-7:1" )
769   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
770   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
771   PORT_DIPNAME( 0x04, 0x00, "IN-7:2" )
772   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
773   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
774   PORT_DIPNAME( 0x08, 0x00, "IN-7:3" )
775   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
776   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
777   PORT_DIPNAME( 0x10, 0x00, "IN-7:4" )
778   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
779   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
780 
781   PORT_START("IN-8")
782   PORT_DIPNAME( 0x01, 0x00, "IN-8:0" )
783   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
784   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
785   PORT_DIPNAME( 0x02, 0x00, "IN-8:1" )
786   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
787   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
788   PORT_DIPNAME( 0x04, 0x00, "IN-8:2" )
789   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
790   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
791   PORT_DIPNAME( 0x08, 0x00, "IN-8:3" )
792   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
793   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
794   PORT_DIPNAME( 0x10, 0x00, "IN-8:4" )
795   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
796   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
797 
798 
799   PORT_START("IN-9")
800   PORT_DIPNAME( 0x01, 0x00, "IN-9:0" )
801   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
802   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
803   PORT_DIPNAME( 0x02, 0x00, "IN-9:1" )
804   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
805   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
806   PORT_DIPNAME( 0x04, 0x00, "IN-9:2" )
807   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
808   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
809   PORT_DIPNAME( 0x08, 0x00, "IN-9:3" )
810   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
811   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
812   PORT_DIPNAME( 0x10, 0x00, "IN-9:4" )
813   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
814   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
815 
816 
817   PORT_START("IN-a")
818   PORT_DIPNAME( 0x01, 0x00, "IN-a:0" )
819   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
820   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
821   PORT_DIPNAME( 0x02, 0x00, "IN-a:1" )
822   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
823   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
824   PORT_DIPNAME( 0x04, 0x00, "IN-a:2" )
825   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
826   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
827   PORT_DIPNAME( 0x08, 0x00, "IN-a:3" )
828   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
829   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
830   PORT_DIPNAME( 0x10, 0x00, "IN-a:4" )
831   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
832   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
833 
834 
835   PORT_START("IN-b")
836   PORT_DIPNAME( 0x01, 0x00, "IN-b:0" )
837   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
838   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
839   PORT_DIPNAME( 0x02, 0x00, "IN-b:1" )
840   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
841   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
842   PORT_DIPNAME( 0x04, 0x00, "IN-b:2" )
843   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
844   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
845   PORT_DIPNAME( 0x08, 0x00, "IN-b:3" )
846   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
847   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
848   PORT_DIPNAME( 0x10, 0x00, "IN-b:4" )
849   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
850   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
602851INPUT_PORTS_END
603852 
604853 
src/mame/drivers/bfm_sc4.c
r14948r14949
1717#include "includes/bfm_sc45.h"
1818
1919
20bool compare_mbus(UINT16* rom)
21{
22   for (int i=0;i<11;i++)
23   {
24      if (rom[0] != 0xb109)
25         return false;
26
27      if (rom[3] != 0x6612)
28         return false;
29     
30      if (rom[7] != 0x0c81)
31         return false;
32     
33      if (rom[10] != 0x66ea)
34         return false;
35   }
36
37   return true;
38}
39
40void find_mbus(sc4_state *state, UINT16* rom)
41{
42   for (int i=0;i<(0x100000-0x40)/2;i++)
43   {
44      bool found = compare_mbus(&rom[i]);
45
46      if (found==true)
47      {
48         printf("x found at %08x\n", i*2);
49         state->m_chk41addr = i*2;
50      }
51   }
52}
53
54
55// addrxor used for endianness stuff, mode used for when we have a missing pair half
56int find_project_string(running_machine &machine, int addrxor, int mode)
57{
58   // search for the title
59   const int strlength = 14;
60   char title_string[] = "PROJECT NUMBER";
61   UINT8 *src = machine.region( "maincpu" )->base();
62   int size = machine.region( "maincpu" )->bytes();
63
64   int search_start = 0;
65   int search_step = 1;
66
67   if (mode==1)
68   {
69      search_start = 0;
70      search_step = 2;
71   }
72
73   if (mode==2)
74   {
75      search_start = 1;
76      search_step = 2;
77   }
78
79   for (int i=0;i<size-strlength;i++)
80   {
81   //  printf("%02x", src[i]);
82
83      int j;
84      int found = 1;
85      for (j=search_start;j<strlength;j+=search_step)
86      {
87         UINT8 rom = src[(i+j)^addrxor];
88         UINT8 chr = title_string[j];
89
90         if (rom != chr)
91         {
92            found = 0;
93            break;
94         }
95      }
96
97      if (found!=0)
98      {
99
100         int end=0;
101         int count = 0;
102         int blankcount = 0;
103         printf("ID String @ %08x\n", i);
104
105         if (mode==2)
106         {
107            count = -1;
108         }
109
110         while (!end)
111         {
112            UINT8 rom;
113            int addr;
114            if (mode==0)
115            {
116               addr = (i+count)^addrxor;
117               rom = src[addr];
118            }
119            else if (mode == 1)
120            {
121               addr = (i+count)^addrxor;
122
123               if (addr&1)
124                  rom = src[addr];
125               else
126                  rom = '_';
127            }
128            else
129            {
130               addr = (i+count)^addrxor;
131
132               if (addr&1)
133                  rom = '_';
134               else
135                  rom = src[addr];
136            }
137
138
139            //if (rom==0xff)
140            //  end = 1;
141            //else
142            {
143               if ((rom>=0x20) && (rom<0x7f))
144               {
145                  printf("%c", rom);
146                  blankcount = 0;
147               }
148               else
149               {
150                  blankcount++;
151                  if (blankcount<10) printf(" ");
152               }
153            }
154
155            count++;
156
157            if (count>=0x100)
158               end = 1;
159         }
160         printf("\n");
161
162         return 1;
163      }
164   }
165
166   return 0;
167}
168
169/* default reels */
170const stepper_interface* default_reel_configs[6] =
171{
172   &starpoint_interface_48step,
173   &starpoint_interface_48step,
174   &starpoint_interface_48step,
175   &starpoint_interface_48step,
176   &starpoint_interface_48step,
177   &starpoint_interface_48step,
178};
179
180/* default inputs */
181INPUT_PORTS_START( sc4 )
182   PORT_INCLUDE ( sc4_base )
183   PORT_MODIFY("IN-5")
184   PORT_DIPNAME( 0x0f, 0x00, "Jackpot Key" )
185   SC4_JACKPOT_KEY_SETTINGS
186INPUT_PORTS_END
187
188
189
190DRIVER_INIT( sc4 )
191{
192   UINT8 *src = machine.region( "maincpu" )->base();
193   // SC4 identification sequence 0x80 0x00 0xf0 0x7d
194   if (((src[0] == 0x80) && (src[2] == 0xf0)) || ((src[1] == 0x00) && (src[3] == 0x7d)))
195   {
196      printf("Confirmed SC4 ROM\n");
197   }
198   else
199   {
200      printf("NOT AN SC4 ROM!!!!!\n");
201   }
202
203   // there is usually a string in the rom with identification info, often also saying which sound rom should be used!
204   // find it.
205
206   int found = find_project_string(machine, 1, 0);
207   if (!found)
208      printf("Normal rom pair string not found, checking mismatched / missing rom string\n");
209
210   // help identify roms where one of the pair is missing too
211   if (!found)
212   {
213       found = find_project_string(machine, 1, 1);
214       found = find_project_string(machine, 1, 2);
215   }
216
217   if (!found)
218      printf("No suitable string found\n");
219
220   
221   sc4_state *state = machine.driver_data<sc4_state>();
222
223   state->m_reel_setup = default_reel_configs;
224
225}
226
227DRIVER_INIT( sc4mbus )
228{
229   DRIVER_INIT_CALL( sc4 );
230   sc4_state *state = machine.driver_data<sc4_state>();
231   UINT16 *rom = (UINT16 *)machine.region("maincpu")->base();
232   find_mbus(state, rom);
233}
234
235
20236ROM_START( sc4tst )
21237   ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF )
22238   ROM_LOAD16_BYTE( "ftu_sc4_testrig.hi", 0x00000, 0x080000, CRC(dacba04e) SHA1(fb96c790600f55769ddff4868d10b431d07777a4) )
r14948r14949
1703917255
1704017256
1704117257
17258
17259
1704217260ROM_START( sc4dnddw )
1704317261   ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF )
1704417262   ROM_LOAD16_BYTE( "95422474.lo", 0x00001, 0x080000, CRC(2d263524) SHA1(202f0a095b4a10979105dfa1e189c8eb0f2fb18e) )
r14948r14949
2249222710ROM_END
2249322711
2249422712
22495// addrxor used for endianness stuff, mode used for when we have a missing pair half
22496int find_project_string(running_machine &machine, int addrxor, int mode)
22497{
22498   // search for the title
22499   const int strlength = 14;
22500   char title_string[] = "PROJECT NUMBER";
22501   UINT8 *src = machine.region( "maincpu" )->base();
22502   int size = machine.region( "maincpu" )->bytes();
22503
22504   int search_start = 0;
22505   int search_step = 1;
22506
22507   if (mode==1)
22508   {
22509      search_start = 0;
22510      search_step = 2;
22511   }
22512
22513   if (mode==2)
22514   {
22515      search_start = 1;
22516      search_step = 2;
22517   }
22518
22519   for (int i=0;i<size-strlength;i++)
22520   {
22521   //  printf("%02x", src[i]);
22522
22523      int j;
22524      int found = 1;
22525      for (j=search_start;j<strlength;j+=search_step)
22526      {
22527         UINT8 rom = src[(i+j)^addrxor];
22528         UINT8 chr = title_string[j];
22529
22530         if (rom != chr)
22531         {
22532            found = 0;
22533            break;
22534         }
22535      }
22536
22537      if (found!=0)
22538      {
22539
22540         int end=0;
22541         int count = 0;
22542         int blankcount = 0;
22543         printf("ID String @ %08x\n", i);
22544
22545         if (mode==2)
22546         {
22547            count = -1;
22548         }
22549
22550         while (!end)
22551         {
22552            UINT8 rom;
22553            int addr;
22554            if (mode==0)
22555            {
22556               addr = (i+count)^addrxor;
22557               rom = src[addr];
22558            }
22559            else if (mode == 1)
22560            {
22561               addr = (i+count)^addrxor;
22562
22563               if (addr&1)
22564                  rom = src[addr];
22565               else
22566                  rom = '_';
22567            }
22568            else
22569            {
22570               addr = (i+count)^addrxor;
22571
22572               if (addr&1)
22573                  rom = '_';
22574               else
22575                  rom = src[addr];
22576            }
22577
22578
22579            //if (rom==0xff)
22580            //  end = 1;
22581            //else
22582            {
22583               if ((rom>=0x20) && (rom<0x7f))
22584               {
22585                  printf("%c", rom);
22586                  blankcount = 0;
22587               }
22588               else
22589               {
22590                  blankcount++;
22591                  if (blankcount<10) printf(" ");
22592               }
22593            }
22594
22595            count++;
22596
22597            if (count>=0x100)
22598               end = 1;
22599         }
22600         printf("\n");
22601
22602         return 1;
22603      }
22604   }
22605
22606   return 0;
22607}
22608
22609DRIVER_INIT( sc4 )
22610{
22611   UINT8 *src = machine.region( "maincpu" )->base();
22612   // SC4 identification sequence 0x80 0x00 0xf0 0x7d
22613   if (((src[0] == 0x80) && (src[2] == 0xf0)) || ((src[1] == 0x00) && (src[3] == 0x7d)))
22614   {
22615      printf("Confirmed SC4 ROM\n");
22616   }
22617   else
22618   {
22619      printf("NOT AN SC4 ROM!!!!!\n");
22620   }
22621
22622   // there is usually a string in the rom with identification info, often also saying which sound rom should be used!
22623   // find it.
22624
22625   int found = find_project_string(machine, 1, 0);
22626   if (!found)
22627      printf("Normal rom pair string not found, checking mismatched / missing rom string\n");
22628
22629   // help identify roms where one of the pair is missing too
22630   if (!found)
22631   {
22632       found = find_project_string(machine, 1, 1);
22633       found = find_project_string(machine, 1, 2);
22634   }
22635
22636   if (!found)
22637      printf("No suitable string found\n");
22638
22639}
22640
2264122713/* Scorpion 4 */
2264222714
2264322715GAME( 200?, sc4tst      ,0,         sc4, sc4, sc4, ROT0, "BFM","Scorpion 4 Test Rig (Bellfruit) (Scorpion ?)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2273622808
2273722809
2273822810// PR2538 BACK OF THE NET V011         BACKOFTHENETSND         BACK OF THE NET
22739GAME( 200?, sc4botn      ,0,         sc4, sc4, sc4, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
22740GAME( 200?, sc4botna   ,sc4botn,   sc4, sc4, sc4, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
22811GAME( 200?, sc4botn      ,0,         sc4, sc4, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
22812GAME( 200?, sc4botna   ,sc4botn,   sc4, sc4, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2274122813
2274222814
2274322815// PR2034 BANK ROLL         ROL SOUNDS          BANK ROLL
r14948r14949
2277922851GAME( 200?, sc4bluee   ,sc4blue,   sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2278022852
2278122853
22854const stepper_interface* sc4bonbx_reel_configs[6] =
22855{
22856   &starpoint_interface_200step_reel,
22857   &starpoint_interface_200step_reel,
22858   &starpoint_interface_200step_reel,
22859   0,
22860   0,
22861   0,
22862};
22863
22864static DRIVER_INIT( sc4bonbxm )
22865{
22866   sc4_state *state = machine.driver_data<sc4_state>();
22867   DRIVER_INIT_CALL( sc4mbus );
22868   state->m_reel_setup = sc4bonbx_reel_configs;
22869}
22870
22871static DRIVER_INIT( sc4bonbx )
22872{
22873   sc4_state *state = machine.driver_data<sc4_state>();
22874   DRIVER_INIT_CALL( sc4 );
22875   state->m_reel_setup = sc4bonbx_reel_configs;
22876}
22877
22878INPUT_PORTS_START( sc4bonbx4 )
22879   PORT_INCLUDE( sc4_base )
22880   PORT_MODIFY("IN-5")
22881   PORT_DIPNAME( 0x0f, 0x0a, "Jackpot Key" ) // default to 4GBP key
22882   SC4_JACKPOT_KEY_SETTINGS
22883INPUT_PORTS_END
22884
22885
2278222886// PR7036GOLDEN X         GOLDEN X  ARCADE  BARX SOUNDS         GOLDEN X
22783GAME( 200?, sc4bonbx   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
22784GAME( 200?, sc4bonbxc   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
22785GAME( 200?, sc4bonbxd   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
22786GAME( 200?, sc4bonbxe   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
22787GAME( 200?, sc4bonbxf   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
22887GAME( 200?, sc4bonbx   ,0,         sc4, sc4bonbx4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
22888GAME( 200?, sc4bonbxc   ,sc4bonbx,   sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
22889GAME( 200?, sc4bonbxd   ,sc4bonbx,   sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
22890GAME( 200?, sc4bonbxe   ,sc4bonbx,   sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
22891GAME( 200?, sc4bonbxf   ,sc4bonbx,   sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2278822892// PR7036GOLDEN X         BARX SOUNDS         GOLDEN X
22789GAME( 200?, sc4bonbxa   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
22790GAME( 200?, sc4bonbxb   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
22791GAME( 200?, sc4bonbxg   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
22792GAME( 200?, sc4bonbxh   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
22793GAME( 200?, sc4bonbxi   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
22794GAME( 200?, sc4bonbxj   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
22795GAME( 200?, sc4bonbxk   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
22796GAME( 200?, sc4bonbxl   ,sc4bonbx,   sc4, sc4, sc4, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
22893GAME( 200?, sc4bonbxa   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
22894GAME( 200?, sc4bonbxb   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
22895GAME( 200?, sc4bonbxg   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
22896GAME( 200?, sc4bonbxh   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
22897GAME( 200?, sc4bonbxi   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
22898GAME( 200?, sc4bonbxj   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
22899GAME( 200?, sc4bonbxk   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
22900GAME( 200?, sc4bonbxl   ,sc4bonbx,   sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
2279722901
2279822902
2279922903// PR2023.GERMAN BRIX...........PR2023,German BRIX,......PR2023 SOUNDS V1  (non-standard header)
r14948r14949
2296723071
2296823072
2296923073// PR2360 CASINO KING X         BARKX SOUNDS         8  KING X
22970GAME( 200?, sc4ckx      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
22971GAME( 200?, sc4ckxd      ,sc4ckx,   sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23074GAME( 200?, sc4ckx      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
23075GAME( 200?, sc4ckxd      ,sc4ckx,   sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
2297223076// PR2360 CASINO KING X         KING X  MAZ BARKX SOUNDS         KING X 3P
2297323077GAME( 200?, sc4ckxa      ,sc4ckx,   sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
2297423078GAME( 200?, sc4ckxb      ,sc4ckx,   sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2303623140
2303723141
2303823142// PR1208 COLOSSUS         95004235 COLOSSUS PR7155             COLOSSUS
23039GAME( 200?, sc4colos   ,0,         sc4, sc4, sc4, ROT0, "BFM","Colossus (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23143GAME( 200?, sc4colos   ,0,         sc4, sc4, sc4, ROT0, "BFM","Colossus (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2304023144
2304123145
2304223146
r14948r14949
2310623210
2310723211
2310823212// PR7141 CRAZY GANG         PR7141 CRAZY GANG SOUNDS11            CRAZY GANG
23109GAME( 200?, sc4crzgn   ,0,         sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23213GAME( 200?, sc4crzgn   ,0,         sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
2311023214GAME( 200?, sc4crzgna   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23111GAME( 200?, sc4crzgnb   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23215GAME( 200?, sc4crzgnb   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 3, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
2311223216GAME( 200?, sc4crzgnc   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2311323217GAME( 200?, sc4crzgnd   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2311423218GAME( 200?, sc4crzgne   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2311523219GAME( 200?, sc4crzgnf   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
23116GAME( 200?, sc4crzgng   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
23220GAME( 200?, sc4crzgng   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 8, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
2311723221GAME( 200?, sc4crzgnh   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
2311823222GAME( 200?, sc4crzgni   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
23119GAME( 200?, sc4crzgnj   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
23223GAME( 200?, sc4crzgnj   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 11, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
2312023224GAME( 200?, sc4crzgnk   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
2312123225GAME( 200?, sc4crzgnl   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
2312223226GAME( 200?, sc4crzgnm   ,sc4crzgn,   sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2329423398GAME( 200?, sc4feverh   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
2329523399GAME( 200?, sc4feverk   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2329623400//  PR1202 FEVER         95004239 FEVER PR7157
23297GAME( 200?, sc4feveri   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23298GAME( 200?, sc4feverj   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23299GAME( 200?, sc4feverl   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23401GAME( 200?, sc4feveri   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
23402GAME( 200?, sc4feverj   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
23403GAME( 200?, sc4feverl   ,sc4fever,   sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2330023404
2330123405// PR7119 FEVER_PITCH         PR7119 FEVER PITCH SOUNDS11
2330223406GAME( 200?, sc4fpitc   ,0,         sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2331323417GAME( 200?, sc4fpitck   ,sc4fpitc,   sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
2331423418
2331523419// PR1216 FEVER ART12         95004318 FEVER T N PR1251
23316GAME( 200?, sc4fevnx   ,0,         sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23317GAME( 200?, sc4fevnxa   ,sc4fevnx,   sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23420GAME( 200?, sc4fevnx   ,0,         sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
23421GAME( 200?, sc4fevnxa   ,sc4fevnx,   sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2331823422
2331923423// PR6835 FIRE CRACKER         PR6835 FIRE SOUNDS11
2332023424GAME( 200?, sc4fcc      ,0,         sc4, sc4, sc4, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2342023524
2342123525
2342223526// PR1224 THE GAME CASINO         95004285 THEGAME PR1153
23423GAME( 200?, sc4gamcs   ,0,         sc4, sc4, sc4, ROT0, "BFM","The Game Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23527GAME( 200?, sc4gamcs   ,0,         sc4, sc4, sc4, ROT0, "BFM","The Game Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2342423528// PR1213 THE GAME         95004285 THEGAME PR1153
23425GAME( 200?, sc4game      ,0,         sc4, sc4, sc4, ROT0, "BFM","The Game (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23529GAME( 200?, sc4game      ,0,         sc4, sc4, sc4, ROT0, "BFM","The Game (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2342623530
2342723531
2342823532// PR2162 GETTIN' ZIGGY         ZIGY SOUNDS         GETTIN' ZIGGY
r14948r14949
2350923613GAME( 200?, sc4gshota   ,sc4gshot,   sc4, sc4, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
2351023614GAME( 200?, sc4gshotc   ,sc4gshot,   sc4, sc4, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2351123615
23512// PR1431 GOLDEN WINNER         PR1431 GOLDEN WINNER SND11
23616// PR1431 GOLDEN WINNER         PR1431 GOLDEN WINNER SND11   // these show nothing
2351323617GAME( 200?, sc4goldw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
2351423618GAME( 200?, sc4goldwa   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2351523619GAME( 200?, sc4goldwb   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
2351623620GAME( 200?, sc4goldwc   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
23517// PR1437 GOLDEN WINNER         PR1436 TRIPLE CASINO SOUNDS11
23621// PR1437 GOLDEN WINNER         PR1436 TRIPLE CASINO SOUNDS11  // these show init comms
2351823622GAME( 200?, sc4goldwd   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2351923623GAME( 200?, sc4goldwe   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2352023624GAME( 200?, sc4goldwf   ,sc4goldw,   sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2354723651GAME( 200?, sc4gx3g      ,sc4gx3,   sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2354823652
2354923653// PR1211 GOUDKOORTS         95004288 GOUDKOORTS PR1151
23550GAME( 200?, sc4goud      ,0,         sc4, sc4, sc4, ROT0, "BFM","Goudkoorts (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23654GAME( 200?, sc4goud      ,0,         sc4, sc4, sc4, ROT0, "BFM","Goudkoorts (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2355123655
2355223656// PR7019 GRAB A GRANNY         GRANNY SOUNDS
2355323657GAME( 200?, sc4gag      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2358823692GAME( 200?, sc4hfcla   ,sc4hfcl,   sc4, sc4, sc4, ROT0, "BFM","Happy Fruits Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2358923693
2359023694// PR1216 HEATWAVE ART 12         95004287 HEATWAVE PR1156
23591GAME( 200?, sc4heatw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Heatwave (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23695GAME( 200?, sc4heatw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Heatwave (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2359223696
2359323697// PR1254 HELLRAISER ART12         95004326 HELLRAISER PR1254
2359423698GAME( 200?, sc4helrd   ,0,         sc4, sc4, sc4, ROT0, "BFM","Hellraiser (Bellfruit) [Dutch] (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2363023734GAME( 200?, sc4hi5f      ,sc4hi5,   sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
2363123735GAME( 200?, sc4hi5g      ,sc4hi5,   sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2363223736
23633
23737// mux row error
2363423738//  PR2066 HIGHLY SPRUNG         HIGH SOUNDS          HIGHLY SPRUNG
2363523739GAME( 200?, sc4sprng   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Highly Sprung (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
2363623740
r14948r14949
2366423768
2366523769
2366623770//  PR1759 CLUB HOT SIX         HOT SIX CLUB  PR1759 HOSX SOUNDS11
23667GAME( 200?, sc4h6cl      ,0,         sc4, sc4, sc4, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23668GAME( 200?, sc4h6cla   ,sc4h6cl,   sc4, sc4, sc4, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23669GAME( 200?, sc4h6clb   ,sc4h6cl,   sc4, sc4, sc4, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23670GAME( 200?, sc4h6clc   ,sc4h6cl,   sc4, sc4, sc4, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
23771GAME( 200?, sc4h6cl      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23772GAME( 200?, sc4h6cla   ,sc4h6cl,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23773GAME( 200?, sc4h6clb   ,sc4h6cl,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23774GAME( 200?, sc4h6clc   ,sc4h6cl,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2367123775
2367223776// PR2036 HYDE & STREAK         HYDE SOUNDS          HYDE & STREAK
2367323777GAME( 200?, sc4hyde      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2368023784GAME( 200?, sc4hypera   ,sc4hyper,   sc4, sc4, sc4, ROT0, "Mazooma","Hyperactive (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2368123785
2368223786// PR2403 CLUB ITALIAN JOB         CLUB ITALIAN JOB  CLUB  CLUB ITJB SOUNDS
23683GAME( 200?, sc4ijclb   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Italian Job Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23787GAME( 200?, sc4ijclb   ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
2368423788
2368523789// PR2078 JACK THE KIPPER         JKIP SOUNDS         JACK THE KIPPER
2368623790GAME( 200?, sc4jack      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2382023924GAME( 200?, sc4knokc   ,sc4knok,   sc4, sc4, sc4, ROT0, "Mazooma","Knockout (PR2057) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2382123925
2382223926// PR1209 LAS VEGAS         95004261 LASVEGAS PR7159
23823GAME( 200?, sc4lasv      ,0,         sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23824GAME( 200?, sc4lasva   ,sc4lasv,   sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23927GAME( 200?, sc4lasv      ,0,         sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
23928GAME( 200?, sc4lasva   ,sc4lasv,   sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2382523929
2382623930// PR1001  LET IT ROLL         PR1001 LETITROLL SOUNDS11
2382723931GAME( 200?, sc4lir      ,0,         sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2385723961GAME( 200?, sc4ldcase   ,sc4ldcas,   sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2385823962
2385923963// PR2421 LITTLEDEVIL         CLUB LITTLEDEVIL  CLUB  CLILDEV SOUNDS         CLUB LITTLEDEVIL
23860GAME( 200?, sc4ldvcl   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Little Devil Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
23964GAME( 200?, sc4ldvcl   ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
2386123965
2386223966// PR1108 LOCKBUSTER         PR1108 LOCKBUSTER SOUNDS11
2386323967GAME( 200?, sc4lockb   ,0,         sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2394224046// PR2085  LUCKY SEVENS         LUCKY SEVENS  ARCADE  LUCKY SOUNDS         LUCKY SEVENS
2394324047GAME( 200?, sc4luck7d   ,sc4luck7,   sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2394424048
24049const stepper_interface* sc4luckb_reel_configs[6] =
24050{
24051   &starpoint_interface_48step,
24052   &starpoint_interface_48step,
24053   &starpoint_interface_48step,
24054   &starpoint_interface_200step_reel,
24055   0,
24056   0,
24057};
2394524058
24059static DRIVER_INIT( sc4luckb )
24060{
24061   sc4_state *state = machine.driver_data<sc4_state>();
24062   DRIVER_INIT_CALL( sc4 );
24063   state->m_reel_setup = sc4luckb_reel_configs;
24064}
24065
24066
2394624067// PR1033 CASINO LUCKY BALLS         PR1033 LUCKY BALLS SOUNDS11
23947GAME( 200?, sc4luckb   ,0,         sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23948GAME( 200?, sc4luckba   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23949GAME( 200?, sc4luckbb   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23950GAME( 200?, sc4luckbc   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
23951GAME( 200?, sc4luckbd   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
23952GAME( 200?, sc4luckbe   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
23953GAME( 200?, sc4luckbf   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
23954GAME( 200?, sc4luckbg   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
23955GAME( 200?, sc4luckbh   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
23956GAME( 200?, sc4luckbi   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
23957GAME( 200?, sc4luckbj   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
23958GAME( 200?, sc4luckbk   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
23959GAME( 200?, sc4luckbl   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
23960GAME( 200?, sc4luckbm   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
23961GAME( 200?, sc4luckbn   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
23962GAME( 200?, sc4luckbo   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
23963GAME( 200?, sc4luckbp   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
23964GAME( 200?, sc4luckbt   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
23965GAME( 200?, sc4luckbu   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
23966GAME( 200?, sc4luckbv   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
23967GAME( 200?, sc4luckbw   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
23968GAME( 200?, sc4luckbx   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
24068GAME( 200?, sc4luckb   ,0,         sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24069GAME( 200?, sc4luckba   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24070GAME( 200?, sc4luckbb   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24071GAME( 200?, sc4luckbc   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
24072GAME( 200?, sc4luckbd   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
24073GAME( 200?, sc4luckbe   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
24074GAME( 200?, sc4luckbf   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
24075GAME( 200?, sc4luckbg   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
24076GAME( 200?, sc4luckbh   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
24077GAME( 200?, sc4luckbi   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
24078GAME( 200?, sc4luckbj   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
24079GAME( 200?, sc4luckbk   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
24080GAME( 200?, sc4luckbl   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
24081GAME( 200?, sc4luckbm   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
24082GAME( 200?, sc4luckbn   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
24083GAME( 200?, sc4luckbo   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
24084GAME( 200?, sc4luckbp   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
24085GAME( 200?, sc4luckbt   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
24086GAME( 200?, sc4luckbu   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
24087GAME( 200?, sc4luckbv   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
24088GAME( 200?, sc4luckbw   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
24089GAME( 200?, sc4luckbx   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
2396924090// PR1033 CASINO LUCKY BALLS         PR1033 LUCKY BALLS SOUNDS11       LUCKY BALLS ARCADE
23970GAME( 200?, sc4luckbq   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
23971GAME( 200?, sc4luckbr   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
23972GAME( 200?, sc4luckbs   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
23973GAME( 200?, sc4luckby   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
23974GAME( 200?, sc4luckbz   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
23975GAME( 200?, sc4luckb0   ,sc4luckb,   sc4, sc4, sc4, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
24091GAME( 200?, sc4luckbq   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24092GAME( 200?, sc4luckbr   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24093GAME( 200?, sc4luckbs   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24094GAME( 200?, sc4luckby   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
24095GAME( 200?, sc4luckbz   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
24096GAME( 200?, sc4luckb0   ,sc4luckb,   sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2397624097
2397724098// PR2535 MAGIC CIRCLE STANDARD 011         MAGICSND
2397824099GAME( 200?, sc4magci   ,0,         sc4, sc4, sc4, ROT0, "Qps","Magic Circle (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2403024151GAME( 200?, sc4maxccc   ,sc4maxcc,   sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2403124152
2403224153// PR1217 MILJONAIRSART12         95004305 MILJONAIRE PR1157
24033GAME( 200?, sc4miljo   ,0,         sc4, sc4, sc4, ROT0, "BFM","Miljonairs (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24154GAME( 200?, sc4miljo   ,0,         sc4, sc4, sc4, ROT0, "BFM","Miljonairs (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2403424155
2403524156// PR1223 MILJONAIRS         95004305 MILJONAIRE PR1157
24036GAME( 200?, sc4milja   ,0,         sc4, sc4, sc4, ROT0, "BFM","Miljonairs Arcade (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
24157GAME( 200?, sc4milja   ,0,         sc4, sc4, sc4, ROT0, "BFM","Miljonairs Arcade (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2403724158
2403824159// PR6904 MONEY BAGS         PR6904 MONEY BAGS SOUNDS11
2403924160GAME( 200?, sc4mbags   ,0,         sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2425824379GAME( 200?, sc4party   ,0,         sc4, sc4, sc4, ROT0, "Nova","Party Time (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
2425924380
2426024381//  PR1205 PAY TIME         95004224 PAYTIME PR7156             PAY TIME
24261GAME( 200?, sc4paytm   ,0,         sc4, sc4, sc4, ROT0, "BFM","Pay Time (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
24382GAME( 200?, sc4paytm   ,0,         sc4, sc4, sc4, ROT0, "BFM","Pay Time (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2426224383
2426324384// PR1012 PHARAOH'S GOLD         PR1012 PHARAOHS GOLD SOUNDS11
2426424385GAME( 200?, sc4pgold   ,0,         sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2431924440GAME( 200?, sc4potsha   ,sc4potsh,   sc4, sc4, sc4, ROT0, "Qps","Pot Shot (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2432024441
2432124442// PR3083 CLUB POTS OF GOLD         POTS OF GOLD  CLUB  PR3082 C POTS OF GOLD SOUNDS11      POTS OF GOLD
24322GAME( 200?, sc4pogbl   ,0,         sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24323GAME( 200?, sc4pogbla   ,sc4pogbl,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24324GAME( 200?, sc4pogblb   ,sc4pogbl,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24325GAME( 200?, sc4pogblc   ,sc4pogbl,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
24443GAME( 200?, sc4pogbl   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24444GAME( 200?, sc4pogbla   ,sc4pogbl,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24445GAME( 200?, sc4pogblb   ,sc4pogbl,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24446GAME( 200?, sc4pogblc   ,sc4pogbl,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2432624447
2432724448// PR6810 POWER CRAZY         PR6810 POWER SOUNDS11
2432824449GAME( 200?, sc4pwcrz   ,0,         sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2439824519GAME( 200?, sc4quidrc   ,sc4quidr,   sc4, sc4, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2439924520
2440024521// PR1206 RED ALERT         95004266 REDALERT PR1051
24401GAME( 200?, sc4redad   ,0,         sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24402GAME( 200?, sc4redada   ,sc4redad,   sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24522GAME( 200?, sc4redad   ,0,         sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
24523GAME( 200?, sc4redada   ,sc4redad,   sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2440324524
2440424525// PR2542 RED DRAGON 011         REDDRAGONSND           RED   DRAGON
24405GAME( 200?, sc4rdrag   ,0,         sc4, sc4, sc4, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24406GAME( 200?, sc4rdraga   ,sc4rdrag,   sc4, sc4, sc4, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24526GAME( 200?, sc4rdrag   ,0,         sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24527GAME( 200?, sc4rdraga   ,sc4rdrag,   sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2440724528// PR2542 RED DRAGON 021         REDDRAGONSND           RED   DRAGON
24408GAME( 200?, sc4rdragc   ,sc4rdrag,   sc4, sc4, sc4, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24409GAME( 200?, sc4rdragf   ,sc4rdrag,   sc4, sc4, sc4, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24529GAME( 200?, sc4rdragc   ,sc4rdrag,   sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24530GAME( 200?, sc4rdragf   ,sc4rdrag,   sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2441024531
2441124532// QPS160 CLUB RED DRAGON 411         CLUBREDDRAGONSND         CLUB RED DRAGON
2441224533GAME( 200?, sc4rdrcl   ,0,         sc4, sc4, sc4, ROT0, "Qps","Red Dragon Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2445324574GAME( 200?, sc4rotcd   ,sc4rotc,   sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2445424575
2445524576// PR1252 REVOLUTION  NEXT         95004320 REVOLUTIONTN PR1252
24456GAME( 200?, sc4rvlnx   ,0,         sc4, sc4, sc4, ROT0, "BFM","Revolution The Next (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
24577GAME( 200?, sc4rvlnx   ,0,         sc4, sc4, sc4, ROT0, "BFM","Revolution The Next (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2445724578
2445824579// PR1203 REVOLUTION         95004259 REVOLUTION PR7158
24459GAME( 200?, sc4rvl      ,0,         sc4, sc4, sc4, ROT0, "BFM","Revolution (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
24580GAME( 200?, sc4rvl      ,0,         sc4, sc4, sc4, ROT0, "BFM","Revolution (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2446024581
2446124582// PR2020 REVOLVER         REV SOUNDS               REVOLVER
2446224583GAME( 200?, sc4revo      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2448224603GAME( 200?, sc4richl   ,sc4rich,   sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
2448324604
2448424605// PR1222    RIO GRANDE         95004309 RIO GRANDE SOUNDS11
24485GAME( 200?, sc4rio      ,0,         sc4, sc4, sc4, ROT0, "BFM","Rio Grande (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
24606GAME( 200?, sc4rio      ,0,         sc4, sc4, sc4, ROT0, "BFM","Rio Grande (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2448624607
2448724608// PR2089 RISE TO THE TOP         RISE SOUNDS         RISE TO THE TOP
2448824609GAME( 200?, sc4rttt      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2456924690GAME( 200?, sc4roylem   ,sc4royle,   sc4, sc4, sc4, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2457024691
2457124692// PR7141 SHAKE RATTLE ROLL         LINE SOUNDS         *  SHAKE RATT ROLL
24572GAME( 200?, sc4srrmz   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24693GAME( 200?, sc4srrmz   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll (Mazooma) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL )
2457324694// PR7079CASINO SHAKE RATTLE AND ROL         PR7079,Casino SHAKE RATTLE AND ROLL,         LINE SOUNDS         ROCK AND ROLL
2457424695GAME( 200?, sc4srrmza   ,sc4srrmz,   sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
2457524696GAME( 200?, sc4srrmzb   ,sc4srrmz,   sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2459424715GAME( 200?, sc4srrmzm   ,sc4srrmz,   sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
2459524716
2459624717//  PR2117 SIDE SPLITTER         SSPT SOUNDS         SIDE SPLITTER
24597GAME( 200?, sc4sidsp   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24598GAME( 200?, sc4sidspa   ,sc4sidsp,   sc4, sc4, sc4, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24599GAME( 200?, sc4sidspb   ,sc4sidsp,   sc4, sc4, sc4, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24600GAME( 200?, sc4sidspc   ,sc4sidsp,   sc4, sc4, sc4, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
24718GAME( 200?, sc4sidsp   ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24719GAME( 200?, sc4sidspa   ,sc4sidsp,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24720GAME( 200?, sc4sidspb   ,sc4sidsp,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24721GAME( 200?, sc4sidspc   ,sc4sidsp,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2460124722
2460224723// PR7076 GERMAN SINBAD2001         PR7076,German SINBAD2001,         PR7076 SOUNDS V1
2460324724GAME( 200?, sc4s2k      ,0,         sc4, sc4, sc4, ROT0, "Nova","Sinbad 2000 (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2469624817GAME( 200?, sc4starpk   ,sc4starp,   sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
2469724818
2469824819// PR1219 STARS 'N BARS         95004290 STARSNBARS PR1159
24699GAME( 200?, sc4strbr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24700GAME( 200?, sc4strbrb   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24820GAME( 200?, sc4strbr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
24821GAME( 200?, sc4strbrb   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2470124822// PR1263 SNBA ART13 STARS 'N' BARS ARCADE - ART13         95004290 STARSNBARS PR1159
24702GAME( 200?, sc4strbra   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
24703GAME( 200?, sc4strbrc   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
24704GAME( 200?, sc4strbrd   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
24823GAME( 200?, sc4strbra   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
24824GAME( 200?, sc4strbrc   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
24825GAME( 200?, sc4strbrd   ,sc4strbr,   sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2470524826
2470624827// PR2005 STIR CRAZY         STIR SOUNDS           STIR  CRAZY
2470724828GAME( 200?, sc4stirc   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2498625107GAME( 200?, sc4tfclba   ,sc4tfclb,   sc4, sc4, sc4, ROT0, "BFM","Tutti Frutti Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2498725108
2498825109// PR1214 TWILIGHT         95004299 TWILIGHT PR1154
24989GAME( 200?, sc4twilt   ,0,         sc4, sc4, sc4, ROT0, "BFM","Twilight (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
25110GAME( 200?, sc4twilt   ,0,         sc4, sc4, sc4, ROT0, "BFM","Twilight (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2499025111
2499125112// PR7022 UP FOR GRABS         GRAB SOUNDS
2499225113GAME( 200?, sc4ufg      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Up For Grabs (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2531325434GAME( 200?, sc4adjbi   ,sc4adjb,   sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 10)", GAME_IS_SKELETON_MECHANICAL )
2531425435
2531525436// PR1940 AWP ANT N DECS WTAD S4         PR1940 ADSNT SHOWTIME SOUNDS11    ANTNDECSWTAD  S.SITE
25316GAME( 200?, sc4adwta   ,0,         sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25317GAME( 200?, sc4adwtaa   ,sc4adwta,   sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25437GAME( 200?, sc4adwta   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25438GAME( 200?, sc4adwtaa   ,sc4adwta,   sc4, sc4, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2531825439
2531925440
2532025441
r14948r14949
2534225463GAME( 200?, sc4bar7e   ,sc4bar7,   sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2534325464
2534425465// PR1724 AWP BATTLESHIPS AND CRUISERS S4         PR1704 B AND C SOUNDS11         BATTLESHIPSCRUIS  S.SITE
25345GAME( 200?, sc4batl      ,0,         sc4, sc4, sc4, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25346GAME( 200?, sc4batla   ,sc4batl,   sc4, sc4, sc4, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25466GAME( 200?, sc4batl      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25467GAME( 200?, sc4batla   ,sc4batl,   sc4, sc4, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2534725468
2534825469// PR2170 BOBBY DAZZLER         BOBD SOUNDS                 BOBBY  DAZZLER
2534925470GAME( 200?, sc4bob      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2535825479GAME( 200?, sc4bobi      ,sc4bob,   sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2535925480
2536025481// PR1722 AWP BULLSEYE SCORP4         PR1702 BULLSEYE SOUNDS11         BULLSEYE  S.SITE
25361GAME( 200?, sc4bull      ,0,         sc4, sc4, sc4, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25362GAME( 200?, sc4bulla   ,sc4bull,   sc4, sc4, sc4, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25363GAME( 200?, sc4bullb   ,sc4bull,   sc4, sc4, sc4, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25364GAME( 200?, sc4bullc   ,sc4bull,   sc4, sc4, sc4, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25482GAME( 200?, sc4bull      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25483GAME( 200?, sc4bulla   ,sc4bull,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25484GAME( 200?, sc4bullb   ,sc4bull,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25485GAME( 200?, sc4bullc   ,sc4bull,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2536525486
2536625487// PR1740 AWP BULLSEYE CLASSIC SCORP4         PR1702 BULLSEYE SOUNDS11         BULLSEYE CLASSIC  S.SITE
25367GAME( 200?, sc4bulcs   ,0,         sc4, sc4, sc4, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25368GAME( 200?, sc4bulcsa   ,sc4bulcs,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25369GAME( 200?, sc4bulcsb   ,sc4bulcs,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25370GAME( 200?, sc4bulcsc   ,sc4bulcs,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25488GAME( 200?, sc4bulcs   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25489GAME( 200?, sc4bulcsa   ,sc4bulcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25490GAME( 200?, sc4bulcsb   ,sc4bulcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25491GAME( 200?, sc4bulcsc   ,sc4bulcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2537125492
2537225493// PR1930 AWP BUTCH CASHIDY AND THE SUNDANCE QUID S4         PR1910 B C AND THE S Q SOUNDS11   BUTCH N SUNDANCE  S.SITE
25373GAME( 200?, sc4butch   ,0,         sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25374GAME( 200?, sc4butcha   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25375GAME( 200?, sc4butchb   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25376GAME( 200?, sc4butchc   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25377GAME( 200?, sc4butchd   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25378GAME( 200?, sc4butche   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25379GAME( 200?, sc4butchf   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25380GAME( 200?, sc4butchg   ,sc4butch,   sc4, sc4, sc4, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25494GAME( 200?, sc4butch   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25495GAME( 200?, sc4butcha   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25496GAME( 200?, sc4butchb   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25497GAME( 200?, sc4butchc   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25498GAME( 200?, sc4butchd   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25499GAME( 200?, sc4butche   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25500GAME( 200?, sc4butchf   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25501GAME( 200?, sc4butchg   ,sc4butch,   sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2538125502
2538225503
2538325504
r14948r14949
2542725548GAME( 200?, sc4casxte   ,sc4casxt,   sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2542825549
2542925550// PR1731 AWP CHAV IT SCORP4         PR1711 CHAV IT SOUNDS11         CHAV IT S.SITE
25430GAME( 200?, sc4chavi   ,0,         sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25431GAME( 200?, sc4chavia   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25432GAME( 200?, sc4chavib   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25433GAME( 200?, sc4chavic   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25434GAME( 200?, sc4chavid   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25435GAME( 200?, sc4chavie   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25436GAME( 200?, sc4chavif   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25437GAME( 200?, sc4chavig   ,sc4chavi,   sc4, sc4, sc4, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25551GAME( 200?, sc4chavi   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25552GAME( 200?, sc4chavia   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25553GAME( 200?, sc4chavib   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25554GAME( 200?, sc4chavic   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25555GAME( 200?, sc4chavid   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25556GAME( 200?, sc4chavie   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25557GAME( 200?, sc4chavif   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25558GAME( 200?, sc4chavig   ,sc4chavi,   sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2543825559
2543925560// PR2305 CHAVVY CHASE         CHVY SOUNDS
2544025561GAME( 200?, sc4chavy   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2547625597GAME( 200?, sc4ctle      ,sc4ctl,   sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2547725598
2547825599// PR3035 AWP COPS AND ROBBERS SAFE CRACKER S4         PR3005 SAFE CRACKER SOUNDS11      SAFE CRACKER  S.SITE
25479GAME( 200?, sc4crsc      ,0,         sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25480GAME( 200?, sc4crsca   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25481GAME( 200?, sc4crscb   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25482GAME( 200?, sc4crscc   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25483GAME( 200?, sc4crscd   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25484GAME( 200?, sc4crsce   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25485GAME( 200?, sc4crscf   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25486GAME( 200?, sc4crscg   ,sc4crsc,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25600GAME( 200?, sc4crsc      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25601GAME( 200?, sc4crsca   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25602GAME( 200?, sc4crscb   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25603GAME( 200?, sc4crscc   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25604GAME( 200?, sc4crscd   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25605GAME( 200?, sc4crsce   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25606GAME( 200?, sc4crscf   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25607GAME( 200?, sc4crscg   ,sc4crsc,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2548725608
2548825609// PR2252 CORONATION  ST         CORRY SOUNDS                 CORONATION  ST
2548925610GAME( 200?, sc4coro      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2552425645GAME( 200?, sc4crnjw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
2552525646GAME( 200?, sc4crnjwa   ,sc4crnjw,   sc4, sc4, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2552625647
25648const stepper_interface* sc4dnd_reel_configs[6] =
25649{
25650   &starpoint_interface_48step,
25651   &starpoint_interface_48step,
25652   &starpoint_interface_48step,
25653   &starpoint_interface_48step,
25654   &starpoint_interface_48step,
25655   &starpoint_interface_48step,
25656};
25657
25658static DRIVER_INIT( sc4dnd )
25659{
25660   sc4_state *state = machine.driver_data<sc4_state>();
25661   DRIVER_INIT_CALL( sc4mbus );
25662   state->m_reel_setup = sc4dnd_reel_configs;
25663}
25664
25665INPUT_PORTS_START( sc4dnd25 )
25666   PORT_INCLUDE( sc4_base )
25667   PORT_MODIFY("IN-5")
25668   PORT_DIPNAME( 0x0f, 0x0a, "Jackpot Key" ) // default to 25GBP key
25669   SC4_JACKPOT_KEY_SETTINGS
25670INPUT_PORTS_END
25671
25672INPUT_PORTS_START( sc4dnd35 )
25673   PORT_INCLUDE( sc4_base )
25674   PORT_MODIFY("IN-5")
25675   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25676   SC4_JACKPOT_KEY_SETTINGS
25677INPUT_PORTS_END
25678
2552725679// PR1927 AWP DEAL OR NO DEAL S4         PR1907 DEAL OR NO DEAL SOUNDS11
25528GAME( 200?, sc4dnd      ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25529GAME( 200?, sc4dnda      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
25530GAME( 200?, sc4dndb      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25531GAME( 200?, sc4dndc      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25532GAME( 200?, sc4dndd      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25533GAME( 200?, sc4dnde      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25534GAME( 200?, sc4dndf      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25535GAME( 200?, sc4dndg      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25536GAME( 200?, sc4dndh      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25537GAME( 200?, sc4dndi      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
25538GAME( 200?, sc4dndj      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
25539GAME( 200?, sc4dndk      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
25540GAME( 200?, sc4dndl      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
25541GAME( 200?, sc4dndm      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
25542GAME( 200?, sc4dndn      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
25543GAME( 200?, sc4dndo      ,sc4dnd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
25680GAME( 200?, sc4dnd      ,0,         sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
25681GAME( 200?, sc4dndb      ,sc4dnd,   sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
25682GAME( 200?, sc4dnde      ,sc4dnd,   sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
25683GAME( 200?, sc4dndh      ,sc4dnd,   sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
25684GAME( 200?, sc4dndf      ,sc4dnd,   sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 018
25685GAME( 200?, sc4dndi      ,sc4dnd,   sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 018
25686GAME( 200?, sc4dndd      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
25687GAME( 200?, sc4dndg      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
25688GAME( 200?, sc4dndj      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
25689GAME( 200?, sc4dndl      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
25690GAME( 200?, sc4dndc      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422
25691GAME( 200?, sc4dnda      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422, incomplete pairing
25692GAME( 200?, sc4dndn      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
25693GAME( 200?, sc4dndo      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
25694GAME( 200?, sc4dndk      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
25695GAME( 200?, sc4dndm      ,sc4dnd,   sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
2554425696
25697const stepper_interface* sc4dndcs_reel_configs[6] =
25698{
25699   &starpoint_interface_48step,
25700   &starpoint_interface_48step,
25701   &starpoint_interface_48step,
25702   &starpoint_interface_48step,
25703   &starpoint_interface_48step,
25704   &starpoint_interface_48step,
25705};
2554525706
25707static DRIVER_INIT( sc4dndcs )
25708{
25709   sc4_state *state = machine.driver_data<sc4_state>();
25710   DRIVER_INIT_CALL( sc4mbus );
25711   state->m_reel_setup = sc4dndcs_reel_configs;
25712}
25713
25714INPUT_PORTS_START( sc4dndcs5 )
25715   PORT_INCLUDE( sc4_base )
25716   PORT_MODIFY("IN-5")
25717   PORT_DIPNAME( 0x0f, 0x08, "Jackpot Key" ) // default to 5GBP key
25718   SC4_JACKPOT_KEY_SETTINGS
25719INPUT_PORTS_END
25720
2554625721// PR1967 AWP CLASSIC DEAL OR NO DEAL S4         PR1907 DEAL OR NO DEAL SOUNDS11
25547GAME( 200?, sc4dndcs   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25548GAME( 200?, sc4dndcsa   ,sc4dndcs,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25549GAME( 200?, sc4dndcsb   ,sc4dndcs,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25550GAME( 200?, sc4dndcsc   ,sc4dndcs,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25722GAME( 200?, sc4dndcs   ,0,         sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
25723GAME( 200?, sc4dndcsb   ,sc4dndcs,   sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
25724GAME( 200?, sc4dndcsa   ,sc4dndcs,   sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
25725GAME( 200?, sc4dndcsc   ,sc4dndcs,   sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
2555125726
25727const stepper_interface* sc4dndbb_reel_configs[6] =
25728{
25729   &starpoint_interface_48step,
25730   &starpoint_interface_48step,
25731   &starpoint_interface_48step,
25732   0,
25733   &starpoint_interface_48step,
25734   &starpoint_interface_48step,
25735};
25736
25737static DRIVER_INIT( sc4dndbb )
25738{
25739   sc4_state *state = machine.driver_data<sc4_state>();
25740   DRIVER_INIT_CALL( sc4mbus );
25741   state->m_reel_setup = sc4dndbb_reel_configs;
25742}
25743
25744INPUT_PORTS_START( sc4dndbb35 )
25745   PORT_INCLUDE( sc4_base )
25746   PORT_MODIFY("IN-5")
25747   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25748   SC4_JACKPOT_KEY_SETTINGS
25749INPUT_PORTS_END
25750
25751INPUT_PORTS_START( sc4dndbb70 )
25752   PORT_INCLUDE( sc4_base )
25753   PORT_MODIFY("IN-5")
25754   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25755   SC4_JACKPOT_KEY_SETTINGS
25756INPUT_PORTS_END
25757
25758
2555225759// PR3229 AWP DEAL OR NO DEAL BREAK THE BANK SCORP4         PR3209 BREAK THE BANK SOUNDS11
25553GAME( 200?, sc4dndbb   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25554GAME( 200?, sc4dndbba   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25555GAME( 200?, sc4dndbbb   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25556GAME( 200?, sc4dndbbc   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25557GAME( 200?, sc4dndbbd   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25558GAME( 200?, sc4dndbbe   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25559GAME( 200?, sc4dndbbf   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25560GAME( 200?, sc4dndbbg   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25561GAME( 200?, sc4dndbbh   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25562GAME( 200?, sc4dndbbi   ,sc4dndbb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
25760GAME( 200?, sc4dndbb   ,0,         sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
25761GAME( 200?, sc4dndbbb   ,sc4dndbb,   sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
25762GAME( 200?, sc4dndbba   ,sc4dndbb,   sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
25763GAME( 200?, sc4dndbbc   ,sc4dndbb,   sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
25764GAME( 200?, sc4dndbbd   ,sc4dndbb,   sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
25765GAME( 200?, sc4dndbbg   ,sc4dndbb,   sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
25766GAME( 200?, sc4dndbbe   ,sc4dndbb,   sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
25767GAME( 200?, sc4dndbbh   ,sc4dndbb,   sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
25768GAME( 200?, sc4dndbbf   ,sc4dndbb,   sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 572
25769GAME( 200?, sc4dndbbi   ,sc4dndbb,   sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 2)", GAME_IS_SKELETON_MECHANICAL )// CRBE 572
2556325770
25771const stepper_interface* sc4dndcl_reel_configs[6] =
25772{
25773   &starpoint_interface_48step,
25774   &starpoint_interface_48step,
25775   &starpoint_interface_48step,
25776   &starpoint_interface_48step,
25777   &starpoint_interface_48step,
25778   &starpoint_interface_48step,
25779};
25780
25781static DRIVER_INIT( sc4dndcl )
25782{
25783   sc4_state *state = machine.driver_data<sc4_state>();
25784   DRIVER_INIT_CALL( sc4mbus );
25785   state->m_reel_setup = sc4dndcl_reel_configs;
25786}
25787
25788INPUT_PORTS_START( sc4dndcl250 )
25789   PORT_INCLUDE( sc4_base )
25790   PORT_MODIFY("IN-5")
25791   PORT_DIPNAME( 0x0f, 0x03, "Jackpot Key" ) // default to 250GBP key
25792   SC4_JACKPOT_KEY_SETTINGS
25793INPUT_PORTS_END
25794
25795INPUT_PORTS_START( sc4dndcl500 )
25796   PORT_INCLUDE( sc4_base )
25797   PORT_MODIFY("IN-5")
25798   PORT_DIPNAME( 0x0f, 0x07, "Jackpot Key" ) // default to 500GBP key
25799   SC4_JACKPOT_KEY_SETTINGS
25800INPUT_PORTS_END
25801
2556425802// PR1949 CLUB DEAL OR NO DEAL         DEAL OR NO DEAL CLUB  PR1949 DEAL O N D SOUNDS11
25565GAME( 200?, sc4dndcl   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25566GAME( 200?, sc4dndcla   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25567GAME( 200?, sc4dndclb   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25568GAME( 200?, sc4dndclc   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25569GAME( 200?, sc4dndcld   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25570GAME( 200?, sc4dndcle   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25571GAME( 200?, sc4dndclf   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25572GAME( 200?, sc4dndclg   ,sc4dndcl,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25803GAME( 200?, sc4dndclc   ,sc4dndcl,   sc4, sc4,         sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
25804GAME( 200?, sc4dndclg   ,sc4dndcl,   sc4, sc4,         sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
25805GAME( 200?, sc4dndcla   ,sc4dndcl,   sc4, sc4dndcl500, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB £500
25806GAME( 200?, sc4dndcle   ,sc4dndcl,   sc4, sc4dndcl500, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB £500
25807GAME( 200?, sc4dndcl   ,0,         sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB £250
25808GAME( 200?, sc4dndcld   ,sc4dndcl,   sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB £250
25809GAME( 200?, sc4dndclb   ,sc4dndcl,   sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB £250
25810GAME( 200?, sc4dndclf   ,sc4dndcl,   sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB £250
2557325811
25812const stepper_interface* sc4dnddd_reel_configs[6] =
25813{
25814   &starpoint_interface_48step,
25815   &starpoint_interface_48step,
25816   &starpoint_interface_48step,
25817   0,
25818   &starpoint_interface_48step,
25819   &starpoint_interface_48step,
25820};
25821
25822static DRIVER_INIT( sc4dnddd )
25823{
25824   sc4_state *state = machine.driver_data<sc4_state>();
25825   DRIVER_INIT_CALL( sc4mbus );
25826   state->m_reel_setup = sc4dnddd_reel_configs;
25827}
25828
25829INPUT_PORTS_START( sc4dnddd35 )
25830   PORT_INCLUDE( sc4_base )
25831   PORT_MODIFY("IN-5")
25832   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25833   SC4_JACKPOT_KEY_SETTINGS
25834INPUT_PORTS_END
25835
25836INPUT_PORTS_START( sc4dnddd70 )
25837   PORT_INCLUDE( sc4_base )
25838   PORT_MODIFY("IN-5")
25839   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25840   SC4_JACKPOT_KEY_SETTINGS
25841INPUT_PORTS_END
25842
25843
2557425844// PR3235 AWP DEAL OR NO DEAL DOUBLE S4         PR3215 DOND DOUBLE SOUNDS11       DOUBLE DOND S.SITE
25575GAME( 200?, sc4dnddd   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25576GAME( 200?, sc4dnddda   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25577GAME( 200?, sc4dndddb   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25578GAME( 200?, sc4dndddc   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25579GAME( 200?, sc4dndddd   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25580GAME( 200?, sc4dnddde   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25581GAME( 200?, sc4dndddf   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25582GAME( 200?, sc4dndddg   ,sc4dnddd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25845GAME( 200?, sc4dnddd   ,0,         sc4, sc4dnddd35, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
25846GAME( 200?, sc4dndddd   ,sc4dnddd,   sc4, sc4dnddd35, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
25847GAME( 200?, sc4dnddda   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
25848GAME( 200?, sc4dnddde   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
25849GAME( 200?, sc4dndddb   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
25850GAME( 200?, sc4dndddf   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
25851GAME( 200?, sc4dndddc   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
25852GAME( 200?, sc4dndddg   ,sc4dnddd,   sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
2558325853
25854const stepper_interface* sc4dndhf_reel_configs[6] =
25855{
25856   &starpoint_interface_48step,
25857   &starpoint_interface_48step,
25858   &starpoint_interface_48step,
25859   0,
25860   &starpoint_interface_48step,
25861   &starpoint_interface_48step,
25862};
25863
25864static DRIVER_INIT( sc4dndhf )
25865{
25866   sc4_state *state = machine.driver_data<sc4_state>();
25867   DRIVER_INIT_CALL( sc4mbus );
25868   state->m_reel_setup = sc4dndhf_reel_configs;
25869}
25870
25871INPUT_PORTS_START( sc4dndhf35 )
25872   PORT_INCLUDE( sc4_base )
25873   PORT_MODIFY("IN-5")
25874   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25875   SC4_JACKPOT_KEY_SETTINGS
25876INPUT_PORTS_END
25877
25878INPUT_PORTS_START( sc4dndhf70 )
25879   PORT_INCLUDE( sc4_base )
25880   PORT_MODIFY("IN-5")
25881   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25882   SC4_JACKPOT_KEY_SETTINGS
25883INPUT_PORTS_END
25884
2558425885// PR3038 DEAL OR NO DEAL HALL OF FAME SCORP4         PR3008 HALL OF FAME SOUNDS11      HALL OF FAME  S.SITE
25585GAME( 200?, sc4dndhf   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25586GAME( 200?, sc4dndhfa   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25587GAME( 200?, sc4dndhfb   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25588GAME( 200?, sc4dndhfc   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25589GAME( 200?, sc4dndhfd   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25590GAME( 200?, sc4dndhfe   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25591GAME( 200?, sc4dndhff   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25592GAME( 200?, sc4dndhfg   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25593GAME( 200?, sc4dndhfh   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25594GAME( 200?, sc4dndhfi   ,sc4dndhf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
25886GAME( 200?, sc4dndhff   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
25887GAME( 200?, sc4dndhfh   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
25888GAME( 200?, sc4dndhfg   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
25889GAME( 200?, sc4dndhfi   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
25890GAME( 200?, sc4dndhf   ,0,         sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
25891GAME( 200?, sc4dndhfa   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
25892GAME( 200?, sc4dndhfb   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
25893GAME( 200?, sc4dndhfd   ,sc4dndhf,   sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
25894GAME( 200?, sc4dndhfc   ,sc4dndhf,   sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
25895GAME( 200?, sc4dndhfe   ,sc4dndhf,   sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
2559525896
25897const stepper_interface* sc4dndys_reel_configs[6] =
25898{
25899   &starpoint_interface_48step,
25900   &starpoint_interface_48step,
25901   &starpoint_interface_48step,
25902   0,
25903   &starpoint_interface_200step_reel,
25904   &starpoint_interface_48step,
25905};
25906
25907static DRIVER_INIT( sc4dndys )
25908{
25909   sc4_state *state = machine.driver_data<sc4_state>();
25910   DRIVER_INIT_CALL( sc4mbus );
25911   state->m_reel_setup = sc4dndys_reel_configs;
25912}
25913
25914INPUT_PORTS_START( sc4dndys35 )
25915   PORT_INCLUDE( sc4_base )
25916   PORT_MODIFY("IN-5")
25917   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25918   SC4_JACKPOT_KEY_SETTINGS
25919INPUT_PORTS_END
25920
25921
25922INPUT_PORTS_START( sc4dndys70 )
25923   PORT_INCLUDE( sc4_base )
25924   PORT_MODIFY("IN-5")
25925   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25926   SC4_JACKPOT_KEY_SETTINGS
25927INPUT_PORTS_END
25928
25929
2559625930// PR3227 AWP DEAL OR NO DEAL ITS YOUR SHOW SCORP4         PR3207 ITS YOUR SHOW SOUNDS11     ITS YOUR SHOW S.SITE
25597GAME( 200?, sc4dndys   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25598GAME( 200?, sc4dndysa   ,sc4dndys,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25599GAME( 200?, sc4dndysb   ,sc4dndys,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25931GAME( 200?, sc4dndys   ,0,         sc4, sc4dndys70, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
25932GAME( 200?, sc4dndysb   ,sc4dndys,   sc4, sc4dndys70, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
25933GAME( 200?, sc4dndysa   ,sc4dndys,   sc4, sc4dndys35, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO474)",        GAME_IS_SKELETON_MECHANICAL ) // DOBO 474
2560025934
25935const stepper_interface* sc4dndlp_reel_configs[6] =
25936{
25937   &starpoint_interface_48step,
25938   &starpoint_interface_48step,
25939   &starpoint_interface_48step,
25940   &starpoint_interface_48step,
25941   &starpoint_interface_48step,
25942   0,
25943};
25944
25945static DRIVER_INIT( sc4dndlp )
25946{
25947   sc4_state *state = machine.driver_data<sc4_state>();
25948   DRIVER_INIT_CALL( sc4mbus );
25949   state->m_reel_setup = sc4dndlp_reel_configs;
25950}
25951
25952INPUT_PORTS_START( sc4dndlp70 )
25953   PORT_INCLUDE( sc4_base )
25954   PORT_MODIFY("IN-5")
25955   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25956   SC4_JACKPOT_KEY_SETTINGS
25957INPUT_PORTS_END
25958
25959
25960
2560125961// PR3212 AWP DEAL OR NO DEAL LETS PLAY DEAL OR NO DEAL SCORP4         PR3212 LETS PLAY DOND SOUNDS11    LETS PLAY DOND  S.SITE
25602GAME( 200?, sc4dndlp   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25603GAME( 200?, sc4dndlpa   ,sc4dndlp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25604GAME( 200?, sc4dndlpb   ,sc4dndlp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25605GAME( 200?, sc4dndlpc   ,sc4dndlp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25606GAME( 200?, sc4dndlpd   ,sc4dndlp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25607GAME( 200?, sc4dndlpe   ,sc4dndlp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25962GAME( 200?, sc4dndlp   ,0,         sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
25963GAME( 200?, sc4dndlpc   ,sc4dndlp,   sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
25964GAME( 200?, sc4dndlpa   ,sc4dndlp,   sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
25965GAME( 200?, sc4dndlpd   ,sc4dndlp,   sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
25966GAME( 200?, sc4dndlpb   ,sc4dndlp,   sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
25967GAME( 200?, sc4dndlpe   ,sc4dndlp,   sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
2560825968
25969const stepper_interface* sc4dndra_reel_configs[6] =
25970{
25971   &starpoint_interface_48step,
25972   &starpoint_interface_48step,
25973   &starpoint_interface_48step,
25974   0,
25975   &starpoint_interface_48step,
25976   &starpoint_interface_48step,
25977};
25978
25979static DRIVER_INIT( sc4dndra )
25980{
25981   sc4_state *state = machine.driver_data<sc4_state>();
25982   DRIVER_INIT_CALL( sc4mbus );
25983   state->m_reel_setup = sc4dndra_reel_configs;
25984}
25985
25986INPUT_PORTS_START( sc4dndra35 )
25987   PORT_INCLUDE( sc4_base )
25988   PORT_MODIFY("IN-5")
25989   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
25990   SC4_JACKPOT_KEY_SETTINGS
25991INPUT_PORTS_END
25992
25993INPUT_PORTS_START( sc4dndra70 )
25994   PORT_INCLUDE( sc4_base )
25995   PORT_MODIFY("IN-5")
25996   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
25997   SC4_JACKPOT_KEY_SETTINGS
25998INPUT_PORTS_END
25999
2560926000// PR3221 AWP DEAL OR NO DEAL RED ALERT SCORP4         PR3201 DOND RED ALERT SOUNDS11    RED ALERT S.SITE
25610GAME( 200?, sc4dndra   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25611GAME( 200?, sc4dndraa   ,sc4dndra,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25612GAME( 200?, sc4dndrab   ,sc4dndra,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25613GAME( 200?, sc4dndrac   ,sc4dndra,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25614GAME( 200?, sc4dndrad   ,sc4dndra,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25615GAME( 200?, sc4dndrae   ,sc4dndra,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26001GAME( 200?, sc4dndra   ,0,         sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
26002GAME( 200?, sc4dndraa   ,sc4dndra,   sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
26003GAME( 200?, sc4dndrab   ,sc4dndra,   sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
26004GAME( 200?, sc4dndrad   ,sc4dndra,   sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
26005GAME( 200?, sc4dndrac   ,sc4dndra,   sc4, sc4dndra70, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
26006GAME( 200?, sc4dndrae   ,sc4dndra,   sc4, sc4dndra70, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
2561626007
26008const stepper_interface* sc4dndbd_reel_configs[6] =
26009{
26010   &starpoint_interface_48step,
26011   &starpoint_interface_48step,
26012   &starpoint_interface_48step,
26013   &starpoint_interface_48step,
26014   &starpoint_interface_48step,
26015   0,
26016};
2561726017
26018static DRIVER_INIT( sc4dndbd )
26019{
26020   sc4_state *state = machine.driver_data<sc4_state>();
26021   DRIVER_INIT_CALL( sc4mbus );
26022   state->m_reel_setup = sc4dndbd_reel_configs;
26023}
26024
26025INPUT_PORTS_START( sc4dndbd35 )
26026   PORT_INCLUDE( sc4_base )
26027   PORT_MODIFY("IN-5")
26028   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26029   SC4_JACKPOT_KEY_SETTINGS
26030INPUT_PORTS_END
26031
26032INPUT_PORTS_START( sc4dndbd70 )
26033   PORT_INCLUDE( sc4_base )
26034   PORT_MODIFY("IN-5")
26035   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26036   SC4_JACKPOT_KEY_SETTINGS
26037INPUT_PORTS_END
26038
26039
2561826040// PR3230 AWP DEAL OR NO DEAL THE BIG DEAL SCORP4         PR3210 THE BIG DEAL SOUNDS11      THE BIG DEAL  S.SITE
25619GAME( 200?, sc4dndbd   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25620GAME( 200?, sc4dndbda   ,sc4dndbd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25621GAME( 200?, sc4dndbdb   ,sc4dndbd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25622GAME( 200?, sc4dndbdc   ,sc4dndbd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25623GAME( 200?, sc4dndbdd   ,sc4dndbd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25624GAME( 200?, sc4dndbde   ,sc4dndbd,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26041GAME( 200?, sc4dndbd   ,0,         sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
26042GAME( 200?, sc4dndbda   ,sc4dndbd,   sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
26043GAME( 200?, sc4dndbdb   ,sc4dndbd,   sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
26044GAME( 200?, sc4dndbdd   ,sc4dndbd,   sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
26045GAME( 200?, sc4dndbdc   ,sc4dndbd,   sc4, sc4dndbd70, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
26046GAME( 200?, sc4dndbde   ,sc4dndbd,   sc4, sc4dndbd70, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
2562526047
26048const stepper_interface* sc4dndbr_reel_configs[6] =
26049{
26050   &starpoint_interface_48step,
26051   &starpoint_interface_48step,
26052   &starpoint_interface_48step,
26053   0,
26054   &starpoint_interface_48step,
26055   &starpoint_interface_48step,
26056};
26057
26058static DRIVER_INIT( sc4dndbr )
26059{
26060   sc4_state *state = machine.driver_data<sc4_state>();
26061   DRIVER_INIT_CALL( sc4mbus );
26062   state->m_reel_setup = sc4dndbr_reel_configs;
26063}
26064
26065INPUT_PORTS_START( sc4dndbr35 )
26066   PORT_INCLUDE( sc4_base )
26067   PORT_MODIFY("IN-5")
26068   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26069   SC4_JACKPOT_KEY_SETTINGS
26070INPUT_PORTS_END
26071
26072INPUT_PORTS_START( sc4dndbr70 )
26073   PORT_INCLUDE( sc4_base )
26074   PORT_MODIFY("IN-5")
26075   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26076   SC4_JACKPOT_KEY_SETTINGS
26077INPUT_PORTS_END
26078
26079
2562626080// PR3041 AWP DEAL OR NO DEAL THE BIG REDS S4         PR3011 THE BIG REDS SOUNDS11      THE BIG REDS  S.SITE
25627GAME( 200?, sc4dndbr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25628GAME( 200?, sc4dndbra   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25629GAME( 200?, sc4dndbrb   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25630GAME( 200?, sc4dndbrc   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25631GAME( 200?, sc4dndbrd   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25632GAME( 200?, sc4dndbre   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25633GAME( 200?, sc4dndbrf   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25634GAME( 200?, sc4dndbrg   ,sc4dndbr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26081GAME( 200?, sc4dndbr   ,0,         sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
26082GAME( 200?, sc4dndbrb   ,sc4dndbr,   sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
26083GAME( 200?, sc4dndbra   ,sc4dndbr,   sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
26084GAME( 200?, sc4dndbrc   ,sc4dndbr,   sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
26085GAME( 200?, sc4dndbrd   ,sc4dndbr,   sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
26086GAME( 200?, sc4dndbrf   ,sc4dndbr,   sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
26087GAME( 200?, sc4dndbre   ,sc4dndbr,   sc4, sc4dndbr70, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
26088GAME( 200?, sc4dndbrg   ,sc4dndbr,   sc4, sc4dndbr70, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
2563526089
26090const stepper_interface* sc4dndcc_reel_configs[6] =
26091{
26092   &starpoint_interface_48step,
26093   &starpoint_interface_48step,
26094   &starpoint_interface_48step,
26095   &starpoint_interface_48step,
26096   &starpoint_interface_48step,
26097   0,
26098};
26099
26100static DRIVER_INIT( sc4dndcc )
26101{
26102   sc4_state *state = machine.driver_data<sc4_state>();
26103   DRIVER_INIT_CALL( sc4mbus );
26104   state->m_reel_setup = sc4dndcc_reel_configs;
26105}
26106
26107INPUT_PORTS_START( sc4dndcc35 )
26108   PORT_INCLUDE( sc4_base )
26109   PORT_MODIFY("IN-5")
26110   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26111   SC4_JACKPOT_KEY_SETTINGS
26112INPUT_PORTS_END
26113
26114INPUT_PORTS_START( sc4dndcc70 )
26115   PORT_INCLUDE( sc4_base )
26116   PORT_MODIFY("IN-5")
26117   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26118   SC4_JACKPOT_KEY_SETTINGS
26119INPUT_PORTS_END
26120
26121
2563626122// PR3047 AWP DEAL OR NO DEAL THE CRAZY CHAIR SCORP4         PR3017 CRAZY CHAIR SOUNDS11       CRAZY CHAIR S.SITE
25637GAME( 200?, sc4dndcc   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25638GAME( 200?, sc4dndcca   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25639GAME( 200?, sc4dndccb   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
25640GAME( 200?, sc4dndccc   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25641GAME( 200?, sc4dndccd   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25642GAME( 200?, sc4dndcce   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25643GAME( 200?, sc4dndccf   ,sc4dndcc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26123GAME( 200?, sc4dndcc   ,0,         sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471
26124GAME( 200?, sc4dndccb   ,sc4dndcc,   sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471, incomplete pairing
26125GAME( 200?, sc4dndcca   ,sc4dndcc,   sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR474)",        GAME_IS_SKELETON_MECHANICAL ) // CRZR 474
26126GAME( 200?, sc4dndccc   ,sc4dndcc,   sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
26127GAME( 200?, sc4dndcce   ,sc4dndcc,   sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
26128GAME( 200?, sc4dndccd   ,sc4dndcc,   sc4, sc4dndcc70, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
26129GAME( 200?, sc4dndccf   ,sc4dndcc,   sc4, sc4dndcc70, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
2564426130
26131const stepper_interface* sc4dnddw_reel_configs[6] =
26132{
26133   &starpoint_interface_48step,
26134   &starpoint_interface_48step,
26135   &starpoint_interface_48step,
26136   0,
26137   &starpoint_interface_48step,
26138   &starpoint_interface_200step_reel,
26139};
26140
26141static DRIVER_INIT( sc4dnddw )
26142{
26143   sc4_state *state = machine.driver_data<sc4_state>();
26144   DRIVER_INIT_CALL( sc4mbus );
26145   state->m_reel_setup = sc4dnddw_reel_configs;
26146}
26147
26148INPUT_PORTS_START( sc4dnddw35 )
26149   PORT_INCLUDE( sc4_base )
26150   PORT_MODIFY("IN-5")
26151   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26152   SC4_JACKPOT_KEY_SETTINGS
26153INPUT_PORTS_END
26154
26155INPUT_PORTS_START( sc4dnddw70 )
26156   PORT_INCLUDE( sc4_base )
26157   PORT_MODIFY("IN-5")
26158   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26159   SC4_JACKPOT_KEY_SETTINGS
26160INPUT_PORTS_END
26161
2564526162// PR3043 AWP THE DEAL WHEEL S4         PR3202 THE DEAL WHEEL SOUNDS11    THE DEAL WHEEL  S.SITE
25646GAME( 200?, sc4dnddw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25647GAME( 200?, sc4dnddwa   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25648GAME( 200?, sc4dnddwb   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25649GAME( 200?, sc4dnddwc   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25650GAME( 200?, sc4dnddwd   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25651GAME( 200?, sc4dnddwe   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25652GAME( 200?, sc4dnddwf   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25653GAME( 200?, sc4dnddwg   ,sc4dnddw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26163GAME( 200?, sc4dnddw   ,0,         sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
26164GAME( 200?, sc4dnddwb   ,sc4dnddw,   sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
26165GAME( 200?, sc4dnddwa   ,sc4dnddw,   sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
26166GAME( 200?, sc4dnddwc   ,sc4dnddw,   sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
26167GAME( 200?, sc4dnddwd   ,sc4dnddw,   sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
26168GAME( 200?, sc4dnddwf   ,sc4dnddw,   sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
26169GAME( 200?, sc4dnddwe   ,sc4dnddw,   sc4, sc4dnddw70, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
26170GAME( 200?, sc4dnddwg   ,sc4dnddw,   sc4, sc4dnddw70, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
2565426171
26172const stepper_interface* sc4dnddf_reel_configs[6] =
26173{
26174   &starpoint_interface_48step,
26175   &starpoint_interface_48step,
26176   &starpoint_interface_48step,
26177   &starpoint_interface_200step_reel,
26178   &starpoint_interface_200step_reel,
26179   &starpoint_interface_48step,
26180};
26181
26182static DRIVER_INIT( sc4dnddf )
26183{
26184   sc4_state *state = machine.driver_data<sc4_state>();
26185   DRIVER_INIT_CALL( sc4mbus );
26186   state->m_reel_setup = sc4dnddf_reel_configs;
26187}
26188
26189INPUT_PORTS_START( sc4dnddf35 )
26190   PORT_INCLUDE( sc4_base )
26191   PORT_MODIFY("IN-5")
26192   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26193   SC4_JACKPOT_KEY_SETTINGS
26194INPUT_PORTS_END
26195
26196INPUT_PORTS_START( sc4dnddf70 )
26197   PORT_INCLUDE( sc4_base )
26198   PORT_MODIFY("IN-5")
26199   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26200   SC4_JACKPOT_KEY_SETTINGS
26201INPUT_PORTS_END
26202
2565526203// PR3044 AWP DEAL OR NO DEAL THE DREAM FACTORY SCORP4         PR3014 DREAM FACTORY SOUNDS11     DREAM FACTORY S.SITE
25656GAME( 200?, sc4dnddf   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25657GAME( 200?, sc4dnddfa   ,sc4dnddf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
25658GAME( 200?, sc4dnddfb   ,sc4dnddf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25659GAME( 200?, sc4dnddfc   ,sc4dnddf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25660GAME( 200?, sc4dnddfd   ,sc4dnddf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25661GAME( 200?, sc4dnddfe   ,sc4dnddf,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26204GAME( 200?, sc4dnddf   ,0,         sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471
26205GAME( 200?, sc4dnddfa   ,sc4dnddf,   sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471, incomplete pairing
26206GAME( 200?, sc4dnddfb   ,sc4dnddf,   sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
26207GAME( 200?, sc4dnddfd   ,sc4dnddf,   sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
26208GAME( 200?, sc4dnddfc   ,sc4dnddf,   sc4, sc4dnddf70, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
26209GAME( 200?, sc4dnddfe   ,sc4dnddf,   sc4, sc4dnddf70, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
2566226210
26211const stepper_interface* sc4dndpg_reel_configs[6] =
26212{
26213   &starpoint_interface_48step,
26214   &starpoint_interface_48step,
26215   &starpoint_interface_48step,
26216   &starpoint_interface_48step,
26217   &starpoint_interface_48step,
26218   0,
26219};
26220
26221static DRIVER_INIT( sc4dndpg )
26222{
26223   sc4_state *state = machine.driver_data<sc4_state>();
26224   DRIVER_INIT_CALL( sc4mbus );
26225   state->m_reel_setup = sc4dndpg_reel_configs;
26226}
26227
26228INPUT_PORTS_START( sc4dndpg35 )
26229   PORT_INCLUDE( sc4_base )
26230   PORT_MODIFY("IN-5")
26231   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26232   SC4_JACKPOT_KEY_SETTINGS
26233INPUT_PORTS_END
26234
26235INPUT_PORTS_START( sc4dndpg70 )
26236   PORT_INCLUDE( sc4_base )
26237   PORT_MODIFY("IN-5")
26238   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26239   SC4_JACKPOT_KEY_SETTINGS
26240INPUT_PORTS_END
26241
26242
2566326243// PR3240 AWP DEAL OR NO DEAL THE PERFECT GAME SCORP4         PR3220 DOND PERFECT SOUNDS11      THE PERFECT GAME  S.SITE
25664GAME( 200?, sc4dndpg   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25665GAME( 200?, sc4dndpga   ,sc4dndpg,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25666GAME( 200?, sc4dndpgb   ,sc4dndpg,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25667GAME( 200?, sc4dndpgc   ,sc4dndpg,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25668GAME( 200?, sc4dndpgd   ,sc4dndpg,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25669GAME( 200?, sc4dndpge   ,sc4dndpg,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26244GAME( 200?, sc4dndpg   ,0,         sc4, sc4dndpg35, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 471
26245GAME( 200?, sc4dndpgc   ,sc4dndpg,   sc4, sc4dndpg35, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPBG 471
26246GAME( 200?, sc4dndpga   ,sc4dndpg,   sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
26247GAME( 200?, sc4dndpgd   ,sc4dndpg,   sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
26248GAME( 200?, sc4dndpgb   ,sc4dndpg,   sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
26249GAME( 200?, sc4dndpge   ,sc4dndpg,   sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
2567026250
26251const stepper_interface* sc4dndtp_reel_configs[6] =
26252{
26253   &starpoint_interface_48step,
26254   &starpoint_interface_48step,
26255   &starpoint_interface_48step,
26256   &starpoint_interface_48step,
26257   &starpoint_interface_48step,
26258   0,
26259};
2567126260
26261static DRIVER_INIT( sc4dndtp )
26262{
26263   sc4_state *state = machine.driver_data<sc4_state>();
26264   DRIVER_INIT_CALL( sc4mbus );
26265   state->m_reel_setup = sc4dndtp_reel_configs;
26266}
26267
26268INPUT_PORTS_START( sc4dndtp35 )
26269   PORT_INCLUDE( sc4_base )
26270   PORT_MODIFY("IN-5")
26271   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26272   SC4_JACKPOT_KEY_SETTINGS
26273INPUT_PORTS_END
26274
2567226275// PR3033 AWP DOND THE POWER 5 SCORP4         PR3033 POWER FIVE SOUNDS11        DOND THE POWER 5  S.SITE
25673GAME( 200?, sc4dndtp   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25674GAME( 200?, sc4dndtpa   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25675GAME( 200?, sc4dndtpb   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25676GAME( 200?, sc4dndtpc   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25677GAME( 200?, sc4dndtpd   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25678GAME( 200?, sc4dndtpe   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25679GAME( 200?, sc4dndtpf   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25680GAME( 200?, sc4dndtpg   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25681GAME( 200?, sc4dndtph   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25682GAME( 200?, sc4dndtpi   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
25683GAME( 200?, sc4dndtpj   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
25684GAME( 200?, sc4dndtpk   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
25685GAME( 200?, sc4dndtpl   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
25686GAME( 200?, sc4dndtpm   ,sc4dndtp,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
26276GAME( 200?, sc4dndtp   ,0,         sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
26277GAME( 200?, sc4dndtpe   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
26278GAME( 200?, sc4dndtpa   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
26279GAME( 200?, sc4dndtpf   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
26280GAME( 200?, sc4dndtpb   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
26281GAME( 200?, sc4dndtpg   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
26282GAME( 200?, sc4dndtpc   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 1, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
26283GAME( 200?, sc4dndtph   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 2, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
26284GAME( 200?, sc4dndtpd   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 415
26285GAME( 200?, sc4dndtpi   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 415
26286GAME( 200?, sc4dndtpl   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
26287GAME( 200?, sc4dndtpm   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
26288GAME( 200?, sc4dndtpj   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
26289GAME( 200?, sc4dndtpk   ,sc4dndtp,   sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
2568726290
2568826291
26292const stepper_interface* sc4dndww_reel_configs[6] =
26293{
26294   &starpoint_interface_48step,
26295   &starpoint_interface_48step,
26296   &starpoint_interface_48step,
26297   &starpoint_interface_48step,
26298   &starpoint_interface_48step,
26299   &starpoint_interface_48step,
26300};
26301
26302static DRIVER_INIT( sc4dndww )
26303{
26304   sc4_state *state = machine.driver_data<sc4_state>();
26305   DRIVER_INIT_CALL( sc4mbus );
26306   state->m_reel_setup = sc4dndww_reel_configs;
26307}
26308
26309INPUT_PORTS_START( sc4dndww35 )
26310   PORT_INCLUDE( sc4_base )
26311   PORT_MODIFY("IN-5")
26312   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26313   SC4_JACKPOT_KEY_SETTINGS
26314INPUT_PORTS_END
26315
26316
2568926317// PR3006 AWP DEAL OR NO DEAL THE WALK OF WEALTH SCORP4         PR3006 WALK OF WEALTH SOUNDS11    WALK OF WEALTH  S.SITE
25690GAME( 200?, sc4dndww   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25691GAME( 200?, sc4dndwwa   ,sc4dndww,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25692GAME( 200?, sc4dndwwb   ,sc4dndww,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25693GAME( 200?, sc4dndwwc   ,sc4dndww,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25694GAME( 200?, sc4dndwwd   ,sc4dndww,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25695GAME( 200?, sc4dndwwe   ,sc4dndww,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26318GAME( 200?, sc4dndww   ,0,         sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
26319GAME( 200?, sc4dndwwb   ,sc4dndww,   sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
26320GAME( 200?, sc4dndwwa   ,sc4dndww,   sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
26321GAME( 200?, sc4dndwwe   ,sc4dndww,   sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
26322GAME( 200?, sc4dndwwc   ,sc4dndww,   sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
26323GAME( 200?, sc4dndwwd   ,sc4dndww,   sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
2569626324
26325const stepper_interface* sc4dndcw_reel_configs[6] =
26326{
26327   &starpoint_interface_48step,
26328   &starpoint_interface_48step,
26329   &starpoint_interface_48step,
26330   &starpoint_interface_48step,
26331   &starpoint_interface_48step,
26332   &starpoint_interface_48step,
26333};
26334
26335static DRIVER_INIT( sc4dndcw )
26336{
26337   sc4_state *state = machine.driver_data<sc4_state>();
26338   DRIVER_INIT_CALL( sc4mbus );
26339   state->m_reel_setup = sc4dndcw_reel_configs;
26340}
26341
26342INPUT_PORTS_START( sc4dndcw5 )
26343   PORT_INCLUDE( sc4_base )
26344   PORT_MODIFY("IN-5")
26345   PORT_DIPNAME( 0x0f, 0x08, "Jackpot Key" ) // default to 5GBP key
26346   SC4_JACKPOT_KEY_SETTINGS
26347INPUT_PORTS_END
26348
26349
2569726350// PR3027 AWP CLASSIC DEAL OR NO DEAL THE WALK OF WEALTH SCORP4         PR3006 WALK OF WEALTH SOUNDS11    WALK OF WEALTH  S.SITE
25698GAME( 200?, sc4dndcw   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25699GAME( 200?, sc4dndcwa   ,sc4dndcw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25700GAME( 200?, sc4dndcwb   ,sc4dndcw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25701GAME( 200?, sc4dndcwc   ,sc4dndcw,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26351GAME( 200?, sc4dndcw   ,0,         sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
26352GAME( 200?, sc4dndcwb   ,sc4dndcw,   sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
26353GAME( 200?, sc4dndcwa   ,sc4dndcw,   sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
26354GAME( 200?, sc4dndcwc   ,sc4dndcw,   sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
2570226355
26356const stepper_interface* sc4dndtr_reel_configs[6] =
26357{
26358   &starpoint_interface_48step,
26359   &starpoint_interface_48step,
26360   &starpoint_interface_48step,
26361   0,
26362   &starpoint_interface_48step,
26363   &starpoint_interface_48step,
26364};
26365
26366static DRIVER_INIT( sc4dndtr )
26367{
26368   sc4_state *state = machine.driver_data<sc4_state>();
26369   DRIVER_INIT_CALL( sc4mbus );
26370   state->m_reel_setup = sc4dndtr_reel_configs;
26371}
26372
26373INPUT_PORTS_START( sc4dndtr70 )
26374   PORT_INCLUDE( sc4_base )
26375   PORT_MODIFY("IN-5")
26376   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26377   SC4_JACKPOT_KEY_SETTINGS
26378INPUT_PORTS_END
26379
26380
2570326381// PR3329 DOND THINK RED S4         PR3304 THINK RED SOUNDS11         THINK RED S.SITE
25704GAME( 200?, sc4dndtr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25705GAME( 200?, sc4dndtra   ,sc4dndtr,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26382GAME( 200?, sc4dndtr   ,0,         sc4, sc4dndtr70, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
26383GAME( 200?, sc4dndtra   ,sc4dndtr,   sc4, sc4dndtr70, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
2570626384
26385const stepper_interface* sc4dndwb_reel_configs[6] =
26386{
26387   &starpoint_interface_48step,
26388   &starpoint_interface_48step,
26389   &starpoint_interface_48step,
26390   0,
26391   &starpoint_interface_48step,
26392   &starpoint_interface_200step_reel,
26393};
26394
26395static DRIVER_INIT( sc4dndwb )
26396{
26397   sc4_state *state = machine.driver_data<sc4_state>();
26398   DRIVER_INIT_CALL( sc4mbus );
26399   state->m_reel_setup = sc4dndwb_reel_configs;
26400}
26401
26402INPUT_PORTS_START( sc4dndwb35 )
26403   PORT_INCLUDE( sc4_base )
26404   PORT_MODIFY("IN-5")
26405   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26406   SC4_JACKPOT_KEY_SETTINGS
26407INPUT_PORTS_END
26408
2570726409// PR1982 AWP DEAL OR NO DEAL WHATS IN YOUR BOX SCORP4         PR1962 WHATS IN Y BOX SOUNDS11    WHATS IN YOUR BX  S.SITE
25708GAME( 200?, sc4dndwb   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25709GAME( 200?, sc4dndwba   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25710GAME( 200?, sc4dndwbb   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25711GAME( 200?, sc4dndwbc   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25712GAME( 200?, sc4dndwbd   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25713GAME( 200?, sc4dndwbe   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25714GAME( 200?, sc4dndwbf   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25715GAME( 200?, sc4dndwbg   ,sc4dndwb,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26410GAME( 200?, sc4dndwb   ,0,         sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
26411GAME( 200?, sc4dndwbb   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
26412GAME( 200?, sc4dndwba   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
26413GAME( 200?, sc4dndwbc   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
26414GAME( 200?, sc4dndwbd   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
26415GAME( 200?, sc4dndwbe   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
26416GAME( 200?, sc4dndwbf   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
26417GAME( 200?, sc4dndwbg   ,sc4dndwb,   sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
2571626418
26419const stepper_interface* sc4dndbe_reel_configs[6] =
26420{
26421   &starpoint_interface_48step,
26422   &starpoint_interface_48step,
26423   &starpoint_interface_48step,
26424   0,
26425   &starpoint_interface_48step,
26426   &starpoint_interface_48step,
26427};
26428
26429static DRIVER_INIT( sc4dndbe )
26430{
26431   sc4_state *state = machine.driver_data<sc4_state>();
26432   DRIVER_INIT_CALL( sc4mbus );
26433   state->m_reel_setup = sc4dndbe_reel_configs;
26434}
26435
26436INPUT_PORTS_START( sc4dndbe25 )
26437   PORT_INCLUDE( sc4_base )
26438   PORT_MODIFY("IN-5")
26439   PORT_DIPNAME( 0x0f, 0x0a, "Jackpot Key" ) // default to 25GBP key
26440   SC4_JACKPOT_KEY_SETTINGS
26441INPUT_PORTS_END
26442
26443INPUT_PORTS_START( sc4dndbe35 )
26444   PORT_INCLUDE( sc4_base )
26445   PORT_MODIFY("IN-5")
26446   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26447   SC4_JACKPOT_KEY_SETTINGS
26448INPUT_PORTS_END
26449
26450// PR1935 AWP DEAL OR NO DEAL BEAT THE BANKER S4         PR1915 BEAT THE BANKER SOUNDS11   BEAT THE BANKER S.SITE
26451GAME( 200?, sc4dndbe   ,0,         sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
26452GAME( 200?, sc4dndbec   ,sc4dndbe,   sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
26453GAME( 200?, sc4dndbeg   ,sc4dndbe,   sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
26454GAME( 200?, sc4dndbek   ,sc4dndbe,   sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
26455GAME( 200?, sc4dndbeh   ,sc4dndbe,   sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
26456GAME( 200?, sc4dndbel   ,sc4dndbe,   sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
26457GAME( 200?, sc4dndbeb   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
26458GAME( 200?, sc4dndbed   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
26459GAME( 200?, sc4dndbee   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
26460GAME( 200?, sc4dndbei   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
26461GAME( 200?, sc4dndbef   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
26462GAME( 200?, sc4dndbej   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
26463GAME( 200?, sc4dndbem   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
26464GAME( 200?, sc4dndben   ,sc4dndbe,   sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
26465
26466const stepper_interface* sc4dndbc_reel_configs[6] =
26467{
26468   &starpoint_interface_48step,
26469   &starpoint_interface_48step,
26470   &starpoint_interface_48step,
26471   &starpoint_interface_48step,
26472   &starpoint_interface_48step,
26473   0,
26474};
26475
26476static DRIVER_INIT( sc4dndbc )
26477{
26478   sc4_state *state = machine.driver_data<sc4_state>();
26479   DRIVER_INIT_CALL( sc4mbus );
26480   state->m_reel_setup = sc4dndbc_reel_configs;
26481}
26482
26483INPUT_PORTS_START( sc4dndbc70 )
26484   PORT_INCLUDE( sc4_base )
26485   PORT_MODIFY("IN-5")
26486   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26487   SC4_JACKPOT_KEY_SETTINGS
26488INPUT_PORTS_END
26489
26490
26491// PR3337 AWP DEAL OR NO DEAL BOX CLEVER SCORP4         PR3312 DOND BOXCLEVER SOUNDS11    BOX CLEVER  S.SITE
26492GAME( 200?, sc4dndbc   ,0,         sc4, sc4dndbc70, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
26493GAME( 200?, sc4dndbca   ,sc4dndbc,   sc4, sc4dndbc70, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
26494
26495
2571726496// PR1307 AWP DIAMOND MINE         PR1307 DIAM MINE SOUNDS11
2571826497GAME( 200?, sc4dmine   ,0,         sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
2571926498GAME( 200?, sc4dminea   ,sc4dmine,   sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2573526514GAME( 200?, sc4ddoshn   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
2573626515GAME( 200?, sc4ddosho   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2573726516// PR1309 AWP DOCTOR DOSH         PR1309 DOCTOR DOSH SOUNDS11       DOCTOR DOSH S.SITE
25738GAME( 200?, sc4ddoshf   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
25739GAME( 200?, sc4ddoshg   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
25740GAME( 200?, sc4ddoshh   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
25741GAME( 200?, sc4ddoshi   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
25742GAME( 200?, sc4ddoshj   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
25743GAME( 200?, sc4ddoshk   ,sc4ddosh,   sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
26517GAME( 200?, sc4ddoshf   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
26518GAME( 200?, sc4ddoshg   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
26519GAME( 200?, sc4ddoshh   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
26520GAME( 200?, sc4ddoshi   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
26521GAME( 200?, sc4ddoshj   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
26522GAME( 200?, sc4ddoshk   ,sc4ddosh,   sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
2574426523
2574526524
2574626525
2574726526// PR1736 AWP DOUGH HO HO S4         PR1716 DOUGH HO HO SOUNDS11       DOUGH HO HO S.SITE
25748GAME( 200?, sc4dhh      ,0,         sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25749GAME( 200?, sc4dhha      ,sc4dhh,   sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25750GAME( 200?, sc4dhhb      ,sc4dhh,   sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25751GAME( 200?, sc4dhhc      ,sc4dhh,   sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25752GAME( 200?, sc4dhhd      ,sc4dhh,   sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25753GAME( 200?, sc4dhhe      ,sc4dhh,   sc4, sc4, sc4, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26527GAME( 200?, sc4dhh      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26528GAME( 200?, sc4dhha      ,sc4dhh,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26529GAME( 200?, sc4dhhb      ,sc4dhh,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26530GAME( 200?, sc4dhhc      ,sc4dhh,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26531GAME( 200?, sc4dhhd      ,sc4dhh,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26532GAME( 200?, sc4dhhe      ,sc4dhh,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2575426533
2575526534// PR1615 AWP DOUGH SELECTA SCORP4         PR1615 DOUGH SELECTA SOUNDS11     DOUGH SELECTA S.SITE
25756GAME( 200?, sc4dough   ,0,         sc4, sc4, sc4, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25757GAME( 200?, sc4dougha   ,sc4dough,   sc4, sc4, sc4, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26535GAME( 200?, sc4dough   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26536GAME( 200?, sc4dougha   ,sc4dough,   sc4, sc4, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2575826537
2575926538// PR2118 DUCKS OF HAZZARD         DUCKSOFHAZZARDSND         DUCKS OF HAZZARD
2576026539GAME( 200?, sc4ducks   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2577826557GAME( 200?, sc4evolf   ,sc4evol,   sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
2577926558GAME( 200?, sc4evolg   ,sc4evol,   sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2578026559
26560const stepper_interface* sc4fguy_reel_configs[6] =
26561{
26562   &starpoint_interface_48step,
26563   &starpoint_interface_48step,
26564   &starpoint_interface_48step,
26565   0,
26566   &starpoint_interface_48step,
26567   &starpoint_interface_48step,
26568};
26569
26570static DRIVER_INIT( sc4fguy )
26571{
26572   sc4_state *state = machine.driver_data<sc4_state>();
26573   DRIVER_INIT_CALL( sc4mbus );
26574   state->m_reel_setup = sc4fguy_reel_configs;
26575}
26576
26577INPUT_PORTS_START( sc4fguy35 )
26578   PORT_INCLUDE( sc4_base )
26579   PORT_MODIFY("IN-5")
26580   PORT_DIPNAME( 0x0f, 0x0c, "Jackpot Key" ) // default to 35GBP key
26581   SC4_JACKPOT_KEY_SETTINGS
26582INPUT_PORTS_END
26583
26584INPUT_PORTS_START( sc4fguy70 )
26585   PORT_INCLUDE( sc4_base )
26586   PORT_MODIFY("IN-5")
26587   PORT_DIPNAME( 0x0f, 0x0d, "Jackpot Key" ) // default to 70GBP key
26588   SC4_JACKPOT_KEY_SETTINGS
26589INPUT_PORTS_END
26590
2578126591// PR3233 AWP FAMILY GUY S4         PR3213 FAMILY GUY SOUNDS11        FAMILY GUY  S.SITE
25782GAME( 200?, sc4fguy      ,0,         sc4, sc4, sc4, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25783GAME( 200?, sc4fguya   ,sc4fguy,   sc4, sc4, sc4, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25784GAME( 200?, sc4fguyb   ,sc4fguy,   sc4, sc4, sc4, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25785GAME( 200?, sc4fguyc   ,sc4fguy,   sc4, sc4, sc4, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26592GAME( 200?, sc4fguy      ,0,         sc4, sc4fguy35, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
26593GAME( 200?, sc4fguyb   ,sc4fguy,   sc4, sc4fguy35, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
26594GAME( 200?, sc4fguya   ,sc4fguy,   sc4, sc4fguy70, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
26595GAME( 200?, sc4fguyc   ,sc4fguy,   sc4, sc4fguy70, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
2578626596
2578726597// PR1721 AWP FAT BOY SPIN SCORP4         PR1701 FAT BOY SPIN SOUNDS11      FAT BOY SPIN  S.SITE
25788GAME( 200?, sc4fbspn   ,0,         sc4, sc4, sc4, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25789GAME( 200?, sc4fbspna   ,sc4fbspn,   sc4, sc4, sc4, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25790GAME( 200?, sc4fbspnb   ,sc4fbspn,   sc4, sc4, sc4, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25791GAME( 200?, sc4fbspnc   ,sc4fbspn,   sc4, sc4, sc4, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26598GAME( 200?, sc4fbspn   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26599GAME( 200?, sc4fbspna   ,sc4fbspn,   sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26600GAME( 200?, sc4fbspnb   ,sc4fbspn,   sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26601GAME( 200?, sc4fbspnc   ,sc4fbspn,   sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2579226602
2579326603// PR2328 FULL METAL JACKPOT         FULLM SOUNDS         F METAL JACKPOT
2579426604GAME( 200?, sc4fmj      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2584726657GAME( 200?, sc4gballc   ,sc4gball,   sc4, sc4, sc4, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2584826658
2584926659// PR3046 AWP THE GUNPOWDER SLOT S4         PR3016 GUNPOWDER SLOT SOUNDS11    GUNPOWDER SLOT  S.SITE
25850GAME( 200?, sc4gunp      ,0,         sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25851GAME( 200?, sc4gunpa   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25852GAME( 200?, sc4gunpb   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25853GAME( 200?, sc4gunpc   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25854GAME( 200?, sc4gunpd   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25855GAME( 200?, sc4gunpe   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25856GAME( 200?, sc4gunpf   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25857GAME( 200?, sc4gunpg   ,sc4gunp,   sc4, sc4, sc4, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26660GAME( 200?, sc4gunp      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26661GAME( 200?, sc4gunpa   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26662GAME( 200?, sc4gunpb   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26663GAME( 200?, sc4gunpc   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26664GAME( 200?, sc4gunpd   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26665GAME( 200?, sc4gunpe   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26666GAME( 200?, sc4gunpf   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26667GAME( 200?, sc4gunpg   ,sc4gunp,   sc4, sc4, sc4mbus, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2585826668
2585926669
2586026670
r14948r14949
2586626676GAME( 200?, sc4hapntd   ,sc4hapnt,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2586726677GAME( 200?, sc4hapnte   ,sc4hapnt,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2586826678// PR1327 CASINO HAPPY NOTES         HAPPY NOTES S.SITE  PR1327 CAS_HAPPY_NOTES SOUNDS11
25869GAME( 200?, sc4hntcs   ,0,         sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25870GAME( 200?, sc4hntcsa   ,sc4hntcs,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25871GAME( 200?, sc4hntcsb   ,sc4hntcs,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25872GAME( 200?, sc4hntcsc   ,sc4hntcs,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26679GAME( 200?, sc4hntcs   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26680GAME( 200?, sc4hntcsa   ,sc4hntcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26681GAME( 200?, sc4hntcsb   ,sc4hntcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26682GAME( 200?, sc4hntcsc   ,sc4hntcs,   sc4, sc4, sc4mbus, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2587326683// PR1327 CASINO HAPPY NOTES         PR1327 CAS_HAPPY_NOTES SOUNDS11
2587426684GAME( 200?, sc4hntcsd   ,sc4hntcs,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2587526685GAME( 200?, sc4hntcse   ,sc4hntcs,   sc4, sc4, sc4, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2589726707GAME( 200?, sc4hellbe   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
2589826708GAME( 200?, sc4hellbf   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2589926709// PR1419 AWP HELLS BELLS         PR1402 HELLS BELLS SOUNDS11       HELLS BELLS S.SITE
25900GAME( 200?, sc4hellbg   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25901GAME( 200?, sc4hellbh   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25902GAME( 200?, sc4hellbi   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25903GAME( 200?, sc4hellbj   ,sc4hellb,   sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26710GAME( 200?, sc4hellbg   ,sc4hellb,   sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26711GAME( 200?, sc4hellbh   ,sc4hellb,   sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26712GAME( 200?, sc4hellbi   ,sc4hellb,   sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26713GAME( 200?, sc4hellbj   ,sc4hellb,   sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2590426714
2590526715// PR1643 AWP HILLBILLIONAIRE SCORP4         PR1613 HILLBILLIONAIRE SOUNDS11   HILLBILLIONAIRE S.SITE
2590626716GAME( 200?, sc4hill      ,0,         sc4, sc4, sc4, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2591726727GAME( 200?, sc4hissg   ,sc4hiss,   sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2591826728
2591926729// PR1936 AWP HOT DOG SCORP4         PR1916 HOT DOG SOUNDS11         HOT DOG S.SITE
25920GAME( 200?, sc4hotdg   ,0,         sc4, sc4, sc4, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25921GAME( 200?, sc4hotdga   ,sc4hotdg,   sc4, sc4, sc4, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
25922GAME( 200?, sc4hotdgb   ,sc4hotdg,   sc4, sc4, sc4, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25923GAME( 200?, sc4hotdgc   ,sc4hotdg,   sc4, sc4, sc4, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26730GAME( 200?, sc4hotdg   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26731GAME( 200?, sc4hotdga   ,sc4hotdg,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
26732GAME( 200?, sc4hotdgb   ,sc4hotdg,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26733GAME( 200?, sc4hotdgc   ,sc4hotdg,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2592426734
2592526735// PR1733 AWP HOT ROD SCORP4         PR1713 HOT ROD SOUNDS11         HOT ROD S.SITE
25926GAME( 200?, sc4hotrd   ,0,         sc4, sc4, sc4, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25927GAME( 200?, sc4hotrda   ,sc4hotrd,   sc4, sc4, sc4, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26736GAME( 200?, sc4hotrd   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26737GAME( 200?, sc4hotrda   ,sc4hotrd,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2592826738
2592926739// PR3231 AWP HOT SHOT SCORP4         PR3211 HOT SHOT SOUNDS11         HOT SHOT  S.SITE
25930GAME( 200?, sc4hotsh   ,0,         sc4, sc4, sc4, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25931GAME( 200?, sc4hotsha   ,sc4hotsh,   sc4, sc4, sc4, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26740GAME( 200?, sc4hotsh   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26741GAME( 200?, sc4hotsha   ,sc4hotsh,   sc4, sc4, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2593226742
2593326743// PR1311 HOT WAD         PR1311 HOT WAD SOUNDS11
2593426744GAME( 200?, sc4hotwd   ,0,         sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2595226762GAME( 200?, sc4inspna   ,sc4inspn,   sc4, sc4, sc4, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2595326763
2595426764// PR2366 AWP THE ITALIAN JOB S4         PR2366 THE ITALIAN JOB SOUNDS11   ITALIAN JOB S.SITE
25955GAME( 200?, sc4ijob      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25956GAME( 200?, sc4ijoba   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25957GAME( 200?, sc4ijobb   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25958GAME( 200?, sc4ijobc   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
25959GAME( 200?, sc4ijobd   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25960GAME( 200?, sc4ijobe   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25961GAME( 200?, sc4ijobf   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25962GAME( 200?, sc4ijobg   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25963GAME( 200?, sc4ijobh   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25964GAME( 200?, sc4ijobi   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
25965GAME( 200?, sc4ijobj   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
25966GAME( 200?, sc4ijobk   ,sc4ijob,   sc4, sc4, sc4, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
26765GAME( 200?, sc4ijob      ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26766GAME( 200?, sc4ijoba   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26767GAME( 200?, sc4ijobb   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26768GAME( 200?, sc4ijobc   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26769GAME( 200?, sc4ijobd   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26770GAME( 200?, sc4ijobe   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26771GAME( 200?, sc4ijobf   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26772GAME( 200?, sc4ijobg   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26773GAME( 200?, sc4ijobh   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26774GAME( 200?, sc4ijobi   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26775GAME( 200?, sc4ijobj   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
26776GAME( 200?, sc4ijobk   ,sc4ijob,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
2596726777
2596826778
2596926779// PR1609 JACKPOT JOKERS         PR1609 JACKPOT JOKERS SOUNDS11    JACKPOT JOKERS  S.SITE
r14948r14949
2597226782
2597326783
2597426784// PR2376 LITTLE DEVIL         LDEVIL SOUNDS         LITTLE DEVIL
25975GAME( 200?, sc4ldvl      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25976GAME( 200?, sc4ldvla   ,sc4ldvl,   sc4, sc4, sc4, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25977GAME( 200?, sc4ldvlb   ,sc4ldvl,   sc4, sc4, sc4, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
25978GAME( 200?, sc4ldvlc   ,sc4ldvl,   sc4, sc4, sc4, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26785GAME( 200?, sc4ldvl      ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26786GAME( 200?, sc4ldvla   ,sc4ldvl,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26787GAME( 200?, sc4ldvlb   ,sc4ldvl,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26788GAME( 200?, sc4ldvlc   ,sc4ldvl,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2597926789
2598026790// PR1427 AWP RETURN OF THE KING         PR1413 RETURN OF THE  SOUNDS11    RETURN OF KING  S.SITE
2598126791GAME( 200?, sc4lotrr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2598626796GAME( 200?, sc4lotrre   ,sc4lotrr,   sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2598726797
2598826798// PR3034 AWP MANIC MINER SCORP4         PR3004 MANIC MINER SOUNDS11       MANIC MINER S.SITE
25989GAME( 200?, sc4manic   ,0,         sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
25990GAME( 200?, sc4manica   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
25991GAME( 200?, sc4manicb   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
25992GAME( 200?, sc4manicc   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
25993GAME( 200?, sc4manicd   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
25994GAME( 200?, sc4manice   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
25995GAME( 200?, sc4manicf   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
25996GAME( 200?, sc4manicg   ,sc4manic,   sc4, sc4, sc4, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26799GAME( 200?, sc4manic   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26800GAME( 200?, sc4manica   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26801GAME( 200?, sc4manicb   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26802GAME( 200?, sc4manicc   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26803GAME( 200?, sc4manicd   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26804GAME( 200?, sc4manice   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26805GAME( 200?, sc4manicf   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26806GAME( 200?, sc4manicg   ,sc4manic,   sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2599726807
2599826808// PR2282 MENTALMONEYMONSTERS         MMMO SOUNDS          MONEY MONSTERS
2599926809GAME( 200?, sc4mmm      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2601726827GAME( 200?, sc4mmadg   ,sc4mmad,   sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
2601826828
2601926829// PR1218 MONEY SPINNER ART12         95004291 MONEYSPINNER PR1158
26020GAME( 200?, sc4monsp   ,0,         sc4, sc4, sc4, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
26830GAME( 200?, sc4monsp   ,0,         sc4, sc4, sc4, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
2602126831
2602226832GAME( 200?, sc4monop   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056  MONOP  TRIPLE         MONO SOUNDS         MONOP TRIPLE
2602326833GAME( 200?, sc4monopa   ,sc4monop,   sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2056  MONOP  TRIPLE         MONO SOUNDS         MONOP TRIPLE
r14948r14949
2609926909GAME( 200?, sc4mcas4   ,sc4mcas,   sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
2610026910
2610126911// PR3333 AWP MONOPOLY DOUBLE MONEY S4         PR3308 MPOLY D MONEY SOUNDS11     DOUBLE MONEY  S.SITE
26102GAME( 200?, sc4mdm      ,0,         sc4, sc4, sc4, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26103GAME( 200?, sc4mdma      ,sc4mdm,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26912GAME( 200?, sc4mdm      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26913GAME( 200?, sc4mdma      ,sc4mdm,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2610426914
2610526915// PR2380 MONOPOLY HERE AND NOW         MR2R SOUNDS         NITH
26106GAME( 200?, sc4mhn      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26107GAME( 200?, sc4mhna      ,sc4mhn,   sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26916GAME( 200?, sc4mhn      ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26917GAME( 200?, sc4mhna      ,sc4mhn,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2610826918
2610926919// PR2345 AWP MONOPOLY HOT PROPERTY S4         PR2345 HOT PROPERTY SOUNDS11      HOT PROPERTY  S.SITE
26110GAME( 200?, sc4mhp      ,0,         sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26111GAME( 200?, sc4mhpa      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26112GAME( 200?, sc4mhpb      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26113GAME( 200?, sc4mhpc      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26114GAME( 200?, sc4mhpd      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26115GAME( 200?, sc4mhpe      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26116GAME( 200?, sc4mhpf      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26117GAME( 200?, sc4mhpg      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26118GAME( 200?, sc4mhph      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26119GAME( 200?, sc4mhpi      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26120GAME( 200?, sc4mhpj      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
26121GAME( 200?, sc4mhpk      ,sc4mhp,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
26920GAME( 200?, sc4mhp      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26921GAME( 200?, sc4mhpa      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26922GAME( 200?, sc4mhpb      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26923GAME( 200?, sc4mhpc      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26924GAME( 200?, sc4mhpd      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26925GAME( 200?, sc4mhpe      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26926GAME( 200?, sc4mhpf      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26927GAME( 200?, sc4mhpg      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26928GAME( 200?, sc4mhph      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26929GAME( 200?, sc4mhpi      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26930GAME( 200?, sc4mhpj      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
26931GAME( 200?, sc4mhpk      ,sc4mhp,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
2612226932
2612326933
2612426934// PR1931 AWP MONOLOLY MONEY BAGS SCORP4         PR1911 MPOLY MONEYBAGS SOUNDS11   MONEYBAGS S.SITE
26125GAME( 200?, sc4mmb      ,0,         sc4, sc4, sc4, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26126GAME( 200?, sc4mmba      ,sc4mmb,   sc4, sc4, sc4, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26935GAME( 200?, sc4mmb      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26936GAME( 200?, sc4mmba      ,sc4mmb,   sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2612726937
2612826938// PR2363 RED HOT MONOP         MONOPOLY  ARCADE  MONO SOUNDS         MONOPOLY
2612926939GAME( 200?, sc4mrh      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2614326953
2614426954
2614526955// PR3032 AWP NIGHTMARE ON ELM STREET S4         PR3002 ELM STREET SOUNDS11        NIGHTMARE ELM ST  S.SITE
26146GAME( 200?, sc4nmare   ,0,         sc4, sc4, sc4, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26147GAME( 200?, sc4nmarea   ,sc4nmare,   sc4, sc4, sc4, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26148GAME( 200?, sc4nmareb   ,sc4nmare,   sc4, sc4, sc4, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26149GAME( 200?, sc4nmarec   ,sc4nmare,   sc4, sc4, sc4, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26956GAME( 200?, sc4nmare   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26957GAME( 200?, sc4nmarea   ,sc4nmare,   sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26958GAME( 200?, sc4nmareb   ,sc4nmare,   sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26959GAME( 200?, sc4nmarec   ,sc4nmare,   sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2615026960
2615126961// PR1612 PICK OF THE PACK         PR1612 PICK OF THE PACK SOUNDS11  PICK OF THE PACK  S.SITE
26152GAME( 200?, sc4potp      ,0,         sc4, sc4, sc4, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26153GAME( 200?, sc4potpa   ,sc4potp,   sc4, sc4, sc4, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26962GAME( 200?, sc4potp      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26963GAME( 200?, sc4potpa   ,sc4potp,   sc4, sc4, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2615426964
2615526965// PR2562 PINK PANTHER         PINK SOUNDS         PINK PANTHER
2615626966GAME( 200?, sc4pp      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2617626986
2617726987
2617826988// PR2407 AWP PINK PANTHER CRACK THE CODE SCORP4         PR2407 CRACK THE CODE SOUNDS11    CRACK THE CODE  S.SITE
26179GAME( 200?, sc4ppctc   ,0,         sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26180GAME( 200?, sc4ppctca   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26181GAME( 200?, sc4ppctcb   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26182GAME( 200?, sc4ppctcc   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26183GAME( 200?, sc4ppctcd   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26184GAME( 200?, sc4ppctce   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26185GAME( 200?, sc4ppctcf   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26186GAME( 200?, sc4ppctcg   ,sc4ppctc,   sc4, sc4, sc4, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26989GAME( 200?, sc4ppctc   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26990GAME( 200?, sc4ppctca   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26991GAME( 200?, sc4ppctcb   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26992GAME( 200?, sc4ppctcc   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26993GAME( 200?, sc4ppctcd   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26994GAME( 200?, sc4ppctce   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26995GAME( 200?, sc4ppctcf   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26996GAME( 200?, sc4ppctcg   ,sc4ppctc,   sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2618726997
2618826998
2618926999// PR2330 PINK PANTHER DYM         PINK PANTHER DYM  QPS DYMT SOUNDS         PINK PANTHER DYM    -
r14948r14949
2622227032
2622327033
2622427034// PR2417 AWP POPEYE S4         PR2417 POPEYE SOUNDS11         POPEYE  S.SITE
26225GAME( 200?, sc4popey   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26226GAME( 200?, sc4popeya   ,sc4popey,   sc4, sc4, sc4, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26227GAME( 200?, sc4popeyb   ,sc4popey,   sc4, sc4, sc4, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26228GAME( 200?, sc4popeyc   ,sc4popey,   sc4, sc4, sc4, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27035GAME( 200?, sc4popey   ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27036GAME( 200?, sc4popeya   ,sc4popey,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27037GAME( 200?, sc4popeyb   ,sc4popey,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27038GAME( 200?, sc4popeyc   ,sc4popey,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2622927039
2623027040
2623127041
2623227042// PR1938 AWP POTS OF GOLD SCORP4         PR1918 POTS OF GOLD SOUNDS11      POTS OF GOLD  S.SITE
26233GAME( 200?, sc4pog      ,0,         sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26234GAME( 200?, sc4poga      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26235GAME( 200?, sc4pogb      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26236GAME( 200?, sc4pogc      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26237GAME( 200?, sc4pogd      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26238GAME( 200?, sc4poge      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26239GAME( 200?, sc4pogf      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26240GAME( 200?, sc4pogg      ,sc4pog,   sc4, sc4, sc4, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
27043GAME( 200?, sc4pog      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27044GAME( 200?, sc4poga      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27045GAME( 200?, sc4pogb      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27046GAME( 200?, sc4pogc      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27047GAME( 200?, sc4pogd      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27048GAME( 200?, sc4poge      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27049GAME( 200?, sc4pogf      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
27050GAME( 200?, sc4pogg      ,sc4pog,   sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2624127051
2624227052// PR2272 POWER PLAY         PPLY SOUNDS
2624327053GAME( 200?, sc4pwrpl   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2624727057
2624827058
2624927059// PR1614 AWP POWERBALL         POWERBALL S.SITE  PR1614 POWERBALL SOUNDS11
26250GAME( 200?, sc4pwrbl   ,0,         sc4, sc4, sc4, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26251GAME( 200?, sc4pwrbla   ,sc4pwrbl,   sc4, sc4, sc4, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27060GAME( 200?, sc4pwrbl   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27061GAME( 200?, sc4pwrbla   ,sc4pwrbl,   sc4, sc4, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2625227062
2625327063
2625427064// PR2342 QUID VICIOUS         QUIDV SOUNDS         QUID VICIOUS
26255GAME( 200?, sc4quidv   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26256GAME( 200?, sc4quidva   ,sc4quidv,   sc4, sc4, sc4, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26257GAME( 200?, sc4quidvb   ,sc4quidv,   sc4, sc4, sc4, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26258GAME( 200?, sc4quidvc   ,sc4quidv,   sc4, sc4, sc4, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27065GAME( 200?, sc4quidv   ,0,         sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27066GAME( 200?, sc4quidva   ,sc4quidv,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27067GAME( 200?, sc4quidvb   ,sc4quidv,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27068GAME( 200?, sc4quidvc   ,sc4quidv,   sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2625927069
2626027070// PR2077  RED HOT X         REDX SOUNDS         RED HOT X
2626127071GAME( 200?, sc4rhx      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2630227112
2630327113
2630427114// PR3256 CLUB RONNIE O SULLIVANS TOURNAMENT SCORP4         RONNIE OSULLIVAN  CLUB  PR3256 RONNIE O SOUNDS11         RONNIE SULLIVAN
26305GAME( 200?, sc4rosts   ,0,         sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26306GAME( 200?, sc4rostsa   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26307GAME( 200?, sc4rostsb   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26308GAME( 200?, sc4rostsc   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26309GAME( 200?, sc4rostsd   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26310GAME( 200?, sc4rostse   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26311GAME( 200?, sc4rostsf   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26312GAME( 200?, sc4rostsg   ,sc4rosts,   sc4, sc4, sc4, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
27115GAME( 200?, sc4rosts   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27116GAME( 200?, sc4rostsa   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27117GAME( 200?, sc4rostsb   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27118GAME( 200?, sc4rostsc   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27119GAME( 200?, sc4rostsd   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27120GAME( 200?, sc4rostse   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27121GAME( 200?, sc4rostsf   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
27122GAME( 200?, sc4rostsg   ,sc4rosts,   sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2631327123
2631427124
2631527125// PR2311 ROVERS RETURN         ROVERS RETURN SOUNDS         ROVERS RETURN
r14948r14949
2632327133
2632427134
2632527135// PR3043 AWP SHOW TIME S4         PR3013 SHOWTIME SOUNDS11         SHOW TIME S.SITE
26326GAME( 200?, sc4showt   ,0,         sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26327GAME( 200?, sc4showta   ,sc4showt,   sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26328GAME( 200?, sc4showtb   ,sc4showt,   sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26329GAME( 200?, sc4showtc   ,sc4showt,   sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26330GAME( 200?, sc4showtd   ,sc4showt,   sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26331GAME( 200?, sc4showte   ,sc4showt,   sc4, sc4, sc4, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27136GAME( 200?, sc4showt   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27137GAME( 200?, sc4showta   ,sc4showt,   sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27138GAME( 200?, sc4showtb   ,sc4showt,   sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27139GAME( 200?, sc4showtc   ,sc4showt,   sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27140GAME( 200?, sc4showtd   ,sc4showt,   sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27141GAME( 200?, sc4showte   ,sc4showt,   sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2633227142
2633327143// PR1411 AWP SNAKES AND LADDERS         PR1411 SNAKES A L SOUNDS11        SNAKES & LADDERS  S.SITE
2633427144GAME( 200?, sc4slad      ,0,         sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2634327153
2634427154
2634527155// PR1921 AWP SPICE IT UP SCORP4         PR1901 SPICE IT UP SOUNDS11       SPICE IT UP S.SITE
26346GAME( 200?, sc4spice   ,0,         sc4, sc4, sc4, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26347GAME( 200?, sc4spicea   ,sc4spice,   sc4, sc4, sc4, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26348GAME( 200?, sc4spiceb   ,sc4spice,   sc4, sc4, sc4, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26349GAME( 200?, sc4spicec   ,sc4spice,   sc4, sc4, sc4, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27156GAME( 200?, sc4spice   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27157GAME( 200?, sc4spicea   ,sc4spice,   sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27158GAME( 200?, sc4spiceb   ,sc4spice,   sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27159GAME( 200?, sc4spicec   ,sc4spice,   sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2635027160
2635127161// PR2232 SPIN WHEN YOU'RE WINNING         SPIN SOUNDS
2635227162GAME( 200?, sc4swywm   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2637627186GAME( 200?, sc4susk      ,sc4sus,   sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2637727187
2637827188// PR3081 CLUB SUPER SLAM         SUPER SLAM  CLUB  PR3080 SUPER SLAM SOUNDS11
26379GAME( 200?, sc4sslam   ,0,         sc4, sc4, sc4, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26380GAME( 200?, sc4sslama   ,sc4sslam,   sc4, sc4, sc4, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27189GAME( 200?, sc4sslam   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27190GAME( 200?, sc4sslama   ,sc4sslam,   sc4, sc4, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2638127191
2638227192// PR2235 SWITCHBACK         SWBK SOUNDS         SWITCHBACK
2638327193GAME( 200?, sc4swbak   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2638627196GAME( 200?, sc4swbakc   ,sc4swbak,   sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2638727197
2638827198// PR1714 AWP TAKE THE PIECE S4         PR1714 TAKE THE PIECE SOUNDS11    TAKETHEPIECE  S.SITE
26389GAME( 200?, sc4ttpie   ,0,         sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26390GAME( 200?, sc4ttpiec   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27199GAME( 200?, sc4ttpie   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27200GAME( 200?, sc4ttpiec   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2639127201// PR1734 AWP TAKE THE PIECE S4         PR1714 TAKE THE PIECE SOUNDS11    TAKETHEPIECE  S.SITE
26392GAME( 200?, sc4ttpiea   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26393GAME( 200?, sc4ttpieb   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26394GAME( 200?, sc4ttpied   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26395GAME( 200?, sc4ttpiee   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26396GAME( 200?, sc4ttpief   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26397GAME( 200?, sc4ttpieg   ,sc4ttpie,   sc4, sc4, sc4, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27202GAME( 200?, sc4ttpiea   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27203GAME( 200?, sc4ttpieb   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27204GAME( 200?, sc4ttpied   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27205GAME( 200?, sc4ttpiee   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27206GAME( 200?, sc4ttpief   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27207GAME( 200?, sc4ttpieg   ,sc4ttpie,   sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2639827208
2639927209// PR3031 AWP TAKE YOUR PICK S4         PR3001 TAKE YOUR PICK SOUNDS11    TAKE YOUR PICK  S.SITE
26400GAME( 200?, sc4typ      ,0,         sc4, sc4, sc4, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26401GAME( 200?, sc4typa      ,sc4typ,   sc4, sc4, sc4, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26402GAME( 200?, sc4typb      ,sc4typ,   sc4, sc4, sc4, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26403GAME( 200?, sc4typc      ,sc4typ,   sc4, sc4, sc4, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27210GAME( 200?, sc4typ      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27211GAME( 200?, sc4typa      ,sc4typ,   sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27212GAME( 200?, sc4typb      ,sc4typ,   sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27213GAME( 200?, sc4typc      ,sc4typ,   sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2640427214
2640527215// PR2056  GOLD X TRIPLE         BARX SOUNDS         J  GOLD X TRIPLE  (is this really a game called Top Box or just the top box roms for one of the Golden X Game sets)
26406GAME( 200?, sc4tbox      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
27216GAME( 200?, sc4tbox      ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Gold X Triple Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
2640727217
2640827218// PR2211 TOP OF THE SHOTS         TOTS SOUNDS         TOP OF THE SHOTS
2640927219GAME( 200?, sc4tpsht   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2645527265GAME( 200?, sc4adsnta   ,sc4adsnt,   sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2645627266
2645727267// PR1728 AWP BULLY'S PRIZE BOARD         PR1708 B PRIZE BOARD SOUNDS11     BULLYSPRIZEBOARD  S.SITE
26458GAME( 200?, sc4bpb      ,0,         sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26459GAME( 200?, sc4bpbc      ,sc4bpb,   sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27268GAME( 200?, sc4bpb      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27269GAME( 200?, sc4bpbc      ,sc4bpb,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2646027270// PR1728 AWP BULLY'S PRIZE BOARD S4         PR1708 B PRIZE BOARD SOUNDS11     BULLYSPRIZEBOARD  S.SITE
26461GAME( 200?, sc4bpba      ,sc4bpb,   sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26462GAME( 200?, sc4bpbb      ,sc4bpb,   sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26463GAME( 200?, sc4bpbd      ,sc4bpb,   sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26464GAME( 200?, sc4bpbe      ,sc4bpb,   sc4, sc4, sc4, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27271GAME( 200?, sc4bpba      ,sc4bpb,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27272GAME( 200?, sc4bpbb      ,sc4bpb,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27273GAME( 200?, sc4bpbd      ,sc4bpb,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27274GAME( 200?, sc4bpbe      ,sc4bpb,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2646527275
2646627276// PR3040 AWP BULLYS STAR PRIZE SCORP4         PR3012 BULLYS STAR P SOUNDS11     BULLYS STARPRIZE  S.SITE
26467GAME( 200?, sc4bsp      ,0,         sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26468GAME( 200?, sc4bspa      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26469GAME( 200?, sc4bspb      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26470GAME( 200?, sc4bspc      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26471GAME( 200?, sc4bspd      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26472GAME( 200?, sc4bspg      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27277GAME( 200?, sc4bsp      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27278GAME( 200?, sc4bspa      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27279GAME( 200?, sc4bspb      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27280GAME( 200?, sc4bspc      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27281GAME( 200?, sc4bspd      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27282GAME( 200?, sc4bspg      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
2647327283// PR3042 AWP BULLYS STAR PRIZE SCORP4         PR3012 BULLYS STAR P SOUNDS11     BULLYS STARPRIZE  S.SITE
26474GAME( 200?, sc4bspe      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26475GAME( 200?, sc4bspf      ,sc4bsp,   sc4, sc4, sc4, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27284GAME( 200?, sc4bspe      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27285GAME( 200?, sc4bspf      ,sc4bsp,   sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2647627286
2647727287
2647827288// PR1316 AWP CHAIN REACTION         PR1312 CHAIN REACT SOUNDS11
r14948r14949
2648227292GAME( 200?, sc4chainc   ,sc4chain,   sc4, sc4, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2648327293
2648427294// PR1727 AWP CLOWN AROUND SCORP4         PR1707 CLOWN AROUND SOUNDS11      CLOWN AROUND  S.SITE
26485GAME( 200?, sc4clown   ,0,         sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26486GAME( 200?, sc4clowna   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26487GAME( 200?, sc4clownb   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26488GAME( 200?, sc4clownc   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26489GAME( 200?, sc4clownd   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26490GAME( 200?, sc4clowne   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26491GAME( 200?, sc4clownf   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26492GAME( 200?, sc4clowng   ,sc4clown,   sc4, sc4, sc4, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
27295GAME( 200?, sc4clown   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27296GAME( 200?, sc4clowna   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27297GAME( 200?, sc4clownb   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27298GAME( 200?, sc4clownc   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27299GAME( 200?, sc4clownd   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27300GAME( 200?, sc4clowne   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27301GAME( 200?, sc4clownf   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
27302GAME( 200?, sc4clowng   ,sc4clown,   sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2649327303
2649427304// PR1412 AWP COPS AND ROBBERS         PR1412 COPS AND ROBBERS SOUNDS11  COPS AND ROBBERS  S.SITE
2649527305GAME( 200?, sc4copsr   ,0,         sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2650327313GAME( 200?, sc4copsrh   ,sc4copsr,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
2650427314GAME( 200?, sc4copsri   ,sc4copsr,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2650527315
26506// PR1935 AWP DEAL OR NO DEAL BEAT THE BANKER S4         PR1915 BEAT THE BANKER SOUNDS11   BEAT THE BANKER S.SITE
26507GAME( 200?, sc4dndbe   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26508GAME( 200?, sc4dndbeb   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26509GAME( 200?, sc4dndbec   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26510GAME( 200?, sc4dndbed   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26511GAME( 200?, sc4dndbee   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26512GAME( 200?, sc4dndbef   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26513GAME( 200?, sc4dndbeg   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26514GAME( 200?, sc4dndbeh   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26515GAME( 200?, sc4dndbei   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26516GAME( 200?, sc4dndbej   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
26517GAME( 200?, sc4dndbek   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
26518GAME( 200?, sc4dndbel   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
26519GAME( 200?, sc4dndbem   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
26520GAME( 200?, sc4dndben   ,sc4dndbe,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
2652127316
26522// PR3337 AWP DEAL OR NO DEAL BOX CLEVER SCORP4         PR3312 DOND BOXCLEVER SOUNDS11    BOX CLEVER  S.SITE
26523GAME( 200?, sc4dndbc   ,0,         sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26524GAME( 200?, sc4dndbca   ,sc4dndbc,   sc4, sc4, sc4, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26525
2652627317GAME( 200?, sc4mowow   ,0,         sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2118 MONOPOLY WOTW         WOTW SOUNDS         MONOPOLY WOTW   8P
2652727318GAME( 200?, sc4mowowa   ,sc4mowow,   sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
2652827319GAME( 200?, sc4mowowb   ,sc4mowow,   sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
r14948r14949
2664027431GAME( 200?, sc4gggr      ,sc4ggg,   sc4, sc4, sc4, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )// ^^
2664127432GAME( 200?, sc4gggs      ,sc4ggg,   sc4, sc4, sc4, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )// ^^
2664227433
26643/**************************************************/
26644/************ many give error 41 ******************/
26645/**************************************************/
2664627434
2664727435// PR1227 4PLAY ART13         95004313 4PLAY PR1227
2664827436GAME( 200?, sc4ivply   ,0,         sc4, sc4, sc4, ROT0, "BFM","4 Play (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
r14948r14949
2671827506GAME( 200?, sc4brkspa   ,sc4brksp,   sc4, sc4, sc4, ROT0, "Mazooma","Break The Spell (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
2671927507
2672027508// PR1753 CLUB BULLSEYE         BULLSEYE  CLUB  PR1751 BULLSEYE SOUNDS11         BULLSYE
26721GAME( 200?, sc4bulcl   ,0,         sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26722GAME( 200?, sc4bulcla   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26723GAME( 200?, sc4bulclb   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26724GAME( 200?, sc4bulclc   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26725GAME( 200?, sc4bulcld   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26726GAME( 200?, sc4bulcle   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26727GAME( 200?, sc4bulclf   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26728GAME( 200?, sc4bulclg   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
26729GAME( 200?, sc4bulclh   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
26730GAME( 200?, sc4bulcli   ,sc4bulcl,   sc4, sc4, sc4, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
27509GAME( 200?, sc4bulcl   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27510GAME( 200?, sc4bulcla   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27511GAME( 200?, sc4bulclb   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27512GAME( 200?, sc4bulclc   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27513GAME( 200?, sc4bulcld   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27514GAME( 200?, sc4bulcle   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27515GAME( 200?, sc4bulclf   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
27516GAME( 200?, sc4bulclg   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
27517GAME( 200?, sc4bulclh   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
27518GAME( 200?, sc4bulcli   ,sc4bulcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
2673127519
2673227520
2673327521// PR1113 CARRY ON WINNING         PR1113 CARRY ON WINNING SOUNDS11
r14948r14949
2683327621
2683427622
2683527623// PR3241 CLUB COPS AND ROBBERS PLATINUM SCORP4         COPS & ROBRS PLT  CLUB  PR3241 C N R PLATINUM SOUNDS11      COPS AND ROBBERS
26836GAME( 200?, sc4crcp      ,0,         sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26837GAME( 200?, sc4crcpa   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26838GAME( 200?, sc4crcpc   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26839GAME( 200?, sc4crcpd   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
26840GAME( 200?, sc4crcpe   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
26841GAME( 200?, sc4crcpf   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
26842GAME( 200?, sc4crcpg   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
26843GAME( 200?, sc4crcph   ,sc4crcp,   sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
27624GAME( 200?, sc4crcp      ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27625GAME( 200?, sc4crcpa   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27626GAME( 200?, sc4crcpc   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27627GAME( 200?, sc4crcpd   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27628GAME( 200?, sc4crcpe   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
27629GAME( 200?, sc4crcpf   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
27630GAME( 200?, sc4crcpg   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
27631GAME( 200?, sc4crcph   ,sc4crcp,   sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
2684427632
2684527633// PR1348 CLUB COPS AND ROBBERS GOLD         PR1348 CCRG SOUNDS11         COPS AND ROBBERS
2684627634GAME( 200?, sc4crgc      ,0,         sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
r14948r14949
2690327691GAME( 200?, sc4cfduc   ,sc4cfdu,   sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2690427692
2690527693// PR1620 CLUB CRAZY FRUITS GOLD         PR1620 CRAZY SOUNDS11         CRAZY FRUITS  CLUB
26906GAME( 200?, sc4cfgcl   ,0,         sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
26907GAME( 200?, sc4cfgcla   ,sc4cfgcl,   sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
26908GAME( 200?, sc4cfgclb   ,sc4cfgcl,   sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
26909GAME( 200?, sc4cfgclc   ,sc4cfgcl,   sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
27694GAME( 200?, sc4cfgcl   ,0,         sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
27695GAME( 200?, sc4cfgcla   ,sc4cfgcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
27696GAME( 200?, sc4cfgclb   ,sc4cfgcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
27697GAME( 200?, sc4cfgclc   ,sc4cfgcl,   sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
2691027698
2691127699// PR1221 CRISSCROSSCRAZY  ART13         95004282 CRISSCROSS PR1161
2691227700GAME( 200?, sc4ccc      ,0,         sc4, sc4, sc4, ROT0, "BFM","Criss Cross Crazy (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
src/mame/drivers/turbo.c
r14948r14949
148148#include "cpu/z80/z80.h"
149149#include "machine/8255ppi.h"
150150#include "includes/turbo.h"
151#include "machine/i8279.h"
151152#include "machine/segacrpt.h"
152153#include "sound/samples.h"
153154
r14948r14949
452453 *
453454 *************************************/
454455
455static void update_outputs(i8279_state *chip, UINT16 which)
456WRITE8_MEMBER( turbo_state::scanlines_w )
456457{
457   static const UINT8 ls48_map[16] =
458      { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 };
459   int i;
460
461   /* update the items in the bitmask */
462   for (i = 0; i < 16; i++)
463      if (which & (1 << i))
464      {
465         int val;
466
467         val = chip->ram[i] & 0x0f;
468         if (chip->inhibit & 0x01)
469            val = chip->clear & 0x0f;
470         output_set_digit_value(i * 2 + 0, ls48_map[val]);
471
472         val = chip->ram[i] >> 4;
473         if (chip->inhibit & 0x02)
474            val = chip->clear >> 4;
475         output_set_digit_value(i * 2 + 1, ls48_map[val]);
476      }
458   m_i8279_scanlines = data;
477459}
478460
479
480READ8_MEMBER(turbo_state::turbo_8279_r)
461WRITE8_MEMBER( turbo_state::digit_w )
481462{
482   i8279_state *chip = &m_i8279;
483   UINT8 result = 0xff;
484   UINT8 addr;
463   static const UINT8 ls48_map[16] =
464      { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 };
485465
486   /* read data */
487   if ((offset & 1) == 0)
488   {
489      switch (chip->command & 0xe0)
490      {
491         /* read sensor RAM */
492         case 0x40:
493            result = ~input_port_read(machine(), "DSW1");  /* DSW 1 - inverted! */
494            break;
495
496         /* read display RAM */
497         case 0x60:
498
499            /* set the value of the corresponding outputs */
500            addr = chip->command & 0x0f;
501            result = chip->ram[addr];
502
503            /* handle autoincrement */
504            if (chip->command & 0x10)
505               chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
506            break;
507      }
508   }
509
510   /* read status word */
511   else
512   {
513      logerror("read 0xfc%02x\n", offset);
514      result = 0x10;
515   }
516   return result;
466   output_set_digit_value(m_i8279_scanlines * 2 + 0, ls48_map[data & 0x0f]);
467   output_set_digit_value(m_i8279_scanlines * 2 + 1, ls48_map[(data>>4) & 0x0f]);
517468}
518469
519470
520WRITE8_MEMBER(turbo_state::turbo_8279_w)
471static I8279_INTERFACE( turbo_i8279_intf )
521472{
522   i8279_state *chip = &m_i8279;
523   UINT8 addr;
473   DEVCB_NULL,                              // irq
474   DEVCB_DRIVER_MEMBER(turbo_state, scanlines_w),   // scan SL lines
475   DEVCB_DRIVER_MEMBER(turbo_state, digit_w),      // display A&B
476   DEVCB_NULL,                              // BD
477   DEVCB_INPUT_PORT("DSW1"),                  // kbd RL lines
478   DEVCB_NULL,                              // Shift key
479   DEVCB_NULL                              // Ctrl-Strobe line
480};
524481
525   /* write data */
526   if ((offset & 1) == 0)
527   {
528      switch (chip->command & 0xe0)
529      {
530         /* write display RAM */
531         case 0x80:
532482
533            /* set the value of the corresponding outputs */
534            addr = chip->command & 0x0f;
535            if (!(chip->inhibit & 0x04))
536               chip->ram[addr] = (chip->ram[addr] & 0xf0) | (data & 0x0f);
537            if (!(chip->inhibit & 0x08))
538               chip->ram[addr] = (chip->ram[addr] & 0x0f) | (data & 0xf0);
539            update_outputs(chip, 1 << addr);
540483
541            /* handle autoincrement */
542            if (chip->command & 0x10)
543               chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
544            break;
545      }
546   }
547
548   /* write command */
549   else
550   {
551      chip->command = data;
552
553      switch (data & 0xe0)
554      {
555         /* command 0: set mode */
556         /*
557                Display modes:
558
559                00 = 8 x 8-bit character display -- left entry
560                01 = 16 x 8-bit character display -- left entry
561                10 = 8 x 8-bit character display -- right entry
562                11 = 16 x 8-bit character display -- right entry
563
564                Keyboard modes:
565
566                000 = Encoded scan keyboard -- 2 key lockout
567                001 = Decoded scan keyboard -- 2 key lockout
568                010 = Encoded scan keyboard -- N-key rollover
569                011 = Decoded scan keyboard -- N-key rollover
570                100 = Encoded scan sensor matrix
571                101 = Decoded scan sensor matrix
572                110 = Strobed input, encoded display scan
573                111 = Strobed input, decoded display scan
574            */
575         case 0x00:
576            logerror("turbo_8279: display mode = %d, keyboard mode = %d\n", (data >> 3) & 3, data & 7);
577            chip->mode = data & 0x1f;
578            break;
579
580         /* command 1: program clock */
581         case 0x20:
582            logerror("turbo_8279: clock prescaler set to %02X\n", data & 0x1f);
583            chip->prescale = data & 0x1f;
584            break;
585
586         /* command 2: read FIFO/sensor RAM */
587         /* command 3: read display RAM */
588         /* command 4: write display RAM */
589         case 0x40:
590         case 0x60:
591         case 0x80:
592            break;
593
594         /* command 5: display write inhibit/blanking */
595         case 0xa0:
596            chip->inhibit = data & 0x0f;
597            update_outputs(chip, ~0);
598            logerror("turbo_8279: clock prescaler set to %02X\n", data & 0x1f);
599            break;
600
601         /* command 6: clear */
602         case 0xc0:
603            chip->clear = (data & 0x08) ? ((data & 0x04) ? 0xff : 0x20) : 0x00;
604            if (data & 0x11)
605               memset(chip->ram, chip->clear, sizeof(chip->ram));
606            break;
607
608         /* command 7: end interrupt/error mode set */
609         case 0xe0:
610            break;
611      }
612   }
613}
614
615
616
617484/*************************************
618485 *
619486 *  Misc Turbo inputs/outputs
r14948r14949
745612   AM_RANGE(0xf900, 0xf903) AM_MIRROR(0x00fc) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
746613   AM_RANGE(0xfa00, 0xfa03) AM_MIRROR(0x00fc) AM_DEVREADWRITE_LEGACY("ppi8255_2", ppi8255_r, ppi8255_w)
747614   AM_RANGE(0xfb00, 0xfb03) AM_MIRROR(0x00fc) AM_DEVREADWRITE_LEGACY("ppi8255_3", ppi8255_r, ppi8255_w)
748   AM_RANGE(0xfc00, 0xfc01) AM_MIRROR(0x00fe) AM_READWRITE(turbo_8279_r, turbo_8279_w)
615   AM_RANGE(0xfc00, 0xfc00) AM_MIRROR(0x00fe) AM_DEVREADWRITE("i8279", i8279_device, data_r, data_w )
616   AM_RANGE(0xfc01, 0xfc01) AM_MIRROR(0x00fe) AM_DEVREADWRITE("i8279", i8279_device, status_r, cmd_w)
749617   AM_RANGE(0xfd00, 0xfdff) AM_READ_PORT("INPUT")
750618   AM_RANGE(0xfe00, 0xfeff) AM_READ(turbo_collision_r)
751619ADDRESS_MAP_END
r14948r14949
771639   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(turbo_videoram_w) AM_SHARE("videoram")   // FIX PAGE
772640   AM_RANGE(0xe800, 0xe803) AM_MIRROR(0x07fc) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
773641   AM_RANGE(0xf000, 0xf003) AM_MIRROR(0x07fc) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
774   AM_RANGE(0xf800, 0xf801) AM_MIRROR(0x07fe) AM_READWRITE(turbo_8279_r, turbo_8279_w)
642   AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07fe) AM_DEVREADWRITE("i8279", i8279_device, data_r, data_w )
643   AM_RANGE(0xf801, 0xf801) AM_MIRROR(0x07fe) AM_DEVREADWRITE("i8279", i8279_device, status_r, cmd_w)
775644ADDRESS_MAP_END
776645
777646
r14948r14949
788657   AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(turbo_videoram_w) AM_SHARE("videoram")      // FIX PAGE
789658   AM_RANGE(0xc800, 0xc803) AM_MIRROR(0x07fc) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, buckrog_ppi8255_0_w)   // 8255
790659   AM_RANGE(0xd000, 0xd003) AM_MIRROR(0x07fc) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)         // 8255
791   AM_RANGE(0xd800, 0xd801) AM_MIRROR(0x07fe) AM_READWRITE(turbo_8279_r, turbo_8279_w)         // 8279
660   AM_RANGE(0xd800, 0xd800) AM_MIRROR(0x07fe) AM_DEVREADWRITE("i8279", i8279_device, data_r, data_w )
661   AM_RANGE(0xd801, 0xd801) AM_MIRROR(0x07fe) AM_DEVREADWRITE("i8279", i8279_device, status_r, cmd_w)
792662   AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("sprite_position")            // CONT RAM
793663   AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE("spriteram")                  // CONT RAM
794664   AM_RANGE(0xe800, 0xe800) AM_MIRROR(0x07fc) AM_READ_PORT("IN0")                        // INPUT
r14948r14949
1080950   MCFG_PPI8255_ADD( "ppi8255_2", turbo_8255_intf[2] )
1081951   MCFG_PPI8255_ADD( "ppi8255_3", turbo_8255_intf[3] )
1082952
953   MCFG_I8279_ADD("i8279", MASTER_CLOCK/4, turbo_i8279_intf)    // unknown clock
954
1083955   /* video hardware */
1084956   MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
1085957   MCFG_GFXDECODE(turbo)
r14948r14949
1107979   MCFG_PPI8255_ADD( "ppi8255_0", subroc3d_8255_intf[0] )
1108980   MCFG_PPI8255_ADD( "ppi8255_1", subroc3d_8255_intf[1] )
1109981
982   MCFG_I8279_ADD("i8279", MASTER_CLOCK/4, turbo_i8279_intf)    // unknown clock
983
1110984   /* video hardware */
1111985   MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
1112986   MCFG_GFXDECODE(turbo)
r14948r14949
11411015   MCFG_PPI8255_ADD( "ppi8255_0", buckrog_8255_intf[0] )
11421016   MCFG_PPI8255_ADD( "ppi8255_1", buckrog_8255_intf[1] )
11431017
1018   MCFG_I8279_ADD("i8279", MASTER_CLOCK/4, turbo_i8279_intf)    // unknown clock
1019
11441020   /* video hardware */
11451021   MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
11461022   MCFG_GFXDECODE(turbo)
src/mame/drivers/rabbit.c
r14948r14949
962962   ROM_LOAD( "jbg1.50", 0x200000, 0x200000, CRC(1fc7f6e0) SHA1(b36062d2a9683683ffffd3003d5244a185f53280) )
963963   ROM_LOAD( "jbg2.60", 0x400000, 0x200000, CRC(aee265fc) SHA1(ec420ab30b9b5141162223fc1fbf663ad9f211e6) )
964964
965   ROM_REGION( 0x400000, "i5000snd", 0 ) /* sound rom */
966   ROM_LOAD( "jsn0.11", 0x0000000, 0x400000, CRC(e1f726e8) SHA1(598d75f3ff9e43ec8ce6131ed37f4345bf2f2d8e) )
965   ROM_REGION( 0x400000, "i5000snd", ROMREGION_ERASE ) /* sound rom */
966   ROM_LOAD( "jsn0.11", 0x000000, 0x000018, CRC(e1f726e8) SHA1(598d75f3ff9e43ec8ce6131ed37f4345bf2f2d8e) ) // header "VCDT i5000"
967   ROM_CONTINUE(        0x000000, 0x3fffe8 ) // sample data starts here
967968
968969   ROM_REGION16_BE( 0x80, "eeprom", 0 )
969970   ROM_LOAD( "rabbit.nv", 0x0000, 0x0080, CRC(73d471ed) SHA1(45e045f5ea9036342b88013e021d402741d98537) )
src/emu/cpu/m68000/m68000.h
r14948r14949
101101typedef void (*m68k_rte_func)(device_t *device);
102102typedef int (*m68k_tas_func)(device_t *device);
103103
104typedef UINT8 (*m68307_porta_read_callback)(address_space *space, offs_t offset);
105typedef void (*m68307_porta_write_callback)(address_space *space, offs_t offset, UINT8 data);
106typedef UINT16 (*m68307_portb_read_callback)(address_space *space, offs_t offset, UINT16 mem_mask);
107typedef void (*m68307_portb_write_callback)(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask);
104typedef UINT8 (*m68307_porta_read_callback)(address_space *space, bool dedicated, UINT8 line_mask);
105typedef void (*m68307_porta_write_callback)(address_space *space, bool dedicated, UINT8 data, UINT8 line_mask);
106typedef UINT16 (*m68307_portb_read_callback)(address_space *space, bool dedicated, UINT16 line_mask);
107typedef void (*m68307_portb_write_callback)(address_space *space, bool dedicated, UINT16 data, UINT16 line_mask);
108108
109109
110110
src/emu/cpu/m68000/68307sim.c
r14948r14949
7979            break;
8080
8181         case m68307SIM_PBDAT:
82            sim->write_pbdat(space, data,mem_mask);
82            sim->write_pbdat(space, data, mem_mask);
8383            break;
8484
8585
r14948r14949
161161      // and anything configured as input is read from the port
162162      UINT8 outputbits = m_paddr;
163163      UINT8 inputbits = ~m_paddr;
164      UINT8 indat = m68k->m_m68307_porta_r(space, 0) & inputbits;
165      UINT8 outdat = m_padat & outputbits;
164      UINT8 general_purpose_bits = ~m_pacnt;
165      UINT8 indat = m68k->m_m68307_porta_r(space, false, (inputbits & general_purpose_bits)&mem_mask) & ((inputbits & general_purpose_bits) & mem_mask); // read general purpose input lines
166      indat |= m68k->m_m68307_porta_r(space, true, (inputbits & ~general_purpose_bits)&mem_mask) & ((inputbits & ~general_purpose_bits)& mem_mask); // read dedicated input lines
167      UINT8 outdat = (m_padat & outputbits) & general_purpose_bits; // read general purpose output lines (reads latched data)
166168
167      // dedicated bits behave in a different way..  todo
168      UINT8 general_purpose_bits = ~m_pacnt;
169      return ((indat | outdat) & general_purpose_bits);
169      return (indat | outdat);
170
170171   }
171172   else
172173   {
r14948r14949
184185
185186   if (m68k->m_m68307_porta_w)
186187   {
187      m68k->m_m68307_porta_w(space, 0, data);
188      m68k->m_m68307_porta_w(space, false, data, 0xff);
188189   }
189190   else
190191   {
r14948r14949
213214      // and anything configured as input is read from the port
214215      UINT16 outputbits = m_pbddr;
215216      UINT16 inputbits = ~m_pbddr;
216      UINT16 indat = m68k->m_m68307_portb_r(space, 0, mem_mask) & inputbits;
217      UINT16 outdat = m_pbdat & outputbits;
217      UINT16 general_purpose_bits = ~m_pbcnt;
218218
219      // dedicated bits behave in a different way..  todo
220      UINT16 general_purpose_bits = ~m_pbcnt;
221      return ((indat | outdat) & general_purpose_bits);
219      UINT16 indat = m68k->m_m68307_portb_r(space, false, (inputbits & general_purpose_bits)&mem_mask) & ((inputbits & general_purpose_bits) & mem_mask); // read general purpose input lines
220      indat |= m68k->m_m68307_portb_r(space, true, (inputbits & ~general_purpose_bits)&mem_mask) & ((inputbits & ~general_purpose_bits)& mem_mask); // read dedicated input lines
221      UINT16 outdat = (m_pbdat & outputbits) & general_purpose_bits; // read general purpose output lines (reads latched data)
222
223      return (indat | outdat);
222224   }
223225   else
224226   {
r14948r14949
236238
237239   if (m68k->m_m68307_portb_w)
238240   {
239      m68k->m_m68307_portb_w(space, 0, data, mem_mask);
241      m68k->m_m68307_portb_w(space, false, data, mem_mask);
240242   }
241243   else
242244   {
src/emu/cpu/m68000/68307bus.c
r14948r14949
1010   m68ki_cpu_core *m68k = m68k_get_safe_token(&space->device());
1111   m68307_mbus* mbus = m68k->m68307MBUS;
1212   assert(mbus != NULL);
13   UINT8 retval;
1314
1415   if (mbus)
1516   {
r14948r14949
2728            return space->machine().rand();
2829
2930         case m68307BUS_MBCR:
30            logerror("%08x m68307_internal_mbus_r %08x (MFDR - M-Bus Control Register)\n", pc, offset);
31            return space->machine().rand();
31            logerror("%08x m68307_internal_mbus_r %08x (MFCR - M-Bus Control Register)\n", pc, offset);
32            return mbus->m_MFCR;//space->machine().rand();
3233
3334         case m68307BUS_MBSR:
3435            logerror("%08x m68307_internal_mbus_r %08x (MBSR - M-Bus Status Register)\n", pc, offset);
35            return space->machine().rand();
36            retval = 0;
37            if (mbus->m_busy) retval |= 0x20;
38            if (mbus->m_intpend) retval |= 0x02;         
39           
40            return retval;
3641
3742         case m68307BUS_MBDR:
3843            logerror("%08x m68307_internal_mbus_r %08x (MBDR - M-Bus Data I/O Register)\n", pc, offset);
39            return space->machine().rand();
44            mbus->m_intpend = true;
45            return 0xff;//space->machine().rand();
4046
4147         default:
4248            logerror("%08x m68307_internal_mbus_r %08x (UNKNOWN / ILLEGAL)\n", pc, offset);
r14948r14949
6874            break;
6975
7076         case m68307BUS_MBCR:
71            logerror("%08x m68307_internal_mbus_w %08x, %02x (MFDR - M-Bus Control Register)\n", pc, offset,data);
77            logerror("%08x m68307_internal_mbus_w %08x, %02x (MFCR - M-Bus Control Register)\n", pc, offset,data);
78           
79            mbus->m_MFCR = data;
80            if (data & 0x80)
81            {
82               mbus->m_busy = false;
83               mbus->m_intpend = false;
84            }
85            if (data & 0x20) mbus->m_busy = true;
86           
7287            break;
7388
7489         case m68307BUS_MBSR:
r14948r14949
7792         
7893         case m68307BUS_MBDR:
7994            logerror("%08x m68307_internal_mbus_w %08x, %02x (MBDR - M-Bus Data I/O Register)\n", pc, offset,data);
95
96            mbus->m_intpend = true;
97
8098            break;
8199
82100         default:
r14948r14949
88106
89107void m68307_mbus::reset(void)
90108{
91
109   m_busy = false;
92110}
src/emu/cpu/m68000/68307bus.h
r14948r14949
1010class m68307_mbus
1111{
1212   public:
13     
14   UINT16 m_MFCR;
15
16   bool m_busy;
17   bool m_intpend;
18
1319   void reset(void);
1420};
1521
src/emu/cpu/m68000/m68kcpu.c
r14948r14949
993993
994994   // disable instruction hook
995995   m68k->instruction_hook = NULL;
996
997   if (m68k->m68307SIM) m68k->m68307SIM->reset();
998   if (m68k->m68307MBUS) m68k->m68307MBUS->reset();
999   if (m68k->m68307SERIAL) m68k->m68307SERIAL->reset();
1000   if (m68k->m68307TIMER) m68k->m68307TIMER->reset();
1001
1002   m68k->m68307_base = 0xbfff;
1003   m68k->m68307_scrhigh = 0x0007;
1004   m68k->m68307_scrlow = 0xf010;
1005
1006
9961007}
9971008
9981009static CPU_DISASSEMBLE( m68k )
src/emu/sound/i5000.c
r14948r14949
11/***************************************************************************
22
33    i5000.c - Imagetek I5000 sound emulator
4   
4
5    Imagetek I5000 is a multi-purpose chip, this covers the sound part.
6    No official documentation is known to exist. It seems to be a simple
7    16-channel ADPCM player.
8
9    TODO:
10    - improve volume balance (is it really linear?)
11    - verify that ADPCM is the same as standard OKI ADPCM
12
513***************************************************************************/
614
715#include "emu.h"
r14948r14949
1119// device type definition
1220const device_type I5000_SND = &device_creator<i5000snd_device>;
1321
14
15
1622i5000snd_device::i5000snd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
1723   : device_t(mconfig, I5000_SND, "I5000", tag, owner, clock),
1824     device_sound_interface(mconfig, *this)
r14948r14949
2329void i5000snd_device::device_start()
2430{
2531   // create the stream
26   m_stream = machine().sound().stream_alloc(*this, 0, 2, 44100, this);
32   m_stream = machine().sound().stream_alloc(*this, 0, 2, clock() / 0x400, this);
2733
28   m_rom_base = device().machine().region(":i5000snd")->base();
29   m_rom_mask = device().machine().region(":i5000snd")->bytes() - 1;
34   m_rom_base = (UINT16 *)device().machine().region(":i5000snd")->base();
35   m_rom_mask = device().machine().region(":i5000snd")->bytes() / 2 - 1;
3036}
3137
38
3239void i5000snd_device::device_reset()
3340{
34   for (int ch = 0; ch < 16; ch++)
41   // stop playing
42   write_reg16(0x43, 0xffff);
43   
44   // reset channel regs
45   for (int i = 0; i < 0x40; i++)
46      write_reg16(i, 0);
47}
48
49
50bool i5000snd_device::read_sample(int ch)
51{
52   m_channels[ch].shift_pos &= 0xf;
53   m_channels[ch].sample = m_rom_base[m_channels[ch].address];
54   m_channels[ch].address = (m_channels[ch].address + 1) & m_rom_mask;
55
56   // handle command
57   if (m_channels[ch].sample == 0x7f7f)
3558   {
36      m_channels[ch].is_playing = false;
59      UINT16 cmd = m_rom_base[m_channels[ch].address];
60      m_channels[ch].address = (m_channels[ch].address + 1) & m_rom_mask;
61
62      // volume envelope? or loop sample?
63      if ((cmd & 0x00ff) == 0x0007)
64      {
65         // TODO
66         return false;
67      }
68     
69      // cmd 0x0000 = end sample
70      // other values: unused
71      else return false;
72     
3773   }
74   
75   return true;
3876}
3977
4078
r14948r14949
4280{
4381   for (int i = 0; i < samples; i++)
4482   {
45      INT32 mix = 0;
83      INT32 mix_l = 0;
84      INT32 mix_r = 0;
85     
86      // loop over all channels
87      for (int ch = 0; ch < 16; ch++)
88      {
89         if (!m_channels[ch].is_playing)
90            continue;
4691
47      outputs[0][i] = mix;
48      outputs[1][i] = mix;
92         m_channels[ch].freq_timer -= m_channels[ch].freq_min;
93         if (m_channels[ch].freq_timer > 0)
94         {
95            mix_r += m_channels[ch].output_r;
96            mix_l += m_channels[ch].output_l;
97            continue;
98         }
99         m_channels[ch].freq_timer += m_channels[ch].freq_base;
100         
101         int adpcm_data = m_channels[ch].sample >> m_channels[ch].shift_pos;
102         m_channels[ch].shift_pos += m_channels[ch].shift_amount;
103         if (m_channels[ch].shift_pos & 0x10)
104         {
105            if (!read_sample(ch))
106            {
107               m_channels[ch].is_playing = false;
108               continue;
109            }
110
111            adpcm_data |= (m_channels[ch].sample << (m_channels[ch].shift_amount - m_channels[ch].shift_pos));
112         }
113         
114         adpcm_data = m_channels[ch].m_adpcm.clock(adpcm_data & m_channels[ch].shift_mask);
115         
116         m_channels[ch].output_r = adpcm_data * m_channels[ch].vol_r;
117         m_channels[ch].output_l = adpcm_data * m_channels[ch].vol_l;
118         mix_r += m_channels[ch].output_r;
119         mix_l += m_channels[ch].output_l;
120      }
121     
122      outputs[0][i] = mix_r / (16*8);
123      outputs[1][i] = mix_l / (16*8);
49124   }
50125}
51126
52127
128void i5000snd_device::write_reg16(UINT8 reg, UINT16 data)
129{
130   // channel regs
131   if (reg < 0x40)
132   {
133      int ch = reg >> 2;
134      switch (reg & 3)
135      {
136         // 0, 1: address
137         
138         // 2: frequency
139         case 2:
140            m_channels[ch].freq_base = (0x1ff - (data & 0xff)) << (~data >> 8 & 3);
141            break;
142
143         // 3: left/right volume
144         case 3:
145            m_channels[ch].vol_r = ~data & 0xff;
146            m_channels[ch].vol_l = ~data >> 8 & 0xff;
147            break;
148         
149         default:
150            break;
151      }
152   }
153   
154   // global regs
155   else
156   {
157      switch (reg)
158      {
159         // channel key on (0 has no effect)
160         case 0x42:
161            for (int ch = 0; ch < 16; ch++)
162            {
163               if (data & (1 << ch) && !m_channels[ch].is_playing)
164               {
165                  UINT32 address = m_regs[ch << 2 | 1] << 16 | m_regs[ch << 2];
166                  UINT16 start = m_rom_base[(address + 0) & m_rom_mask];
167                  UINT16 param = m_rom_base[(address + 1) & m_rom_mask];
168                 
169                  // check sample start ID
170                  if (start != 0x7f7f)
171                  {
172                     logerror("i5000snd: channel %d wrong sample start ID %04X!\n", ch, start);
173                     continue;
174                  }
175
176                  switch (param)
177                  {
178                     // 3-bit ADPCM
179                     case 0x0104:
180                     case 0x0304: // same?
181                        m_channels[ch].freq_min = 0x100 * (4.0 / 3.0);
182                        m_channels[ch].shift_amount = 3;
183                        m_channels[ch].shift_mask = 0xe;
184                        break;
185
186                     default:
187                        logerror("i5000snd: channel %d unknown sample param %04X!\n", ch, param);
188                        // fall through (take settings from 0x0184)
189                     // 4-bit ADPCM
190                     case 0x0184:
191                        m_channels[ch].freq_min = 0x100;
192                        m_channels[ch].shift_amount = 4;
193                        m_channels[ch].shift_mask = 0xf;
194                        break;
195                  }
196                 
197                  m_channels[ch].address = (address + 4) & m_rom_mask;
198
199                  m_channels[ch].freq_timer = 0;
200                  m_channels[ch].shift_pos = 0;
201                  m_channels[ch].output_l = 0;
202                  m_channels[ch].output_r = 0;
203                 
204                  m_channels[ch].m_adpcm.reset();
205                  m_channels[ch].is_playing = read_sample(ch);
206               }
207            }
208            break;
209         
210         // channel key off (0 has no effect)
211         case 0x43:
212            for (int ch = 0; ch < 16; ch++)
213            {
214               if (data & (1 << ch))
215               {
216                  m_channels[ch].is_playing = false;
217               }
218            }
219            break;
220
221         default:
222            // not accessed often, assume that these are chip init registers
223            // 0x40: ?
224            // 0x41: ?
225            // 0x45: ?
226            // 0x46: ?
227            break;
228      }
229   }
230   
231   m_regs[reg] = data;
232}
233
234
53235READ16_MEMBER( i5000snd_device::read )
54236{
55   return 0;
237   UINT16 ret = 0;
238
239   switch (offset)
240   {
241      // channel active state
242      case 0x42:
243         for (int ch = 0; ch < 16; ch++)
244         {
245            if (m_channels[ch].is_playing)
246               ret |= (1 << ch);
247         }
248         break;
249     
250      default:
251         // 0x41: ?
252         break;
253   }
254   
255   return ret;
56256}
57257
258
58259WRITE16_MEMBER( i5000snd_device::write )
59260{
60261   if (mem_mask != 0xffff)
r14948r14949
64265   }
65266   m_stream->update();
66267
67   m_regs[offset] = data;
268   write_reg16(offset, data);
68269}
69270
src/emu/sound/i5000.h
r14948r14949
99#ifndef __I5000_H__
1010#define __I5000_H__
1111
12#include "sound/okim6295.h"
1213
14
1315//**************************************************************************
1416//  INTERFACE CONFIGURATION MACROS
1517//**************************************************************************
r14948r14949
4850    typedef struct
4951    {
5052        bool is_playing;
53       adpcm_state m_adpcm;   // 4-bit adpcm state (okim6295.h)
5154
55        UINT32 address;
56        int freq_timer;
57        int freq_base;
58        int freq_min;
59        UINT16 sample;
60        UINT8 shift_pos;
61        UINT8 shift_amount;
62        UINT8 shift_mask;
63        int vol_r;
64        int vol_l;
65        int output_r;
66        int output_l;
67
5268    } channel_t;
5369
5470    channel_t m_channels[16];
5571
5672   UINT16 m_regs[0x80];
5773
58    UINT8 *m_rom_base;
74    UINT16 *m_rom_base;
5975    UINT32 m_rom_mask;
76   
77    bool read_sample(int ch);
78    void write_reg16(UINT8 reg, UINT16 data);
6079};
6180
6281
src/emu/machine/i8279.c
r14948r14949
173173void i8279_device::timer_adjust()
174174{
175175// Real device runs at about 100kHz internally, clock divider is chosen so that
176// this is the case. We do not need such speed, 200Hz is enough.
176// this is the case. We do not need such speed, 2000Hz is enough.
177// If this is too long, the sensor mode doesn't work correctly.
177178
178   //UINT8 divider = (m_cmd[1]) ? m_cmd[1] : 1;
179   //m_clock = clock() / divider;
179#if 0
180   UINT8 divider = (m_cmd[1]) ? m_cmd[1] : 1;
181   UINT32 new_clock = clock() / divider;
182#else
183   UINT32 new_clock = 2000;
184#endif
180185
181   m_clock = 200;
182   m_timer->adjust(attotime::from_hz(m_clock), 0, attotime::from_hz(m_clock));
186   if (m_clock != new_clock)
187   {
188      m_timer->adjust(attotime::from_hz(new_clock), 0, attotime::from_hz(new_clock));
189
190      m_clock = new_clock;
191   }
183192}
184193
185194
src/emu/addrmap.h
r14948r14949
741741#define AM_BASE_LEGACY(_base) \
742742   curentry->set_baseptr(_base); \
743743
744#define myoffsetof(_struct, _member)  ((FPTR)&((_struct *)0x1000)->_member - 0x1000)
745#define AM_BASE(_member) \
746   curentry->set_member_baseptr(myoffsetof(drivdata_class, _member)); \
747
748744#define AM_SIZE_LEGACY(_size) \
749745   curentry->set_sizeptr(_size); \
750746
r14948r14949
761757#define AM_RAM_WRITE_LEGACY(_write)         AM_READONLY AM_WRITE_LEGACY(_write)
762758#define AM_RAM_DEVWRITE_LEGACY(_tag, _write) AM_READONLY AM_DEVWRITE_LEGACY(_tag, _write)
763759
764#define AM_BASE_SIZE(_base, _size)         AM_BASE(_base) curentry->set_member_sizeptr(myoffsetof(drivdata_class, _size));
765760
766761
767762
768
769763//**************************************************************************
770764//  GLOBAL VARIABLES
771765//**************************************************************************
src/mess/includes/tmc600.h
r14948r14949
3030        m_maincpu(*this, CDP1802_TAG),
3131        m_vis(*this, CDP1869_TAG),
3232        m_cassette(*this, CASSETTE_TAG),
33        m_ram(*this, RAM_TAG)
33        m_ram(*this, RAM_TAG),
34        m_page_ram(*this, "page_ram")
3435    { }
3536
3637   required_device<cosmac_device> m_maincpu;
r14948r14949
5960   int m_vismac_bkg_latch;      // background color latch
6061   int m_blink;            // cursor blink
6162
62   UINT8 *m_page_ram;         // page memory
63   required_shared_ptr<UINT8> m_page_ram;         // page memory
6364   UINT8 *m_color_ram;         // color memory
6465   UINT8 *m_char_rom;         // character generator ROM
6566
src/mess/includes/next.h
r14948r14949
3030        scsi(*this, "scsibus:7:ncr5390"),
3131        net(*this, "net"),
3232        mo(*this, "mo"),
33        fdc(*this, "fdc")
33        fdc(*this, "fdc"),
34        vram(*this, "vram")
3435   { }
3536
3637   required_device<cpu_device> maincpu;
r14948r14949
8182   UINT32 irq_status;
8283   UINT32 irq_mask;
8384   int irq_level;
84   UINT32 *vram;
85   required_shared_ptr<UINT32> vram;
8586   UINT8 scsictrl, scsistat;
8687
8788   UINT32 phy[2];
src/mess/includes/mikromik.h
r14948r14949
4444        m_speaker(*this, SPEAKER_TAG),
4545        m_floppy0(*this, FLOPPY_0),
4646        m_floppy1(*this, FLOPPY_1),
47        m_ram(*this, RAM_TAG)
47        m_ram(*this, RAM_TAG),
48        m_video_ram(*this, "video_ram")
4849   { }
4950
5051   required_device<cpu_device> m_maincpu;
r14948r14949
5960   required_device<device_t> m_floppy0;
6061   required_device<device_t> m_floppy1;
6162   required_device<ram_device> m_ram;
63   required_shared_ptr<UINT8> m_video_ram;
6264
65
6366   virtual void machine_start();
6467   virtual void machine_reset();
6568
r14948r14949
9598
9699   // video state
97100   bitmap_ind16 m_bitmap;
98   const UINT8 *m_video_ram;
99101   const UINT8 *m_char_rom;
100102   int m_llen;
101103
src/mess/video/tmc600.c
r14948r14949
7070}
7171
7272static ADDRESS_MAP_START( cdp1869_page_ram, AS_0, 8, tmc600_state )
73   AM_RANGE(0x000, 0x3ff) AM_MIRROR(0x400) AM_RAM AM_BASE(m_page_ram) AM_WRITE(page_ram_w)
73   AM_RANGE(0x000, 0x3ff) AM_MIRROR(0x400) AM_RAM AM_SHARE("page_ram") AM_WRITE(page_ram_w)
7474ADDRESS_MAP_END
7575
7676static CDP1869_CHAR_RAM_READ( tmc600_char_ram_r )
src/mess/video/mikromik.c
r14948r14949
6161//-------------------------------------------------
6262
6363static ADDRESS_MAP_START( mm1_upd7220_map, AS_0, 8, mm1_state )
64   AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_BASE(m_video_ram)
64   AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram")
6565ADDRESS_MAP_END
6666
6767
src/mess/drivers/cfx9850.c
r14948r14949
2525{
2626public:
2727   cfx9850_state(const machine_config &mconfig, device_type type, const char *tag)
28      : driver_device(mconfig, type, tag) { }
28      : driver_device(mconfig, type, tag),
29      m_video_ram(*this, "video_ram"),
30      m_display_ram(*this, "display_ram") { }
2931
3032   DECLARE_WRITE8_MEMBER(cfx9850_kol_w);
3133   DECLARE_WRITE8_MEMBER(cfx9850_koh_w);
3234   DECLARE_READ8_MEMBER(cfx9850_ki_r);
3335   DECLARE_READ8_MEMBER(cfx9850_battery_level_r);
34   UINT8 *m_video_ram;
35   UINT8 *m_display_ram;
36   required_shared_ptr<UINT8> m_video_ram;
37   required_shared_ptr<UINT8> m_display_ram;
3638   UINT16 m_ko;            /* KO lines KO1 - KO14 */
3739};
3840
3941
4042static ADDRESS_MAP_START( cfx9850, AS_PROGRAM, 8, cfx9850_state )
4143   AM_RANGE( 0x000000, 0x007fff ) AM_ROM
42   AM_RANGE( 0x080000, 0x0807ff ) AM_RAM AM_BASE(m_video_ram )
44   AM_RANGE( 0x080000, 0x0807ff ) AM_RAM AM_SHARE("video_ram")
4345//  AM_RANGE( 0x100000, 0x10ffff ) /* some memory mapped i/o? */
4446//  AM_RANGE( 0x110000, 0x11ffff ) /* some memory mapped i/o? */
4547   AM_RANGE( 0x200000, 0x27ffff ) AM_ROM AM_REGION( "bios", 0 )
4648   AM_RANGE( 0x400000, 0x40ffff ) AM_RAM
47   AM_RANGE( 0x600000, 0x601fff ) AM_MIRROR(0xf800) AM_RAM AM_BASE(m_display_ram )
49   AM_RANGE( 0x600000, 0x601fff ) AM_MIRROR(0xf800) AM_RAM AM_SHARE("display_ram")
4850//  AM_RANGE( 0xe10000, 0xe1ffff ) /* some memory mapped i/o? */
4951ADDRESS_MAP_END
5052
src/mess/drivers/d6800.c
r14948r14949
5757        m_maincpu(*this, "maincpu"),
5858        m_cass(*this, CASSETTE_TAG),
5959        m_pia(*this, "pia"),
60        m_speaker(*this, SPEAKER_TAG) { }
60        m_speaker(*this, SPEAKER_TAG),
61        m_videoram(*this, "videoram") { }
6162
6263   required_device<cpu_device> m_maincpu;
6364   required_device<cassette_image_device> m_cass;
r14948r14949
7475   UINT8 m_keylatch;
7576   UINT8 m_screen_on;
7677   UINT8 m_rtc;
77   UINT8 *m_videoram;
78   required_shared_ptr<UINT8> m_videoram;
7879};
7980
8081
r14948r14949
8283
8384static ADDRESS_MAP_START( d6800_map, AS_PROGRAM, 8, d6800_state )
8485   AM_RANGE(0x0000, 0x00ff) AM_RAM
85   AM_RANGE(0x0100, 0x01ff) AM_RAM AM_BASE(m_videoram )
86   AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("videoram")
8687   AM_RANGE(0x0200, 0x07ff) AM_RAM
8788   AM_RANGE(0x8010, 0x8013) AM_DEVREADWRITE("pia", pia6821_device, read, write)
8889   AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3c00) AM_ROM
src/mess/drivers/astrocde.c
r14948r14949
7979static ADDRESS_MAP_START( astrocade_mem, AS_PROGRAM, 8, astrocde_state )
8080   AM_RANGE(0x0000, 0x0fff) AM_ROM AM_WRITE(astrocade_funcgen_w)
8181   AM_RANGE(0x1000, 0x3fff) AM_ROM /* Star Fortress writes in here?? */
82   AM_RANGE(0x4000, 0x4fff) AM_RAM AM_BASE(m_videoram) /* ASG */
82   AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("videoram") /* ASG */
8383ADDRESS_MAP_END
8484
8585
src/mess/drivers/ip22.c
r14948r14949
9494public:
9595   ip22_state(const machine_config &mconfig, device_type type, const char *tag)
9696      : driver_device(mconfig, type, tag) ,
97      m_unkpbus0(*this, "unkpbus0"){ }
97      m_unkpbus0(*this, "unkpbus0"),
98      m_mainram(*this, "mainram") { }
9899
99   UINT32 *m_mainram;
100   required_shared_ptr<UINT32> m_unkpbus0;
101   required_shared_ptr<UINT32> m_mainram;
100102   RTC_t m_RTC;
101103   UINT32 m_int3_regs[64];
102104   UINT32 m_nIOC_ParReadCnt;
r14948r14949
104106   HPC3_t m_HPC3;
105107   HAL2_t m_HAL2;
106108   PBUS_DMA_t m_PBUS_DMA;
107   required_shared_ptr<UINT32> m_unkpbus0;
108109   UINT32 m_nIntCounter;
109110   UINT8 m_dma_buffer[4096];
110111};
r14948r14949
11881189
11891190static ADDRESS_MAP_START( ip225015_map, AS_PROGRAM, 32, ip22_state )
11901191   AM_RANGE( 0x00000000, 0x0007ffff ) AM_RAMBANK( "bank1" )   /* mirror of first 512k of main RAM */
1191   AM_RANGE( 0x08000000, 0x0fffffff ) AM_SHARE("share1") AM_BASE(m_mainram ) AM_RAM_WRITE_LEGACY(ip22_write_ram)      /* 128 MB of main RAM */
1192   AM_RANGE( 0x08000000, 0x0fffffff ) AM_SHARE("share1") AM_SHARE("mainram") AM_RAM_WRITE_LEGACY(ip22_write_ram)      /* 128 MB of main RAM */
11921193   AM_RANGE( 0x1f0f0000, 0x1f0f1fff ) AM_READWRITE_LEGACY(newport_rex3_r, newport_rex3_w )
11931194   AM_RANGE( 0x1fa00000, 0x1fa1ffff ) AM_READWRITE_LEGACY(sgi_mc_r, sgi_mc_w )
11941195   AM_RANGE( 0x1fb90000, 0x1fb9ffff ) AM_READWRITE_LEGACY(hpc3_hd_enet_r, hpc3_hd_enet_w )
src/mess/drivers/phunsy.c
r14948r14949
2424   phunsy_state(const machine_config &mconfig, device_type type, const char *tag)
2525      : driver_device(mconfig, type, tag),
2626      m_maincpu(*this, "maincpu"),
27      m_speaker(*this, SPEAKER_TAG) { }
27      m_speaker(*this, SPEAKER_TAG),
28      m_videoram(*this, "videoram") { }
2829
2930   required_device<cpu_device> m_maincpu;
3031   required_device<device_t> m_speaker;
r14948r14949
3435   DECLARE_WRITE8_MEMBER( phunsy_ctrl_w );
3536   DECLARE_WRITE8_MEMBER( phunsy_data_w );
3637   DECLARE_WRITE8_MEMBER( kbd_put );
37   const UINT8 *m_videoram;
38   required_shared_ptr<UINT8> m_videoram;
3839   const UINT8   *m_p_chargen;
3940   UINT8      m_data_out;
4041   UINT8      m_keyboard_input;
r14948r14949
5859   ADDRESS_MAP_UNMAP_HIGH
5960   AM_RANGE( 0x0000, 0x07ff) AM_ROM
6061   AM_RANGE( 0x0800, 0x0fff) AM_RAM
61   AM_RANGE( 0x1000, 0x17ff) AM_RAM AM_BASE(m_videoram ) // Video RAM
62   AM_RANGE( 0x1000, 0x17ff) AM_RAM AM_SHARE("videoram") // Video RAM
6263   AM_RANGE( 0x1800, 0x1fff) AM_RAM_WRITE( phunsy_1800_w ) AM_ROMBANK("bank1")   // Banked RAM/ROM
6364   AM_RANGE( 0x4000, 0xffff) AM_RAMBANK("bank2") // Banked RAM
6465ADDRESS_MAP_END
src/mess/drivers/oric.c
r14948r14949
5757
5858
5959static ADDRESS_MAP_START(oric_mem, AS_PROGRAM, 8, oric_state )
60    AM_RANGE( 0x0000, 0xbfff) AM_RAM AM_BASE(m_ram )
60    AM_RANGE( 0x0000, 0xbfff) AM_RAM AM_SHARE("ram")
6161    AM_RANGE( 0xc000, 0xdfff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
6262   AM_RANGE( 0xe000, 0xf7ff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
6363   AM_RANGE( 0xf800, 0xffff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank7")
src/mess/drivers/amiga.c
r14948r14949
9898   AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE_LEGACY(amiga_cia_r, amiga_cia_w)
9999   AM_RANGE(0xc00000, 0xc7ffff) AM_RAM /* slow-mem */
100100   AM_RANGE(0xc80000, 0xcfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w)   /* see Note 1 above */
101   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_BASE(m_custom_regs)   /* Custom Chips */
101   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")   /* Custom Chips */
102102   AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE_LEGACY(amiga_autoconfig_r, amiga_autoconfig_w)
103103   AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("user1", 0)   /* System ROM - mirror */
104104ADDRESS_MAP_END
r14948r14949
152152   AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE_LEGACY(amiga_cia_r, amiga_cia_w)
153153   AM_RANGE(0xdc0000, 0xdc003f) AM_READWRITE_LEGACY(amiga_clock_r, amiga_clock_w)
154154   AM_RANGE(0xdc8000, 0xdc87ff) AM_RAM AM_SHARE("nvram")
155   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_BASE(m_custom_regs)   /* Custom Chips */
155   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")   /* Custom Chips */
156156   AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE_LEGACY(amiga_autoconfig_r, amiga_autoconfig_w)
157157   AM_RANGE(0xf00000, 0xffffff) AM_ROM AM_REGION("user1", 0)   /* CDTV & System ROM */
158158ADDRESS_MAP_END
r14948r14949
179179   AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0xc0000) AM_RAMBANK("bank1") AM_SHARE("chip_ram")
180180   AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE_LEGACY(amiga_cia_r, amiga_cia_w)
181181   AM_RANGE(0xc00000, 0xc3ffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) /* See Note 1 above */
182   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_BASE(m_custom_regs)   /* Custom Chips */
182   AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE_LEGACY(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs")   /* Custom Chips */
183183   AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE_LEGACY(amiga_autoconfig_r, amiga_autoconfig_w)
184184   AM_RANGE(0xf80000, 0xfbffff) AM_ROM AM_REGION("user1", 0)   /* Bootstrap ROM */
185185   AM_RANGE(0xfc0000, 0xffffff) AM_RAMBANK("bank2")   /* Writable Control Store RAM */
src/mess/drivers/interact.c
r14948r14949
6666{
6767public:
6868   interact_state(const machine_config &mconfig, device_type type, const char *tag)
69      : hec2hrp_state(mconfig, type, tag) { }
69      : hec2hrp_state(mconfig, type, tag),
70        m_videoram(*this, "videoram") { }
7071
71   UINT8 *m_videoram;
72   required_shared_ptr<UINT8> m_videoram;
7273};
7374
7475
r14948r14949
8889   /*   AM_RANGE(0x1000,0x3fff) AM_RAM*/
8990
9091   /* Video br mapping*/
91   AM_RANGE(0x4000,0x49ff) AM_RAM AM_BASE(m_videoram)
92   AM_RANGE(0x4000,0x49ff) AM_RAM AM_SHARE("videoram")
9293   /* continous RAM*/
9394   AM_RANGE(0x4A00,0xffff) AM_RAM
9495
src/mess/drivers/ami1200.c
r14948r14949
124124   AM_RANGE(0x000000, 0x1fffff) AM_RAMBANK("bank1") AM_SHARE("chip_ram")
125125   AM_RANGE(0xbfa000, 0xbfa003) AM_WRITE_LEGACY(aga_overlay_w)
126126   AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE16_LEGACY(amiga_cia_r, amiga_cia_w, 0xffffffff)
127   AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE16_LEGACY(amiga_custom_r, amiga_custom_w, 0xffffffff) AM_BASE(m_custom_regs)
127   AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE16_LEGACY(amiga_custom_r, amiga_custom_w, 0xffffffff) AM_SHARE("custom_regs")
128128   AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE16_LEGACY(amiga_autoconfig_r, amiga_autoconfig_w, 0xffffffff)
129129   AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("user1", 0)   /* Kickstart */
130130ADDRESS_MAP_END
src/mess/drivers/pv1000.c
r14948r14949
4444
4545static ADDRESS_MAP_START( pv1000, AS_PROGRAM, 8, pv1000_state )
4646   AM_RANGE( 0x0000, 0x3fff ) AM_MIRROR( 0x4000 ) AM_ROM AM_REGION( "cart", 0 )
47   AM_RANGE( 0xb800, 0xbbff ) AM_RAM AM_BASE(m_p_videoram )
47   AM_RANGE( 0xb800, 0xbbff ) AM_RAM AM_SHARE("p_videoram")
4848   AM_RANGE( 0xbc00, 0xbfff ) AM_RAM_WRITE( pv1000_gfxram_w ) AM_REGION( "gfxram", 0 )
4949ADDRESS_MAP_END
5050
src/mess/drivers/pc1500.c
r14948r14949
2323   pc1500_state(const machine_config &mconfig, device_type type, const char *tag)
2424      : driver_device(mconfig, type, tag),
2525        m_maincpu(*this, "maincpu"),
26        m_rtc(*this, "upd1990a") { }
26        m_rtc(*this, "upd1990a"),
27        m_lcd_data(*this, "lcd_data") { }
2728
2829   required_device<cpu_device> m_maincpu;
2930   required_device<upd1990a_device> m_rtc;
3031
31   UINT8 *m_lcd_data;
32   required_shared_ptr<UINT8> m_lcd_data;
3233   UINT8 m_kb_matrix;
3334
3435   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
r14948r14949
4748   AM_RANGE( 0x0000, 0x3fff) AM_ROM   //module ROM/RAM
4849   AM_RANGE( 0x4000, 0x47ff) AM_RAM   //user RAM
4950   AM_RANGE( 0x4800, 0x6fff) AM_RAM   //expansion RAM
50   AM_RANGE( 0x7000, 0x71ff) AM_RAM   AM_MIRROR(0x0600)   AM_BASE(m_lcd_data )
51   AM_RANGE( 0x7000, 0x71ff) AM_RAM   AM_MIRROR(0x0600)   AM_SHARE("lcd_data")
5152   AM_RANGE( 0x7800, 0x7bff) AM_RAM   AM_REGION("maincpu", 0x7800)   AM_MIRROR(0x0400)
5253   AM_RANGE( 0xa000, 0xbfff) AM_ROM   //expansion ROM
5354   AM_RANGE( 0xc000, 0xffff) AM_ROM   //system ROM
src/mess/drivers/next.c
r14948r14949
883883ADDRESS_MAP_END
884884
885885static ADDRESS_MAP_START( next_0b_nofdc_mem, AS_PROGRAM, 32, next_state )
886   AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_BASE(vram)
886   AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
887887
888888   AM_IMPORT_FROM(next_mem)
889889ADDRESS_MAP_END
r14948r14949
896896ADDRESS_MAP_END
897897
898898static ADDRESS_MAP_START( next_0b_mem, AS_PROGRAM, 32, next_state )
899   AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_BASE(vram)
899   AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
900900
901901   AM_IMPORT_FROM(next_fdc_mem)
902902ADDRESS_MAP_END
903903
904904static ADDRESS_MAP_START( next_0c_mem, AS_PROGRAM, 32, next_state )
905   AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_BASE(vram)
905   AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_SHARE("vram")
906906
907907   AM_IMPORT_FROM(next_fdc_mem)
908908ADDRESS_MAP_END
909909
910910static ADDRESS_MAP_START( next_2c_mem, AS_PROGRAM, 32, next_state )
911   AM_RANGE(0x2c000000, 0x2c1fffff) AM_RAM AM_BASE(vram)
911   AM_RANGE(0x2c000000, 0x2c1fffff) AM_RAM AM_SHARE("vram")
912912
913913   AM_IMPORT_FROM(next_fdc_mem)
914914ADDRESS_MAP_END
src/mess/drivers/dc.c
r14948r14949
174174   AM_RANGE(0x00800000, 0x009fffff) AM_READWRITE_LEGACY(dc_arm_r, dc_arm_w )
175175
176176   /* Area 1 */
177   AM_RANGE(0x04000000, 0x04ffffff) AM_RAM   AM_BASE(dc_texture_ram )      // texture memory 64 bit access
178   AM_RANGE(0x05000000, 0x05ffffff) AM_RAM AM_BASE(dc_framebuffer_ram ) // apparently this actually accesses the same memory as the 64-bit texture memory access, but in a different format, keep it apart for now
177   AM_RANGE(0x04000000, 0x04ffffff) AM_RAM   AM_SHARE("dc_texture_ram")      // texture memory 64 bit access
178   AM_RANGE(0x05000000, 0x05ffffff) AM_RAM AM_SHARE("dc_framebuffer_ram") // apparently this actually accesses the same memory as the 64-bit texture memory access, but in a different format, keep it apart for now
179179
180180   /* Area 3 */
181181   AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("share4") AM_BASE_LEGACY(&dc_ram)
r14948r14949
202202ADDRESS_MAP_END
203203
204204static ADDRESS_MAP_START( dc_audio_map, AS_PROGRAM, 32, dc_state )
205   AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_BASE(dc_sound_ram)      /* shared with SH-4 */
205   AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("dc_sound_ram")      /* shared with SH-4 */
206206   AM_RANGE(0x00800000, 0x00807fff) AM_DEVREADWRITE_LEGACY("aica", dc_arm_aica_r, dc_arm_aica_w)
207207ADDRESS_MAP_END
208208
src/mess/drivers/cgenie.c
r14948r14949
4343//  AM_RANGE(0x4000, 0xbfff) AM_RAM // set up in MACHINE_START
4444//  AM_RANGE(0xc000, 0xdfff) AM_ROM // installed in cgenie_init_machine
4545//  AM_RANGE(0xe000, 0xefff) AM_ROM // installed in cgenie_init_machine
46   AM_RANGE(0xf000, 0xf3ff) AM_READWRITE_LEGACY(cgenie_colorram_r, cgenie_colorram_w ) AM_BASE(m_colorram )
47   AM_RANGE(0xf400, 0xf7ff) AM_READWRITE_LEGACY(cgenie_fontram_r, cgenie_fontram_w) AM_BASE(m_fontram )
46   AM_RANGE(0xf000, 0xf3ff) AM_READWRITE_LEGACY(cgenie_colorram_r, cgenie_colorram_w ) AM_SHARE("colorram")
47   AM_RANGE(0xf400, 0xf7ff) AM_READWRITE_LEGACY(cgenie_fontram_r, cgenie_fontram_w) AM_SHARE("fontram")
4848   AM_RANGE(0xf800, 0xf8ff) AM_READ_LEGACY(cgenie_keyboard_r )
4949   AM_RANGE(0xf900, 0xffdf) AM_NOP
5050   AM_RANGE(0xffe0, 0xffe3) AM_READWRITE_LEGACY(cgenie_irq_status_r, cgenie_motor_w )
src/mess/drivers/scv.c
r14948r14949
1515{
1616public:
1717   scv_state(const machine_config &mconfig, device_type type, const char *tag)
18      : driver_device(mconfig, type, tag) { }
18      : driver_device(mconfig, type, tag),
19      m_videoram(*this,"videoram")      { }
1920
2021   DECLARE_WRITE8_MEMBER(scv_porta_w);
2122   DECLARE_READ8_MEMBER(scv_portb_r);
r14948r14949
2425   DECLARE_WRITE8_MEMBER(scv_cart_ram_w);
2526   DECLARE_WRITE8_MEMBER(scv_cart_ram2_w);
2627   DECLARE_WRITE_LINE_MEMBER(scv_upd1771_ack_w);
27   UINT8 *m_videoram;
28   required_shared_ptr<UINT8> m_videoram;
2829   UINT8 m_porta;
2930   UINT8 m_portc;
3031   emu_timer *m_vb_timer;
r14948r14949
4142static ADDRESS_MAP_START( scv_mem, AS_PROGRAM, 8, scv_state )
4243   AM_RANGE( 0x0000, 0x0fff ) AM_ROM      /* BIOS */
4344
44   AM_RANGE( 0x2000, 0x3403 ) AM_RAM AM_BASE(m_videoram )   /* VRAM + 4 registers */
45   AM_RANGE( 0x2000, 0x3403 ) AM_RAM AM_SHARE("videoram")   /* VRAM + 4 registers */
4546
4647   AM_RANGE( 0x3600, 0x3600 ) AM_DEVWRITE_LEGACY("upd1771c", upd1771_w )
4748
src/mess/drivers/pce.c
r14948r14949
7070   AM_RANGE( 0x080000, 0x087FFF) AM_ROMBANK("bank2")
7171   AM_RANGE( 0x088000, 0x0CFFFF) AM_ROMBANK("bank3")
7272   AM_RANGE( 0x0D0000, 0x0FFFFF) AM_ROMBANK("bank4")
73   AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_BASE(m_cd_ram )
73   AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_SHARE("cd_ram")
7474   AM_RANGE( 0x110000, 0x1EDFFF) AM_NOP
7575   AM_RANGE( 0x1EE000, 0x1EE7FF) AM_ROMBANK("bank10") AM_WRITE_LEGACY(pce_cd_bram_w )
7676   AM_RANGE( 0x1EE800, 0x1EFFFF) AM_NOP
77   AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000) AM_BASE(m_user_ram )
77   AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000) AM_SHARE("user_ram")
7878   AM_RANGE( 0x1FE000, 0x1FE3FF) AM_READWRITE_LEGACY(vdc_0_r, vdc_0_w )
7979   AM_RANGE( 0x1FE400, 0x1FE7FF) AM_READWRITE_LEGACY(vce_r, vce_w )
8080   AM_RANGE( 0x1FE800, 0x1FEBFF) AM_DEVREADWRITE_LEGACY(C6280_TAG, c6280_r, c6280_w )
r14948r14949
9393   AM_RANGE( 0x080000, 0x087FFF) AM_ROMBANK("bank2")
9494   AM_RANGE( 0x088000, 0x0CFFFF) AM_ROMBANK("bank3")
9595   AM_RANGE( 0x0D0000, 0x0FFFFF) AM_ROMBANK("bank4")
96   AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_BASE(m_cd_ram )
96   AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_SHARE("cd_ram")
9797   AM_RANGE( 0x110000, 0x1EDFFF) AM_NOP
9898   AM_RANGE( 0x1EE000, 0x1EE7FF) AM_ROMBANK("bank10") AM_WRITE_LEGACY(pce_cd_bram_w )
9999   AM_RANGE( 0x1EE800, 0x1EFFFF) AM_NOP
100   AM_RANGE( 0x1F0000, 0x1F7FFF) AM_RAM AM_BASE(m_user_ram )
100   AM_RANGE( 0x1F0000, 0x1F7FFF) AM_RAM AM_SHARE("user_ram")
101101   AM_RANGE( 0x1FE000, 0x1FE007) AM_READWRITE_LEGACY(vdc_0_r, vdc_0_w ) AM_MIRROR(0x03E0)
102102   AM_RANGE( 0x1FE008, 0x1FE00F) AM_READWRITE_LEGACY(vpc_r, vpc_w ) AM_MIRROR(0x03E0)
103103   AM_RANGE( 0x1FE010, 0x1FE017) AM_READWRITE_LEGACY(vdc_1_r, vdc_1_w ) AM_MIRROR(0x03E0)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team