Previous 199869 Revisions Next

r20028 Thursday 3rd January, 2013 at 06:23:15 UTC by Barry Rodewald
s11c: Preliminary start to System 11C.  Games run, but there are issues with either the DAC and/or HC55516.
[src/mame]mame.mak
[src/mame/drivers]s11.c s11a.c s11c.c
[src/mame/includes]s11.h
[src/mame/layout]s11c.lay*

trunk/src/mame/layout/s11c.lay
r0r20028
1<!-- s11c.lay -->
2
3<!-- 2013-01-03: Initial version. -->
4
5<mamelayout version="2">
6
7   <element name="digit" defstate="0">
8      <led14segsc>
9         <color red="1.0" green="0.0" blue="0.0" />
10      </led14segsc>
11   </element>
12   <element name="ldigit" defstate="0">
13      <led7seg>
14         <color red="1.0" green="0.0" blue="0.0" />
15      </led7seg>
16   </element>
17   <element name="diagled" defstate="0">
18      <disk>
19         <color red="1.0" green="0.0" blue="0.0" />
20      </disk>
21   </element>
22   <element name="background">
23      <rect>
24         <bounds left="0" top="0" right="1" bottom="1" />
25         <color red="0.0" green="0.0" blue="0.0" />
26      </rect>
27   </element>
28   <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
29   <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
30   <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
31   <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
32
33   <view name="Default Layout">
34
35      <!-- Background -->
36      <backdrop element="background">
37         <bounds left="0" top="20" right="318" bottom="394" />
38      </backdrop>
39
40      <!-- LEDs -->
41
42      <!-- Player 1 Score -->
43      <bezel name="digit0" element="digit">
44         <bounds left="10" top="45" right="30" bottom="84" />
45      </bezel>
46      <bezel name="digit1" element="digit">
47         <bounds left="34" top="45" right="54" bottom="84" />
48      </bezel>
49      <bezel name="digit2" element="digit">
50         <bounds left="58" top="45" right="78" bottom="84" />
51      </bezel>
52      <bezel name="digit3" element="digit">
53         <bounds left="82" top="45" right="102" bottom="84" />
54      </bezel>
55      <bezel name="digit4" element="digit">
56         <bounds left="106" top="45" right="126" bottom="84" />
57      </bezel>
58      <bezel name="digit5" element="digit">
59         <bounds left="130" top="45" right="150" bottom="84" />
60      </bezel>
61      <bezel name="digit6" element="digit">
62         <bounds left="154" top="45" right="174" bottom="84" />
63      </bezel>
64      <bezel name="digit7" element="digit">
65         <bounds left="178" top="45" right="198" bottom="84" />
66      </bezel>
67
68      <!-- Player 2 Score -->
69      <bezel name="digit8" element="digit">
70         <bounds left="202" top="45" right="222" bottom="84" />
71      </bezel>
72      <bezel name="digit9" element="digit">
73         <bounds left="226" top="45" right="246" bottom="84" />
74      </bezel>
75      <bezel name="digit10" element="digit">
76         <bounds left="250" top="45" right="270" bottom="84" />
77      </bezel>
78      <bezel name="digit11" element="digit">
79         <bounds left="274" top="45" right="294" bottom="84" />
80      </bezel>
81      <bezel name="digit12" element="digit">
82         <bounds left="298" top="45" right="318" bottom="84" />
83      </bezel>
84      <bezel name="digit13" element="digit">
85         <bounds left="322" top="45" right="342" bottom="84" />
86      </bezel>
87      <bezel name="digit14" element="digit">
88         <bounds left="346" top="45" right="366" bottom="84" />
89      </bezel>
90      <bezel name="digit15" element="digit">
91         <bounds left="370" top="45" right="390" bottom="84" />
92      </bezel>
93
94      <!-- Player 3 Score -->
95      <bezel name="digit16" element="digit">
96         <bounds left="10" top="100" right="30" bottom="139" />
97      </bezel>
98      <bezel name="digit17" element="digit">
99         <bounds left="34" top="100" right="54" bottom="139" />
100      </bezel>
101      <bezel name="digit18" element="digit">
102         <bounds left="58" top="100" right="78" bottom="139" />
103      </bezel>
104      <bezel name="digit19" element="digit">
105         <bounds left="82" top="100" right="102" bottom="139" />
106      </bezel>
107      <bezel name="digit20" element="digit">
108         <bounds left="106" top="100" right="126" bottom="139" />
109      </bezel>
110      <bezel name="digit21" element="digit">
111         <bounds left="130" top="100" right="150" bottom="139" />
112      </bezel>
113      <bezel name="digit22" element="digit">
114         <bounds left="154" top="100" right="174" bottom="139" />
115      </bezel>
116      <bezel name="digit23" element="digit">
117         <bounds left="178" top="100" right="198" bottom="139" />
118      </bezel>
119
120      <!-- Player 4 Score -->
121      <bezel name="digit24" element="digit">
122         <bounds left="202" top="100" right="222" bottom="139" />
123      </bezel>
124      <bezel name="digit25" element="digit">
125         <bounds left="226" top="100" right="246" bottom="139" />
126      </bezel>
127      <bezel name="digit26" element="digit">
128         <bounds left="250" top="100" right="270" bottom="139" />
129      </bezel>
130      <bezel name="digit27" element="digit">
131         <bounds left="274" top="100" right="294" bottom="139" />
132      </bezel>
133      <bezel name="digit28" element="digit">
134         <bounds left="298" top="100" right="318" bottom="139" />
135      </bezel>
136      <bezel name="digit29" element="digit">
137         <bounds left="322" top="100" right="342" bottom="139" />
138      </bezel>
139      <bezel name="digit30" element="digit">
140         <bounds left="346" top="100" right="366" bottom="139" />
141      </bezel>
142      <bezel name="digit31" element="digit">
143         <bounds left="370" top="100" right="390" bottom="139" />
144      </bezel>
145
146      <!-- Credits and Balls -->
147      <bezel name="digit60" element="diagled">
148         <bounds left="200" top="200" right="210" bottom="210" />
149      </bezel>
150      <bezel name="digit61" element="diagled">
151         <bounds left="200" top="212" right="210" bottom="222" />
152      </bezel>
153      <bezel name="digit62" element="diagled">
154         <bounds left="200" top="224" right="210" bottom="234" />
155      </bezel>
156      <bezel element="P3"><bounds left="10" right="174" top="30" bottom="42" /></bezel>
157      <bezel element="P4"><bounds left="190" right="354" top="30" bottom="42" /></bezel>
158      <bezel element="P5"><bounds left="10" right="174" top="88" bottom="100" /></bezel>
159      <bezel element="P6"><bounds left="190" right="354" top="88" bottom="100" /></bezel>
160   </view>
161</mamelayout>
trunk/src/mame/drivers/s11.c
r20027r20028
142142      {
143143         m_maincpu->set_input_line(M6800_IRQ_LINE,ASSERT_LINE);
144144         m_irq_timer->adjust(attotime::from_ticks(32,E_CLOCK),0);
145         m_pias->cb1_w(0);
145         if(m_pias)
146            m_pias->cb1_w(0);
146147         m_irq_active = true;
147148         m_pia28->ca1_w(BIT(ioport("DIAGS")->read(), 2));  // Advance
148149         m_pia28->cb1_w(BIT(ioport("DIAGS")->read(), 3));  // Up/Down
r20027r20028
151152      {
152153         m_maincpu->set_input_line(M6800_IRQ_LINE,CLEAR_LINE);
153154         m_irq_timer->adjust(attotime::from_ticks(S11_IRQ_CYCLES,E_CLOCK),1);
154         m_pias->cb1_w(1);
155         if(m_pias)
156            m_pias->cb1_w(1);
155157         m_irq_active = false;
156158         m_pia28->ca1_w(1);
157159         m_pia28->cb1_w(1);
r20027r20028
177179{
178180   // Diagnostic button sends a pulse to NMI pin
179181   if (newval==CLEAR_LINE)
180      m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
182      if(m_audiocpu)
183         m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
181184}
182185
183186WRITE_LINE_MEMBER( s11_state::pia_irq )
r20027r20028
211214{
212215// sound ns
213216   m_ca1 = state;
214   m_pias->ca1_w(m_ca1);
217   if(m_pias)
218      m_pias->ca1_w(m_ca1);
215219   m_pia40->cb2_w(m_ca1);
216220}
217221
r20027r20028
420424WRITE_LINE_MEMBER( s11_state::pias_ca2_w )
421425{
422426// speech clock
423   hc55516_clock_w(m_hc55516, state);
427   if(m_hc55516)
428      hc55516_clock_w(m_hc55516, state);
424429}
425430
426431WRITE_LINE_MEMBER( s11_state::pias_cb2_w )
427432{
428433// speech data
429   hc55516_digit_w(m_hc55516, state);
434   if(m_hc55516)
435      hc55516_digit_w(m_hc55516, state);
430436}
431437
432438READ8_MEMBER( s11_state::dac_r )
r20027r20028
436442
437443WRITE8_MEMBER( s11_state::dac_w )
438444{
439   m_dac->write_unsigned8(data);
445   if(m_dac)
446      m_dac->write_unsigned8(data);
440447}
441448
442449static const pia6821_interface pias_intf =
trunk/src/mame/drivers/s11a.c
r20027r20028
292292DRIVER_INIT_MEMBER( s11a_state, s11a )
293293{
294294   UINT8 *BGROM = memregion("bgcpu")->base();
295   membank("bgbank")->configure_entries(0, 2, &BGROM[0x10000], 0x8000);
295   membank("bgbank")->configure_entries(0, 6, &BGROM[0x10000], 0x8000);
296296   membank("bgbank")->set_entry(0);
297297   s11_state::init_s11();
298298}
trunk/src/mame/drivers/s11c.c
r20027r20028
33*/
44
55
6#include "emu.h"
6#include "machine/genpin.h"
77#include "cpu/m6800/m6800.h"
8#include "cpu/m6809/m6809.h"
9#include "machine/6821pia.h"
10#include "sound/hc55516.h"
11#include "sound/2151intf.h"
12#include "sound/dac.h"
13#include "includes/s11.h"
14#include "s11c.lh"
815
9class williams_s11c_state : public driver_device
10{
11public:
12   williams_s11c_state(const machine_config &mconfig, device_type type, const char *tag)
13      : driver_device(mconfig, type, tag),
14        m_maincpu(*this, "maincpu")
15   { }
1616
17protected:
17static ADDRESS_MAP_START( s11c_main_map, AS_PROGRAM, 8, s11c_state )
18   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
19   AM_RANGE(0x2100, 0x2103) AM_MIRROR(0x00fc) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
20   AM_RANGE(0x2200, 0x2200) AM_MIRROR(0x01ff) AM_WRITE(sol3_w) // solenoids
21   AM_RANGE(0x2400, 0x2403) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps
22   AM_RANGE(0x2800, 0x2803) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display
23   AM_RANGE(0x2c00, 0x2c03) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia2c", pia6821_device, read, write) // alphanumeric display
24   AM_RANGE(0x3000, 0x3003) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs
25   AM_RANGE(0x3400, 0x3403) AM_MIRROR(0x0bfc) AM_DEVREADWRITE("pia34", pia6821_device, read, write) // widget
26   AM_RANGE(0x4000, 0xffff) AM_ROM
27ADDRESS_MAP_END
28/*
29static ADDRESS_MAP_START( s11c_audio_map, AS_PROGRAM, 8, s11c_state )
30   AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM
31   AM_RANGE(0x1000, 0x1fff) AM_WRITE(bank_w)
32   AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pias", pia6821_device, read, write)
33   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank0")
34   AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
35ADDRESS_MAP_END
36*/
37static ADDRESS_MAP_START( s11c_bg_map, AS_PROGRAM, 8, s11c_state )
38   AM_RANGE(0x0000, 0x07ff) AM_RAM
39   AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
40   AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write)
41   AM_RANGE(0x6000, 0x67ff) AM_WRITE(bg_speech_digit_w)
42   AM_RANGE(0x6800, 0x6fff) AM_WRITE(bg_speech_clock_w)
43   AM_RANGE(0x7800, 0x7fff) AM_WRITE(bgbank_w)
44   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bgbank")
45ADDRESS_MAP_END
1846
19   // devices
20   required_device<cpu_device> m_maincpu;
47static INPUT_PORTS_START( s11c )
48   PORT_START("X0")
49   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
2150
22   // driver_device overrides
23   virtual void machine_reset();
24public:
25   DECLARE_DRIVER_INIT(williams_s11c);
26};
51   PORT_START("X1")
52   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
53   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER )
54   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START )
55   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
56   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
57   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
58   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER )
59   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER )
2760
61   PORT_START("X2")
62   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A)
63   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S)
64   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
65   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F)
66   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G)
67   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H)
68   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J)
69   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K)
2870
29static ADDRESS_MAP_START( williams_s11c_map, AS_PROGRAM, 8, williams_s11c_state )
30   AM_RANGE(0x0000, 0xffff) AM_NOP
31ADDRESS_MAP_END
71   PORT_START("X4")
72   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L)
73   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
74   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C)
75   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V)
76   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B)
77   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N)
78   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M)
79   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
3280
33static INPUT_PORTS_START( williams_s11c )
81   PORT_START("X8")
82   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
83   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH)
84   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COLON)
85   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE)
86   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X)
87   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS)
88   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS)
89   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE)
90
91   PORT_START("X10")
92   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE)
93   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
94   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH)
95   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER)
96   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT)
97   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT)
98   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_UP)
99   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN)
100
101   PORT_START("X20")
102   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
103
104   PORT_START("X40")
105   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
106   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W)
107   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E)
108   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
109   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
110   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U)
111   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I)
112   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O)
113
114   PORT_START("X80")
115   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
116
117   PORT_START("DIAGS")
118   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Audio Diag") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, s11c_state, audio_nmi, 1)
119   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Main Diag") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, s11c_state, main_nmi, 1)
120   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Advance") PORT_CODE(KEYCODE_0)
121   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9) PORT_TOGGLE
122   PORT_CONFNAME( 0x10, 0x10, "Language" )
123   PORT_CONFSETTING( 0x00, "German" )
124   PORT_CONFSETTING( 0x10, "English" )
34125INPUT_PORTS_END
35126
36void williams_s11c_state::machine_reset()
127WRITE8_MEMBER( s11c_state::bgbank_w )
37128{
129   data %= 6;
130   membank("bgbank")->set_entry(data & 0x07);
38131}
39132
40DRIVER_INIT_MEMBER(williams_s11c_state,williams_s11c)
133MACHINE_RESET_MEMBER( s11c_state, s11c )
41134{
135   membank("bgbank")->set_entry(0);
136   // reset the CPUs again, so that the CPUs are starting with the right vectors (otherwise sound may die on reset)
137   m_bgcpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE);
42138}
43139
44static MACHINE_CONFIG_START( williams_s11c, williams_s11c_state )
140DRIVER_INIT_MEMBER(s11c_state,s11c)
141{
142   emu_timer* timer = timer_alloc(TIMER_IRQ);
143   UINT8 *BGROM = memregion("bgcpu")->base();
144   membank("bgbank")->configure_entries(0, 6, &BGROM[0x10000], 0x8000);
145   membank("bgbank")->set_entry(0);
146   set_invert(true);
147   set_timer(timer);
148   timer->adjust(attotime::from_ticks(S11_IRQ_CYCLES,E_CLOCK),1);
149}
150
151static const pia6821_interface pia21_intf =
152{
153   DEVCB_DRIVER_MEMBER(s11_state, dac_r),      /* port A in */
154   DEVCB_NULL,      /* port B in */
155   DEVCB_NULL,      /* line CA1 in */
156   DEVCB_LINE_GND,      /* line CB1 in */
157   DEVCB_NULL,      /* line CA2 in */
158   DEVCB_NULL,      /* line CB2 in */
159   DEVCB_DRIVER_MEMBER(s11_state, sound_w),      /* port A out */
160   DEVCB_DRIVER_MEMBER(s11_state, sol2_w),      /* port B out */
161   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia21_ca2_w),      /* line CA2 out */
162   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia21_cb2_w),      /* line CB2 out */
163   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),      /* IRQA */
164   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
165};
166
167static const pia6821_interface pia24_intf =
168{
169   DEVCB_NULL,      /* port A in */
170   DEVCB_NULL,      /* port B in */
171   DEVCB_LINE_GND,      /* line CA1 in */
172   DEVCB_LINE_GND,      /* line CB1 in */
173   DEVCB_LINE_VCC,      /* line CA2 in */
174   DEVCB_LINE_VCC,      /* line CB2 in */
175   DEVCB_DRIVER_MEMBER(s11_state, lamp0_w),      /* port A out */
176   DEVCB_DRIVER_MEMBER(s11_state, lamp1_w),      /* port B out */
177   DEVCB_NULL,      /* line CA2 out */
178   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia24_cb2_w),      /* line CB2 out */
179   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),      /* IRQA */
180   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
181};
182
183static const pia6821_interface pia28_intf =
184{
185   DEVCB_DRIVER_MEMBER(s11_state, pia28_w7_r),      /* port A in */
186   DEVCB_NULL,      /* port B in */
187   DEVCB_NULL,      /* line CA1 in */
188   DEVCB_NULL,      /* line CB1 in */
189   DEVCB_NULL,      /* line CA2 in */
190   DEVCB_NULL,      /* line CB2 in */
191   DEVCB_DRIVER_MEMBER(s11a_state, dig0_w),      /* port A out */
192   DEVCB_DRIVER_MEMBER(s11b_state, dig1_w),      /* port B out */
193   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_ca2_w),      /* line CA2 out */
194   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_cb2_w),      /* line CB2 out */
195   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),      /* IRQA */
196   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
197};
198
199static const pia6821_interface pia2c_intf =
200{
201   DEVCB_NULL,      /* port A in */
202   DEVCB_NULL,      /* port B in */
203   DEVCB_NULL,      /* line CA1 in */
204   DEVCB_NULL,      /* line CB1 in */
205   DEVCB_NULL,      /* line CA2 in */
206   DEVCB_NULL,      /* line CB2 in */
207   DEVCB_DRIVER_MEMBER(s11b_state, pia2c_pa_w),      /* port A out */
208   DEVCB_DRIVER_MEMBER(s11b_state, pia2c_pb_w),      /* port B out */
209   DEVCB_NULL,      /* line CA2 out */
210   DEVCB_NULL,      /* line CB2 out */
211   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),   /* IRQA */
212   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
213};
214
215static const pia6821_interface pia30_intf =
216{
217   DEVCB_DRIVER_MEMBER(s11_state, switch_r),      /* port A in */
218   DEVCB_NULL,      /* port B in */
219   DEVCB_LINE_GND,      /* line CA1 in */
220   DEVCB_LINE_GND,      /* line CB1 in */
221   DEVCB_LINE_VCC,      /* line CA2 in */
222   DEVCB_LINE_VCC,      /* line CB2 in */
223   DEVCB_NULL,      /* port A out */
224   DEVCB_DRIVER_MEMBER(s11_state, switch_w),      /* port B out */
225   DEVCB_NULL,      /* line CA2 out */
226   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia30_cb2_w),      /* line CB2 out */
227   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),   /* IRQA */
228   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
229};
230
231static const pia6821_interface pia34_intf =
232{
233   DEVCB_NULL,      /* port A in */
234   DEVCB_NULL,      /* port B in */
235   DEVCB_NULL,      /* line CA1 in */
236   DEVCB_NULL,      /* line CB1 in */
237   DEVCB_NULL,      /* line CA2 in */
238   DEVCB_NULL,      /* line CB2 in */
239   DEVCB_DRIVER_MEMBER(s11b_state, pia34_pa_w),      /* port A out */
240   DEVCB_DRIVER_MEMBER(s11_state, pia34_pb_w),      /* port B out */
241   DEVCB_NULL,      /* line CA2 out */
242   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia34_cb2_w),      /* line CB2 out */
243   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq),   /* IRQA */
244   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia_irq)      /* IRQB */
245};
246
247//static const pia6821_interface pias_intf =
248//{
249//   DEVCB_DRIVER_MEMBER(s11_state, dac_r),      /* port A in */
250//   DEVCB_NULL,      /* port B in */
251//   DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca1_r),      /* line CA1 in */
252//   DEVCB_NULL,      /* line CB1 in */
253//   DEVCB_NULL,      /* line CA2 in */
254//   DEVCB_NULL,      /* line CB2 in */
255//   DEVCB_DRIVER_MEMBER(s11_state, sound_w),      /* port A out */
256//   DEVCB_DRIVER_MEMBER(s11_state, dac_w),      /* port B out */
257//   DEVCB_NULL,      /* line CA2 out */
258//   DEVCB_NULL,      /* line CB2 out */
259//   DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE),      /* IRQA */
260//   DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE)      /* IRQB */
261//};
262
263static const pia6821_interface pia40_intf =
264{
265   DEVCB_NULL,      /* port A in */
266   DEVCB_NULL,      /* port B in */
267   DEVCB_NULL,      /* line CA1 in */
268   DEVCB_NULL,      /* line CB1 in */
269   DEVCB_LINE_VCC,      /* line CA2 in */
270   DEVCB_NULL,      /* line CB2 in */
271   DEVCB_DRIVER_MEMBER(s11_state, pia40_pa_w),      /* port A out */
272   DEVCB_DRIVER_MEMBER(s11_state, pia40_pb_w),      /* port B out */
273   DEVCB_DRIVER_LINE_MEMBER(s11b_state, pia40_ca2_w),      /* line CA2 out */
274   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia40_cb2_w),      /* line CB2 out */
275   DEVCB_CPU_INPUT_LINE("bgcpu", M6809_FIRQ_LINE),      /* IRQA */
276   DEVCB_CPU_INPUT_LINE("bgcpu", INPUT_LINE_NMI)      /* IRQB */
277};
278
279static MACHINE_CONFIG_START( s11c, s11c_state )
45280   /* basic machine hardware */
46   MCFG_CPU_ADD("maincpu", M6800, 1000000)
47   MCFG_CPU_PROGRAM_MAP(williams_s11c_map)
281   MCFG_CPU_ADD("maincpu", M6808, XTAL_4MHz)
282   MCFG_CPU_PROGRAM_MAP(s11c_main_map)
283   MCFG_MACHINE_RESET_OVERRIDE(s11c_state, s11c)
284
285   /* Video */
286   MCFG_DEFAULT_LAYOUT(layout_s11c)
287
288   /* Sound */
289   MCFG_FRAGMENT_ADD( genpin_audio )
290
291   /* Devices */
292   MCFG_PIA6821_ADD("pia21", pia21_intf)
293   MCFG_PIA6821_ADD("pia24", pia24_intf)
294   MCFG_PIA6821_ADD("pia28", pia28_intf)
295   MCFG_PIA6821_ADD("pia2c", pia2c_intf)
296   MCFG_PIA6821_ADD("pia30", pia30_intf)
297   MCFG_PIA6821_ADD("pia34", pia34_intf)
298   MCFG_NVRAM_ADD_1FILL("nvram")
299
300   // generic sound board is not used in System 11C, except for Star Trax
301
302   /* Add the background music card */
303   MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E (note: schematics show this as 8mhz/2, but games crash very quickly with that speed?)
304   MCFG_CPU_PROGRAM_MAP(s11c_bg_map)
305   MCFG_QUANTUM_TIME(attotime::from_hz(50))
306
307   MCFG_SPEAKER_STANDARD_MONO("bg")
308   MCFG_YM2151_ADD("ym2151", 3580000)
309   MCFG_YM2151_IRQ_HANDLER(WRITELINE(s11b_state, ym2151_irq_w))
310   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25)
311
312   MCFG_DAC_ADD("dac1")
313   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50)
314
315   MCFG_SOUND_ADD("hc55516_bg", HC55516, 0)
316   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50)
317
318   MCFG_PIA6821_ADD("pia40", pia40_intf)
48319MACHINE_CONFIG_END
49320
50321/*--------------------
r20027r20028
54325   ROM_REGION(0x10000, "maincpu", 0)
55326   ROM_LOAD("bugs_u26.l2", 0x4000, 0x4000, CRC(b4358920) SHA1(93af1cf5dc2b5442f428a621c0f73b27c197a3df))
56327   ROM_LOAD("bugs_u27.l2", 0x8000, 0x8000, CRC(8ff29439) SHA1(8fcdcea556e9e01ea8cb7c1548f98af2467c8a5f))
57   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
58   ROM_REGION(0x30000, "sound1", 0)
59   ROM_LOAD("bugs_u4.l2", 0x00000, 0x10000, CRC(04bc9aa5) SHA1(c3da2dc3e26b88a0ebc6f87e61fc71bec45330c3))
60   ROM_LOAD("bugs_u19.l1", 0x10000, 0x10000, CRC(a2084702) SHA1(ffd749387e7b52bad1e98c6a8939fb87bc67524c))
61   ROM_LOAD("bugs_u20.l1", 0x20000, 0x10000, CRC(5df734ef) SHA1(c8d153444dd6171c3ebddc8100ab06fde3373cc6))
328   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
329   ROM_LOAD("bugs_u4.l2", 0x10000, 0x10000, CRC(04bc9aa5) SHA1(c3da2dc3e26b88a0ebc6f87e61fc71bec45330c3))
330   ROM_LOAD("bugs_u19.l1", 0x20000, 0x10000, CRC(a2084702) SHA1(ffd749387e7b52bad1e98c6a8939fb87bc67524c))
331   ROM_LOAD("bugs_u20.l1", 0x30000, 0x10000, CRC(5df734ef) SHA1(c8d153444dd6171c3ebddc8100ab06fde3373cc6))
62332ROM_END
63333
64334ROM_START(bbnny_lu)
65335   ROM_REGION(0x10000, "maincpu", 0)
66336   ROM_LOAD("bugs_u26.l2", 0x4000, 0x4000, CRC(b4358920) SHA1(93af1cf5dc2b5442f428a621c0f73b27c197a3df))
67337   ROM_LOAD("u27-lu2.rom", 0x8000, 0x8000, CRC(aaa2c82d) SHA1(b279c87cb2ac90a818eeb1afa6115b8cdab1b0df))
68   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
69   ROM_REGION(0x30000, "sound1", 0)
70   ROM_LOAD("bugs_u4.l2", 0x00000, 0x10000, CRC(04bc9aa5) SHA1(c3da2dc3e26b88a0ebc6f87e61fc71bec45330c3))
71   ROM_LOAD("bugs_u19.l1", 0x10000, 0x10000, CRC(a2084702) SHA1(ffd749387e7b52bad1e98c6a8939fb87bc67524c))
72   ROM_LOAD("bugs_u20.l1", 0x20000, 0x10000, CRC(5df734ef) SHA1(c8d153444dd6171c3ebddc8100ab06fde3373cc6))
338   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
339   ROM_LOAD("bugs_u4.l2", 0x10000, 0x10000, CRC(04bc9aa5) SHA1(c3da2dc3e26b88a0ebc6f87e61fc71bec45330c3))
340   ROM_LOAD("bugs_u19.l1", 0x20000, 0x10000, CRC(a2084702) SHA1(ffd749387e7b52bad1e98c6a8939fb87bc67524c))
341   ROM_LOAD("bugs_u20.l1", 0x30000, 0x10000, CRC(5df734ef) SHA1(c8d153444dd6171c3ebddc8100ab06fde3373cc6))
73342ROM_END
74343
75344/*--------------------
r20027r20028
79348   ROM_REGION(0x10000, "maincpu", 0)
80349   ROM_LOAD("dinr_u26.l4", 0x4000, 0x4000, CRC(6f187abf) SHA1(8acabbccdf3528a9c5e60cc8939ab960bf4c5512))
81350   ROM_LOAD("dinr_u27.l4", 0x8000, 0x8000, CRC(d69f9f74) SHA1(88d9b42c2313a90e5d6f50220d3b44331595d86b))
82   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
83   ROM_REGION(0x30000, "sound1", 0)
84   ROM_LOAD("dinr_u4.l1", 0x00000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
85   ROM_LOAD("dinr_u19.l1", 0x10000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
86   ROM_LOAD("dinr_u20.l1", 0x20000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
351   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
352   ROM_LOAD("dinr_u4.l1", 0x10000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
353   ROM_LOAD("dinr_u19.l1", 0x20000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
354   ROM_LOAD("dinr_u20.l1", 0x30000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
87355ROM_END
88356
89357ROM_START(diner_l3)
90358   ROM_REGION(0x10000, "maincpu", 0)
91359   ROM_LOAD("u26-la3.rom", 0x4000, 0x4000, CRC(8b6aa22e) SHA1(6b802a85fc2babf5a183fb434df11597363c1c9d))
92360   ROM_LOAD("u27-la3.rom", 0x8000, 0x8000, CRC(4171451a) SHA1(818e330245691d9ef3181b885c9342880f89d912))
93   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
94   ROM_REGION(0x30000, "sound1", 0)
95   ROM_LOAD("dinr_u4.l1", 0x00000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
96   ROM_LOAD("dinr_u19.l1", 0x10000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
97   ROM_LOAD("dinr_u20.l1", 0x20000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
361   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
362   ROM_LOAD("dinr_u4.l1", 0x10000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
363   ROM_LOAD("dinr_u19.l1", 0x20000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
364   ROM_LOAD("dinr_u20.l1", 0x30000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
98365ROM_END
99366
100367ROM_START(diner_l1)
101368   ROM_REGION(0x10000, "maincpu", 0)
102369   ROM_LOAD("u26-lu1.rom", 0x4000, 0x4000, CRC(259b302f) SHA1(d7e19c2d2ad7805d9158178c24d180d158a59b0c))
103370   ROM_LOAD("u27-lu1.rom", 0x8000, 0x8000, CRC(35fafbb3) SHA1(0db3d0c9421f4fdcf4d376d543626559e1bf2daa))
104   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
105   ROM_REGION(0x30000, "sound1", 0)
106   ROM_LOAD("dinr_u4.l1", 0x00000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
107   ROM_LOAD("dinr_u19.l1", 0x10000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
108   ROM_LOAD("dinr_u20.l1", 0x20000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
371   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
372   ROM_LOAD("dinr_u4.l1", 0x10000, 0x10000, CRC(3bd28368) SHA1(41eec2f5f863039deaabfae8aece4b1cf15e4b78))
373   ROM_LOAD("dinr_u19.l1", 0x20000, 0x10000, CRC(278b9a30) SHA1(41e59adb8b6c08caee46c3dd73256480b4041619))
374   ROM_LOAD("dinr_u20.l1", 0x30000, 0x10000, CRC(511fb260) SHA1(e6e25b464c5c38f3c0492436f1e8aa2be33dd278))
109375ROM_END
110376
111377/*--------------------
r20027r20028
115381   ROM_REGION(0x10000, "maincpu", 0)
116382   ROM_LOAD("dude_u26.l2", 0x4000, 0x4000, CRC(d1e19fc2) SHA1(800329b5fd563fcd27add14da4522082c01eb86e))
117383   ROM_LOAD("dude_u27.l2", 0x8000, 0x8000, CRC(654b5d4c) SHA1(e73834dbb35cf78eab68a5966e4049640e16dddf))
118   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
119   ROM_REGION(0x30000, "sound1", 0)
120   ROM_LOAD("dude_u4.l1", 0x00000, 0x10000, CRC(3eeef714) SHA1(74dcc83958cb62819e0ac36ca83001694faafec7))
121   ROM_LOAD("dude_u19.l1", 0x10000, 0x10000, CRC(dc7b985b) SHA1(f672d1f1fe1d1d887113ea6ccd745a78f7760526))
122   ROM_LOAD("dude_u20.l1", 0x20000, 0x10000, CRC(a83d53dd) SHA1(92a81069c42c7760888201fb0787fa7ddfbf1658))
384   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
385   ROM_LOAD("dude_u4.l1", 0x10000, 0x10000, CRC(3eeef714) SHA1(74dcc83958cb62819e0ac36ca83001694faafec7))
386   ROM_LOAD("dude_u19.l1", 0x20000, 0x10000, CRC(dc7b985b) SHA1(f672d1f1fe1d1d887113ea6ccd745a78f7760526))
387   ROM_LOAD("dude_u20.l1", 0x30000, 0x10000, CRC(a83d53dd) SHA1(92a81069c42c7760888201fb0787fa7ddfbf1658))
123388ROM_END
124389
125390ROM_START(dd_p6)
126391   ROM_REGION(0x10000, "maincpu", 0)
127392   ROM_LOAD("u26-pa6.11c", 0x4000, 0x4000, CRC(6f6a6e22) SHA1(2d8a1b472eb06a9f7aeea4b2f9a82f83eb4ee08a))
128393   ROM_LOAD("u27-pa6.11c", 0x8000, 0x8000, CRC(26022273) SHA1(ca66139c3bd0c313d41a396c484d2c1b8f4ae536))
129   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
130   ROM_REGION(0x30000, "sound1", 0)
131   ROM_LOAD("dude_u4.l1", 0x00000, 0x10000, CRC(3eeef714) SHA1(74dcc83958cb62819e0ac36ca83001694faafec7))
132   ROM_LOAD("dude_u19.l1", 0x10000, 0x10000, CRC(dc7b985b) SHA1(f672d1f1fe1d1d887113ea6ccd745a78f7760526))
133   ROM_LOAD("dude_u20.l1", 0x20000, 0x10000, CRC(a83d53dd) SHA1(92a81069c42c7760888201fb0787fa7ddfbf1658))
394   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
395   ROM_LOAD("dude_u4.l1", 0x10000, 0x10000, CRC(3eeef714) SHA1(74dcc83958cb62819e0ac36ca83001694faafec7))
396   ROM_LOAD("dude_u19.l1", 0x20000, 0x10000, CRC(dc7b985b) SHA1(f672d1f1fe1d1d887113ea6ccd745a78f7760526))
397   ROM_LOAD("dude_u20.l1", 0x30000, 0x10000, CRC(a83d53dd) SHA1(92a81069c42c7760888201fb0787fa7ddfbf1658))
134398ROM_END
135399
136400/*--------------------
r20027r20028
140404   ROM_REGION(0x10000, "maincpu", 0)
141405   ROM_LOAD("pool_u26.l7", 0x4000, 0x4000, CRC(cee98aed) SHA1(5b652684c10ab4945783089d848b2f663d3b2547))
142406   ROM_LOAD("pool_u27.l7", 0x8000, 0x8000, CRC(356d9a89) SHA1(ce795c535d03a14d28fb3f2071cae48ccdb1a856))
143   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
144   ROM_REGION(0x30000, "sound1", 0)
145   ROM_LOAD("pool_u4.l2", 0x00000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
146   ROM_LOAD("pool_u19.l2", 0x10000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
147   ROM_LOAD("pool_u20.l2", 0x20000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
407   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
408   ROM_LOAD("pool_u4.l2", 0x10000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
409   ROM_LOAD("pool_u19.l2", 0x20000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
410   ROM_LOAD("pool_u20.l2", 0x30000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
148411ROM_END
149412
150413ROM_START(pool_l6)
151414   ROM_REGION(0x10000, "maincpu", 0)
152415   ROM_LOAD("pool_u26.la6", 0x4000, 0x4000, CRC(fec70d5a) SHA1(bc155a590f64f2b43b8799c1a6d2336dde45a10c))
153416   ROM_LOAD("pool_u27.la6", 0x8000, 0x8000, CRC(91fb5231) SHA1(538ddc66a5885e4b7a840d35a1e62b92f73b39ad))
154   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
155   ROM_REGION(0x30000, "sound1", 0)
156   ROM_LOAD("pool_u4.l2", 0x00000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
157   ROM_LOAD("pool_u19.l2", 0x10000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
158   ROM_LOAD("pool_u20.l2", 0x20000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
417   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
418   ROM_LOAD("pool_u4.l2", 0x10000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
419   ROM_LOAD("pool_u19.l2", 0x20000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
420   ROM_LOAD("pool_u20.l2", 0x30000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
159421ROM_END
160422
161423ROM_START(pool_le2)
162424   ROM_REGION(0x10000, "maincpu", 0)
163425   ROM_LOAD("pool_u26.le2", 0x4000, 0x4000, CRC(70526965) SHA1(69c7b74fff8fcc351e8bd9b8fce7655aebf7205c))
164426   ROM_LOAD("pool_u27.le2", 0x8000, 0x8000, CRC(90911f02) SHA1(ef3d32b3c5bafcd886bbde8b897cb225c0c04464))
165   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
166   ROM_REGION(0x30000, "sound1", 0)
167   ROM_LOAD("pool_u4.l2", 0x00000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
168   ROM_LOAD("pool_u19.l2", 0x10000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
169   ROM_LOAD("pool_u20.l2", 0x20000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
427   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
428   ROM_LOAD("pool_u4.l2", 0x10000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
429   ROM_LOAD("pool_u19.l2", 0x20000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
430   ROM_LOAD("pool_u20.l2", 0x30000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
170431ROM_END
171432
172433ROM_START(pool_p7)
173434   ROM_REGION(0x10000, "maincpu", 0)
174435   ROM_LOAD("pool_u26.pa7", 0x4000, 0x4000, CRC(91d2aae9) SHA1(b3dbc80809bca8b0435c3d8a0ceb504acab4a04a))
175436   ROM_LOAD("pool_u27.pa7", 0x8000, 0x8000, CRC(eff6b940) SHA1(e0c3858803bbc5cacedefe57681efc2dc339e16d))
176   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
177   ROM_REGION(0x30000, "sound1", 0)
178   ROM_LOAD("pool_u4.l2", 0x00000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
179   ROM_LOAD("pool_u19.l2", 0x10000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
180   ROM_LOAD("pool_u20.l2", 0x20000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
437   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
438   ROM_LOAD("pool_u4.l2", 0x10000, 0x10000, CRC(04e95e10) SHA1(3873b3cd6c2961b3f2f28a1e17f8a63c6db808d2))
439   ROM_LOAD("pool_u19.l2", 0x20000, 0x10000, CRC(0f45d02b) SHA1(58bbfdb3b98c43b66e11808cec7cd65a7f2dce6d))
440   ROM_LOAD("pool_u20.l2", 0x30000, 0x10000, CRC(925f62d6) SHA1(21b8d6f9a8b98fce8a3cdf7f5f2d40200544a898))
181441ROM_END
182442/*--------------------
183443/ Radical 9/90
r20027r20028
186446   ROM_REGION(0x10000, "maincpu", 0)
187447   ROM_LOAD("rad_u26.l1", 0x4000, 0x4000, CRC(84b1a125) SHA1(dd01fb9189acd2620c57149921aadb051f7a2412))
188448   ROM_LOAD("rad_u27.l1", 0x8000, 0x8000, CRC(6f6ca382) SHA1(a61055aab97d3fe2ecd0ed4281a9681b1d910269))
189   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
190   ROM_REGION(0x30000, "sound1", 0)
191   ROM_LOAD("rad_u4.l1", 0x00000, 0x10000, CRC(5aafc09c) SHA1(27984bbc91dc7593e6a5b42f74dd6ddf58189bec))
192   ROM_LOAD("rad_u19.l1", 0x10000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
193   ROM_LOAD("rad_u20.l1", 0x20000, 0x8000, CRC(05b96292) SHA1(7da0289cf0a0c93768c0706fdedfc3a5f2101e77))
194   ROM_RELOAD(0x20000+0x8000, 0x8000)
449   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
450   ROM_LOAD("rad_u4.l1", 0x10000, 0x10000, CRC(5aafc09c) SHA1(27984bbc91dc7593e6a5b42f74dd6ddf58189bec))
451   ROM_LOAD("rad_u19.l1", 0x20000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
452   ROM_LOAD("rad_u20.l1", 0x30000, 0x8000, CRC(05b96292) SHA1(7da0289cf0a0c93768c0706fdedfc3a5f2101e77))
195453ROM_END
196454
197455ROM_START(radcl_g1)
198456   ROM_REGION(0x10000, "maincpu", 0)
199457   ROM_LOAD("rad_u26.l1", 0x4000, 0x4000, CRC(84b1a125) SHA1(dd01fb9189acd2620c57149921aadb051f7a2412))
200458   ROM_LOAD("u27-lg1.rom", 0x8000, 0x8000, CRC(4f2eca4b) SHA1(ff44deded1686cfa0351c4499485d6eb4561cbc1))
201   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
202   ROM_REGION(0x30000, "sound1", 0)
203   ROM_LOAD("rad_u4.l1", 0x00000, 0x10000, CRC(5aafc09c) SHA1(27984bbc91dc7593e6a5b42f74dd6ddf58189bec))
204   ROM_LOAD("rad_u19.l1", 0x10000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
205   ROM_LOAD("rad_u20.l1", 0x20000, 0x8000, CRC(05b96292) SHA1(7da0289cf0a0c93768c0706fdedfc3a5f2101e77))
206   ROM_RELOAD(0x20000+0x8000, 0x8000)
459   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
460   ROM_LOAD("rad_u4.l1", 0x10000, 0x10000, CRC(5aafc09c) SHA1(27984bbc91dc7593e6a5b42f74dd6ddf58189bec))
461   ROM_LOAD("rad_u19.l1", 0x20000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
462   ROM_LOAD("rad_u20.l1", 0x30000, 0x8000, CRC(05b96292) SHA1(7da0289cf0a0c93768c0706fdedfc3a5f2101e77))
207463ROM_END
208464
209465ROM_START(radcl_p3)
210466   ROM_REGION(0x10000, "maincpu", 0)
211467   ROM_LOAD("rad_u26.p1", 0x4000, 0x4000, CRC(7d736ae9) SHA1(4ea6945fa5cfbd33fcdf780814b0bf5cb3faa388))
212468   ROM_LOAD("u27-p1.rom", 0x8000, 0x8000, CRC(83b1d928) SHA1(b1bd5d8a93f1ab9fb9bf5c268d8530be438448e6))
213   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
214   ROM_REGION(0x30000, "sound1", 0)
215   ROM_LOAD("rad_u4.p3", 0x00000, 0x10000, CRC(d31b7744) SHA1(7ebcc1503fc322909d32c7c8bda8c0b6505919b3))
216   ROM_LOAD("rad_u19.l1", 0x10000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
217   ROM_LOAD("rad_u20.p3", 0x20000, 0x8000, CRC(82f8369c) SHA1(0691a80672fc11d46359f710bd211de7a59de346))
218   ROM_RELOAD(0x20000+0x8000, 0x8000)
469   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
470   ROM_LOAD("rad_u4.p3", 0x10000, 0x10000, CRC(d31b7744) SHA1(7ebcc1503fc322909d32c7c8bda8c0b6505919b3))
471   ROM_LOAD("rad_u19.l1", 0x20000, 0x10000, CRC(7c005e1f) SHA1(bdeea7517f2adf72b4b642bffb25ba5b98453127))
472   ROM_LOAD("rad_u20.p3", 0x30000, 0x8000, CRC(82f8369c) SHA1(0691a80672fc11d46359f710bd211de7a59de346))
219473ROM_END
220474
221475/*--------------------
r20027r20028
225479   ROM_REGION(0x10000, "maincpu", 0)
226480   ROM_LOAD("gamb_u26.l3", 0x4000, 0x4000, CRC(a65f6004) SHA1(ea44bb7f8f2ec9e5989be63ba41f674b14d19b8a))
227481   ROM_LOAD("gamb_u27.l3", 0x8000, 0x8000, CRC(9be0f613) SHA1(1c2b442bc3daef212fe23ff03f5409c354e79989))
228   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
229   ROM_REGION(0x30000, "sound1", 0)
230   ROM_LOAD("gamb_u4.l2", 0x00000, 0x10000, CRC(c0cfa9be) SHA1(352df9a4dcbc131ae249416e9e517137a04627ba))
231   ROM_LOAD("gamb_u19.l1", 0x10000, 0x10000, CRC(04a3a8c8) SHA1(e72ef767f13282d2335cda3288037610d9bfedf2))
232   ROM_LOAD("gamb_u20.l1", 0x20000, 0x10000, CRC(a60c734d) SHA1(76cfcf96276ca4f6b5eee0e0402fab5ee9685366))
482   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
483   ROM_LOAD("gamb_u4.l2", 0x10000, 0x10000, CRC(c0cfa9be) SHA1(352df9a4dcbc131ae249416e9e517137a04627ba))
484   ROM_LOAD("gamb_u19.l1", 0x20000, 0x10000, CRC(04a3a8c8) SHA1(e72ef767f13282d2335cda3288037610d9bfedf2))
485   ROM_LOAD("gamb_u20.l1", 0x30000, 0x10000, CRC(a60c734d) SHA1(76cfcf96276ca4f6b5eee0e0402fab5ee9685366))
233486ROM_END
234487
235488/*--------------------
r20027r20028
239492   ROM_REGION(0x10000, "maincpu", 0)
240493   ROM_LOAD("rolr_u26.l2", 0x4000, 0x4000, CRC(cd7cad9e) SHA1(e381fa73895c307a0b3b4b699cfec2a68908f6f7))
241494   ROM_LOAD("rolr_u27.l2", 0x8000, 0x8000, CRC(f3bac2b8) SHA1(9f0ff32ea83e43097de42065909137a362b29d49))
242   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
243   ROM_REGION(0x30000, "sound1", 0)
244   ROM_LOAD("rolr_u4.l3", 0x00000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
245   ROM_LOAD("rolr_u19.l3", 0x10000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
246   ROM_LOAD("rolr_u20.l3", 0x20000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
495   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
496   ROM_LOAD("rolr_u4.l3", 0x10000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
497   ROM_LOAD("rolr_u19.l3", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
498   ROM_LOAD("rolr_u20.l3", 0x30000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
247499ROM_END
248500
249501ROM_START(rollr_ex)
250502   ROM_REGION(0x10000, "maincpu", 0)
251503   ROM_LOAD("rolr-u26.ea3", 0x4000, 0x4000, CRC(78c3c1ad) SHA1(04e4370548b3ba85c49634402a0ea166e3643f68))
252504   ROM_LOAD("rolr_u27.ea3", 0x8000, 0x8000, CRC(18685158) SHA1(d1a79fbe1185fb9e1ae1d9e2b2751429f487bb4c))
253   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
254   ROM_REGION(0x30000, "sound1", 0)
255   ROM_LOAD("rolr_u4.l3", 0x00000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
256   ROM_LOAD("rolr_u19.l3", 0x10000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
257   ROM_LOAD("rolr_u20.l3", 0x20000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
505   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
506   ROM_LOAD("rolr_u4.l3", 0x10000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
507   ROM_LOAD("rolr_u19.l3", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
508   ROM_LOAD("rolr_u20.l3", 0x30000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
258509ROM_END
259510
260511ROM_START(rollr_e1)
261512   ROM_REGION(0x10000, "maincpu", 0)
262513   ROM_LOAD("rolr_u26.pe1", 0x4000, 0x4000, CRC(56620505) SHA1(2df9097e52178f246148a40e0ad4a6e6a5cdb5d4))
263514   ROM_LOAD("rolr_u27.pe1", 0x8000, 0x8000, CRC(724d0af2) SHA1(5de5596f4e594c0e6b8448817de6ff46ffc7194b))
264   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
265   ROM_REGION(0x30000, "sound1", 0)
266   ROM_LOAD("rolr_u4.pe1", 0x00000, 0x10000, CRC(8c383b24) SHA1(5c738e5ec566f7fa5706cd4c33e5d706fa76c72d))
267   ROM_LOAD("rolr_u19.pe1", 0x10000, 0x10000, CRC(c6880cff) SHA1(c8ce23d68297d36ef62e508855a478434ff9a592))
268   ROM_LOAD("rolr_u20.pe1", 0x20000, 0x10000, CRC(4220812b) SHA1(7071565f1087020d1e1738e801dafb509ea37622))
515   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
516   ROM_LOAD("rolr_u4.pe1", 0x10000, 0x10000, CRC(8c383b24) SHA1(5c738e5ec566f7fa5706cd4c33e5d706fa76c72d))
517   ROM_LOAD("rolr_u19.pe1", 0x20000, 0x10000, CRC(c6880cff) SHA1(c8ce23d68297d36ef62e508855a478434ff9a592))
518   ROM_LOAD("rolr_u20.pe1", 0x30000, 0x10000, CRC(4220812b) SHA1(7071565f1087020d1e1738e801dafb509ea37622))
269519ROM_END
270520
271521ROM_START(rollr_p2)
272522   ROM_REGION(0x10000, "maincpu", 0)
273523   ROM_LOAD("rolr_u26.pa2", 0x4000, 0x4000, CRC(11d96b1c) SHA1(e96991bdef8b14043285feeb4cacc182a6e9dcbd))
274524   ROM_LOAD("rolr_u27.pa2", 0x8000, 0x8000, CRC(ee547bd5) SHA1(db45bf7a25321ac041f58404f7512bded9ebf11e))
275   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
276   ROM_REGION(0x30000, "sound1", 0)
277   ROM_LOAD("rolr_u4.pa1", 0x00000, 0x10000, CRC(324df946) SHA1(e7ba2b9434baea20a0cf38540fdab1668c058539))
278   ROM_LOAD("rolr_u19.pa1", 0x10000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
279   ROM_LOAD("rolr_u20.pa1", 0x20000, 0x10000, CRC(8ddaaad1) SHA1(33f58c6a9b0e509b7c9a460a687d6e2c388b4b54))
525   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
526   ROM_LOAD("rolr_u4.pa1", 0x10000, 0x10000, CRC(324df946) SHA1(e7ba2b9434baea20a0cf38540fdab1668c058539))
527   ROM_LOAD("rolr_u19.pa1", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
528   ROM_LOAD("rolr_u20.pa1", 0x30000, 0x10000, CRC(8ddaaad1) SHA1(33f58c6a9b0e509b7c9a460a687d6e2c388b4b54))
280529ROM_END
281530
282531ROM_START(rollr_l3)
283532   ROM_REGION(0x10000, "maincpu", 0)
284533   ROM_LOAD("rolr-u26.lu3", 0x4000, 0x4000, CRC(7d71ed50) SHA1(092aa13706a7fe58ad80e88c1c4a5c1d7d712546))
285534   ROM_LOAD("rolr_u27.l2", 0x8000, 0x8000, CRC(f3bac2b8) SHA1(9f0ff32ea83e43097de42065909137a362b29d49))
286   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
287   ROM_REGION(0x30000, "sound1", 0)
288   ROM_LOAD("rolr_u4.l3", 0x00000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
289   ROM_LOAD("rolr_u19.l3", 0x10000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
290   ROM_LOAD("rolr_u20.l3", 0x20000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
535   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
536   ROM_LOAD("rolr_u4.l3", 0x10000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
537   ROM_LOAD("rolr_u19.l3", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
538   ROM_LOAD("rolr_u20.l3", 0x30000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
291539ROM_END
292540
293541ROM_START(rollr_g3)
294542   ROM_REGION(0x10000, "maincpu", 0)
295543   ROM_LOAD("rolr-u26.lg3", 0x4000, 0x4000, CRC(438d2b94) SHA1(f507a06794563701b6d4fc51ff90a42a6d21d060))
296544   ROM_LOAD("rolr_u27.l2", 0x8000, 0x8000, CRC(f3bac2b8) SHA1(9f0ff32ea83e43097de42065909137a362b29d49))
297   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
298   ROM_REGION(0x30000, "sound1", 0)
299   ROM_LOAD("rolr_u4.l3", 0x00000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
300   ROM_LOAD("rolr_u19.l3", 0x10000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
301   ROM_LOAD("rolr_u20.l3", 0x20000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
545   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
546   ROM_LOAD("rolr_u4.l3", 0x10000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
547   ROM_LOAD("rolr_u19.l3", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
548   ROM_LOAD("rolr_u20.l3", 0x30000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
302549ROM_END
303550
304551/*--------------------
r20027r20028
308555   ROM_REGION(0x10000, "maincpu", 0)
309556   ROM_LOAD("gshw_u26.l3", 0x4000, 0x4000, CRC(3419bfb2) SHA1(7ce294a3118d20c7cdc3d5cd946e4c43090c5151))
310557   ROM_LOAD("gshw_u27.l3", 0x8000, 0x8000, CRC(4f3babb6) SHA1(87091a6786fc6817529cfed7f60396babe153d8d))
311   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
312   ROM_REGION(0x30000, "sound1", 0)
313   ROM_LOAD("gshw_u4.l2", 0x00000, 0x10000, CRC(e89e0116) SHA1(e96bee143d1662d078f21531f405d838fdace693))
314   ROM_LOAD("gshw_u19.l1", 0x10000, 0x10000, CRC(8bae0813) SHA1(a2b1beca13796892d8ee1533e395cabdbbb11f88))
315   ROM_LOAD("gshw_u20.l1", 0x20000, 0x10000, CRC(75ccbdf7) SHA1(7dce8ae427a621919caad8d8b08b06bb0adad850))
558   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
559   ROM_LOAD("gshw_u4.l2", 0x10000, 0x10000, CRC(e89e0116) SHA1(e96bee143d1662d078f21531f405d838fdace693))
560   ROM_LOAD("gshw_u19.l1", 0x20000, 0x10000, CRC(8bae0813) SHA1(a2b1beca13796892d8ee1533e395cabdbbb11f88))
561   ROM_LOAD("gshw_u20.l1", 0x30000, 0x10000, CRC(75ccbdf7) SHA1(7dce8ae427a621919caad8d8b08b06bb0adad850))
316562ROM_END
317563
318564ROM_START(gs_l4)
319565   ROM_REGION(0x10000, "maincpu", 0)
320566   ROM_LOAD("gshw_u26.l3", 0x4000, 0x4000, CRC(3419bfb2) SHA1(7ce294a3118d20c7cdc3d5cd946e4c43090c5151))
321567   ROM_LOAD("u27-lu4.rom", 0x8000, 0x8000, CRC(ba265978) SHA1(66ac8e83e35cdfd72f1d3aa8ce6d92c2c833f304))
322   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
323   ROM_REGION(0x30000, "sound1", 0)
324   ROM_LOAD("gshw_u4.l2", 0x00000, 0x10000, CRC(e89e0116) SHA1(e96bee143d1662d078f21531f405d838fdace693))
325   ROM_LOAD("gshw_u19.l1", 0x10000, 0x10000, CRC(8bae0813) SHA1(a2b1beca13796892d8ee1533e395cabdbbb11f88))
326   ROM_LOAD("gshw_u20.l1", 0x20000, 0x10000, CRC(75ccbdf7) SHA1(7dce8ae427a621919caad8d8b08b06bb0adad850))
568   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
569   ROM_LOAD("gshw_u4.l2", 0x10000, 0x10000, CRC(e89e0116) SHA1(e96bee143d1662d078f21531f405d838fdace693))
570   ROM_LOAD("gshw_u19.l1", 0x20000, 0x10000, CRC(8bae0813) SHA1(a2b1beca13796892d8ee1533e395cabdbbb11f88))
571   ROM_LOAD("gshw_u20.l1", 0x30000, 0x10000, CRC(75ccbdf7) SHA1(7dce8ae427a621919caad8d8b08b06bb0adad850))
327572ROM_END
328573
329574/*-----------------------
r20027r20028
337582   ROM_REGION(0x10000, "sound2", 0)
338583   ROM_LOAD("strx_u21.l1", 0x0000, 0x8000, CRC(6a323227) SHA1(7c7263754e5672c654a2ee9582f0b278e637a909))
339584   ROM_LOAD("strx_u22.l1", 0x8000, 0x8000, CRC(58407eb4) SHA1(6bd9b304c88d9470eae5afb6621187f4a8313573))
340   ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF)
341   ROM_REGION(0x30000, "sound1", 0)
342   ROM_LOAD("pfrc_u4.l2", 0x00000, 0x8000, CRC(8f431529) SHA1(0f479990715a31fd860c000a066cffb70da502c2))
343   ROM_RELOAD(0x00000+0x8000, 0x8000)
344   ROM_LOAD("pfrc_u19.l1", 0x10000, 0x8000, CRC(abc4caeb) SHA1(6faef2de9a49a1015b4038ab18849de2f25dbded))
345   ROM_RELOAD(0x10000+0x8000, 0x8000)
585   ROM_REGION(0x40000, "bgcpu", ROMREGION_ERASEFF)
586   ROM_LOAD("pfrc_u4.l2", 0x10000, 0x8000, CRC(8f431529) SHA1(0f479990715a31fd860c000a066cffb70da502c2))
587   ROM_LOAD("pfrc_u19.l1", 0x18000, 0x8000, CRC(abc4caeb) SHA1(6faef2de9a49a1015b4038ab18849de2f25dbded))
346588ROM_END
347589
348590
349GAME(1990,   bbnny_l2,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Bugs Bunny Birthday Ball (L-2)",            GAME_IS_SKELETON_MECHANICAL)
350GAME(1990,   bbnny_lu,   bbnny_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Bugs Bunny Birthday Ball (LU-2) European",      GAME_IS_SKELETON_MECHANICAL)
351GAME(1990,   diner_l4,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Diner (L-4)",                           GAME_IS_SKELETON_MECHANICAL)
352GAME(1990,   diner_l3,   diner_l4,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Diner (L-3)",                           GAME_IS_SKELETON_MECHANICAL)
353GAME(1990,   diner_l1,   diner_l4,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Diner (L-1) Europe",                     GAME_IS_SKELETON_MECHANICAL)
354GAME(1990,   dd_l2,      0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Dr. Dude (LA-2)",                        GAME_IS_SKELETON_MECHANICAL)
355GAME(1990,   dd_p6,      dd_l2,      williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Dr. Dude (PA-6)",                        GAME_IS_SKELETON_MECHANICAL)
356GAME(1990,   pool_l7,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Pool Sharks (LA-7)",                     GAME_IS_SKELETON_MECHANICAL)
357GAME(1990,   pool_l6,   pool_l7,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Pool Sharks (LA-6)",                     GAME_IS_SKELETON_MECHANICAL)
358GAME(1990,   pool_le2,   pool_l7,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Pool Sharks (LE-2)",                     GAME_IS_SKELETON_MECHANICAL)
359GAME(1989,   pool_p7,   pool_l7,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Pool Sharks (PA-7)",                     GAME_IS_SKELETON_MECHANICAL)
360GAME(1990,   radcl_l1,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Radical! (L-1)",                        GAME_IS_SKELETON_MECHANICAL)
361GAME(1990,   radcl_g1,   radcl_l1,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Radical! (G-1)",                        GAME_IS_SKELETON_MECHANICAL)
362GAME(1990,   radcl_p3,   radcl_l1,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "Radical! (P-3)",                        GAME_IS_SKELETON_MECHANICAL)
363GAME(1990,   rvrbt_l3,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Riverboat Gambler (L-3)",                  GAME_IS_SKELETON_MECHANICAL)
364GAME(1990,   rollr_l2,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (L-2)",                     GAME_IS_SKELETON_MECHANICAL)
365GAME(1991,   rollr_ex,   rollr_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (EXPERIMENTAL)",               GAME_IS_SKELETON_MECHANICAL)
366GAME(1991,   rollr_e1,   rollr_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (PU-1)",                     GAME_IS_SKELETON_MECHANICAL)
367GAME(1991,   rollr_p2,   rollr_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (PA-2 / PA-1 Sound)",            GAME_IS_SKELETON_MECHANICAL)
368GAME(1990,   rollr_l3,   rollr_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (LU-3) Europe",               GAME_IS_SKELETON_MECHANICAL)
369GAME(1990,   rollr_g3,   rollr_l2,   williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Rollergames (LG-3) Germany",               GAME_IS_SKELETON_MECHANICAL)
370GAME(1990,   gs_l3,      gs_l4,      williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "The Bally Game Show (L-3)",               GAME_IS_SKELETON_MECHANICAL)
371GAME(1990,   gs_l4,      0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Bally",            "The Bally Game Show (L-4)",               GAME_IS_SKELETON_MECHANICAL)
372GAME(1990,   strax_p7,   0,         williams_s11c,   williams_s11c, williams_s11c_state,   williams_s11c,   ROT0,   "Williams",            "Star Trax (domestic prototype)",            GAME_IS_SKELETON_MECHANICAL)
591GAME(1990,   bbnny_l2,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Bugs Bunny Birthday Ball (L-2)",            GAME_IS_SKELETON_MECHANICAL)
592GAME(1990,   bbnny_lu,   bbnny_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Bugs Bunny Birthday Ball (LU-2) European",      GAME_IS_SKELETON_MECHANICAL)
593GAME(1990,   diner_l4,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Diner (L-4)",                           GAME_IS_SKELETON_MECHANICAL)
594GAME(1990,   diner_l3,   diner_l4,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Diner (L-3)",                           GAME_IS_SKELETON_MECHANICAL)
595GAME(1990,   diner_l1,   diner_l4,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Diner (L-1) Europe",                     GAME_IS_SKELETON_MECHANICAL)
596GAME(1990,   dd_l2,      0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Dr. Dude (LA-2)",                        GAME_IS_SKELETON_MECHANICAL)
597GAME(1990,   dd_p6,      dd_l2,      s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Dr. Dude (PA-6)",                        GAME_IS_SKELETON_MECHANICAL)
598GAME(1990,   pool_l7,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Pool Sharks (LA-7)",                     GAME_IS_SKELETON_MECHANICAL)
599GAME(1990,   pool_l6,   pool_l7,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Pool Sharks (LA-6)",                     GAME_IS_SKELETON_MECHANICAL)
600GAME(1990,   pool_le2,   pool_l7,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Pool Sharks (LE-2)",                     GAME_IS_SKELETON_MECHANICAL)
601GAME(1989,   pool_p7,   pool_l7,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Pool Sharks (PA-7)",                     GAME_IS_SKELETON_MECHANICAL)
602GAME(1990,   radcl_l1,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Radical! (L-1)",                        GAME_IS_SKELETON_MECHANICAL)
603GAME(1990,   radcl_g1,   radcl_l1,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Radical! (G-1)",                        GAME_IS_SKELETON_MECHANICAL)
604GAME(1990,   radcl_p3,   radcl_l1,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "Radical! (P-3)",                        GAME_IS_SKELETON_MECHANICAL)
605GAME(1990,   rvrbt_l3,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Riverboat Gambler (L-3)",                  GAME_IS_SKELETON_MECHANICAL)
606GAME(1990,   rollr_l2,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (L-2)",                     GAME_IS_SKELETON_MECHANICAL)
607GAME(1991,   rollr_ex,   rollr_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (EXPERIMENTAL)",               GAME_IS_SKELETON_MECHANICAL)
608GAME(1991,   rollr_e1,   rollr_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (PU-1)",                     GAME_IS_SKELETON_MECHANICAL)
609GAME(1991,   rollr_p2,   rollr_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (PA-2 / PA-1 Sound)",            GAME_IS_SKELETON_MECHANICAL)
610GAME(1990,   rollr_l3,   rollr_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (LU-3) Europe",               GAME_IS_SKELETON_MECHANICAL)
611GAME(1990,   rollr_g3,   rollr_l2,   s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Rollergames (LG-3) Germany",               GAME_IS_SKELETON_MECHANICAL)
612GAME(1990,   gs_l3,      gs_l4,      s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "The Bally Game Show (L-3)",               GAME_IS_SKELETON_MECHANICAL)
613GAME(1990,   gs_l4,      0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Bally",            "The Bally Game Show (L-4)",               GAME_IS_SKELETON_MECHANICAL)
614GAME(1990,   strax_p7,   0,         s11c,   s11c, s11c_state,   s11c,   ROT0,   "Williams",            "Star Trax (domestic prototype)",            GAME_IS_SKELETON_MECHANICAL)
trunk/src/mame/includes/s11.h
r20027r20028
8080protected:
8181   // devices
8282   required_device<cpu_device> m_maincpu;
83   required_device<cpu_device> m_audiocpu;
83   optional_device<cpu_device> m_audiocpu;
8484   required_device<cpu_device> m_bgcpu;
85   required_device<dac_device> m_dac;
85   optional_device<dac_device> m_dac;
8686   required_device<dac_device> m_dac1;
87   required_device<hc55516_device> m_hc55516;
88   required_device<pia6821_device> m_pias;
87   optional_device<hc55516_device> m_hc55516;
88   optional_device<pia6821_device> m_pias;
8989   required_device<pia6821_device> m_pia21;
9090   required_device<pia6821_device> m_pia24;
9191   required_device<pia6821_device> m_pia28;
r20027r20028
104104   void set_segment1(UINT32 s) { m_segment1 = s; }
105105   UINT32 get_segment2() { return m_segment2; }
106106   void set_segment2(UINT32 s) { m_segment2 = s; }
107   void set_timer(emu_timer* t) { m_irq_timer = t; }
107108
108109   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
110   static const device_timer_id TIMER_IRQ = 0;
109111private:
110112   UINT8 m_sound_data;
111113   UINT8 m_strobe;
r20027r20028
116118   bool m_ca1;
117119   emu_timer* m_irq_timer;
118120   bool m_irq_active;
119
120   static const device_timer_id TIMER_IRQ = 0;
121121};
122122
123123class s11a_state : public s11_state
r20027r20028
163163protected:
164164   required_device<hc55516_device> m_bg_hc55516;
165165
166   void set_invert(bool inv) { m_invert = inv; }
167
166168private:
167169   bool m_invert;  // later System 11B games start expecting inverted data to the display LED segments.
168170
169171
170172};
171173
174class s11c_state : public s11b_state
175{
176public:
177   s11c_state(const machine_config &mconfig, device_type type, const char *tag)
178      : s11b_state(mconfig, type, tag)
179   { }
172180
181   DECLARE_WRITE8_MEMBER(bgbank_w);
182
183   DECLARE_MACHINE_RESET(s11c);
184   DECLARE_DRIVER_INIT(s11c);
185
186protected:
187
188private:
189
190
191};
192
193
173194#endif /* S11_H_ */
trunk/src/mame/mame.mak
r20027r20028
22622262$(DRIVERS)/s11.o:   $(LAYOUT)/s11.lh
22632263$(DRIVERS)/s11a.o:   $(LAYOUT)/s11a.lh
22642264$(DRIVERS)/s11b.o:   $(LAYOUT)/s11b.lh
2265$(DRIVERS)/s11c.o:   $(LAYOUT)/s11c.lh
22652266
22662267$(DRIVERS)/sbrkout.o:   $(LAYOUT)/sbrkout.lh
22672268

Previous 199869 Revisions Next


© 1997-2024 The MAME Team