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