1 // license:BSD-3-Clause
2 // copyright-holders:Acho A. Tang, Nicola Salmoria
3 /*******************************************************************************
4 
5 Equites           (c) 1984 Alpha Denshi Co./Sega
6 Bull Fighter      (c) 1984 Alpha Denshi Co./Sega
7 Gekisou           (c) 1985 Eastern Corp.
8 The Koukouyakyuh  (c) 1985 Alpha Denshi Co.
9 Splendor Blast    (c) 1985 Alpha Denshi Co.
10 Splendor Blast II (c) 1985 Alpha Denshi Co.
11 High Voltage      (c) 1985 Alpha Denshi Co.
12 Bingo Time        (c) 1986 CLS
13 
14 The following are not dumped yet:
15 Champion Croquet  (c) 1984 Alpha Denshi Co. (sports)
16 Violent Run       (c) 1985 Eastern Corp. (export version of Gekisou)
17 Tune Pit(?)       (c) 1985 Alpha Denshi Co.
18 Perfect Janputer  (c) 1984 Alpha Denshi Co. (4-player Mahjong)
19 
20 
21 Driver by Acho A. Tang, Nicola Salmoria
22 Many thanks to Corrado Tomaselli for precious hardware info.
23 
24 Stephh's notes (based on the games M68000 code and some tests) :
25 
26 0) all games
27 
28   - To enter sort of "test mode", COIN switches 0 and 1 need to be ON when the game is reset.
29 
30 
31 1) 'equites'
32 
33   - When in "test mode", press START1 to cycle through next sound, and press START2
34     to directly test the inputs and the Dip Switches.
35   - When the number of buttons is set to 2, you need to press BOTH BUTTON1 and
36     BUTTON2 to have the same effect as BUTTON3.
37 
38 
39 2) 'bullfgtr'
40 
41   - When in "test mode", press START1 to cycle through next sound, and press START2
42     to directly test the inputs and the Dip Switches.
43   - I'm not sure I understand how the coinage is handled, and so it's hard to make
44     a good description. Anyway, the values are correct.
45 
46 
47 3) 'kouyakyu'
48 
49   - When in "test mode", press START1 to cycle through next sound, and press START2
50     to directly test the inputs and the Dip Switches.
51   - Bit 1 of Dip Switch is only read in combinaison of bit 0 during P.O.S.T. to
52     enter the "test mode", but it doesn't add any credit ! That's why I've patched
53     the inputs, so you can enter the "test mode" by pressing COIN1 during P.O.S.T.
54 
55 
56 4) 'splndrbt'
57 
58   - When starting a 2 players game, when player 1 game is over, the game enters in
59     an infinite loop on displaying the "GAME OVER" message.
60   - You can test player 2 by putting 0xff instead of 0x00 at 0x040009 ($9,A6).
61   - FYI, what should change the contents of $9,A6 is the routine at 0x000932,
62     but I haven't found where this routine could be called 8( 8303 issue ?
63 
64 
65 5) 'hvoltage'
66 
67   - There is sort of "debug mode" that you can access if 0x000038.w returns 0x0000
68     instead of 0xffff. To enable it, use the MAME debugger or cheats.
69   - When you are in "debug mode", the Inputs and Dip Switches have special features.
70     Here is IMO the full list :
71 
72       * pressing IPT_JOYSTICK_DOWN of player 2 freezes the game
73       * pressing IPT_JOYSTICK_UP of player 2 unfreezes the game
74       * pressing IPT_COIN1 gives invulnerability (the collision routine isn't called)
75       * pressing IPT_COIN2 speeds up the game and you don't need to kill the bosses
76       * when bit 2 is On, you are given invulnerability (same effect as IPT_COIN1)
77       * when bit 3 is On, you don't need to kill the bosses (only the last one)
78       * when bit 4 is On ("Lives" Dip Switch set to "5"), some coordonates are displayed
79       * when bit 7 is On ("Coinage" Dip Switch set to "A 1/3C B 1/6C" or "A 2/1C B 3/1C"),
80         a "band" is displayed at the left of the screen
81 
82 
83 Notes:
84 -----
85 - The sound board in all games is identical, labelled SOUND BOARD NO.59 MC 07.
86   There are three pots, labelled MUSIC, VOICE and FRQ. MUSIC and VOICE control
87   the volume, while FRQ changes (a unique feature of this hardware) the input
88   clock to the MSM5232. This affects the music pitch ONLY--tempo is unaffected.
89   Clock speed apparently ranges from 6.144MHz (OSC value) to about 150kHz.
90 
91 - equites hardware: even if there are 0x200 bytes of sprite RAM, which would give
92   a total of 128 possible sprites, since all games only write to a limited part of
93   that RAM it looks like the hardware can only display 55 sprites. This is confirmed
94   by the POST test which only shows those 55 sprites. The strange thing is that the
95   sprites are not consecutive in RAM. The "good" parts are
96   100000-10005f
97   1000e0-1000ff
98   1001a4-1001ff
99   Possibly the remaining RAM is used by the sprite hardware as buffer? This doesn't
100   really explain the weird layout in memory, however.
101   Also, the priority order is counterintuitive. It seems that the above blocks are
102   in increasing priority order, however in each block the higher priority sprites
103   are at the lower addresses. This gives good priorities in gekisou (the car and
104   helicopter shadows would be wrong otherwise).
105 
106 - similarly, splndrbt hardware only appears to be capable of displaying 24 sprites.
107   This time, they are consecutive in RAM.
108 
109 - gekisou doesn't have dip-switches but battery backed RAM.
110   By pressing service button (F2) at any time after POST operator can access to
111   a simple config menu with no setting OSD indication about what they do but just a
112   laconic number for each, basically mimicking an actual dip bank.
113   END arrows indicates where to exit and return back to title screen, basically
114   giving the operator to either read or rewrite all the settings.
115   Defaults are all ON.
116 
117   Settings:                1   2   3   4   5   6   7   8
118   COIN 1  1 Coin / 1 Play  ON  ON
119           1 Coin / 2 Play  ON  OFF
120           1 Coin / 3 Play  OFF OFF
121           2 Coin / 1 Play  OFF ON
122   COIN 2  1 Coin / 1 Play          ON  ON
123           1 Coin / 2 Play          ON  OFF
124           1 Coin / 3 Play          OFF OFF
125           2 Coin / 1 Play          OFF ON
126   DIFFICULTY  Easy                         ON
127               Hard                         OFF
128   CABINET     Cocktail                         ON
129               Upright                          OFF
130 
131 - splndrbt2 is different in many areas, most notibly in the title screen and the
132   operation of the missiles which is a power-up pickup rather than a cumulative
133   collecting of missiles that can run out.
134 
135 
136 TODO:
137 ----
138 
139 - on startup, the CPU continuously writes 5555 to 100000 in a tight loop and expects
140   it to change to exit the loop. The value should obviously be modified by the
141   sprite hardware but it's difficult to guess what should happen. A kludge read
142   handler is used as a work around.
143 
144 - the second interrupt source for main CPU is unknown.
145 
146 - gekisou has some unknown device mapped to 580000/5a0000. The bit read from bit 7
147   of 180000 must match the last write, otherwise the game will report a BOARD ERROR
148   during boot.
149 
150 - gekisou: there's a white line crossing the explosion sprite. This doesn't look
151   like a bad ROM since the line is crossing several, not concecutive, explosion
152   sprites, and no other sprites.
153 
154 - gekisou: wrong sprite when hitting helicopter with missile?
155 
156 - gekisou: there is a small glitch during the text intro at the beginning of player
157   2 game in cocktail mode: a white line spills out from the text box as characters
158   in the last line are written. This might well be a bug in the original.
159   Update: background is actually misaligned one line, cfr. the blue buildings
160   that are near the status bar (missing on the other side).
161 
162 - splndrbt, hvoltage: the interpretation of the scaling PROMs might be wrong.
163   The sprite x scaling is not used at all because I couldn't figure it out.
164   Sprite y scaling is slightly wrong and leaves gaps in tall objects.
165   Note that sprites are 30x30 instead of 32x32.
166 
167 - The "road" background in splndrbt is slightly wrong. Apparently, the black lines
168   visible in some parts of the background should never disappear in the distance.
169   Currently, they may or may not disappear depending on the X position.
170 
171 - Need to use different default volumes for various games, especially gekisou
172   where the car noise is really unpleasant with the default settings.
173 
174 - analog drums/cymbals missing.
175 
176 - bassline imperfect. This is just the square wave output of the 5232 at the moment.
177   It should go through analog stages.
178 
179 - implement low-pass filters on the DAC output
180 
181 - the purpose of the sound PROM is unclear. From the schematics, it seems it
182   should influence the MSM5232 clock. However, even removing it from the board
183   doesn't seem to affect the sound.
184 
185 - dump the MCU ROM for kouyakyu, gekisou, hvoltage, though they currently work
186   fine with the ROM from another chip.
187 
188 * Special Thanks to:
189 
190   Jarek Burczynski for a superb MSM5232 emulation
191   The Equites WIP webmasters for the vital screenshots and sound clips
192   Yasuhiro Ogawa for the correct Equites ROM information
193 
194 
195 *******************************************************************************
196 
197 Bull Fighter
198 PCB layout
199 2005-03-21
200 f205v
201 
202 |----------------------|
203 | Fully boxed = socket |
204 |----------------------|
205 
206 
207 | separation = solder
208 
209 
210 -----------------------------------------------------------------------|
211 |ALPHA DENSHI CO, LTD. SOUND BOARD NO.59MC07                           |
212 |                                                                      |
213 |          |--------------------|                                      |
214 |   P | \/ |    JAPAN 84250C    | SN74LS232J | SN74LS74AN | DISSIPATOR |
215 |     | /\ |      M5l8085AP     | 8131BJ     | 8314A      |            |
216 |          |--------------------|                                      |
217 |                                                                      |
218 |   N                           | SN74LS74A                            |
219 |                               | 8122AG                               |
220 |                                                                      |
221 |     |------------|                                                   |
222 |   M | HV1VR OKI  | SN74LS138J | SN74LS74AJ | LM324N     | LM324N     |
223 |     | 2764-45    | 8044AG     | F8048      | J423A2     | 98509      |- (+12V)
224 |     |------------|                                                   |
225 |                                                                      |- (+5V)
226 |     |------------|                                                   |
227 |   L | HV2VR OKI  | T74LS14B1  | SN74LS08N                            |- (OUT)
228 |     | 2764-45    | 88442      | K8208                                |
229 |     |------------|                                                   |- (
230 |                                                                      |  (GND)
231 |     |------------|                                                   |- (
232 |   K | HV3VR OKI  | SN74LS08J  | SN74LS04N  | LM324N                  |
233 |     | 2764-45    | K8208      | I8313      | 98509                   |
234 |     |------------|                                                   |
235 |                                                                      |
236 |   J              | SN74LS74A  | SN74LS232J |            | LM324N     |
237 |                  | 8122AG     | 8131BG     |            | 436A       |
238 |                                                                      |
239 |     |------------|            |------------|                         |
240 |   H | HV4VR OKI  | SN74LS393N | TBP18S030N |            | LM324N     |
241 |     | 2764-45    | K8208      | J419X      |            | 436A       |
242 |     |------------|            |------------|                         |
243 |                                                                      |
244 |   F              | SN74LS138J | HCF40174BE |            | CD4066BCN  |
245 |                  | 8044AG     | MSM40174   |            | MM5666BN   |
246 |                                                                      |
247 |   E              | M74LS123P  | SN74LS138J | CD4066BCN  | CD4066BCN  |
248 |                  | 84A6C1     | 8044AG     | MM5666BN   | MM5666BN   |
249 |                                                           MUSIC      |
250 |                  |-------------------------|                         |
251 |   D | SN74LS373N |       JAPAN 841903      |            | CD4066BCN  |
252 |     | 2764-45    |         M5L8155P        |            | MM5666BN   |
253 |                  |-------------------------|              VOICE      |
254 |                                                                      |
255 |C                 |-------------------------|                         |
256 |O  C | 74LS173 PC |        MSM5232RS        |                         |
257 |N    | 8247       |        OKI 4342         |                         |
258 |N                 |-------------------------|                         |
259 |                                                                      |
260 |T  B                                                                  |
261 |O                                                                     |
262 |                  |-------------------------|                         |
263 |M  A | 74LS173 PC |     SOUND AY-3-8910     | CD4066BCN  | CD4066BCN  |
264 |A    | 8247       |        8046 CDA         | MM5666BN   | MM5666BN   |
265 |I                 |-------------------------|                         |
266 |N                                                                     |
267 |     | 1          | 2           | 3         | 4          | 5          |
268 -----------------------------------------------------------------------|
269 
270 
271 -----------------------------------------------------------------------------------|
272 |ALPHA DENSHI CO, LTD. MAIN CONNECTOR BOARD                                        |
273 |                                                                                  |
274 |                                                                                  |
275 |      | K     | J     | H     | F     | E     | D     | C     | B     | A         |
276 |                                                                              |   |
277 J    1 | LS08  | LS74  | LS109 | LS27  | LS32  |       | LS153 | LS153 | 24S10 |L  |
278 2                                                                              |S  |
279      2 | LS74  | LS04  | LS21  | LS00  | LS174 | LS153 | LS153 | LS273 | 24S10 |2  |
280 T                                                                              |7  |
281 O                                      |-------|                               |3  |
282      3 | LS32  | LS161 | LS161 | LS157 |H      | LS194 | LS194 | LS04  | 24S10 |   |
283 L                                      |TMS2732|                                   |
284 O                                      |-------|                                   |
285 W                                                              |---------------|   |
286 E    4 | LS00  | LS86  | LS86  | LS08          | LS157 | LS157 | ALPHA-8303    |   |
287 R                                                              | 44801B42-3M 3 |   |
288                                                                |---------------|   |
289 B                                      |-------|                                   |
290 O    5 | LS393 | LS86  | LS86  | OSCLT |M58725P| LS157 | LS157                     |
291 A                                      |-------|                                   |
292 R                                                                      |-------|   |
293 D    6 | LS04  | LS161 | LS161         | LS273 | LS157 | LS157 | LS08  |M58725P|   |-C
294 |                                                                      |-------|   |-O
295 |                                              |-----------|-----------|           |-N
296 |    7 | LS74  | LS367 | LS74  | LS368 | LS373 |  M58725P  |  M58725P  | LS245     |-N
297 |                                              |-----------|-----------|           |-E
298 |                                                                                  |-C
299 |    8 | LS32  | LS74  | LS32  | LS138 | LS245                         | LS245     |-T
300 J                                              |-----------|-----------|           |-O
301 1    9 | LS08  | LS00  | LS74  | LS138         |   empty   |   empty   | LS368     |-R
302                                                |-----------|-----------|           |-
303 T                                              |-----------|-----------|           |-N
304 O   10 | LS08  | LS32  | LS74  | LS138 | LS139 |HP3VR      |HP7VR      | LS368     |-O
305                                                |M5L2764K   |HN482764G  |           |-N
306 L        |-                                    |-----------|-----------|           |-J
307 O   11   |C \  | LS02  | LS00  | LS138 | LS259                         | LS368     |-A
308 W        |O  \                                 |-----------|-----------|           |-M
309 E        |N S |                                |HP2VR      |HP6VR      | LS368     |-M
310 R   12   |N O |                                |HN482764G  |M5L2764K   |           |-A
311          |  U |                                |-----------|-----------|           |
312 B        |F N |        |-----------------------|-----------|-----------|           |
313 O   13   |R D || LS74  |       HD68000-8       |HP1VR      |HP5VR      |           |
314 A        |O  /         |         4D3-R         |M5L2764K   |M5L2764K   |           |
315 R        |M /          |-----------------------|-----------|-----------|           |
316 D        |-                                                                        |
317 |   14         | LS05  | LS193 | LS214 | LS08                  | LS139 | DIP 6x    |
318 |                                                                                  |
319 |----------------------------------------------------------------------------------|
320 
321 
322 -------------------------------------------------------------------------------------|
323 |ALPHA DENSHI CO, LTD. LOWER BOARD                                                   |
324 |                                                                                    |
325 |                                                                                    |
326 J      | K     | J     | H        | F        | E     | D     | C     | B     | A     |
327 2                                                                                    |
328      1 | LS245 | LS139 |----------|----------| LS174 | LS153 | 4416  | LS04  | LS194 |
329 T                      | HM6116-3 | HS4VR    |                                       |
330 O                      | M58725P  | M5L2764K |                                       |
331      2         | LS245 |          |          | LS174 | LS153 | 4416  | LS373 | LS194 |
332 M                      |----------|----------|                                       |
333 A                      | HM6116-3 | HS3VR    |                                       |
334 I    3 | LS08  | LS04  | M58725P  | M5L2764K | LS283 | LS153 | 4416  | LS157 | LS194 |
335 N                      |          |          |                                       |
336                        |----------|----------|                                       |
337 B    4 | LS86  | LS86  | HS6VR    | HS2VR    | LS283 | LS153 | 4416  | LS373 | LS194 |
338 O                      | M5L2764K | HN482764G|                                       |
339 A                      |          |          |-------|-------|                       |
340 R    5 | LS157 | LS157 |----------|----------| LS193 | LS193 | LS08  | LS32  | LS32  |
341 D                      | HS5VR    | HS1VR    |-------|-------|                       |
342 |                      | M5L2764K | M5L2764K |                       |-------|       |
343 |    6 | LS08  | LS86  |          |          | LS157 | LS157 | LS153 | 24S10 | LS257 |
344 |                      |----------|----------|                       |-------|       |
345 |                      | HP5VR    | HB1VR    |                       |-------|       |
346 |    7 | LS157 | LS157 | M5L2764K | M5L2764K | LS157 | LS273 | LS153 | 24S10 | LS257 |
347 |                      |          |          |                       |-------|       |
348 |                      |----------|----------|                                       |
349 |    8 | LS669 | LS669 | HP6VR    | HB2VR    | LS157 | LS273 | LS153 | LS153 | LS32  |
350 J                      | M5L2764K | M5L2764K |                                       |
351 1                      |          |          |                       |-------|       |
352      9 | LS669 | LS669 |----------|----------| LS157 | LS273 | LS153 | 24S10 | LS257 |
353 T                      | HM6116-3 | HB3VR    |                       |-------|       |
354 O                      | M58725P  | M5L2764K |                       |-------|       |
355     10 | LS273 | LS273 |          |          | LS194 | LS04  | LS153 | 24S10 | LS257 |
356 M                      |----------|----------|                       |-------|       |
357 A                      | HM6116-3 | HB4VR    |                                       |
358 I   11 | LS245 | LS245 | M58725P  | M5L2764K | LS157 | LS194 | LS86  | LS08  | LS02  |
359 N                      |          |          |                                       |
360                        |----------|----------|                                       |
361 B   12 | LS373 | LS373                       | LS194 | LS157 | LS08  | LS74  | LS175 |
362 O                                                                                    |
363 A                                                                                    |
364 R   13 | LS373 | LS273 | LS174    | LS139    | LS08  | LS32  | LS74  | LS10  | LS00  |
365 D                                                                                    |
366 |------------------------------------------------------------------------------------|
367 
368 
369 *******************************************************************************/
370 
371 #include "emu.h"
372 #include "includes/equites.h"
373 
374 #include "audio/ad_sound.h"
375 #include "cpu/m68000/m68000.h"
376 #include "machine/nvram.h"
377 #include "machine/watchdog.h"
378 
379 
380 /******************************************************************************/
381 // Interrupt Handlers
382 
TIMER_DEVICE_CALLBACK_MEMBER(equites_state::equites_scanline)383 TIMER_DEVICE_CALLBACK_MEMBER(equites_state::equites_scanline)
384 {
385 	int scanline = param;
386 
387 	if(scanline == 232) // vblank-out irq
388 		m_maincpu->set_input_line(1, HOLD_LINE);
389 
390 	if(scanline == 24) // vblank-in irq
391 		m_maincpu->set_input_line(2, HOLD_LINE);
392 }
393 
TIMER_DEVICE_CALLBACK_MEMBER(splndrbt_state::splndrbt_scanline)394 TIMER_DEVICE_CALLBACK_MEMBER(splndrbt_state::splndrbt_scanline)
395 {
396 	int scanline = param;
397 
398 	if(scanline == 224) // vblank-out irq
399 		m_maincpu->set_input_line(1, HOLD_LINE);
400 
401 	if(scanline == 32) // vblank-in irq
402 		m_maincpu->set_input_line(2, HOLD_LINE);
403 }
404 
405 
406 
407 /******************************************************************************/
408 // CPU Handlers
409 
READ_LINE_MEMBER(gekisou_state::gekisou_unknown_bit_r)410 READ_LINE_MEMBER(gekisou_state::gekisou_unknown_bit_r)
411 {
412 	return m_gekisou_unknown_bit;
413 }
414 
gekisou_unknown_bit_w(offs_t offset,uint16_t data)415 void gekisou_state::gekisou_unknown_bit_w(offs_t offset, uint16_t data)
416 {
417 	// data bit is A17 (offset)
418 	m_gekisou_unknown_bit = (offset == 0) ? 0 : 1;
419 }
420 
421 
equites_spriteram_kludge_r()422 uint16_t equites_state::equites_spriteram_kludge_r()
423 {
424 	if (m_spriteram[0] == 0x5555)
425 		return 0;
426 	else
427 		return m_spriteram[0];
428 }
429 
430 
431 
432 /******************************************************************************/
433 // CPU Memory Maps
434 
equites_common_map(address_map & map)435 void equites_state::equites_common_map(address_map &map)
436 {
437 	map.unmap_value_high();
438 	map(0x000000, 0x00ffff).rom(); // ROM area is written several times (dev system?)
439 	map(0x080000, 0x080fff).rw(FUNC(equites_state::equites_fg_videoram_r), FUNC(equites_state::equites_fg_videoram_w)).umask16(0x00ff);
440 	map(0x0c0000, 0x0c01ff).ram().w(FUNC(equites_state::equites_bg_videoram_w)).share("bg_videoram");
441 	map(0x0c0200, 0x0c0fff).ram();
442 	map(0x100000, 0x1001ff).ram().share("spriteram");
443 	map(0x100000, 0x100001).r(FUNC(equites_state::equites_spriteram_kludge_r));
444 	map(0x140000, 0x1407ff).rw(m_alpha_8201, FUNC(alpha_8201_device::ext_ram_r), FUNC(alpha_8201_device::ext_ram_w)).umask16(0x00ff);
445 	map(0x180000, 0x180001).portr("IN1");
446 	map(0x180000, 0x180000).select(0x03c000).lw8(NAME([this] (offs_t offset, u8 data) { m_mainlatch->write_a3(offset >> 14); }));
447 	map(0x1c0000, 0x1c0001).portr("IN0").w(FUNC(equites_state::equites_scrollreg_w));
448 	map(0x380000, 0x380000).w(FUNC(equites_state::equites_bgcolor_w));
449 	map(0x780000, 0x780001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
450 }
451 
equites_map(address_map & map)452 void equites_state::equites_map(address_map &map)
453 {
454 	equites_common_map(map);
455 	map(0x040000, 0x040fff).ram();
456 	map(0x180001, 0x180001).w("sound_board", FUNC(ad_59mc07_device::sound_command_w));
457 }
458 
gekisou_map(address_map & map)459 void gekisou_state::gekisou_map(address_map &map)
460 {
461 	equites_common_map(map);
462 	map(0x040000, 0x040fff).ram().share("nvram"); // mainram is battery-backed
463 	map(0x180001, 0x180001).w("sound_board", FUNC(ad_59mc07_device::sound_command_w));
464 	map(0x580000, 0x580001).select(0x020000).w(FUNC(gekisou_state::gekisou_unknown_bit_w));
465 }
466 
bngotime_map(address_map & map)467 void equites_state::bngotime_map(address_map &map)
468 {
469 	equites_common_map(map);
470 	map(0x040000, 0x040fff).ram();
471 	map(0x180001, 0x180001).w("sound_board", FUNC(ad_60mc01_device::sound_command_w));
472 }
473 
splndrbt_map(address_map & map)474 void splndrbt_state::splndrbt_map(address_map &map)
475 {
476 	map.unmap_value_high();
477 	map(0x000000, 0x00ffff).rom();
478 	map(0x040000, 0x040fff).ram();
479 	map(0x080000, 0x080001).portr("IN0");
480 	map(0x0c0000, 0x0c0001).portr("IN1");
481 	map(0x0c0000, 0x0c0000).select(0x020000).w(FUNC(splndrbt_state::equites_bgcolor_w));
482 	map(0x0c0001, 0x0c0001).select(0x03c000).lw8(NAME([this] (offs_t offset, u8 data) { m_mainlatch->write_a3(offset >> 14); }));
483 	map(0x100000, 0x100001).w(FUNC(splndrbt_state::splndrbt_bg_scrollx_w));
484 	map(0x140001, 0x140001).w("sound_board", FUNC(ad_59mc07_device::sound_command_w));
485 	map(0x1c0000, 0x1c0001).w(FUNC(splndrbt_state::splndrbt_bg_scrolly_w));
486 	map(0x180000, 0x1807ff).rw(m_alpha_8201, FUNC(alpha_8201_device::ext_ram_r), FUNC(alpha_8201_device::ext_ram_w)).umask16(0x00ff);
487 	map(0x200000, 0x200fff).mirror(0x001000).rw(FUNC(splndrbt_state::equites_fg_videoram_r), FUNC(splndrbt_state::equites_fg_videoram_w)).umask16(0x00ff);
488 	map(0x400000, 0x4007ff).ram().w(FUNC(splndrbt_state::equites_bg_videoram_w)).share("bg_videoram");
489 	map(0x400800, 0x400fff).ram();
490 	map(0x600000, 0x6000ff).ram().share("spriteram");   // sprite RAM 0,1
491 	map(0x600100, 0x6001ff).ram().share("spriteram_2"); // sprite RAM 2 (8-bit)
492 }
493 
494 
495 /******************************************************************************/
496 // Common Port Map
497 
498 #define EQUITES_PLAYER_INPUT_LSB( button1, button2, button3, start ) \
499 	PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY \
500 	PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY \
501 	PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY \
502 	PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY \
503 	PORT_BIT( 0x0010, IP_ACTIVE_HIGH, button1 ) \
504 	PORT_BIT( 0x0020, IP_ACTIVE_HIGH, button2 ) \
505 	PORT_BIT( 0x0040, IP_ACTIVE_HIGH, button3 ) \
506 	PORT_BIT( 0x0080, IP_ACTIVE_HIGH, start )
507 
508 #define EQUITES_PLAYER_INPUT_MSB( button1, button2, button3, start ) \
509 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL \
510 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL \
511 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL \
512 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL \
513 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, button1 ) PORT_COCKTAIL \
514 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, button2 ) PORT_COCKTAIL \
515 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, button3 ) PORT_COCKTAIL \
516 	PORT_BIT( 0x8000, IP_ACTIVE_HIGH, start )
517 
518 #define FRQ_ADJUSTER_TAG    "FRQ"
519 
520 /******************************************************************************/
521 // Equites Port Map
522 
523 static INPUT_PORTS_START( equites )
524 	PORT_START("IN0")
525 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
526 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
527 
528 	PORT_START("IN1")
529 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
530 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
531 	PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:!6")
532 	PORT_DIPSETTING(      0x0400, DEF_STR( Upright ) )
533 	PORT_DIPSETTING(      0x0000, DEF_STR( Cocktail ) )
534 	PORT_DIPNAME( 0x0800, 0x0800, "Buttons" ) PORT_DIPLOCATION("SW:!5")
535 	PORT_DIPSETTING(      0x0000, "2" )
536 	PORT_DIPSETTING(      0x0800, "3" )
537 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR ( Lives ) ) PORT_DIPLOCATION("SW:!4")
538 	PORT_DIPSETTING(      0x0000, "3" )
539 	PORT_DIPSETTING(      0x1000, "5" )
540 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Difficulty ) ) PORT_DIPLOCATION("SW:!3")
541 	PORT_DIPSETTING(      0x0000, DEF_STR( Normal ) )
542 	PORT_DIPSETTING(      0x2000, DEF_STR( Hard ) )
543 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:!2,!1")
544 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
545 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
546 	PORT_DIPSETTING(      0x8000, "A 1C/2C B 1C/4C" )
547 	PORT_DIPSETTING(      0x4000, "A 1C/3C B 1C/6C" )
548 
549 	/* this is actually a variable resistor */
550 	PORT_START(FRQ_ADJUSTER_TAG)
551 	PORT_ADJUSTER(25, "MSM5232 Clock") // approximate factory setting
552 INPUT_PORTS_END
553 
554 /******************************************************************************/
555 // Gekisou Port Map
556 
557 static INPUT_PORTS_START( gekisou )
558 	PORT_START("IN0")
559 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
560 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
561 
562 	PORT_START("IN1")
563 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
564 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
565 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_SERVICE ) // settings
566 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
567 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
568 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
569 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
570 	PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(gekisou_state, gekisou_unknown_bit_r)
571 
572 	/* this is actually a variable resistor */
573 	PORT_START(FRQ_ADJUSTER_TAG)
574 	PORT_ADJUSTER(24, "MSM5232 Clock") // approximate factory setting
575 INPUT_PORTS_END
576 
577 /******************************************************************************/
578 // Bull Fighter Port Map
579 
580 static INPUT_PORTS_START( bullfgtr )
581 	PORT_START("IN0")
582 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
583 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
584 
585 	PORT_START("IN1")
586 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
587 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
588 	PORT_DIPNAME( 0x0c00, 0x0000, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW:!6,!5")
589 	PORT_DIPSETTING(      0x0c00, "3:00" )
590 	PORT_DIPSETTING(      0x0800, "2:00" )
591 	PORT_DIPSETTING(      0x0000, "1:30" )
592 	PORT_DIPSETTING(      0x0400, "1:00" )
593 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Difficulty ) ) PORT_DIPLOCATION("SW:!3")
594 	PORT_DIPSETTING(      0x0000, DEF_STR( Normal ) )
595 	PORT_DIPSETTING(      0x2000, DEF_STR( Hard ) )
596 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW:!2")
597 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
598 	PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
599 	PORT_DIPNAME( 0x9000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:!4,!1")
600 	PORT_DIPSETTING(      0x9000, "1C/1C (3C per player)" )
601 	PORT_DIPSETTING(      0x0000, "1C/1C (1C per player)" )
602 	PORT_DIPSETTING(      0x8000, "A 1C/1C B 1C/4C" )
603 	PORT_DIPSETTING(      0x1000, "A 1C/2C B 1C/3C" )
604 
605 	/* this is actually a variable resistor */
606 	PORT_START(FRQ_ADJUSTER_TAG)
607 	PORT_ADJUSTER(33, "MSM5232 Clock") // approximate factory setting
608 INPUT_PORTS_END
609 
610 /******************************************************************************/
611 // Koukouyakyuh Port Map
612 
613 static INPUT_PORTS_START( kouyakyu )
614 	PORT_START("IN0")
615 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
616 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
617 
618 	PORT_START("IN1")
619 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
620 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 ) // only used to access testmode!
621 	PORT_DIPNAME( 0x0c00, 0x0000, "Game Points" ) PORT_DIPLOCATION("SW:!6,!5")
622 	PORT_DIPSETTING(      0x0800, "3000" )
623 	PORT_DIPSETTING(      0x0400, "4000" )
624 	PORT_DIPSETTING(      0x0000, "5000" )
625 	PORT_DIPSETTING(      0x0c00, "7000" )
626 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW:!3")
627 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
628 	PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
629 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW:!2")
630 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
631 	PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
632 	PORT_DIPNAME( 0x9000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:!4,!1")
633 	PORT_DIPSETTING(      0x9000, "1C/1C (2C per player)" )
634 	PORT_DIPSETTING(      0x0000, "1C/1C (1C per player)" )
635 	PORT_DIPSETTING(      0x8000, "1C/1C (1C for 2 players)" )
636 	PORT_DIPSETTING(      0x1000, "1C/3C (1C per player)" )
637 
638 	/* this is actually a variable resistor */
639 	PORT_START(FRQ_ADJUSTER_TAG)
640 	PORT_ADJUSTER(33, "MSM5232 Clock") // approximate factory setting
641 INPUT_PORTS_END
642 
643 /******************************************************************************/
644 // Splendor Blast Port Map
645 
646 static INPUT_PORTS_START( splndrbt )
647 	PORT_START("IN0")
648 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START1 )
649 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START2 )
650 
651 	PORT_START("IN1")
652 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
653 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
654 	PORT_DIPNAME( 0x0c00, 0x0000, DEF_STR ( Difficulty ) ) PORT_DIPLOCATION("SW:!6,!5")
655 	PORT_DIPSETTING(      0x0400, DEF_STR( Easy ) )
656 	PORT_DIPSETTING(      0x0000, DEF_STR( Normal ) )
657 	PORT_DIPSETTING(      0x0800, DEF_STR( Hard ) )
658 	PORT_DIPSETTING(      0x0c00, DEF_STR( Hardest ) )
659 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW:!4")
660 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
661 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
662 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:!3")
663 	PORT_DIPSETTING(      0x2000, DEF_STR( Upright ) )
664 	PORT_DIPSETTING(      0x0000, DEF_STR( Cocktail ) )
665 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:!2,!1")
666 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
667 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
668 	PORT_DIPSETTING(      0x4000, "A 1C/2C B 1C/4C" )
669 	PORT_DIPSETTING(      0x8000, "A 1C/3C B 1C/6C" )
670 
671 	/* this is actually a variable resistor */
672 	PORT_START(FRQ_ADJUSTER_TAG)
673 	PORT_ADJUSTER(28, "MSM5232 Clock") // approximate factory setting
674 INPUT_PORTS_END
675 
676 /******************************************************************************/
677 // High Voltage Port Map
678 
679 static INPUT_PORTS_START( hvoltage )
680 	PORT_START("IN0")
681 	PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
682 	PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
683 	PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
684 	PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
685 	PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 )
686 	PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 )
687 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Cabinet ) )
688 	PORT_DIPSETTING(      0x0040, DEF_STR( Upright ) )
689 	PORT_DIPSETTING(      0x0000, DEF_STR( Cocktail ) )
690 	PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_START1 )
691 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
692 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
693 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
694 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
695 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
696 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
697 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_COCKTAIL
698 	PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_START2 )
699 
700 	PORT_START("IN1")
701 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
702 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
703 	PORT_DIPNAME( 0x0c00, 0x0000, DEF_STR ( Difficulty ) ) PORT_DIPLOCATION("SW:!6,!5")
704 	PORT_DIPSETTING(      0x0400, DEF_STR( Easy ) )
705 	PORT_DIPSETTING(      0x0000, DEF_STR( Normal ) )
706 	PORT_DIPSETTING(      0x0800, DEF_STR( Hard ) )
707 	PORT_DIPSETTING(      0x0c00, DEF_STR( Hardest ) )
708 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR ( Lives ) ) PORT_DIPLOCATION("SW:!4") // See notes
709 	PORT_DIPSETTING(      0x0000, "3" )
710 	PORT_DIPSETTING(      0x1000, "5" )
711 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Bonus_Life ) ) PORT_DIPLOCATION("SW:!3")
712 	PORT_DIPSETTING(      0x0000, "50k, 100k then every 100k" )
713 	PORT_DIPSETTING(      0x2000, "50k, 200k then every 100k" )
714 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:!2,!1") // See notes
715 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
716 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
717 	PORT_DIPSETTING(      0x4000, "A 1C/2C B 1C/4C" )
718 	PORT_DIPSETTING(      0x8000, "A 1C/3C B 1C/6C" )
719 
720 	/* this is actually a variable resistor */
721 	PORT_START(FRQ_ADJUSTER_TAG)
722 	PORT_ADJUSTER(27, "MSM5232 Clock") // approximate factory setting
723 INPUT_PORTS_END
724 
725 static INPUT_PORTS_START( bngotime ) // TODO: possibly still missing something? Couldn't find any use for the unknown inputs
726 	PORT_START("IN0")
727 	PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) // tilt up, only has effect when ball's in play
728 	PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN )
729 	PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) // tilt right, only has effect when ball's in play
730 	PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) // tilt left, only has effect when ball's in play
731 	PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) // spring launcher and tilt up (doubled?)
732 	PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) // starts game after betting, also changes background before launching first ball
733 	PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON2 ) // buys extra ball after game over
734 	PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_GAMBLE_BET )
735 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNKNOWN )
736 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNKNOWN )
737 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNKNOWN )
738 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
739 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
740 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_GAMBLE_TAKE )
741 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
742 	PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN1 )
743 
744 	PORT_START("IN1")
745 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN2 )
746 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNKNOWN )
747 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNKNOWN )
748 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
749 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
750 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_GAMBLE_PAYOUT )
751 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_GAMBLE_KEYOUT )
752 	PORT_SERVICE_NO_TOGGLE( 0x8000, IP_ACTIVE_HIGH ) // settings // allows to set coinage, odds, 'rank', etc.
753 INPUT_PORTS_END
754 
755 /******************************************************************************/
756 // Graphics Layouts
757 
758 static const gfx_layout charlayout =
759 {
760 	8, 8,
761 	RGN_FRAC(1,1),
762 	2,
763 	{ 0, 4 },
764 	{ STEP4(8*8+3,-1), STEP4(0*8+3,-1) },
765 	{ STEP8(0*8,8) },
766 	16*8
767 };
768 
769 static const gfx_layout tilelayout_3bpp =
770 {
771 	16, 16,
772 	RGN_FRAC(1,2),
773 	3,
774 	{ 4, RGN_FRAC(1,2), RGN_FRAC(1,2)+4 },
775 	{ STEP4(16*8+3,-1), STEP4(32*8+3,-1), STEP4(48*8+3,-1), STEP4(0*8+3,-1) },
776 	{ STEP16(0,8) },
777 	64*8
778 };
779 
780 static const gfx_layout tilelayout_2bpp =
781 {
782 	16,16,
783 	RGN_FRAC(1,1),
784 	2,
785 	{ 0, 4 },
786 	{ STEP4(16*8+3,-1), STEP4(32*8+3,-1), STEP4(48*8+3,-1), STEP4(0*8+3,-1) },
787 	{ STEP16(0*8,8) },
788 	64*8
789 };
790 
791 static const gfx_layout spritelayout_16x14 =
792 {
793 	16, 14, // 16x14, very unusual
794 	RGN_FRAC(1,2),
795 	3,
796 	{ 4, RGN_FRAC(1,2), RGN_FRAC(1,2)+4 },
797 	{ STEP4(128*0+3,-1), STEP4(128*1+3,-1), STEP4(128*2+3,-1), STEP4(128*3+3,-1) },
798 	{ 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
799 			8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8 },
800 	64*8
801 };
802 
803 static const gfx_layout spritelayout_32x32 =
804 {
805 	32,32,
806 	RGN_FRAC(1,2),
807 	3,
808 	{ 4, RGN_FRAC(1,2), RGN_FRAC(1,2)+4 },
809 	{ STEP4(0*8+3,-1), STEP4(1*8+3,-1), STEP4(2*8+3,-1), STEP4(3*8+3,-1), STEP4(4*8+3,-1), STEP4(5*8+3,-1), STEP4(6*8+3,-1), STEP4(7*8+3,-1) },
810 	{ STEP16(0*8*8,8*8), STEP16(31*8*8,-8*8) },
811 	256*8
812 };
813 
814 
815 static GFXDECODE_START( gfx_equites )
816 	GFXDECODE_ENTRY( "gfx1", 0, charlayout,         0x000, 0x80/4 ) // chars
817 	GFXDECODE_ENTRY( "gfx2", 0, tilelayout_3bpp,    0x080, 0x80/8 ) // tiles
818 	GFXDECODE_ENTRY( "gfx3", 0, spritelayout_16x14, 0x100, 0x80/8 ) // sprites
819 GFXDECODE_END
820 
GFXDECODE_START(gfx_splndrbt)821 static GFXDECODE_START( gfx_splndrbt )
822 	GFXDECODE_ENTRY( "gfx1", 0, charlayout,         0x000, 0x100/4 ) // chars
823 	GFXDECODE_ENTRY( "gfx2", 0, tilelayout_2bpp,    0x100, 0x080/4 ) // tiles
824 	GFXDECODE_ENTRY( "gfx3", 0, spritelayout_32x32, 0x180, 0x100/8 ) // sprites
825 GFXDECODE_END
826 
827 
828 /******************************************************************************/
829 
830 void equites_state::machine_start()
831 {
832 	// zerofill
833 	m_bgcolor = 0;
834 
835 	// register for savestates
836 	save_item(NAME(m_bgcolor));
837 }
838 
machine_start()839 void gekisou_state::machine_start()
840 {
841 	equites_state::machine_start();
842 
843 	m_gekisou_unknown_bit = 0;
844 
845 	save_item(NAME(m_gekisou_unknown_bit));
846 }
847 
machine_start()848 void splndrbt_state::machine_start()
849 {
850 	equites_state::machine_start();
851 
852 	save_item(NAME(m_fg_char_bank));
853 	save_item(NAME(m_splndrbt_bg_scrollx));
854 	save_item(NAME(m_splndrbt_bg_scrolly));
855 
856 	m_fg_char_bank = 0;
857 	m_splndrbt_bg_scrollx = 0;
858 	m_splndrbt_bg_scrolly = 0;
859 }
860 
equites(machine_config & config)861 void equites_state::equites(machine_config &config)
862 {
863 	/* basic machine hardware */
864 	M68000(config, m_maincpu, 12_MHz_XTAL/4); /* 68000P8 running at 3mhz! verified on pcb */
865 	m_maincpu->set_addrmap(AS_PROGRAM, &equites_state::equites_map);
866 	TIMER(config, "scantimer").configure_scanline(FUNC(equites_state::equites_scanline), "screen", 0, 1);
867 
868 	LS259(config, m_mainlatch);
869 	m_mainlatch->q_out_cb<1>().set(FUNC(equites_state::flip_screen_w));
870 	m_mainlatch->q_out_cb<2>().set(m_alpha_8201, FUNC(alpha_8201_device::mcu_start_w));
871 	m_mainlatch->q_out_cb<3>().set(m_alpha_8201, FUNC(alpha_8201_device::bus_dir_w)).invert();
872 
873 	ALPHA_8201(config, m_alpha_8201, 4000000/8); // 8303 or 8304 (same device!)
874 	config.set_perfect_quantum("alpha_8201:mcu");
875 
876 	AD_59MC07(config, "sound_board");
877 
878 	WATCHDOG_TIMER(config, "watchdog");
879 
880 	/* video hardware */
881 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
882 	m_screen->set_refresh_hz(60);
883 	m_screen->set_size(32*8, 32*8);
884 	m_screen->set_visarea(0*8, 32*8-1, 3*8, 29*8-1);
885 	m_screen->set_screen_update(FUNC(equites_state::screen_update_equites));
886 	m_screen->set_palette(m_palette);
887 
888 	GFXDECODE(config, m_gfxdecode, m_palette, gfx_equites);
889 	PALETTE(config, m_palette, FUNC(equites_state::equites_palette), 0x180, 0x100);
890 
891 	MCFG_VIDEO_START_OVERRIDE(equites_state,equites)
892 }
893 
gekisou(machine_config & config)894 void gekisou_state::gekisou(machine_config &config)
895 {
896 	equites(config);
897 
898 	/* basic machine hardware */
899 	m_maincpu->set_addrmap(AS_PROGRAM, &gekisou_state::gekisou_map);
900 
901 	// gekisou has battery-backed RAM to store settings
902 	NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
903 }
904 
bngotime(machine_config & config)905 void equites_state::bngotime(machine_config &config)
906 {
907 	equites(config);
908 
909 	m_maincpu->set_addrmap(AS_PROGRAM, &equites_state::bngotime_map);
910 
911 	AD_60MC01(config.replace(), "sound_board");
912 }
913 
splndrbt(machine_config & config)914 void splndrbt_state::splndrbt(machine_config &config)
915 {
916 	/* basic machine hardware */
917 	M68000(config, m_maincpu, 24_MHz_XTAL/4); /* 68000P8 running at 6mhz, verified on pcb */
918 	m_maincpu->set_addrmap(AS_PROGRAM, &splndrbt_state::splndrbt_map);
919 	TIMER(config, "scantimer").configure_scanline(FUNC(splndrbt_state::splndrbt_scanline), "screen", 0, 1);
920 
921 	LS259(config, m_mainlatch);
922 	m_mainlatch->q_out_cb<0>().set(FUNC(equites_state::flip_screen_w));
923 	m_mainlatch->q_out_cb<1>().set(m_alpha_8201, FUNC(alpha_8201_device::mcu_start_w));
924 	m_mainlatch->q_out_cb<2>().set(m_alpha_8201, FUNC(alpha_8201_device::bus_dir_w)).invert();
925 	m_mainlatch->q_out_cb<3>().set(FUNC(splndrbt_state::splndrbt_selchar_w));
926 
927 	AD_59MC07(config, "sound_board");
928 
929 	ALPHA_8201(config, m_alpha_8201, 4000000/8); // 8303 or 8304 (same device!)
930 	config.set_perfect_quantum("alpha_8201:mcu");
931 
932 	/* video hardware */
933 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
934 	m_screen->set_refresh_hz(60);
935 	m_screen->set_size(32*8, 32*8);
936 	m_screen->set_visarea(0*8, 32*8-1, 4*8, 28*8-1);
937 	m_screen->set_screen_update(FUNC(splndrbt_state::screen_update_splndrbt));
938 	m_screen->set_palette(m_palette);
939 
940 	GFXDECODE(config, m_gfxdecode, m_palette, gfx_splndrbt);
941 	PALETTE(config, m_palette, FUNC(splndrbt_state::splndrbt_palette), 0x280, 0x100);
942 
943 	MCFG_VIDEO_START_OVERRIDE(splndrbt_state,splndrbt)
944 }
945 
946 
947 
948 /******************************************************************************/
949 // Equites ROM Map
950 
951 /*
952 Equites by ALPHA DENSHI CO. (1984)
953 
954 Note: CPU - Main PCB
955       SND - Sound PCB    NO.59 MC07
956       VID - Video PCB
957 
958 Main processor   - 68000 2.988MHz
959 
960 Protection processor  - ALPHA-8303 custom
961 
962 Sound processor  - 8085 3.073MHz
963                  - TMP8155 RIOTs    (RAM & I/O Timers)
964                  - MSM5232R3
965                  - AY-3-8910
966 */
967 ROM_START( equites )
968 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
969 	ROM_LOAD16_BYTE( "ep1",         0x00001, 0x2000, CRC(6a4fe5f7) SHA1(5ff1594a2cee28cc7d59448eb57473088ac6f14b) )
970 	ROM_LOAD16_BYTE( "ep5",         0x00000, 0x2000, CRC(00faa3eb) SHA1(6b31d041ad4ca81eda36487f659997cc4030f23c) )
971 	ROM_LOAD16_BYTE( "epr-ep2.12d", 0x04001, 0x2000, CRC(0c1bc2e7) SHA1(4c3510dfeee2fb2f295a32e2fe2021c4c7f08e8a) )
CRC(bbed3dcc)972 	ROM_LOAD16_BYTE( "epr-ep6.12b", 0x04000, 0x2000, CRC(bbed3dcc) SHA1(46ef2c60ccfa76a187b19dc0b7e6c594050b183f) )
973 	ROM_LOAD16_BYTE( "epr-ep3.10d", 0x08001, 0x2000, CRC(5f2d059a) SHA1(03fe904a445cce89462788fecfd61ac53f4dd17f) )
974 	ROM_LOAD16_BYTE( "epr-ep7.10b", 0x08000, 0x2000, CRC(a8f6b8aa) SHA1(ee4edb54c147a95944482e998616b025642a268a) )
975 	ROM_LOAD16_BYTE( "ep4",         0x0c001, 0x2000, CRC(b636e086) SHA1(5fc23a86b6051ecf6ff3f95f810f0eb471a203b0) )
976 	ROM_LOAD16_BYTE( "ep8",         0x0c000, 0x2000, CRC(d7ee48b0) SHA1(d0398704d8e89f2b0a9ed05e18f7c644d1e047c0) )
977 
978 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
979 	ROM_LOAD( "ev1.1m", 0x00000, 0x2000, CRC(43faaf2e) SHA1(c9aaf298d673eb70399366776474f1b242549eb4) )
980 	ROM_LOAD( "ev2.1l", 0x02000, 0x2000, CRC(09e6702d) SHA1(896771f73a486e5035909eeed9ef48103d81d4ae) )
981 	ROM_LOAD( "ev3.1k", 0x04000, 0x2000, CRC(10ff140b) SHA1(7c28f988a9c8b2a702d007096199e67b447a183c) )
982 	ROM_LOAD( "ev4.1h", 0x06000, 0x2000, CRC(b7917264) SHA1(e58345fda088b171fd348959de15082f3cb42514) )
983 
984 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
985 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
986 
987 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
988 	ROM_LOAD( "ep9",  0x00000, 0x1000, CRC(0325be11) SHA1(d95667b439e3d97b08efeaf08022348546a4f385) )
989 
990 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
991 	ROM_LOAD( "eb5.7h",  0x00000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
992 	// empty space to unpack previous ROM
993 	ROM_LOAD( "eb6.8h",  0x04000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
994 	// empty space to unpack previous ROM
995 	ROM_LOAD( "eb1.7f",  0x08000, 0x2000, CRC(9a236583) SHA1(fcc4da2efe904f0178bd83fdee25d4752b9cc5ce) )
996 	ROM_LOAD( "eb2.8f",  0x0a000, 0x2000, CRC(f0fb6355) SHA1(3c4c009f80e648d02767b29bb8d18f4de7b26d4e) )
997 	ROM_LOAD( "eb3.10f", 0x0c000, 0x2000, CRC(dbd0044b) SHA1(5611517bb0f54bfb0585eeca8af21fbfc2f65b2c) )
998 	ROM_LOAD( "eb4.11f", 0x0e000, 0x2000, CRC(f8f8e600) SHA1(c7c97e4dc1f7a73694c98b2b1a3d7fa9f3317a2a) )
999 
1000 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1001 	ROM_LOAD( "es5.5h",  0x00000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
1002 	// empty space to unpack previous ROM
1003 	ROM_LOAD( "es6.4h",  0x04000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
1004 	// empty space to unpack previous ROM
1005 	ROM_LOAD( "es1.5f",  0x08000, 0x2000, CRC(cf81a2cd) SHA1(a1b45451cafeaceabe3dfe24eb073098a33ab22b) )
1006 	ROM_LOAD( "es2.4f",  0x0a000, 0x2000, CRC(ae3111d8) SHA1(d63633b531339fa04af757f42e956b8eb1debc4e) )
1007 	ROM_LOAD( "es3.2f",  0x0c000, 0x2000, CRC(3d44f815) SHA1(1835aef280a6915acbf7cad771d65bf1074f0f98) )
1008 	ROM_LOAD( "es4.1f",  0x0e000, 0x2000, CRC(16e6d18a) SHA1(44f9045ad034808070cd6497a3b94c3d8cc93262) )
1009 
1010 	ROM_REGION( 0x0700, "proms", 0 )
1011 	ROM_LOAD( "bprom.3a",  0x0000, 0x100, CRC(2fcdf217) SHA1(4acf67d37e844c2773028ecffe72a66754ed5bca) ) // R
1012 	ROM_LOAD( "bprom.1a",  0x0100, 0x100, CRC(d7e6cd1f) SHA1(ce330e43ba8a97ab79040c053a25e46e8fe60bdb) ) // G
1013 	ROM_LOAD( "bprom.2a",  0x0200, 0x100, CRC(e3d106e8) SHA1(6b153eb8140d36b4d194e26106a5ba5bffd1a851) ) // B
1014 	ROM_LOAD( "bprom.6b",  0x0300, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) ) // CLUT(same PROM x 4)
1015 	ROM_LOAD( "bprom.7b",  0x0400, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1016 	ROM_LOAD( "bprom.9b",  0x0500, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1017 	ROM_LOAD( "bprom.10b", 0x0600, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1018 
1019 	ROM_REGION( 0x0020, "prom", 0 )
1020 	ROM_LOAD( "bprom.3h",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1021 ROM_END
1022 
1023 /*
1024 Equites
1025 (c)1984 SEGA/ALPHA
1026 
1027 CPU   : 68000 Z-80x2
1028 SOUND : AY-3-8910 MSM5232RS
1029 OSC.  : 12.000MHz 14.31818MHz ?MHz
1030 */
1031 ROM_START( equitess )
1032 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
1033 	ROM_LOAD16_BYTE( "epr-ep1.13d", 0x00001, 0x2000, CRC(c6edf1cd) SHA1(21dba62e692f4fdc79155ce169a48ae827bd5994) )
1034 	ROM_LOAD16_BYTE( "epr-ep5.13b", 0x00000, 0x2000, CRC(c11f0759) SHA1(5caf2b6b777b2fdabc26ea232225be2d789e87f3) )
1035 	ROM_LOAD16_BYTE( "epr-ep2.12d", 0x04001, 0x2000, CRC(0c1bc2e7) SHA1(4c3510dfeee2fb2f295a32e2fe2021c4c7f08e8a) )
1036 	ROM_LOAD16_BYTE( "epr-ep6.12b", 0x04000, 0x2000, CRC(bbed3dcc) SHA1(46ef2c60ccfa76a187b19dc0b7e6c594050b183f) )
1037 	ROM_LOAD16_BYTE( "epr-ep3.10d", 0x08001, 0x2000, CRC(5f2d059a) SHA1(03fe904a445cce89462788fecfd61ac53f4dd17f) )
1038 	ROM_LOAD16_BYTE( "epr-ep7.10b", 0x08000, 0x2000, CRC(a8f6b8aa) SHA1(ee4edb54c147a95944482e998616b025642a268a) )
1039 	ROM_LOAD16_BYTE( "epr-ep4.9d",  0x0c001, 0x2000, CRC(956a06bd) SHA1(a716f9aaf0c32c522968f4ff13de904d6e8c7f98) )
1040 	ROM_LOAD16_BYTE( "epr-ep8.9b",  0x0c000, 0x2000, CRC(4c78d60d) SHA1(207a82779e2fe3e9082f4fa09b87c713a51167e6) )
1041 
1042 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1043 	ROM_LOAD( "ev1.1m", 0x00000, 0x2000, CRC(43faaf2e) SHA1(c9aaf298d673eb70399366776474f1b242549eb4) )
1044 	ROM_LOAD( "ev2.1l", 0x02000, 0x2000, CRC(09e6702d) SHA1(896771f73a486e5035909eeed9ef48103d81d4ae) )
1045 	ROM_LOAD( "ev3.1k", 0x04000, 0x2000, CRC(10ff140b) SHA1(7c28f988a9c8b2a702d007096199e67b447a183c) )
1046 	ROM_LOAD( "ev4.1h", 0x06000, 0x2000, CRC(b7917264) SHA1(e58345fda088b171fd348959de15082f3cb42514) )
1047 
1048 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1049 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1050 
1051 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1052 	ROM_LOAD( "epr-ep0.3e",  0x00000, 0x1000, CRC(3f5a81c3) SHA1(8fd5bc621f483bfa46be7e40e6480b25243bdf70) )
1053 
1054 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1055 	ROM_LOAD( "eb5.7h",  0x00000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
1056 	// empty space to unpack previous ROM
1057 	ROM_LOAD( "eb6.8h",  0x04000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
1058 	// empty space to unpack previous ROM
1059 	ROM_LOAD( "eb1.7f",  0x08000, 0x2000, CRC(9a236583) SHA1(fcc4da2efe904f0178bd83fdee25d4752b9cc5ce) )
1060 	ROM_LOAD( "eb2.8f",  0x0a000, 0x2000, CRC(f0fb6355) SHA1(3c4c009f80e648d02767b29bb8d18f4de7b26d4e) )
1061 	ROM_LOAD( "eb3.10f", 0x0c000, 0x2000, CRC(dbd0044b) SHA1(5611517bb0f54bfb0585eeca8af21fbfc2f65b2c) )
1062 	ROM_LOAD( "eb4.11f", 0x0e000, 0x2000, CRC(f8f8e600) SHA1(c7c97e4dc1f7a73694c98b2b1a3d7fa9f3317a2a) )
1063 
1064 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1065 	ROM_LOAD( "es5.5h",  0x00000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
1066 	// empty space to unpack previous ROM
1067 	ROM_LOAD( "es6.4h",  0x04000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
1068 	// empty space to unpack previous ROM
1069 	ROM_LOAD( "es1.5f",  0x08000, 0x2000, CRC(cf81a2cd) SHA1(a1b45451cafeaceabe3dfe24eb073098a33ab22b) )
1070 	ROM_LOAD( "es2.4f",  0x0a000, 0x2000, CRC(ae3111d8) SHA1(d63633b531339fa04af757f42e956b8eb1debc4e) )
1071 	ROM_LOAD( "es3.2f",  0x0c000, 0x2000, CRC(3d44f815) SHA1(1835aef280a6915acbf7cad771d65bf1074f0f98) )
1072 	ROM_LOAD( "es4.1f",  0x0e000, 0x2000, CRC(16e6d18a) SHA1(44f9045ad034808070cd6497a3b94c3d8cc93262) )
1073 
1074 	ROM_REGION( 0x0700, "proms", 0 )
1075 	ROM_LOAD( "bprom.3a",  0x0000, 0x100, CRC(2fcdf217) SHA1(4acf67d37e844c2773028ecffe72a66754ed5bca) ) // R
1076 	ROM_LOAD( "bprom.1a",  0x0100, 0x100, CRC(d7e6cd1f) SHA1(ce330e43ba8a97ab79040c053a25e46e8fe60bdb) ) // G
1077 	ROM_LOAD( "bprom.2a",  0x0200, 0x100, CRC(e3d106e8) SHA1(6b153eb8140d36b4d194e26106a5ba5bffd1a851) ) // B
1078 	ROM_LOAD( "bprom.6b",  0x0300, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) ) // CLUT(same PROM x 4)
1079 	ROM_LOAD( "bprom.7b",  0x0400, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1080 	ROM_LOAD( "bprom.9b",  0x0500, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1081 	ROM_LOAD( "bprom.10b", 0x0600, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
1082 
1083 	ROM_REGION( 0x0020, "prom", 0 )
1084 	ROM_LOAD( "bprom.3h",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1085 ROM_END
1086 
1087 /******************************************************************************/
1088 // Bull Fighter ROM Map
1089 
1090 ROM_START( bullfgtr )
1091 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
1092 	ROM_LOAD16_BYTE( "hp1vr.bin",  0x00001, 0x2000, CRC(e5887586) SHA1(c06883f5c4a2e777b011199787bd4d52f48ceb41) )
1093 	ROM_LOAD16_BYTE( "hp5vr.bin",  0x00000, 0x2000, CRC(b49fa09f) SHA1(ee947f7b4fa96f887f9b14e7503f98b4d117d1c8) )
1094 	ROM_LOAD16_BYTE( "hp2vr.bin",  0x04001, 0x2000, CRC(845bdf28) SHA1(4eac9ca034aaa6a7db4061ad11587189fc843ca0) )
1095 	ROM_LOAD16_BYTE( "hp6vr.bin",  0x04000, 0x2000, CRC(3dfadcf4) SHA1(724d45df0be7073bbe2767f3c0d050c8b45c9d27) )
1096 	ROM_LOAD16_BYTE( "hp3vr.bin",  0x08001, 0x2000, CRC(d3a21f8a) SHA1(2b3135aaae798eeee5850e616ed6ad8987fbc01b) )
1097 	ROM_LOAD16_BYTE( "hp7vr.bin",  0x08000, 0x2000, CRC(665cc015) SHA1(17fe18c8f22808a102f48bc4cbc8e4a1f6f9eaf1) )
1098 	ROM_FILL(                      0x0c000, 0x4000, 0x00 )
1099 
1100 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1101 	ROM_LOAD( "hv1vr.bin", 0x00000, 0x2000, CRC(2a8e6fcf) SHA1(866903408e05938a982ffef4c9b849203c6cc060) )
1102 	ROM_LOAD( "hv2vr.bin", 0x02000, 0x2000, CRC(026e1533) SHA1(6271869a3faaafacfac35262746e87a83c158b93) )
1103 	ROM_LOAD( "hv3vr.bin", 0x04000, 0x2000, CRC(51ee751c) SHA1(60bf848dfdfe313ab05df5a5c05819b0fa87ca50) )
1104 	ROM_LOAD( "hv4vr.bin", 0x06000, 0x2000, CRC(62c7a25b) SHA1(237d3cbdfbf45b33c2f65d30faba151380866a93) )
1105 
1106 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1107 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1108 
1109 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1110 	ROM_LOAD( "h.bin", 0x000000, 0x1000, CRC(c6894c9a) SHA1(0d5a55cded4fd833211bdc733a78c6c8423897de) )
1111 
1112 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1113 	ROM_LOAD( "hb5vr.bin",  0x00000, 0x2000, CRC(6d05e9f2) SHA1(4b5c92b72bf73a08a2359fe889a327a696a45e8a) )
1114 	// empty space to unpack previous ROM
1115 	ROM_LOAD( "hb6vr.bin",  0x04000, 0x2000, CRC(016340ae) SHA1(f980d39337c711a15520388967ca4503e7970e18) )
1116 	// empty space to unpack previous ROM
1117 	ROM_LOAD( "hb1vr.bin",  0x08000, 0x2000, CRC(4352d069) SHA1(bac687f050837b023da00cb53bb524b2a76310d4) )
1118 	ROM_LOAD( "hb2vr.bin",  0x0a000, 0x2000, CRC(24edfd7d) SHA1(be8a40d8d5ccff06f37c1ab67341f56e41a5ea88) )
1119 	ROM_LOAD( "hb3vr.bin",  0x0c000, 0x2000, CRC(4947114e) SHA1(822dc3f14b71dc9e5b69078aefbed6b438aa0690) )
1120 	ROM_LOAD( "hb4vr.bin",  0x0e000, 0x2000, CRC(fa296cb3) SHA1(2ba864766655cb3dd2999a6cdf96dcefd6818135) )
1121 
1122 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1123 	ROM_LOAD( "hs5vr.bin",  0x00000, 0x2000, CRC(48394389) SHA1(a5c6021b60226a775b2052909e8d21b5f79d9ec5) )
1124 	// empty space to unpack previous ROM
1125 	ROM_LOAD( "hs6vr.bin",  0x04000, 0x2000, CRC(141409ec) SHA1(3cc542fa34fdbd71e392c7c22da5d5120642be86) )
1126 	// empty space to unpack previous ROM
1127 	ROM_LOAD( "hs1vr.bin",  0x08000, 0x2000, CRC(7c69b473) SHA1(abc181b4e5b3f48c667a0bb4814c3818dfc6e9e2) )
1128 	ROM_LOAD( "hs2vr.bin",  0x0a000, 0x2000, CRC(c3dc713f) SHA1(c2072cc71ea61e0c718c339bda1460d93343469e) )
1129 	ROM_LOAD( "hs3vr.bin",  0x0c000, 0x2000, CRC(883f93fd) SHA1(a96df701f82e62582522953830049d29bcb3d458) )
1130 	ROM_LOAD( "hs4vr.bin",  0x0e000, 0x2000, CRC(578ace7b) SHA1(933e85d49db7b27fd85e4713f0984612bc29e134) )
1131 
1132 	ROM_REGION( 0x0700, "proms", 0 )
1133 	ROM_LOAD( "24s10n.a3",  0x0000, 0x100, CRC(e8a9d159) SHA1(d015149a39adcb5fc6d12d9afe7820ecef480039) ) // R
1134 	ROM_LOAD( "24s10n.a1",  0x0100, 0x100, CRC(3956af86) SHA1(ccbb69535ece5e228622907d17c959b195b97a0a) ) // G
1135 	ROM_LOAD( "24s10n.a2",  0x0200, 0x100, CRC(f50f8ec5) SHA1(ec2d934618e25e3471153f9fe7b34f978b113a47) ) // B
1136 	ROM_LOAD( "24s10n.b6",  0x0300, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) ) // CLUT(same PROM x 4)
1137 	ROM_LOAD( "24s10n.b7",  0x0400, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1138 	ROM_LOAD( "24s10n.b9",  0x0500, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1139 	ROM_LOAD( "24s10n.b10", 0x0600, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1140 
1141 	ROM_REGION( 0x0020, "prom", 0 )
1142 	ROM_LOAD( "18s030.h3",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1143 ROM_END
1144 
1145 /*
1146 Bull Fighter
1147 
1148 Upper board (Sound)
1149 -------------------
1150 All roms 2764
1151 1 prom TBP18S030
1152 CPU 8085, AY-3-8910, 8155, 5232
1153 
1154 Midle board
1155 -----------
1156 Chips named M_xxx
1157 
1158 e3 = 2732
1159 All other roms 2764
1160 A1- A3 TBP24S030 PROM
1161 
1162 CPU 68000
1163 Special chip:
1164 Alpha 8303 44801B42
1165 
1166 Lower board
1167 -----------
1168 Chips named L_xxx
1169 All roms 2764
1170 All Proms TBP24S10
1171 */
1172 ROM_START( bullfgtrs )
1173 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
1174 	ROM_LOAD16_BYTE( "m_d13.bin",  0x00001, 0x2000, CRC(7c35dd4b) SHA1(6bd604ee32c0c5db17f90e24aa254ec7072d27dd) )
1175 	ROM_LOAD16_BYTE( "m_b13.bin",  0x00000, 0x2000, CRC(c4adddce) SHA1(48b6ddbad52a3941d3e651642b26d9adf70f71f5) )
1176 	ROM_LOAD16_BYTE( "m_d12.bin",  0x04001, 0x2000, CRC(5d51be2b) SHA1(55d2718479cb71ceefefbaf40c14285e5603e526) )
1177 	ROM_LOAD16_BYTE( "m_b12.bin",  0x04000, 0x2000, CRC(d98390ef) SHA1(17006503325627055c8b22052d7ed94e474f4ef7) )
1178 	ROM_LOAD16_BYTE( "m_d10.bin",  0x08001, 0x2000, CRC(21875752) SHA1(016db4125b1a4584ae277af427370780d96a17c5) )
1179 	ROM_LOAD16_BYTE( "m_b10.bin",  0x08000, 0x2000, CRC(9d84f678) SHA1(32584d54788cb570bd5210992836f28ba9c87aac) )
1180 	ROM_FILL(                      0x0c000, 0x4000, 0x00 )
1181 
1182 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1183 	ROM_LOAD( "hv1vr.bin", 0x00000, 0x2000, CRC(2a8e6fcf) SHA1(866903408e05938a982ffef4c9b849203c6cc060) )
1184 	ROM_LOAD( "hv2vr.bin", 0x02000, 0x2000, CRC(026e1533) SHA1(6271869a3faaafacfac35262746e87a83c158b93) )
1185 	ROM_LOAD( "hv3vr.bin", 0x04000, 0x2000, CRC(51ee751c) SHA1(60bf848dfdfe313ab05df5a5c05819b0fa87ca50) )
1186 	ROM_LOAD( "hv4vr.bin", 0x06000, 0x2000, CRC(62c7a25b) SHA1(237d3cbdfbf45b33c2f65d30faba151380866a93) )
1187 
1188 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1189 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1190 
1191 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1192 	ROM_LOAD( "h.bin", 0x000000, 0x1000, CRC(c6894c9a) SHA1(0d5a55cded4fd833211bdc733a78c6c8423897de) )
1193 
1194 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1195 	ROM_LOAD( "hb5vr.bin",  0x00000, 0x2000, CRC(6d05e9f2) SHA1(4b5c92b72bf73a08a2359fe889a327a696a45e8a) )
1196 	// empty space to unpack previous ROM
1197 	ROM_LOAD( "hb6vr.bin",  0x04000, 0x2000, CRC(016340ae) SHA1(f980d39337c711a15520388967ca4503e7970e18) )
1198 	// empty space to unpack previous ROM
1199 	ROM_LOAD( "hb1vr.bin",  0x08000, 0x2000, CRC(4352d069) SHA1(bac687f050837b023da00cb53bb524b2a76310d4) )
1200 	ROM_LOAD( "hb2vr.bin",  0x0a000, 0x2000, CRC(24edfd7d) SHA1(be8a40d8d5ccff06f37c1ab67341f56e41a5ea88) )
1201 	ROM_LOAD( "hb3vr.bin",  0x0c000, 0x2000, CRC(4947114e) SHA1(822dc3f14b71dc9e5b69078aefbed6b438aa0690) )
1202 	ROM_LOAD( "hb4vr.bin",  0x0e000, 0x2000, CRC(fa296cb3) SHA1(2ba864766655cb3dd2999a6cdf96dcefd6818135) )
1203 
1204 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1205 	ROM_LOAD( "hs5vr.bin",  0x00000, 0x2000, CRC(48394389) SHA1(a5c6021b60226a775b2052909e8d21b5f79d9ec5) )
1206 	// empty space to unpack previous ROM
1207 	ROM_LOAD( "hs6vr.bin",  0x04000, 0x2000, CRC(141409ec) SHA1(3cc542fa34fdbd71e392c7c22da5d5120642be86) )
1208 	// empty space to unpack previous ROM
1209 	ROM_LOAD( "hs1vr.bin",  0x08000, 0x2000, CRC(7c69b473) SHA1(abc181b4e5b3f48c667a0bb4814c3818dfc6e9e2) )
1210 	ROM_LOAD( "hs2vr.bin",  0x0a000, 0x2000, CRC(c3dc713f) SHA1(c2072cc71ea61e0c718c339bda1460d93343469e) )
1211 	ROM_LOAD( "hs3vr.bin",  0x0c000, 0x2000, CRC(883f93fd) SHA1(a96df701f82e62582522953830049d29bcb3d458) )
1212 	ROM_LOAD( "hs4vr.bin",  0x0e000, 0x2000, CRC(578ace7b) SHA1(933e85d49db7b27fd85e4713f0984612bc29e134) )
1213 
1214 	ROM_REGION( 0x0700, "proms", 0 )
1215 	ROM_LOAD( "24s10n.a3",  0x0000, 0x100, CRC(e8a9d159) SHA1(d015149a39adcb5fc6d12d9afe7820ecef480039) ) // R
1216 	ROM_LOAD( "24s10n.a1",  0x0100, 0x100, CRC(3956af86) SHA1(ccbb69535ece5e228622907d17c959b195b97a0a) ) // G
1217 	ROM_LOAD( "24s10n.a2",  0x0200, 0x100, CRC(f50f8ec5) SHA1(ec2d934618e25e3471153f9fe7b34f978b113a47) ) // B
1218 	ROM_LOAD( "24s10n.b6",  0x0300, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) ) // CLUT(same PROM x 4)
1219 	ROM_LOAD( "24s10n.b7",  0x0400, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1220 	ROM_LOAD( "24s10n.b9",  0x0500, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1221 	ROM_LOAD( "24s10n.b10", 0x0600, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
1222 
1223 	ROM_REGION( 0x0020, "prom", 0 )
1224 	ROM_LOAD( "18s030.h3",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1225 ROM_END
1226 
1227 /******************************************************************************/
1228 // Koukouyakyuh ROM Map
1229 
1230 /*
1231 The Koukouyakyuh (JPN Ver.)
1232 
1233 (c)1985 Alpha denshi
1234 
1235 CPU   :MAIN  68000
1236        SOUND 8085
1237 Sound :AY-3-8910 M3M5232RS
1238 OSC   :12.000MHz 6.??MHz 14.31818MHz
1239 */
1240 ROM_START( kouyakyu )
1241 	ROM_REGION( 0x10000, "maincpu", 0 )  // 68000 ROMs
1242 	ROM_LOAD16_BYTE( "epr-6704.bin", 0x00001, 0x2000, CRC(c7ac2292) SHA1(614bfb0949620d4c260768f14a116b076dd38438) )
1243 	ROM_LOAD16_BYTE( "epr-6707.bin", 0x00000, 0x2000, CRC(9cb2962e) SHA1(bd1bcbc53a3346e22789f24a35ab3aa681317d02) )
1244 	ROM_LOAD16_BYTE( "epr-6705.bin", 0x04001, 0x2000, CRC(985327cb) SHA1(86969fe763cbaa527d64de35844773b5ab1d7f83) )
1245 	ROM_LOAD16_BYTE( "epr-6708.bin", 0x04000, 0x2000, CRC(f8863dc5) SHA1(bfdd294d51420dd70aa97942909a9b8a95ffc05c) )
1246 	ROM_LOAD16_BYTE( "epr-6706.bin", 0x08001, 0x2000, BAD_DUMP CRC(79e94cd2) SHA1(f44c2292614b46116818fad9a7eb48cceeb3b819)  )  // was bad, manually patched
1247 	ROM_LOAD16_BYTE( "epr-6709.bin", 0x08000, 0x2000, CRC(f41cb58c) SHA1(f0d1048e949d51432739755f985e4df65b8e918b) )
1248 	ROM_FILL(                        0x0c000, 0x4000, 0x00 )
1249 
1250 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1251 	ROM_LOAD( "epr-6703.bin", 0x00000, 0x2000, CRC(fbff3a86) SHA1(4ed2887b1e4509ded853a230f735d4d2aa475886) )
1252 	ROM_LOAD( "epr-6702.bin", 0x02000, 0x2000, CRC(27ddf031) SHA1(2f11d3b693e46852762669ed1e35a667990edec7) )
1253 	ROM_LOAD( "epr-6701.bin", 0x04000, 0x2000, CRC(3c83588a) SHA1(a84c813ba9d464cffc855397aaacbb9177c86fb4) )
1254 	ROM_LOAD( "epr-6700.bin", 0x06000, 0x2000, CRC(ee579266) SHA1(94dfcf506049fc78db00084ff7031d19520d9a85) )
1255 	ROM_LOAD( "epr-6699.bin", 0x08000, 0x2000, CRC(9bfa4a72) SHA1(8ac4d308dab0d67a26b4e3550c2e8064aaf36a74) )
1256 	ROM_LOAD( "epr-6698.bin", 0x0a000, 0x2000, CRC(7adfd1ff) SHA1(b543dd6734a681a187dabf602bea390de663039c) )
1257 
1258 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1259 	ROM_LOAD( "alpha-8505_44801c57.bin", 0x0000, 0x2000, BAD_DUMP CRC(1f5a1405) SHA1(23f2e23db402f88037a5cbdab2935ec1b9a05298) ) // 8304 is not dumped yet, using 8505 instead
1260 
1261 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1262 	ROM_LOAD( "epr-6710.bin", 0x00000, 0x1000, CRC(accda190) SHA1(265d2fd92574d65e7890e48d5f305bf903a67bc8) )
1263 
1264 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1265 	ROM_LOAD( "epr-6695.bin", 0x00000, 0x2000, CRC(22bea465) SHA1(4860d7ee3c386cdacc9c608ffe74ec8bfa58edcb) )
1266 	// empty space to unpack previous ROM
1267 	ROM_LOAD( "epr-6694.bin", 0x04000, 0x2000, CRC(51a7345e) SHA1(184c890559ed633e23cb459c313e6179cc3eb542) )
1268 	// empty space to unpack previous ROM
1269 	ROM_LOAD( "epr-6689.bin", 0x08000, 0x2000, CRC(53bf7587) SHA1(0046cd04d11ce789ff69e0807700a624af96eb36) )
1270 	ROM_LOAD( "epr-6688.bin", 0x0a000, 0x2000, CRC(ceb76c5b) SHA1(81fa236871f10c77eb201e1c9771bd57406df15b) )
1271 	ROM_LOAD( "epr-6687.bin", 0x0c000, 0x2000, CRC(9c1f49df) SHA1(1a5cf5278777f829d3654e838bd2bb9f4dbb57ba) )
1272 	ROM_LOAD( "epr-6686.bin", 0x0e000, 0x2000, CRC(3d9e516f) SHA1(498614821f87dbcc39edb1756e1af6b536044e6a) )
1273 
1274 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1275 	ROM_LOAD( "epr-6696.bin", 0x00000, 0x2000, CRC(0625f48e) SHA1(bea09ccf37f38678fb53c55bd0a79557d6c81b3f) )
1276 	// empty space to unpack previous ROM
1277 	ROM_LOAD( "epr-6697.bin", 0x04000, 0x2000, CRC(f18afabe) SHA1(abd7f6c0bd0de145c423166a2f4e86ccdb12b1ce) )
1278 	// empty space to unpack previous ROM
1279 	ROM_LOAD( "epr-6690.bin", 0x08000, 0x2000, CRC(a142a11d) SHA1(209c7e0591622434ada4445f3f8789059c5f4f77) )
1280 	ROM_LOAD( "epr-6691.bin", 0x0a000, 0x2000, CRC(b640568c) SHA1(8cef1387c469abec8b488621a94cc9575d6c5fcc) )
1281 	ROM_LOAD( "epr-6692.bin", 0x0c000, 0x2000, CRC(b91d8172) SHA1(8d8f6ea78ebf652f295ce96abf19e628fe777d07) )
1282 	ROM_LOAD( "epr-6693.bin", 0x0e000, 0x2000, CRC(874e3acc) SHA1(29438f196811fc2c8f54b6c47f1c175e4797dd4c) )
1283 
1284 	ROM_REGION( 0x0700, "proms", 0 )
1285 	ROM_LOAD( "pr6627.bpr",  0x0000, 0x100, CRC(5ec5480d) SHA1(f966a277539a5d257f32692cdd92ce44b08599e8) ) // R
1286 	ROM_LOAD( "pr6629.bpr",  0x0100, 0x100, CRC(29c7a393) SHA1(67cced39c0a80655c420aad668dfe836c1d7c643) ) // G
1287 	ROM_LOAD( "pr6628.bpr",  0x0200, 0x100, CRC(8af247a4) SHA1(01702fbce53dd4875e4825f0487e7aed9cf212fa) ) // B
1288 	ROM_LOAD( "pr6630a.bpr", 0x0300, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) ) // CLUT(same PROM x 4)
1289 	ROM_LOAD( "pr6630b.bpr", 0x0400, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
1290 	ROM_LOAD( "pr6630c.bpr", 0x0500, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
1291 	ROM_LOAD( "pr6630d.bpr", 0x0600, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
1292 
1293 	ROM_REGION( 0x0020, "prom", 0 )
1294 	ROM_LOAD( "pr.bpr",      0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1295 ROM_END
1296 
1297 /******************************************************************************/
1298 /*
1299 Gekisou (JPN Ver.)
1300 (c)1985 Eastern
1301 
1302 68K55-2
1303 CPU:MC68000P8
1304 OSC:12.000MHz
1305 
1306 SOUND BOARD NO.59 MC 07
1307 CPU  :TMP8085AP
1308 Sound:AY-3-8910A,OKI M5232,D8155HC
1309 OSC  :6.144MHz
1310 */
1311 ROM_START( gekisou )
1312 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
1313 	ROM_LOAD16_BYTE( "1.15b", 0x00001, 0x4000, CRC(945fd546) SHA1(6045dbf11272fcec8320aacb2852d4223d0943a0) )
1314 	ROM_LOAD16_BYTE( "2.15d", 0x00000, 0x4000, CRC(3c057150) SHA1(2b1ad7993addfd1c0eee99dfe5bb3476cd387f6a) )
1315 	ROM_LOAD16_BYTE( "3.14b", 0x08001, 0x4000, CRC(7c1cf4d0) SHA1(a122d3a51d205123e04c694912809e0bb31155d5) )
1316 	ROM_LOAD16_BYTE( "4.14d", 0x08000, 0x4000, CRC(c7282391) SHA1(144a34d74bb1e71e2f799913ab04927d00faec87) )
1317 
1318 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1319 	ROM_LOAD( "v1.1l", 0x00000, 0x4000, CRC(dc6af437) SHA1(77112fec51343d8e73765b2a342a888612813c3b) )
1320 	ROM_LOAD( "v2.1h", 0x04000, 0x4000, CRC(cb12582e) SHA1(ef378232e2744540cc4c9187cfb36d780dadc962) )
1321 	ROM_LOAD( "v3.1e", 0x08000, 0x4000, CRC(0ab5e777) SHA1(9177c42418f022a65d73c3302873b894c5a137a4) )
1322 
1323 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1324 	ROM_LOAD( "alpha-8505_44801c57.bin", 0x0000, 0x2000, BAD_DUMP CRC(1f5a1405) SHA1(23f2e23db402f88037a5cbdab2935ec1b9a05298) ) // 8304 is not dumped yet, using 8505 instead
1325 
1326 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1327 	ROM_LOAD( "0.5c",  0x00000, 0x1000, CRC(7e8bf4d1) SHA1(8abb82be006e8d1df449a5f83d59637314405119) )
1328 
1329 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1330 	ROM_LOAD( "7.18r",   0x00000, 0x2000, CRC(a1918b6c) SHA1(6ffa4c845d23d311b59cc19411a68a782618b3fd) )
1331 	// empty space to unpack previous ROM
1332 	ROM_CONTINUE(        0x04000, 0x2000)
1333 	// empty space to unpack previous ROM
1334 	ROM_LOAD( "5.16r",   0x08000, 0x2000, CRC(88ef550a) SHA1(b50e7b8257d1bb6923d289e7af885c14d089b394) )
1335 	ROM_CONTINUE(        0x0c000, 0x2000)
1336 	ROM_LOAD( "6.15r",   0x0a000, 0x2000, CRC(473e3fbf) SHA1(5039387b3627c19f592d630ba7bd010a3881adc5) )
1337 	ROM_CONTINUE(        0x0e000, 0x2000)
1338 
1339 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1340 	ROM_LOAD( "10.9r",   0x00000, 0x2000, CRC(11d89c73) SHA1(8753f635d321c8e9b93b0ab767cf44aca1db7a0a) )
1341 	// empty space to unpack previous ROM
1342 	ROM_CONTINUE(        0x04000, 0x2000)
1343 	// empty space to unpack previous ROM
1344 	ROM_LOAD( "8.8r",    0x08000, 0x2000, CRC(2e0c392c) SHA1(48542a24a34e3d5d00af418b29a2ee15557efc99) )
1345 	ROM_CONTINUE(        0x0c000, 0x2000)
1346 	ROM_LOAD( "9.6r",    0x0a000, 0x2000, CRC(56a03b08) SHA1(d90b246890fedfc437de85be8bcc6b60ff068be1) )
1347 	ROM_CONTINUE(        0x0e000, 0x2000)
1348 
1349 	ROM_REGION( 0x0700, "proms", 0 )
1350 	ROM_LOAD( "1b.bpr",  0x0000, 0x100, CRC(11a1c0aa) SHA1(d007d31f68bf802c89422ea2393747ac8de94d70) ) // R
1351 	ROM_LOAD( "4b.bpr",  0x0100, 0x100, CRC(c7ebe52c) SHA1(19d2ee70d67fd5e1c57f66d030ec9a5b6af5a49e) ) // G
1352 	ROM_LOAD( "2b.bpr",  0x0200, 0x100, CRC(4f5d4141) SHA1(965221c6af4a868760e6d168b55e037fc5f9fa52) ) // B
1353 	ROM_LOAD( "2n.bpr",  0x0300, 0x100, CRC(c7333120) SHA1(ad590e8ece3dcf56b285c4a080f4ee8bb4c9d77c) ) // CLUT(same PROM x 4)
1354 	ROM_LOAD( "3n.bpr",  0x0400, 0x100, CRC(c7333120) SHA1(ad590e8ece3dcf56b285c4a080f4ee8bb4c9d77c) )
1355 	ROM_LOAD( "4n.bpr",  0x0500, 0x100, CRC(c7333120) SHA1(ad590e8ece3dcf56b285c4a080f4ee8bb4c9d77c) )
1356 	ROM_LOAD( "5n.bpr",  0x0600, 0x100, CRC(c7333120) SHA1(ad590e8ece3dcf56b285c4a080f4ee8bb4c9d77c) )
1357 
1358 	ROM_REGION( 0x0020, "prom", 0 )
1359 	ROM_LOAD( "3h.bpr",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1360 ROM_END
1361 
1362 /******************************************************************************/
1363 // Splendor Blast ROM Map
1364 
1365 /*
1366 Splendor Blast (JPN Ver.)
1367 (c)1985 Alpha denshi
1368 
1369 ALPHA 68K24
1370 CPU  :HD68000-8
1371 OSC  :24.000MHz
1372 Other:ALPHA-8303
1373 
1374 SOUND BOARD NO.59 MC 07
1375 CPU  :TMP8085AP
1376 Sound:AY-3-8910A,OKI M5232,M5L8155P
1377 OSC  :6.144MHz
1378 */
1379 ROM_START( splndrbt )
1380 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs(16k x 4)
1381 	ROM_LOAD16_BYTE( "1.16a", 0x00001, 0x4000, CRC(4bf4b047) SHA1(ef0efffa2f49905e17e4ed3a03cac419793b26d1) )
1382 	ROM_LOAD16_BYTE( "2.16c", 0x00000, 0x4000, CRC(27acb656) SHA1(5f2f8d05f2f1c6c92c8364e9e6831ca525cbacd0) )
1383 	ROM_LOAD16_BYTE( "3.15a", 0x08001, 0x4000, CRC(5b182189) SHA1(50ebb1fddcb6838442e8a20261f200f3386ce8a8) )
1384 	ROM_LOAD16_BYTE( "4.15c", 0x08000, 0x4000, CRC(cde99613) SHA1(250b59f75eee84442da3cc7c599d1e16f0294df9) )
1385 
1386 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1387 	ROM_LOAD( "1_v.1m", 0x00000, 0x2000, CRC(1b3a6e42) SHA1(41a4f0503c939ec0a739c8bc6bf3c8fc354912ee) )
1388 	ROM_LOAD( "2_v.1l", 0x02000, 0x2000, CRC(2a618c72) SHA1(6ad459d94352c317150ae6344d4db9bb613938dd) )
1389 	ROM_LOAD( "3_v.1k", 0x04000, 0x2000, CRC(bbee5346) SHA1(753cb784b04f081fa1f8590dc28056d9918f313b) )
1390 	ROM_LOAD( "4_v.1h", 0x06000, 0x2000, CRC(10f45af4) SHA1(00fa599bad8bf3ba6deee54165f381403096e8f9) )
1391 
1392 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1393 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1394 
1395 	ROM_REGION( 0x2000, "gfx1", 0 ) // chars
1396 	ROM_LOAD( "10.8c",  0x00000, 0x2000, CRC(501887d4) SHA1(3cf4401d6fddff1500066219a71ac3b30ecbdd28) )
1397 
1398 	ROM_REGION( 0x8000, "gfx2", 0 ) // tiles
1399 	ROM_LOAD( "8.14m",  0x00000, 0x4000, CRC(c2c86621) SHA1(a715c70ace98502f2c0d4a81539cd79d19e9b6c4) )
1400 	ROM_LOAD( "9.12m",  0x04000, 0x4000, CRC(4f7da6ff) SHA1(0516271df4a36d6ea38d1b8a5e471e1d2a79e8c1) )
1401 
1402 	ROM_REGION( 0x10000, "gfx3", 0 )    // sprites
1403 	ROM_LOAD( "6.18n", 0x00000, 0x2000, CRC(aa72237f) SHA1(0a26746a6c448a7fb853ef708e2bdeb76edd99cf) )
1404 	// empty space to unpack previous ROM
1405 	ROM_CONTINUE(      0x04000, 0x2000 )
1406 	// empty space to unpack previous ROM
1407 	ROM_LOAD( "5.18m", 0x08000, 0x4000, CRC(5f618b39) SHA1(2891067e71b8e1183ee5741487faa1561316cade) )
1408 	ROM_LOAD( "7.17m", 0x0c000, 0x4000, CRC(abdd8483) SHA1(df8c8338c24fa487c49b01ce26db7eb28c8c6b85) )
1409 
1410 	ROM_REGION( 0x0500, "proms", 0 )
1411 	ROM_LOAD( "r.3a",   0x0000, 0x100, CRC(ca1f08ce) SHA1(e46e2850d3ee3c8cbb23c10645f07d406c7ff50b) ) // R
1412 	ROM_LOAD( "g.1a",   0x0100, 0x100, CRC(66f89177) SHA1(caa51c1bf071764d5089487342794cbf023136c0) ) // G
1413 	ROM_LOAD( "b.2a",   0x0200, 0x100, CRC(d14318bc) SHA1(e219963b3e40eb246e608fbe10daa85dbb4c1226) ) // B
1414 	ROM_LOAD( "2.8k",   0x0300, 0x100, CRC(e1770ad3) SHA1(e408b175b8fff934e07b0ded1ee21d7f91a9523d) ) // CLUT bg
1415 	ROM_LOAD( "s5.15p", 0x0400, 0x100, CRC(7f6cf709) SHA1(5938faf937b682dcc83e53444cbf5e0bd7741363) ) // CLUT sprites
1416 
1417 	ROM_REGION( 0x0020, "prom", 0 )
1418 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1419 
1420 	ROM_REGION( 0x2100, "user1", 0 ) // bg scaling
1421 	ROM_LOAD( "0.8h",   0x0000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) ) // x
1422 	ROM_LOAD( "1.9j",   0x2000, 0x0100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // y
1423 
1424 	ROM_REGION( 0x0200, "user2", 0 ) // sprite scaling
1425 	ROM_LOAD( "4.7m",   0x0000, 0x0100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // x
1426 	ROM_LOAD( "s3.8l",  0x0100, 0x0100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // y
1427 ROM_END
1428 
1429 ROM_START( splndrbta )
1430 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs(16k x 4) - Red band on program rom labels
1431 	ROM_LOAD16_BYTE( "1red.16b", 0x00001, 0x4000, CRC(3e342030) SHA1(82529e12378c0036097a654fe059f82d69fac8e6) )
1432 	ROM_LOAD16_BYTE( "2red.16c", 0x00000, 0x4000, CRC(757e270b) SHA1(be615829fd21609ded21888e7a75456cbeecb603) )
1433 	ROM_LOAD16_BYTE( "3red.15b", 0x08001, 0x4000, CRC(788deb02) SHA1(a4e79621bf4cda50dfb8dfab7f70dc4021065794) )
1434 	ROM_LOAD16_BYTE( "4red.15c", 0x08000, 0x4000, CRC(d02a5606) SHA1(6bb2e5d95ea711452dd40218bd90488d70f82006) )
1435 
1436 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1437 	ROM_LOAD( "8v.1l",  0x00000, 0x4000, CRC(71b2ec29) SHA1(89c630c5bf9c4752b01006183d1419fe6a458f5c) )
1438 	ROM_LOAD( "9v.1h",  0x04000, 0x4000, CRC(e95abcb5) SHA1(1680875fc16d1a4e1054ccdabdf6fd06d434a163) )
1439 
1440 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1441 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1442 
1443 	ROM_REGION( 0x2000, "gfx1", 0 ) // chars
1444 	ROM_LOAD( "10.8c",  0x00000, 0x2000, CRC(501887d4) SHA1(3cf4401d6fddff1500066219a71ac3b30ecbdd28) )
1445 
1446 	ROM_REGION( 0x8000, "gfx2", 0 ) // tiles
1447 	ROM_LOAD( "8.14m",  0x00000, 0x4000, CRC(c2c86621) SHA1(a715c70ace98502f2c0d4a81539cd79d19e9b6c4) )
1448 	ROM_LOAD( "9.12m",  0x04000, 0x4000, CRC(4f7da6ff) SHA1(0516271df4a36d6ea38d1b8a5e471e1d2a79e8c1) )
1449 
1450 	ROM_REGION( 0x10000, "gfx3", 0 )    // sprites
1451 	ROM_LOAD( "6.18n", 0x00000, 0x2000, CRC(aa72237f) SHA1(0a26746a6c448a7fb853ef708e2bdeb76edd99cf) )
1452 	// empty space to unpack previous ROM
1453 	ROM_CONTINUE(      0x04000, 0x2000 )
1454 	// empty space to unpack previous ROM
1455 	ROM_LOAD( "5.18m", 0x08000, 0x4000, CRC(5f618b39) SHA1(2891067e71b8e1183ee5741487faa1561316cade) )
1456 	ROM_LOAD( "7.17m", 0x0c000, 0x4000, CRC(abdd8483) SHA1(df8c8338c24fa487c49b01ce26db7eb28c8c6b85) )
1457 
1458 	ROM_REGION( 0x0500, "proms", 0 )
1459 	ROM_LOAD( "r.3a",   0x0000, 0x100, CRC(ca1f08ce) SHA1(e46e2850d3ee3c8cbb23c10645f07d406c7ff50b) ) // R
1460 	ROM_LOAD( "g.1a",   0x0100, 0x100, CRC(66f89177) SHA1(caa51c1bf071764d5089487342794cbf023136c0) ) // G
1461 	ROM_LOAD( "b.2a",   0x0200, 0x100, CRC(d14318bc) SHA1(e219963b3e40eb246e608fbe10daa85dbb4c1226) ) // B
1462 	ROM_LOAD( "2.8k",   0x0300, 0x100, CRC(e1770ad3) SHA1(e408b175b8fff934e07b0ded1ee21d7f91a9523d) ) // CLUT bg
1463 	ROM_LOAD( "s5.15p", 0x0400, 0x100, CRC(7f6cf709) SHA1(5938faf937b682dcc83e53444cbf5e0bd7741363) ) // CLUT sprites
1464 
1465 	ROM_REGION( 0x0020, "prom", 0 )
1466 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1467 
1468 	ROM_REGION( 0x2100, "user1", 0 ) // bg scaling
1469 	ROM_LOAD( "0.8h",   0x0000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) ) // x
1470 	ROM_LOAD( "1.9j",   0x2000, 0x0100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // y
1471 
1472 	ROM_REGION( 0x0200, "user2", 0 ) // sprite scaling
1473 	ROM_LOAD( "4.7m",   0x0000, 0x0100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // x
1474 	ROM_LOAD( "s3.8l",  0x0100, 0x0100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // y
1475 ROM_END
1476 
1477 ROM_START( splndrbtb )
1478 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs(16k x 4) - Blue band on program rom labels
1479 	ROM_LOAD16_BYTE( "1blue.16a", 0x00001, 0x4000, CRC(f8507502) SHA1(35a915db9ef90e45aac8ce9e349c319e99a36810) )
1480 	ROM_LOAD16_BYTE( "2blue.16c", 0x00000, 0x4000, CRC(8969bd04) SHA1(6cd8a0ab58ce0e4a43cf5ca4fcd10b30962a13b3) )
1481 	ROM_LOAD16_BYTE( "3blue.15a", 0x08001, 0x4000, CRC(bce26d4f) SHA1(81a295e665af9e46ff28618f2f77f31f41f14a4f) )
1482 	ROM_LOAD16_BYTE( "4blue.15c", 0x08000, 0x4000, CRC(5715ec1b) SHA1(fddf45a4e1b2fd319b0a47376c11ce2a41c40eb2) )
1483 
1484 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1485 	ROM_LOAD( "1_v.1m", 0x00000, 0x2000, CRC(1b3a6e42) SHA1(41a4f0503c939ec0a739c8bc6bf3c8fc354912ee) )
1486 	ROM_LOAD( "2_v.1l", 0x02000, 0x2000, CRC(2a618c72) SHA1(6ad459d94352c317150ae6344d4db9bb613938dd) )
1487 	ROM_LOAD( "3_v.1k", 0x04000, 0x2000, CRC(bbee5346) SHA1(753cb784b04f081fa1f8590dc28056d9918f313b) )
1488 	ROM_LOAD( "4_v.1h", 0x06000, 0x2000, CRC(10f45af4) SHA1(00fa599bad8bf3ba6deee54165f381403096e8f9) )
1489 
1490 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1491 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1492 
1493 	ROM_REGION( 0x2000, "gfx1", 0 ) // chars
1494 	ROM_LOAD( "10.8c",  0x00000, 0x2000, CRC(501887d4) SHA1(3cf4401d6fddff1500066219a71ac3b30ecbdd28) )
1495 
1496 	ROM_REGION( 0x8000, "gfx2", 0 ) // tiles
1497 	ROM_LOAD( "8.14m",  0x00000, 0x4000, CRC(c2c86621) SHA1(a715c70ace98502f2c0d4a81539cd79d19e9b6c4) )
1498 	ROM_LOAD( "9.12m",  0x04000, 0x4000, CRC(4f7da6ff) SHA1(0516271df4a36d6ea38d1b8a5e471e1d2a79e8c1) )
1499 
1500 	ROM_REGION( 0x10000, "gfx3", 0 )    // sprites
1501 	ROM_LOAD( "6.18n", 0x00000, 0x2000, CRC(aa72237f) SHA1(0a26746a6c448a7fb853ef708e2bdeb76edd99cf) )
1502 	// empty space to unpack previous ROM
1503 	ROM_CONTINUE(      0x04000, 0x2000 )
1504 	// empty space to unpack previous ROM
1505 	ROM_LOAD( "5.18m", 0x08000, 0x4000, CRC(5f618b39) SHA1(2891067e71b8e1183ee5741487faa1561316cade) )
1506 	ROM_LOAD( "7.17m", 0x0c000, 0x4000, CRC(abdd8483) SHA1(df8c8338c24fa487c49b01ce26db7eb28c8c6b85) )
1507 
1508 	ROM_REGION( 0x0500, "proms", 0 )
1509 	ROM_LOAD( "r.3a",   0x0000, 0x100, CRC(ca1f08ce) SHA1(e46e2850d3ee3c8cbb23c10645f07d406c7ff50b) ) // R
1510 	ROM_LOAD( "g.1a",   0x0100, 0x100, CRC(66f89177) SHA1(caa51c1bf071764d5089487342794cbf023136c0) ) // G
1511 	ROM_LOAD( "b.2a",   0x0200, 0x100, CRC(d14318bc) SHA1(e219963b3e40eb246e608fbe10daa85dbb4c1226) ) // B
1512 	ROM_LOAD( "2.8k",   0x0300, 0x100, CRC(e1770ad3) SHA1(e408b175b8fff934e07b0ded1ee21d7f91a9523d) ) // CLUT bg
1513 	ROM_LOAD( "s5.15p", 0x0400, 0x100, CRC(7f6cf709) SHA1(5938faf937b682dcc83e53444cbf5e0bd7741363) ) // CLUT sprites
1514 
1515 	ROM_REGION( 0x0020, "prom", 0 )
1516 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1517 
1518 	ROM_REGION( 0x2100, "user1", 0 ) // bg scaling
1519 	ROM_LOAD( "0.8h",   0x0000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) ) // x
1520 	ROM_LOAD( "1.9j",   0x2000, 0x0100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // y
1521 
1522 	ROM_REGION( 0x0200, "user2", 0 ) // sprite scaling
1523 	ROM_LOAD( "4.7m",   0x0000, 0x0100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // x
1524 	ROM_LOAD( "s3.8l",  0x0100, 0x0100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // y
1525 ROM_END
1526 
1527 ROM_START( splndrbt2 )
1528 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs(16k x 4)
1529 	ROM_LOAD16_BYTE( "1.a16", 0x00001, 0x4000, CRC(0fd3121d) SHA1(f9767af477442a09a70c04e4d427914557fddcd9) )
1530 	ROM_LOAD16_BYTE( "2.c16", 0x00000, 0x4000, CRC(227d8a1b) SHA1(8ce976e6d3dce1236a784e48f4829f42c801249c) )
1531 	ROM_LOAD16_BYTE( "3.a15", 0x08001, 0x4000, CRC(936f7cc9) SHA1(ef1601097659700f4a4b53fb57cd6d73efa03e0d) )
1532 	ROM_LOAD16_BYTE( "4.c15", 0x08000, 0x4000, CRC(3ff7c7b5) SHA1(4997efd4427f09a5427f752d0147b648fbdce252) )
1533 
1534 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1535 	ROM_LOAD( "s1.m1",  0x00000, 0x02000, CRC(045eac1b) SHA1(49ecc73b999719e470b2ef0afee6a84df620e0d9) )
1536 	ROM_LOAD( "s2.l1",  0x02000, 0x02000, CRC(65a3d094) SHA1(f6415eb323478a2d38acd4507404d9530fac77c4) )
1537 	ROM_LOAD( "s3.k1",  0x04000, 0x02000, CRC(980d38be) SHA1(c07f9851cfb6352781568f333d931b4ca08fd888) )
1538 	ROM_LOAD( "s4.h1",  0x06000, 0x02000, CRC(10f45af4) SHA1(00fa599bad8bf3ba6deee54165f381403096e8f9) )
1539 	ROM_LOAD( "s5.f1",  0x08000, 0x02000, CRC(0d76cac0) SHA1(15d0d5860035f06020589115b40d347c06d7ecbe) )
1540 	ROM_LOAD( "s6.e1",  0x0a000, 0x02000, CRC(bc65d469) SHA1(45145974d3ae7040fd00c776418702166c06b0dc) )
1541 
1542 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1543 	ROM_LOAD( "alpha-8303_44801b42.bin", 0x0000, 0x2000, CRC(66adcb37) SHA1(e1c72ecb161129dcbddc0b16dd90e716d0c79311) )
1544 
1545 	ROM_REGION( 0x2000, "gfx1", 0 ) // chars
1546 	ROM_LOAD( "5.b8",   0x00000, 0x02000, CRC(77a5dc55) SHA1(49f19e8816629b661c135b0db6f6e087eb2690ff) )
1547 
1548 	ROM_REGION( 0x8000, "gfx2", 0 ) // tiles
1549 	ROM_LOAD( "8.m13",  0x00000, 0x4000, CRC(c2c86621) SHA1(a715c70ace98502f2c0d4a81539cd79d19e9b6c4) )
1550 	ROM_LOAD( "9.m12",  0x04000, 0x4000, CRC(4f7da6ff) SHA1(0516271df4a36d6ea38d1b8a5e471e1d2a79e8c1) )
1551 
1552 	ROM_REGION( 0x10000, "gfx3", 0 )    // sprites
1553 	ROM_LOAD( "8.n18",  0x00000, 0x4000, CRC(15b8277b) SHA1(36d80e9c1200f587cafdf43fafafe844d56296aa) )
1554 	// empty space to unpack previous ROM
1555 	// ROM_CONTINUE(       0x04000, 0x2000 )
1556 	// empty space to unpack previous ROM
1557 	ROM_LOAD( "5.m18",  0x08000, 0x4000, CRC(5f618b39) SHA1(2891067e71b8e1183ee5741487faa1561316cade) )
1558 	ROM_LOAD( "7.m17",  0x0c000, 0x4000, CRC(abdd8483) SHA1(df8c8338c24fa487c49b01ce26db7eb28c8c6b85) )
1559 
1560 	ROM_REGION( 0x0500, "proms", 0 )
1561 	ROM_LOAD( "r.3a",   0x0000, 0x100, CRC(ca1f08ce) SHA1(e46e2850d3ee3c8cbb23c10645f07d406c7ff50b) ) // R
1562 	ROM_LOAD( "g.1a",   0x0100, 0x100, CRC(66f89177) SHA1(caa51c1bf071764d5089487342794cbf023136c0) ) // G
1563 	ROM_LOAD( "b.2a",   0x0200, 0x100, CRC(d14318bc) SHA1(e219963b3e40eb246e608fbe10daa85dbb4c1226) ) // B
1564 	ROM_LOAD( "2.8k",   0x0300, 0x100, CRC(e1770ad3) SHA1(e408b175b8fff934e07b0ded1ee21d7f91a9523d) ) // CLUT bg
1565 	ROM_LOAD( "s5.15p", 0x0400, 0x100, CRC(7f6cf709) SHA1(5938faf937b682dcc83e53444cbf5e0bd7741363) ) // CLUT sprites
1566 
1567 	ROM_REGION( 0x0020, "prom", 0 )
1568 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1569 
1570 	ROM_REGION( 0x2100, "user1", 0 ) // bg scaling
1571 	ROM_LOAD( "0.h7",   0x0000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) ) // x
1572 	ROM_LOAD( "1.9j",   0x2000, 0x0100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // y
1573 
1574 	ROM_REGION( 0x0200, "user2", 0 ) // sprite scaling
1575 	ROM_LOAD( "4.7m",   0x0000, 0x0100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // x
1576 	ROM_LOAD( "s3.8l",  0x0100, 0x0100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // y
1577 ROM_END
1578 
1579 /******************************************************************************/
1580 // High Voltage ROM Map
1581 
1582 /*
1583 High Voltage (JPN Ver.)
1584 (c)1985 Alpha denshi
1585 
1586 ALPHA 68K24
1587 CPU  :HD68000-8
1588 OSC  :24.000MHz
1589 Other:ALPHA-8304
1590 
1591 SOUND BOARD NO.59 MC 07
1592 CPU  :TMP8085AP
1593 Sound:AY-3-8910A,OKI M5232,D8155HC
1594 OSC  :6.144MHz
1595 */
1596 ROM_START( hvoltage )
1597 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs(16k x 4)
1598 	ROM_LOAD16_BYTE( "1.16a", 0x00001, 0x4000, CRC(82606e3b) SHA1(25c3172928d8f1eda2c4c757d505fdfd91f21ea1) )
1599 	ROM_LOAD16_BYTE( "2.16c", 0x00000, 0x4000, CRC(1d74fef2) SHA1(3df3dc98a78a137da8c5cddf6a8519b477824fb9) )
1600 	ROM_LOAD16_BYTE( "3.15a", 0x08001, 0x4000, CRC(677abe14) SHA1(78b343122f9ad187c823bf49e8f001288c762586) )
1601 	ROM_LOAD16_BYTE( "4.15c", 0x08000, 0x4000, CRC(8aab5a20) SHA1(fb90817173ad69c0e00d03814b4e10b18955c07e) )
1602 
1603 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 ) // 8085A ROMs
1604 	ROM_LOAD( "5_v.1l", 0x00000, 0x4000, CRC(ed9bb6ea) SHA1(73b0251b86835368ec2a4e98a5f61e28e58fd234) )
1605 	ROM_LOAD( "6_v.1h", 0x04000, 0x4000, CRC(e9542211) SHA1(482f2c90e842fe5cc31cc6a39025adf65ba47ce9) )
1606 	ROM_LOAD( "7_v.1e", 0x08000, 0x4000, CRC(44d38554) SHA1(6765971376eafa218fda1accb1e173a7c1850cc8) )
1607 
1608 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1609 	ROM_LOAD( "alpha-8505_44801c57.bin", 0x0000, 0x2000, BAD_DUMP CRC(1f5a1405) SHA1(23f2e23db402f88037a5cbdab2935ec1b9a05298) ) // 8304 is not dumped yet, using 8505 instead
1610 
1611 	ROM_REGION( 0x2000, "gfx1", 0 ) // chars
1612 	ROM_LOAD( "5.8c",   0x00000, 0x2000, CRC(656d53cd) SHA1(9971ed7e7da0e8bf46e97e8f75a2c2201b33fc2f) )
1613 
1614 	ROM_REGION( 0x8000, "gfx2", 0 ) // tiles
1615 	ROM_LOAD( "9.14m",  0x00000, 0x4000, CRC(506a0989) SHA1(0e7f2c9bab5e83f06a8148f69d8d0cbfe7d55c5e) )
1616 	ROM_LOAD( "10.12m", 0x04000, 0x4000, CRC(98f87d4f) SHA1(94a7a14b0905597993595b347102436d97fc1dc9) )
1617 
1618 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1619 	ROM_LOAD( "8.18n", 0x00000, 0x2000, CRC(725acae5) SHA1(ba54598a087f8bb5fa7182b0e85d0e038003e622) )
1620 	// empty space to unpack previous ROM
1621 	ROM_CONTINUE(      0x04000, 0x2000 )
1622 	// empty space to unpack previous ROM
1623 	ROM_LOAD( "6.18m", 0x08000, 0x4000, CRC(9baf2c68) SHA1(208e5ac8eb157d4bf949ab4330827da032a04235) )
1624 	ROM_LOAD( "7.17m", 0x0c000, 0x4000, CRC(12d25fb1) SHA1(99f5d68bd6d6ee5f2acb7685aceacfb0894c4961) )
1625 
1626 	ROM_REGION( 0x0500, "proms", 0 )
1627 	ROM_LOAD( "r.3a",   0x0000, 0x100, CRC(98eccbf6) SHA1(a55755e8388d3edf3020b1129a638fe1e99362b6) ) // R
1628 	ROM_LOAD( "g.1a",   0x0100, 0x100, CRC(fab2ed23) SHA1(6f63b6a3196dda76eb9a885b17d886a14365f922) ) // G
1629 	ROM_LOAD( "b.2a",   0x0200, 0x100, CRC(7274961b) SHA1(d13070060e216d633675a528cf0dc3de94c95ffb) ) // B
1630 	ROM_LOAD( "2.8k",   0x0300, 0x100, CRC(685f4e44) SHA1(110cb8f5a37f22ce9d391bd0cd46dcbb8fcf66b8) ) // CLUT bg
1631 	ROM_LOAD( "s5.15p", 0x0400, 0x100, CRC(b09bcc73) SHA1(f8139feaa9563324b69aeac5c17beccfdbfa0864) ) // CLUT sprites
1632 
1633 	ROM_REGION( 0x0020, "prom", 0 )
1634 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
1635 
1636 	ROM_REGION( 0x2100, "user1", 0 ) // bg scaling
1637 	ROM_LOAD( "0.8h",   0x0000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) ) // x
1638 	ROM_LOAD( "1.9j",   0x2000, 0x0100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // y
1639 
1640 	ROM_REGION( 0x0200, "user2", 0 ) // sprite scaling
1641 	ROM_LOAD( "4.7m",   0x0000, 0x0100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // x
1642 	ROM_LOAD( "3.8l",   0x0100, 0x0100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // y
1643 ROM_END
1644 
1645 /*
1646 Bingo Time
1647 (c)1986 CLS
1648 
1649 68K55-2
1650 CPU:MC68000P8
1651 OSC:12.000MHz
1652 
1653 SOUND BOARD NO.60 MC 01
1654 CPU  :Z80A
1655 Sound:AY-3-8910A (unpopulated: another 8910 and a YM2203)
1656 OSC  :6.000MHz
1657 */
1658 
1659 ROM_START( bngotime )
1660 	ROM_REGION( 0x10000, "maincpu", 0 ) // 68000 ROMs
1661 	ROM_LOAD16_BYTE( "1.b15", 0x00001, 0x4000, CRC(34a27f5c) SHA1(d30ac37d8665ccc92f6a10f6b0f55783096df687) )
1662 	ROM_LOAD16_BYTE( "0.d15", 0x00000, 0x4000, CRC(21c738ee) SHA1(8c14265fe1ea44945555b37cb13ff6b72c747053) )
1663 	ROM_LOAD16_BYTE( "3.b14", 0x08001, 0x4000, CRC(e22555ab) SHA1(5c533b0b99ef600e2bc42c21b79a1a6914b1fc1e) )
1664 	ROM_LOAD16_BYTE( "2.d14", 0x08000, 0x4000, CRC(0f328bde) SHA1(30a98924600fc2beec8227100adfa6dfbbce5d67) )
1665 
1666 	ROM_REGION( 0x10000, "sound_board:audiocpu", 0 )
1667 	ROM_LOAD( "11.sub", 0x00000, 0x2000, CRC(9b063c07) SHA1(c9fe7fe10bd204cb82066db7b576072df7787046) )
1668 
1669 	ROM_REGION( 0x2000, "alpha_8201:mcu", 0 )
1670 	ROM_LOAD( "alpha-8505_44801c57.bin", 0x0000, 0x2000, CRC(1f5a1405) SHA1(23f2e23db402f88037a5cbdab2935ec1b9a05298) )
1671 
1672 	ROM_REGION( 0x1000, "gfx1", 0 ) // chars
1673 	ROM_LOAD( "9.d5",  0x00000, 0x1000, CRC(3c356e82) SHA1(55a58f1335206a0996caf8967b4ee962d2373db4) )
1674 
1675 	ROM_REGION( 0x10000, "gfx2", 0 ) // tiles
1676 	ROM_LOAD( "6.r18",   0x00000, 0x2000, CRC(e85790f2) SHA1(473d5074e506cfe9ccc8d2a86ee64328b6cefa5f) )
1677 	// empty space to unpack previous ROM
1678 	ROM_CONTINUE(        0x04000, 0x2000)
1679 	// empty space to unpack previous ROM
1680 	ROM_LOAD( "4.r16",   0x08000, 0x2000, CRC(58479aaf) SHA1(916f6b193da7ed223831ca30d3ec8c57f5f1fa7f) )
1681 	ROM_CONTINUE(        0x0c000, 0x2000)
1682 	ROM_LOAD( "5.r15",   0x0a000, 0x2000, CRC(561dbbf6) SHA1(7a294b744ed96962e2d69bfd5d92b690c16b6371) )
1683 	ROM_CONTINUE(        0x0e000, 0x2000)
1684 
1685 	ROM_REGION( 0x10000, "gfx3", 0 ) // sprites
1686 	ROM_LOAD( "8.r9",   0x00000, 0x2000, CRC(067fd3a1) SHA1(8aeeb5c9a79db4e624de6203ce3810d715cbb35c) )
1687 	// empty space to unpack previous ROM
1688 	ROM_LOAD( "7.r8",    0x08000, 0x2000, CRC(4f50006a) SHA1(2e501181678b904577f457129e6c5e00542e3996) )
1689 
1690 	ROM_REGION( 0x0700, "proms", 0 )
1691 	ROM_LOAD( "82s129_br.b1",  0x0000, 0x100, CRC(fd98b98a) SHA1(754797272338adf36c951fa4cfc40dbcd3429c18) ) // R
1692 	ROM_LOAD( "82s129_bg.b4",  0x0100, 0x100, CRC(68d61fca) SHA1(4143587c3e68157e488093efabb7d182cdece111) ) // G
1693 	ROM_LOAD( "82s129_bb.b2",  0x0200, 0x100, CRC(839bc7a3) SHA1(54289fb75676a30640babf831edf659d84d1616d) ) // B
1694 	ROM_LOAD( "82s129_bs.n2",  0x0300, 0x100, CRC(1ecbeb37) SHA1(c4a139bc81f31b668c80c2cf150ce44b9b181e8a) ) // CLUT(same PROM x 4)
1695 	ROM_LOAD( "82s129_bs.n3",  0x0400, 0x100, CRC(1ecbeb37) SHA1(c4a139bc81f31b668c80c2cf150ce44b9b181e8a) )
1696 	ROM_LOAD( "82s129_bs.n4",  0x0500, 0x100, CRC(1ecbeb37) SHA1(c4a139bc81f31b668c80c2cf150ce44b9b181e8a) )
1697 	ROM_LOAD( "82s129_bs.n5",  0x0600, 0x100, CRC(1ecbeb37) SHA1(c4a139bc81f31b668c80c2cf150ce44b9b181e8a) )
1698 ROM_END
1699 
1700 /******************************************************************************/
1701 // Initializations
1702 
1703 void equites_state::unpack_block(const char *region, int offset, int size)
1704 {
1705 	uint8_t *rom = memregion(region)->base();
1706 
1707 	for (int i = 0; i < size; i++)
1708 	{
1709 		rom[(offset + i + size)] = (rom[(offset + i)] >> 4);
1710 		rom[(offset + i)] &= 0x0f;
1711 	}
1712 }
1713 
unpack_region(const char * region)1714 void equites_state::unpack_region(const char *region)
1715 {
1716 	unpack_block(region, 0x0000, 0x2000);
1717 	unpack_block(region, 0x4000, 0x2000);
1718 }
1719 
1720 
init_equites()1721 void equites_state::init_equites()
1722 {
1723 	unpack_region("gfx2");
1724 	unpack_region("gfx3");
1725 }
1726 
init_splndrbt()1727 void splndrbt_state::init_splndrbt()
1728 {
1729 	unpack_region("gfx3");
1730 }
1731 
1732 
1733 
1734 /******************************************************************************/
1735 
1736 // Game Entries
1737 
1738 // Equites Hardware
1739 GAME( 1984, equites,   0,        equites,  equites,  equites_state,  init_equites,  ROT90, "Alpha Denshi Co.", "Equites", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1740 GAME( 1984, equitess,  equites,  equites,  equites,  equites_state,  init_equites,  ROT90, "Alpha Denshi Co. (Sega license)", "Equites (Sega)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1741 GAME( 1984, bullfgtr,  0,        equites,  bullfgtr, equites_state,  init_equites,  ROT90, "Alpha Denshi Co.", "Bull Fighter", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1742 GAME( 1984, bullfgtrs, bullfgtr, equites,  bullfgtr, equites_state,  init_equites,  ROT90, "Alpha Denshi Co. (Sega license)", "Bull Fighter (Sega)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1743 GAME( 1985, kouyakyu,  0,        equites,  kouyakyu, equites_state,  init_equites,  ROT0,  "Alpha Denshi Co.", "The Koukou Yakyuu", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1744 GAME( 1985, gekisou,   0,        gekisou,  gekisou,  gekisou_state,  init_equites,  ROT90, "Eastern Corp.", "Gekisou (Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1745 GAME( 1986, bngotime,  0,        bngotime, bngotime, equites_state,  init_equites,  ROT90, "CLS", "Bingo Time", MACHINE_SUPPORTS_SAVE ) // emulation of the sound board is imperfect (flag is in the audio device)
1746 
1747 // Splendor Blast Hardware
1748 GAME( 1985, splndrbt,  0,        splndrbt, splndrbt, splndrbt_state, init_splndrbt, ROT0,  "Alpha Denshi Co.", "Splendor Blast (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1749 GAME( 1985, splndrbta, splndrbt, splndrbt, splndrbt, splndrbt_state, init_splndrbt, ROT0,  "Alpha Denshi Co.", "Splendor Blast (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1750 GAME( 1985, splndrbtb, splndrbt, splndrbt, splndrbt, splndrbt_state, init_splndrbt, ROT0,  "Alpha Denshi Co.", "Splendor Blast (set 3)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1751 GAME( 1985, splndrbt2, 0,        splndrbt, splndrbt, splndrbt_state, init_splndrbt, ROT0,  "Alpha Denshi Co.", "Splendor Blast II", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1752 GAME( 1985, hvoltage,  0,        splndrbt, hvoltage, splndrbt_state, init_splndrbt, ROT0,  "Alpha Denshi Co.", "High Voltage", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
1753