~ubuntu-branches/debian/sid/mame/sid

« back to all changes in this revision

Viewing changes to mess/src/mame/drivers/slapfght.c

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Jordi Mallach, Emmanuel Kasper
  • Date: 2011-12-19 22:56:27 UTC
  • mfrom: (0.1.2)
  • Revision ID: package-import@ubuntu.com-20111219225627-ub5oga1oys4ogqzm
Tags: 0.144-1
[ Jordi Mallach ]
* Fix syntax errors in DEP5 copyright file (lintian).
* Use a versioned copyright Format specification field.
* Update Vcs-* URLs.
* Move transitional packages to the new metapackages section, and make
  them priority extra.
* Remove references to GNU/Linux and MESS sources from copyright.
* Add build variables for s390x.
* Use .xz tarballs as it cuts 4MB for the upstream sources.
* Add nplayers.ini as a patch. Update copyright file to add CC-BY-SA-3.0.

[ Emmanuel Kasper ]
* New upstream release. Closes: #651538.
* Add Free Desktop compliant png icons of various sizes taken from
  the hydroxygen iconset
* Mess is now built from a new source package, to avoid possible source
  incompatibilities between mame and the mess overlay.
* Mame-tools are not built from the mame source package anymore, but
  from the mess source package

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 
3
 
Driver by K.Wilkins Jan 1998
4
 
 
5
 
Games supported:
6
 
  Alcon / Slap Fight
7
 
  Guardian / Get Star
8
 
  Performan
9
 
  Tiger Heli
10
 
 
11
 
 
12
 
Main CPU Memory Map
13
 
-------------------
14
 
 
15
 
$0000-$3fff    ROM (SF_S19)
16
 
$4000-$7fff    ROM (SF_S20)
17
 
$8000-$bfff    ROM (SF_SH) - This is a 32K ROM - Paged ????? How ????
18
 
 
19
 
$c000-$c7ff    2K RAM
20
 
$c800-$cfff    READ:Unknown H/W  WRITE:Unknown H/W (Upper PCB)
21
 
$d000-$d7ff    Background RAM1
22
 
$d800-$dfff    Background RAM2
23
 
$e000-$e7ff    Sprite RAM
24
 
$e800-$efff    READ:Unknown H/W  WRITE:Unknown H/W
25
 
$f000-$f7ff    READ:SF_S16       WRITE:Character RAM
26
 
$f800-$ffff    READ:Unknown H/W  WRITE:Attribute RAM
27
 
 
28
 
$c800-$cfff    Appears to be RAM BUT 1st 0x10 bytes are swapped with
29
 
               the sound CPU and visversa for READ OPERATIONS
30
 
 
31
 
 
32
 
Write I/O MAP
33
 
-------------
34
 
Addr    Address based write                     Data based write
35
 
 
36
 
$00     Reset sound CPU
37
 
$01     Clear sound CPU reset
38
 
$02
39
 
$03
40
 
$04
41
 
$05
42
 
$06     Clear/Disable Hardware interrupt
43
 
$07     Enable Hardware interrupt
44
 
$08     LOW Bank select for SF_SH               X axis character scroll reg
45
 
$09     HIGH Bank select for SF_SH              X axis pixel scroll reg
46
 
$0a
47
 
$0b
48
 
$0c     Select 1st set of sprites colors
49
 
$0d     Select 2nd set of sprites colors
50
 
$0e
51
 
$0f
52
 
 
53
 
Read I/O Map
54
 
------------
55
 
 
56
 
$00     Status regsiter - cycle 0xc7, 0x55, 0x00  (Thanks to Dave Spicer for the info)
57
 
 
58
 
 
59
 
Known Info
60
 
----------
61
 
 
62
 
2K Character RAM at write only address $f000-$f7fff looks to be organised
63
 
64x32 chars with the screen rotated thru 90 degrees clockwise. There
64
 
appears to be some kind of attribute(?) RAM above at $f800-$ffff organised
65
 
in the same manner.
66
 
 
67
 
From the look of data in the buffer it is arranged thus: 37x32 (HxW) which
68
 
would make the overall frame buffer 296x256.
69
 
 
70
 
Print function maybe around $09a2 based on info from log file.
71
 
 
72
 
$e000 looks like sprite ram, setup routines at $0008.
73
 
 
74
 
 
75
 
Sound System CPU Details
76
 
------------------------
77
 
 
78
 
Memory Map
79
 
$0000-$1fff  ROM(SF_S5)
80
 
$a080        AY-3-8910(PSG1) Register address
81
 
$a081        AY-3-8910(PSG1) Read register
82
 
$a082        AY-3-8910(PSG1) Write register
83
 
$a090        AY-3-8910(PSG2) Register address
84
 
$a091        AY-3-8910(PSG2) Read register
85
 
$a092        AY-3-8910(PSG2) Write register
86
 
$c800-$cfff  RAM(2K)
87
 
 
88
 
Strangely the RAM hardware registers seem to be overlaid at $c800
89
 
$00a6 routine here reads I/O ports and stores in, its not a straight
90
 
copy, the data is mangled before storage:
91
 
PSG1-E -> $c808
92
 
PSG1-F -> $c80b
93
 
PSG2-E -> $c809
94
 
PSG2-F -> $c80a - DIP Switch Bank 2 (Test mode is here)
95
 
 
96
 
-------------------------------GET STAR------------------------------------
97
 
        following info by Luca Elia (l.elia@tin.it)
98
 
 
99
 
                Interesting locations
100
 
                ---------------------
101
 
 
102
 
c803    credits
103
 
c806    used as a watchdog: main cpu reads then writes FF.
104
 
    If FF was read, jp 0000h. Sound cpu zeroes it.
105
 
 
106
 
c807(1p)    left    7           c809    DSW1(cpl'd)
107
 
c808(2p)    down    6           c80a    DSW2(cpl'd)
108
 
active_H    right   5           c80b    ip 1(cpl'd)
109
 
        up  4
110
 
        0   3
111
 
        0   2
112
 
        but2    1
113
 
        but1    0
114
 
 
115
 
c21d(main)  1p lives
116
 
 
117
 
Main cpu writes to unmapped ports 0e,0f,05,03 at startup.
118
 
Before playing, f1 is written to e802 and 00 to port 03.
119
 
If flip screen dsw is on, ff is written to e802 an 00 to port 02, instead.
120
 
 
121
 
                Interesting routines (main cpu)
122
 
                -------------------------------
123
 
4a3 wait A irq's
124
 
432 init the Ath sprite
125
 
569 reads a sequence from e803
126
 
607 prints the Ath string (FF terminated). String info is stored at
127
 
    65bc in the form of: attribute, dest. address, string address (5 bytes)
128
 
b73 checks lives. If zero, writes 0 to port 04 then jp 0000h.
129
 
    Before that, sets I to FF as a flag, for the startup ram check
130
 
    routine, to not alter the credit counter.
131
 
1523    put name in hi-scores?
132
 
 
133
 
-------------------------------Performan-----------------------------------
134
 
                 Interesting RAM locations (Main CPU).
135
 
                 -------------------------------------
136
 
 
137
 
$8056            Hero counter
138
 
$8057            Level counter
139
 
$8006 - $8035    High score table
140
 
$8609 - $860f    High score characters to display to screen for highest score
141
 
 
142
 
 
143
 
****************************************************************************
144
 
 
145
 
Stephh's notes (based on the games Z80 code and some tests) :
146
 
 
147
 
0) all games
148
 
 
149
 
  - All these games have a specific way of handling inputs :
150
 
      * when cabinet is set to "Upright", any player can use inputs
151
 
        from player 1 OR from player 2
152
 
      * when cabinet is set to "Cocktail", each player has its own inputs
153
 
    See Mantis bug ID 01746 attached files with Z80 explanations
154
 
 
155
 
 
156
 
1) 'tigerh' and clones
157
 
 
158
 
1a) 'tigerh'
159
 
 
160
 
  - US version
161
 
  - MCU dumped and emulated
162
 
  - Game inputs aren't working after heliport 4 (area 35);
163
 
    I can't tell at the moment if it's an ingame bug or not.
164
 
    See Mantis bug ID 01785 for more details.
165
 
 
166
 
1b) 'tigerhj'
167
 
 
168
 
  - Japan version
169
 
  - MCU dumped and emulated
170
 
  - Game inputs aren't working after heliport 4 (area 35);
171
 
    I can't tell at the moment if it's an ingame bug or not.
172
 
    See Mantis bug ID 01785 for more details.
173
 
 
174
 
1c) 'tigerhb1'
175
 
 
176
 
  - Bootleg based on 'tigerhj'
177
 
  - I can't tell if a specific MCU is required for this game :
178
 
      * MCU status doesn't seem to be required
179
 
        (see nop instructions at 0x10da, 0x10db, 0x10e5 and 0x10e6)
180
 
      * there is patched code at 0x0f9c which is called instead of
181
 
        standard call to 0x10cc, and there is no call to 0x0f88
182
 
      * there are writes to unknown ports 0x0e and 0x0f
183
 
      * hardware test is still computed at 0x109d but there is
184
 
        no delay to wait for correct value (0x83) to be returned
185
 
        (thus the need of specific read/write handlers)
186
 
  - Game inputs aren't working after heliport 4 (area 35);
187
 
    I can't tell at the moment if it's an ingame bug or not.
188
 
    See Mantis bug ID 01785 for more details.
189
 
 
190
 
1d) 'tigerhb2'
191
 
 
192
 
  - Bootleg based on 'tigerhj'
193
 
  - MCU reads/writes are patched.as well as ROM check
194
 
  - Game inputs are still working after heliport 4 (area 35);
195
 
    This is the ONLY set with this behaviour !
196
 
    See Mantis bug ID 01785 for more details.
197
 
 
198
 
1e) 'tigerhb3'
199
 
 
200
 
  - Bootleg based on 'tigerhj'
201
 
  - MCU reads/writes are patched.
202
 
  - There is extra code at 0x10e2 (where MCU status was checked)
203
 
    that prevents player to get any extra lives (even by collecting
204
 
    10 diamonds) when Dip Switch is set to "20k then every 80k"
205
 
    (see Mantis bug ID 00652 with Z80 explanations).
206
 
  - Game inputs aren't working after heliport 4 (area 35);
207
 
    I can't tell at the moment if it's an ingame bug or not.
208
 
    See Mantis bug ID 01785 for more details.
209
 
 
210
 
 
211
 
2) 'getstar' and clones
212
 
 
213
 
2a) 'getstar'
214
 
 
215
 
  - US version, licensed to Kitkorp - name "Guardian".
216
 
  - MCU missing and simulated.
217
 
  - Difficulty determines the number of energy bars you get.
218
 
  - Each hit removes 1 enegy bar.
219
 
  - According to the manual, default difficulty shall be set to "Hard".
220
 
  - You can only get ONE extra life.
221
 
  - I don't know if it's an ingame bug, but you always have to enter
222
 
    your initials after a game ends, even if you score less than 10th place.
223
 
 
224
 
2b) 'getstarj'
225
 
 
226
 
  - Japan version - name "Get Star".
227
 
  - MCU missing and simulated.
228
 
  - You always get 4 energy bars.
229
 
  - Difficulty determines how many energy bars you lose when you get hit.
230
 
  - I don't know what default difficulty shall be, so I set it to "Easy".
231
 
  - You can get multiple extra lives.
232
 
 
233
 
2c) 'gtstarb1'
234
 
 
235
 
  - Bootleg based on 'getstarj'
236
 
  - MCU reads/writes are patched, but this hasn't been done in the "test mode".
237
 
  - The game seems to have its own protection on startup (check code at 0x6d1a).
238
 
 
239
 
2d) 'gtstarb2'
240
 
 
241
 
  - Bootleg based on 'getstarj'
242
 
  - MCU reads/writes are patched, but this hasn't been done in the "test mode".
243
 
  - The game seems to have its own protection (check code at 0x0569 and 0x0ac6).
244
 
  - Patches are coded diffrently than in 'gtstarb1' and code isn't always perfect
245
 
    (lazy coding ?) which causes LOTS of ingames bugs or strange behaviours :
246
 
      * patched command 0x20 : NO continue play
247
 
      * patched command 0x21 : as soon as a player loses all his lives,
248
 
        the game is over (even if other player still has lives)
249
 
      * patched command 0x22 : difficulty is ALWAYS set to "Easy" at start
250
 
        so "Difficulty" Dip Switches have no effect when you are playing
251
 
        (it still has an effect in the "test mode" though)
252
 
      * patched command 0x23 : different lives settings
253
 
        (thus the need of a specific INPUT_PORTS definition for this game)
254
 
      * patched command 0x25 : right and down directions are swapped
255
 
        (thus the need of a specific INPUT_PORTS definition for this game)
256
 
      * patched command 0x2a : player flag (which determines if player 1 or
257
 
        player 2 is playing) is NOT updated, causing the following things :
258
 
          . current player score will ALWAYS be dusplayed under player 1
259
 
          . when cabinet is set to "Cocktail", player 2 uses player 1 inputs
260
 
      * patched command 0x38 : laser position does NOT change according to
261
 
        player position (it ALWATS starts from the middle of the screen)
262
 
 
263
 
***************************************************************************/
264
 
 
265
 
#include "emu.h"
266
 
#include "cpu/z80/z80.h"
267
 
#include "deprecat.h"
268
 
#include "cpu/m6805/m6805.h"
269
 
#include "sound/ay8910.h"
270
 
#include "includes/slapfght.h"
271
 
 
272
 
 
273
 
static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8 )
274
 
        AM_RANGE(0x0000, 0x7fff) AM_ROM
275
 
        AM_RANGE(0x8000, 0x87ff) AM_RAM
276
 
        AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
277
 
        AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */
278
 
        AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
279
 
        AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
280
 
        AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
281
 
ADDRESS_MAP_END
282
 
 
283
 
static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8 )
284
 
        AM_RANGE(0x0000, 0xbfff) AM_ROM
285
 
        AM_RANGE(0xc000, 0xc7ff) AM_RAM
286
 
        AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
287
 
        AM_RANGE(0xc810, 0xcfff) AM_RAM
288
 
        AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
289
 
        AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
290
 
        AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
291
 
        AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
292
 
        AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
293
 
        AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
294
 
        AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
295
 
        AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
296
 
ADDRESS_MAP_END
297
 
 
298
 
static ADDRESS_MAP_START( slapfght_map, AS_PROGRAM, 8 )
299
 
        AM_RANGE(0x0000, 0x7fff) AM_ROM
300
 
        AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
301
 
        AM_RANGE(0xc000, 0xc7ff) AM_RAM
302
 
        AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
303
 
        AM_RANGE(0xc810, 0xcfff) AM_RAM
304
 
        AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
305
 
        AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
306
 
        AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
307
 
        AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
308
 
        AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
309
 
        AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
310
 
//  AM_RANGE(0xe803, 0xe803) AM_READWRITE(slapfight_mcu_r, slapfight_mcu_w)
311
 
        AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
312
 
        AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
313
 
ADDRESS_MAP_END
314
 
 
315
 
static ADDRESS_MAP_START( slapfighb2_map, AS_PROGRAM, 8 )
316
 
        AM_RANGE(0x0000, 0x7fff) AM_ROM
317
 
        AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
318
 
        AM_RANGE(0xc000, 0xc7ff) AM_RAM
319
 
        AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
320
 
        AM_RANGE(0xc810, 0xcfff) AM_RAM
321
 
        AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
322
 
        AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
323
 
        AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
324
 
        AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
325
 
        AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
326
 
        AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
327
 
        AM_RANGE(0xec00, 0xefff) AM_ROM // it reads a copy of the logo from here!
328
 
        AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
329
 
        AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
330
 
ADDRESS_MAP_END
331
 
 
332
 
static ADDRESS_MAP_START( slapfght_io_map, AS_IO, 8 )
333
 
        ADDRESS_MAP_GLOBAL_MASK(0xff)
334
 
        AM_RANGE(0x00, 0x00) AM_WRITE(slapfight_port_00_w)
335
 
        AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
336
 
        AM_RANGE(0x02, 0x03) AM_WRITE(slapfight_flipscreen_w)
337
 
//  AM_RANGE(0x04, 0x04) AM_WRITE(getstar_port_04_w)
338
 
        AM_RANGE(0x06, 0x06) AM_WRITE(slapfight_port_06_w)
339
 
        AM_RANGE(0x07, 0x07) AM_WRITE(slapfight_port_07_w)
340
 
        AM_RANGE(0x08, 0x08) AM_WRITE(slapfight_port_08_w)      /* select bank 0 */
341
 
        AM_RANGE(0x09, 0x09) AM_WRITE(slapfight_port_09_w)      /* select bank 1 */
342
 
        AM_RANGE(0x0c, 0x0d) AM_WRITE(slapfight_palette_bank_w)
343
 
ADDRESS_MAP_END
344
 
 
345
 
static ADDRESS_MAP_START( slapfight_m68705_map, AS_PROGRAM, 8 )
346
 
        ADDRESS_MAP_GLOBAL_MASK(0x7ff)
347
 
        AM_RANGE(0x0000, 0x0000) AM_READWRITE(slapfight_68705_portA_r, slapfight_68705_portA_w)
348
 
        AM_RANGE(0x0001, 0x0001) AM_READWRITE(slapfight_68705_portB_r, slapfight_68705_portB_w)
349
 
        AM_RANGE(0x0002, 0x0002) AM_READWRITE(slapfight_68705_portC_r, slapfight_68705_portC_w)
350
 
        AM_RANGE(0x0004, 0x0004) AM_WRITE(slapfight_68705_ddrA_w)
351
 
        AM_RANGE(0x0005, 0x0005) AM_WRITE(slapfight_68705_ddrB_w)
352
 
        AM_RANGE(0x0006, 0x0006) AM_WRITE(slapfight_68705_ddrC_w)
353
 
        AM_RANGE(0x0010, 0x007f) AM_RAM
354
 
        AM_RANGE(0x0080, 0x07ff) AM_ROM
355
 
ADDRESS_MAP_END
356
 
 
357
 
static READ8_HANDLER(tigerh_status_r)
358
 
{
359
 
        return (slapfight_port_00_r(space, 0) & 0xf9)| ((tigerh_mcu_status_r(space, 0)));
360
 
}
361
 
 
362
 
static ADDRESS_MAP_START( tigerh_io_map, AS_IO, 8 )
363
 
        ADDRESS_MAP_GLOBAL_MASK(0xff)
364
 
        AM_RANGE(0x00, 0x00) AM_READWRITE(tigerh_status_r, slapfight_port_00_w) /* status register */
365
 
        AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
366
 
        AM_RANGE(0x02, 0x03) AM_WRITE(slapfight_flipscreen_w)
367
 
        AM_RANGE(0x06, 0x06) AM_WRITE(slapfight_port_06_w)
368
 
        AM_RANGE(0x07, 0x07) AM_WRITE(slapfight_port_07_w)
369
 
ADDRESS_MAP_END
370
 
 
371
 
static ADDRESS_MAP_START( tigerhb_io_map, AS_IO, 8 )
372
 
        ADDRESS_MAP_GLOBAL_MASK(0xff)
373
 
        AM_RANGE(0x00, 0x00) AM_READWRITE(slapfight_port_00_r, slapfight_port_00_w)     /* status register */
374
 
        AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
375
 
        AM_RANGE(0x02, 0x03) AM_WRITE(slapfight_flipscreen_w)
376
 
        AM_RANGE(0x06, 0x06) AM_WRITE(slapfight_port_06_w)
377
 
        AM_RANGE(0x07, 0x07) AM_WRITE(slapfight_port_07_w)
378
 
ADDRESS_MAP_END
379
 
 
380
 
static ADDRESS_MAP_START( tigerh_m68705_map, AS_PROGRAM, 8 )
381
 
        ADDRESS_MAP_GLOBAL_MASK(0x7ff)
382
 
        AM_RANGE(0x0000, 0x0000) AM_READWRITE(tigerh_68705_portA_r,tigerh_68705_portA_w)
383
 
        AM_RANGE(0x0001, 0x0001) AM_READWRITE(tigerh_68705_portB_r,tigerh_68705_portB_w)
384
 
        AM_RANGE(0x0002, 0x0002) AM_READWRITE(tigerh_68705_portC_r,tigerh_68705_portC_w)
385
 
        AM_RANGE(0x0004, 0x0004) AM_WRITE(tigerh_68705_ddrA_w)
386
 
        AM_RANGE(0x0005, 0x0005) AM_WRITE(tigerh_68705_ddrB_w)
387
 
        AM_RANGE(0x0006, 0x0006) AM_WRITE(tigerh_68705_ddrC_w)
388
 
        AM_RANGE(0x0010, 0x007f) AM_RAM
389
 
        AM_RANGE(0x0080, 0x07ff) AM_ROM
390
 
ADDRESS_MAP_END
391
 
 
392
 
static ADDRESS_MAP_START( perfrman_sound_map, AS_PROGRAM, 8 )
393
 
        AM_RANGE(0x0000, 0x1fff) AM_ROM
394
 
        AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
395
 
        AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with main CPU */
396
 
        AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_address_w)
397
 
        AM_RANGE(0xa081, 0xa081) AM_DEVREAD("ay1", ay8910_r)
398
 
        AM_RANGE(0xa082, 0xa082) AM_DEVWRITE("ay1", ay8910_data_w)
399
 
        AM_RANGE(0xa090, 0xa090) AM_DEVWRITE("ay2", ay8910_address_w)
400
 
        AM_RANGE(0xa091, 0xa091) AM_DEVREAD("ay2", ay8910_r)
401
 
        AM_RANGE(0xa092, 0xa092) AM_DEVWRITE("ay2", ay8910_data_w)
402
 
        AM_RANGE(0xa0e0, 0xa0e0) AM_WRITE(getstar_sh_intenable_w) /* maybe a0f0 also -LE */
403
 
//  AM_RANGE(0xa0f0, 0xa0f0) AM_WRITENOP
404
 
ADDRESS_MAP_END
405
 
 
406
 
static ADDRESS_MAP_START( slapfght_sound_map, AS_PROGRAM, 8 )
407
 
        AM_RANGE(0x0000, 0x1fff) AM_ROM
408
 
        AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_address_w)
409
 
        AM_RANGE(0xa081, 0xa081) AM_DEVREAD("ay1", ay8910_r)
410
 
        AM_RANGE(0xa082, 0xa082) AM_DEVWRITE("ay1", ay8910_data_w)
411
 
        AM_RANGE(0xa090, 0xa090) AM_DEVWRITE("ay2", ay8910_address_w)
412
 
        AM_RANGE(0xa091, 0xa091) AM_DEVREAD("ay2", ay8910_r)
413
 
        AM_RANGE(0xa092, 0xa092) AM_DEVWRITE("ay2", ay8910_data_w)
414
 
        AM_RANGE(0xa0e0, 0xa0e0) AM_WRITE(getstar_sh_intenable_w) /* maybe a0f0 also -LE */
415
 
//  AM_RANGE(0xa0f0, 0xa0f0) AM_WRITENOP
416
 
        AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
417
 
        AM_RANGE(0xc810, 0xcfff) AM_RAM
418
 
        AM_RANGE(0xd000, 0xffff) AM_RAM
419
 
ADDRESS_MAP_END
420
 
 
421
 
 
422
 
 
423
 
static INPUT_PORTS_START( slapfght_generic )
424
 
        PORT_START("IN0")
425
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_8WAY
426
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY
427
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
428
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_8WAY
429
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_8WAY PORT_COCKTAIL
430
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY PORT_COCKTAIL
431
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
432
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_8WAY PORT_COCKTAIL
433
 
 
434
 
        PORT_START("IN1")
435
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
436
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
437
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
438
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
439
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
440
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
441
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
442
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
443
 
 
444
 
        PORT_START("DSW1")
445
 
        PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )          PORT_DIPLOCATION("SW1:8,7,6")
446
 
//  PORT_DIPSETTING(    0x01, DEF_STR( 3C_1C ) )
447
 
        PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
448
 
        PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
449
 
        PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
450
 
        PORT_DIPSETTING(    0x03, DEF_STR( 2C_3C ) )
451
 
        PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
452
 
        PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
453
 
        PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
454
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW1:5")
455
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
456
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
457
 
        PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) )          PORT_DIPLOCATION("SW1:4")
458
 
        PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
459
 
        PORT_DIPSETTING(    0x10, DEF_STR( Cocktail ) )
460
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )      PORT_DIPLOCATION("SW1:3")
461
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
462
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
463
 
        PORT_SERVICE_DIPLOC(0x40, IP_ACTIVE_LOW, "SW1:2" )
464
 
        PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:1" )
465
 
 
466
 
        PORT_START("DSW2")
467
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:8,7")
468
 
        PORT_DIPSETTING(    0x01, "1" )
469
 
        PORT_DIPSETTING(    0x00, "2" )
470
 
        PORT_DIPSETTING(    0x03, "3" )
471
 
        PORT_DIPSETTING(    0x02, "5" )
472
 
        PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:6,5")
473
 
        PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
474
 
        PORT_DIPSETTING(    0x08, DEF_STR( Medium ) )
475
 
        PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
476
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
477
 
        /* Filled by "Bonus Lives" settings */
478
 
        PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:4" )
479
 
        PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" )
480
 
        PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:2" )
481
 
        PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" )
482
 
INPUT_PORTS_END
483
 
 
484
 
 
485
 
static INPUT_PORTS_START( perfrman )
486
 
        PORT_INCLUDE(slapfght_generic)
487
 
 
488
 
        PORT_MODIFY("DSW1")
489
 
        PORT_DIPNAME( 0x20, 0x20, "Intermissions" )             PORT_DIPLOCATION("SW1:3")     /* "Screen Test" in the "test mode" */
490
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
491
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
492
 
 
493
 
        PORT_MODIFY("DSW2")
494
 
        PORT_DIPNAME( 0xf0, 0x70, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:4,3,2,1")
495
 
        PORT_DIPSETTING(    0xb0, "20k, 120k, then every 100k" )
496
 
        PORT_DIPSETTING(    0xa0, "40k, 120k, then every 100k" )
497
 
        PORT_DIPSETTING(    0x90, "60k, 160k, then every 100k" )
498
 
        PORT_DIPSETTING(    0x80, "Every 100k" )
499
 
        PORT_DIPSETTING(    0x70, "20k, 220k, then every 200k" )
500
 
        PORT_DIPSETTING(    0x60, "40k, 240k, then every 200k" )
501
 
        PORT_DIPSETTING(    0x50, "60k, 260k, then every 200k" )
502
 
        PORT_DIPSETTING(    0x40, "Every 200k" )
503
 
        PORT_DIPSETTING(    0x30, "20k, 320k, then every 300k" )
504
 
        PORT_DIPSETTING(    0x20, "40k, 340k, then every 300k" )
505
 
        PORT_DIPSETTING(    0x10, "60k, 360k, then every 300k" )
506
 
        PORT_DIPSETTING(    0x00, "Every 300k" )
507
 
        PORT_DIPSETTING(    0xf0, "20k only" )
508
 
        PORT_DIPSETTING(    0xe0, "40k only" )
509
 
        PORT_DIPSETTING(    0xd0, "60k only" )
510
 
        PORT_DIPSETTING(    0xc0, DEF_STR( None ) )
511
 
INPUT_PORTS_END
512
 
 
513
 
 
514
 
static INPUT_PORTS_START( tigerh )
515
 
        PORT_INCLUDE(slapfght_generic)
516
 
 
517
 
        PORT_MODIFY("DSW1")
518
 
        PORT_DIPNAME( 0x80, 0x80, "Player Speed" )              PORT_DIPLOCATION("SW1:1")
519
 
        PORT_DIPSETTING(    0x80, DEF_STR( Normal ) )
520
 
        PORT_DIPSETTING(    0x00, "Fast" )
521
 
 
522
 
        PORT_MODIFY("DSW2")
523
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:8,7")
524
 
        PORT_DIPSETTING(    0x01, "1" )
525
 
        PORT_DIPSETTING(    0x00, "2" )
526
 
        PORT_DIPSETTING(    0x03, "3" )
527
 
        PORT_DIPSETTING(    0x02, "5" )
528
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW1:6,5")
529
 
        PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
530
 
        PORT_DIPSETTING(    0x08, DEF_STR( Medium ) )
531
 
        PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
532
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
533
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW1:4")
534
 
        PORT_DIPSETTING(    0x10, "20k, 100k, then every 80k" )                               // see notes for 'tigerhb3'
535
 
        PORT_DIPSETTING(    0x00, "50k, 170k, then every 120k" )
536
 
        PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" )
537
 
        PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:2" )
538
 
        PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" )
539
 
INPUT_PORTS_END
540
 
 
541
 
 
542
 
static INPUT_PORTS_START( slapfigh )
543
 
        PORT_INCLUDE(slapfght_generic)
544
 
 
545
 
        PORT_MODIFY("DSW1")
546
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )           PORT_DIPLOCATION("SW1:8,7")
547
 
        PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
548
 
        PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
549
 
        PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
550
 
        PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
551
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )           PORT_DIPLOCATION("SW1:6,5")
552
 
        PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
553
 
        PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
554
 
        PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
555
 
        PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
556
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW1:4")
557
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
558
 
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
559
 
        PORT_DIPNAME( 0x20, 0x20, "Screen Test" ) PORT_CODE(KEYCODE_F1) PORT_TOGGLE             PORT_DIPLOCATION("SW1:3")
560
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
561
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
562
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )      PORT_DIPLOCATION("SW1:2")
563
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
564
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
565
 
        PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
566
 
        PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
567
 
        PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )         PORT_DIPLOCATION("SW1:1")
568
 
 
569
 
        PORT_MODIFY("DSW2")
570
 
        PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
571
 
        PORT_SERVICE_DIPLOC(0x02, IP_ACTIVE_LOW, "SW2:7" )
572
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:6,5")
573
 
        PORT_DIPSETTING(    0x08, "1" )
574
 
        PORT_DIPSETTING(    0x00, "2" )
575
 
        PORT_DIPSETTING(    0x0c, "3" )
576
 
        PORT_DIPSETTING(    0x04, "5" )
577
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:4,3")
578
 
        PORT_DIPSETTING(    0x30, "30000 100000" )
579
 
        PORT_DIPSETTING(    0x10, "50000 200000" )
580
 
        PORT_DIPSETTING(    0x20, "50000" )
581
 
        PORT_DIPSETTING(    0x00, "100000" )
582
 
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:2,1")
583
 
        PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
584
 
        PORT_DIPSETTING(    0xc0, DEF_STR( Medium ) )
585
 
        PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
586
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
587
 
INPUT_PORTS_END
588
 
 
589
 
 
590
 
static INPUT_PORTS_START( getstar )
591
 
        PORT_INCLUDE(slapfght_generic)
592
 
 
593
 
        PORT_MODIFY("DSW2")
594
 
        /* harder default difficulty (confirmed by manual) */
595
 
        PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:6,5")
596
 
        PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
597
 
        PORT_DIPSETTING(    0x08, DEF_STR( Medium ) )
598
 
        PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
599
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
600
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:4,3")
601
 
        PORT_DIPSETTING(    0x30, "50k only" )
602
 
        PORT_DIPSETTING(    0x20, "100k only" )
603
 
        PORT_DIPSETTING(    0x10, "150k only" )
604
 
        PORT_DIPSETTING(    0x00, "200k only" )
605
 
INPUT_PORTS_END
606
 
 
607
 
static INPUT_PORTS_START( getstarj )
608
 
        PORT_INCLUDE(getstar)
609
 
 
610
 
        /* easier default difficulty (to be confirmed) and different bonus lives settings */
611
 
        PORT_MODIFY("DSW2")
612
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:6,5")
613
 
        PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
614
 
        PORT_DIPSETTING(    0x08, DEF_STR( Medium ) )
615
 
        PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
616
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
617
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:4")
618
 
        PORT_DIPSETTING(    0x10, "30k, 130k, then every 100k" )
619
 
        PORT_DIPSETTING(    0x00, "50k, 200k, then every 150k" )
620
 
        PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" )
621
 
INPUT_PORTS_END
622
 
 
623
 
static INPUT_PORTS_START( gtstarb2 )
624
 
        PORT_INCLUDE(getstarj)
625
 
 
626
 
        /* RIGHT and DOWN are swapped due to code at 0x0551 */
627
 
        PORT_MODIFY("IN0")
628
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
629
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY
630
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
631
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY PORT_COCKTAIL
632
 
 
633
 
        /* different lives settings due to code at 0x0e36 */
634
 
        PORT_MODIFY("DSW2")
635
 
        PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:8,7")
636
 
        PORT_DIPSETTING(    0x02, "3" )
637
 
        PORT_DIPSETTING(    0x01, "4" )
638
 
        PORT_DIPSETTING(    0x00, "5" )
639
 
        PORT_DIPSETTING(    0x03, "240 (Cheat)")
640
 
        /* difficulty settings have no effect due to code at 0x0e7c */
641
 
        /* I don't mark the Dips as "unused" because they are still read in the "test mode" */
642
 
INPUT_PORTS_END
643
 
 
644
 
 
645
 
static const gfx_layout charlayout =
646
 
{
647
 
        8,8,                    /* 8*8 characters */
648
 
        RGN_FRAC(1,2),  /* 1024 characters */
649
 
        2,                              /* 2 bits per pixel */
650
 
        { RGN_FRAC(0,2), RGN_FRAC(1,2) },
651
 
        { 0, 1, 2, 3, 4, 5, 6, 7 },
652
 
        { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
653
 
        8*8     /* every char takes 8 consecutive bytes */
654
 
};
655
 
 
656
 
static const gfx_layout tilelayout =
657
 
{
658
 
        8,8,                    /* 8*8 tiles */
659
 
        RGN_FRAC(1,4),  /* 2048/4096 tiles */
660
 
        4,                              /* 4 bits per pixel */
661
 
        { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) },
662
 
        { 0, 1, 2, 3, 4, 5, 6, 7 },
663
 
        { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
664
 
        8*8    /* every tile takes 8 consecutive bytes */
665
 
};
666
 
 
667
 
static const gfx_layout spritelayout =
668
 
{
669
 
        16,16,                  /* 16*16 sprites */
670
 
        RGN_FRAC(1,4),  /* 512/1024 sprites */
671
 
        4,                              /* 4 bits per pixel */
672
 
        { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) },
673
 
        { 0, 1, 2, 3, 4, 5, 6, 7, 8,
674
 
                        9, 10 ,11, 12, 13, 14, 15 },
675
 
        { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
676
 
                        8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
677
 
        32*8    /* every sprite takes 64 consecutive bytes */
678
 
};
679
 
 
680
 
static const gfx_layout perfrman_charlayout =
681
 
{
682
 
        8,8,                    /* 8*8 characters */
683
 
        RGN_FRAC(1,3),  /* 1024 characters */
684
 
        3,                              /* 3 bits per pixel */
685
 
        { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) },
686
 
        { 0, 1, 2, 3, 4, 5, 6, 7 },
687
 
        { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
688
 
        8*8     /* every char takes 8 consecutive bytes */
689
 
};
690
 
 
691
 
static const gfx_layout perfrman_spritelayout =
692
 
{
693
 
        16,16,                  /* 16*16 sprites */
694
 
        RGN_FRAC(1,3),  /* 256 sprites */
695
 
        3,                              /* 3 bits per pixel */
696
 
        { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) },
697
 
        { 0, 1, 2, 3, 4, 5, 6, 7, 8,
698
 
                        9, 10 ,11, 12, 13, 14, 15 },
699
 
        { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
700
 
                        8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
701
 
        32*8
702
 
};
703
 
 
704
 
 
705
 
static GFXDECODE_START( perfrman )
706
 
        GFXDECODE_ENTRY( "gfx1", 0, perfrman_charlayout,     0, 16 )
707
 
        GFXDECODE_ENTRY( "gfx2", 0, perfrman_spritelayout, 128, 16 )
708
 
GFXDECODE_END
709
 
 
710
 
static GFXDECODE_START( slapfght )
711
 
        GFXDECODE_ENTRY( "gfx1", 0, charlayout,   0,  64 )
712
 
        GFXDECODE_ENTRY( "gfx2", 0, tilelayout,   0,  16 )
713
 
        GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0,  16 )
714
 
GFXDECODE_END
715
 
 
716
 
 
717
 
 
718
 
static const ay8910_interface ay8910_interface_1 =
719
 
{
720
 
        AY8910_LEGACY_OUTPUT,
721
 
        AY8910_DEFAULT_LOADS,
722
 
        DEVCB_INPUT_PORT("IN0"),
723
 
        DEVCB_INPUT_PORT("IN1"),
724
 
        DEVCB_NULL,
725
 
        DEVCB_NULL
726
 
};
727
 
 
728
 
static const ay8910_interface ay8910_interface_2 =
729
 
{
730
 
        AY8910_LEGACY_OUTPUT,
731
 
        AY8910_DEFAULT_LOADS,
732
 
        DEVCB_INPUT_PORT("DSW1"),
733
 
        DEVCB_INPUT_PORT("DSW2"),
734
 
        DEVCB_NULL,
735
 
        DEVCB_NULL
736
 
};
737
 
 
738
 
static SCREEN_EOF( perfrman )
739
 
{
740
 
        address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
741
 
        buffer_spriteram_w(space, 0, 0);
742
 
}
743
 
 
744
 
static MACHINE_CONFIG_START( perfrman, slapfght_state )
745
 
 
746
 
        /* basic machine hardware */
747
 
        MCFG_CPU_ADD("maincpu", Z80,16000000/4)                 /* 4MHz ???, 16MHz Oscillator */
748
 
        MCFG_CPU_PROGRAM_MAP(perfrman_map)
749
 
        MCFG_CPU_IO_MAP(slapfght_io_map)
750
 
        MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
751
 
 
752
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/8)                        /* 2MHz ???, 16MHz Oscillator */
753
 
        MCFG_CPU_PROGRAM_MAP(perfrman_sound_map)
754
 
        MCFG_CPU_VBLANK_INT_HACK(getstar_interrupt,4)   /* music speed, verified */
755
 
 
756
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))               /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
757
 
 
758
 
        MCFG_MACHINE_RESET(slapfight)
759
 
 
760
 
        /* video hardware */
761
 
        MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
762
 
 
763
 
        MCFG_SCREEN_ADD("screen", RASTER)
764
 
        MCFG_SCREEN_REFRESH_RATE(60)
765
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
766
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
767
 
        MCFG_SCREEN_SIZE(64*8, 32*8)
768
 
        MCFG_SCREEN_VISIBLE_AREA(1*8, 34*8-1, 2*8, 32*8-1)
769
 
        MCFG_SCREEN_UPDATE(perfrman)
770
 
        MCFG_SCREEN_EOF(perfrman)
771
 
 
772
 
        MCFG_GFXDECODE(perfrman)
773
 
        MCFG_PALETTE_LENGTH(256)
774
 
 
775
 
        MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
776
 
        MCFG_VIDEO_START(perfrman)
777
 
 
778
 
        /* sound hardware */
779
 
        MCFG_SPEAKER_STANDARD_MONO("mono")
780
 
 
781
 
        MCFG_SOUND_ADD("ay1", AY8910, 16000000/8)
782
 
        MCFG_SOUND_CONFIG(ay8910_interface_1)
783
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
784
 
 
785
 
        MCFG_SOUND_ADD("ay2", AY8910, 16000000/8)
786
 
        MCFG_SOUND_CONFIG(ay8910_interface_2)
787
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
788
 
MACHINE_CONFIG_END
789
 
 
790
 
 
791
 
static MACHINE_CONFIG_START( tigerhb, slapfght_state )
792
 
 
793
 
        /* basic machine hardware */
794
 
        MCFG_CPU_ADD("maincpu", Z80, 6000000)
795
 
        MCFG_CPU_PROGRAM_MAP(tigerh_map)
796
 
        MCFG_CPU_IO_MAP(tigerhb_io_map)
797
 
        MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
798
 
 
799
 
        MCFG_CPU_ADD("audiocpu", Z80, 6000000)
800
 
        MCFG_CPU_PROGRAM_MAP(slapfght_sound_map)
801
 
        MCFG_CPU_PERIODIC_INT(nmi_line_pulse,6*60)    /* ??? */
802
 
 
803
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))       /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
804
 
 
805
 
        MCFG_MACHINE_RESET(slapfight)
806
 
 
807
 
        /* video hardware */
808
 
        MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
809
 
 
810
 
        MCFG_SCREEN_ADD("screen", RASTER)
811
 
        MCFG_SCREEN_REFRESH_RATE(60)
812
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
813
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
814
 
        MCFG_SCREEN_SIZE(64*8, 32*8)
815
 
        MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
816
 
        MCFG_SCREEN_UPDATE(slapfight)
817
 
        MCFG_SCREEN_EOF(perfrman)
818
 
 
819
 
        MCFG_GFXDECODE(slapfght)
820
 
        MCFG_PALETTE_LENGTH(256)
821
 
 
822
 
        MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
823
 
        MCFG_VIDEO_START(slapfight)
824
 
 
825
 
        /* sound hardware */
826
 
        MCFG_SPEAKER_STANDARD_MONO("mono")
827
 
 
828
 
        MCFG_SOUND_ADD("ay1", AY8910, 1500000)
829
 
        MCFG_SOUND_CONFIG(ay8910_interface_1)
830
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
831
 
 
832
 
        MCFG_SOUND_ADD("ay2", AY8910, 1500000)
833
 
        MCFG_SOUND_CONFIG(ay8910_interface_2)
834
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
835
 
MACHINE_CONFIG_END
836
 
 
837
 
static MACHINE_CONFIG_START( tigerh, slapfght_state )
838
 
 
839
 
        /* basic machine hardware */
840
 
        MCFG_CPU_ADD("maincpu", Z80, XTAL_36MHz/6) /* verified on pcb */
841
 
        MCFG_CPU_PROGRAM_MAP(tigerh_map)
842
 
        MCFG_CPU_IO_MAP(tigerh_io_map)
843
 
        MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
844
 
 
845
 
        MCFG_CPU_ADD("audiocpu", Z80, XTAL_36MHz/12) /* verified on pcb */
846
 
        MCFG_CPU_PROGRAM_MAP(slapfght_sound_map)
847
 
        MCFG_CPU_PERIODIC_INT(nmi_line_pulse,6*60)    /* ??? */
848
 
 
849
 
        MCFG_CPU_ADD("mcu", M68705,XTAL_36MHz/12) /* verified on pcb */
850
 
        MCFG_CPU_PROGRAM_MAP(tigerh_m68705_map)
851
 
 
852
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))       /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
853
 
 
854
 
        MCFG_MACHINE_RESET(slapfight)
855
 
 
856
 
        /* video hardware */
857
 
        MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
858
 
 
859
 
        MCFG_SCREEN_ADD("screen", RASTER)
860
 
        MCFG_SCREEN_REFRESH_RATE(60)
861
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
862
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
863
 
        MCFG_SCREEN_SIZE(64*8, 32*8)
864
 
        MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
865
 
        MCFG_SCREEN_UPDATE(slapfight)
866
 
        MCFG_SCREEN_EOF(perfrman)
867
 
 
868
 
        MCFG_GFXDECODE(slapfght)
869
 
        MCFG_PALETTE_LENGTH(256)
870
 
 
871
 
        MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
872
 
        MCFG_VIDEO_START(slapfight)
873
 
 
874
 
        /* sound hardware */
875
 
        MCFG_SPEAKER_STANDARD_MONO("mono")
876
 
 
877
 
        MCFG_SOUND_ADD("ay1", AY8910, XTAL_36MHz/24) /* verified on pcb */
878
 
        MCFG_SOUND_CONFIG(ay8910_interface_1)
879
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
880
 
 
881
 
        MCFG_SOUND_ADD("ay2", AY8910, XTAL_36MHz/24) /* verified on pcb */
882
 
        MCFG_SOUND_CONFIG(ay8910_interface_2)
883
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
884
 
MACHINE_CONFIG_END
885
 
 
886
 
 
887
 
static MACHINE_CONFIG_START( slapfigh, slapfght_state )
888
 
 
889
 
        /* basic machine hardware */
890
 
        MCFG_CPU_ADD("maincpu",Z80, XTAL_36MHz/6) /* verified on pcb */
891
 
        MCFG_CPU_PROGRAM_MAP(slapfght_map)
892
 
        MCFG_CPU_IO_MAP(slapfght_io_map)
893
 
        MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
894
 
 
895
 
        MCFG_CPU_ADD("audiocpu", Z80, XTAL_36MHz/12) /* verified on pcb */
896
 
        MCFG_CPU_PROGRAM_MAP(slapfght_sound_map)
897
 
        MCFG_CPU_VBLANK_INT_HACK(getstar_interrupt, 3)
898
 
 
899
 
        MCFG_CPU_ADD("mcu", M68705, XTAL_36MHz/12) /* verified on pcb */
900
 
        MCFG_CPU_PROGRAM_MAP(slapfight_m68705_map)
901
 
 
902
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))       /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
903
 
 
904
 
        MCFG_MACHINE_RESET(slapfight)
905
 
 
906
 
        /* video hardware */
907
 
        MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
908
 
 
909
 
        MCFG_SCREEN_ADD("screen", RASTER)
910
 
        MCFG_SCREEN_REFRESH_RATE(60)
911
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
912
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
913
 
        MCFG_SCREEN_SIZE(64*8, 32*8)
914
 
        MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
915
 
        MCFG_SCREEN_UPDATE(slapfight)
916
 
        MCFG_SCREEN_EOF(perfrman)
917
 
 
918
 
        MCFG_GFXDECODE(slapfght)
919
 
        MCFG_PALETTE_LENGTH(256)
920
 
 
921
 
        MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
922
 
        MCFG_VIDEO_START(slapfight)
923
 
 
924
 
        /* sound hardware */
925
 
        MCFG_SPEAKER_STANDARD_MONO("mono")
926
 
 
927
 
        MCFG_SOUND_ADD("ay1", AY8910, XTAL_36MHz/24) /* verified on pcb */
928
 
        MCFG_SOUND_CONFIG(ay8910_interface_1)
929
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
930
 
 
931
 
        MCFG_SOUND_ADD("ay2", AY8910, XTAL_36MHz/24) /* verified on pcb */
932
 
        MCFG_SOUND_CONFIG(ay8910_interface_2)
933
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
934
 
MACHINE_CONFIG_END
935
 
 
936
 
static MACHINE_CONFIG_DERIVED( slapfighb1, slapfigh )
937
 
 
938
 
        /* basic machine hardware */
939
 
 
940
 
        MCFG_DEVICE_REMOVE("mcu")
941
 
MACHINE_CONFIG_END
942
 
 
943
 
/* identical to slapfigh_ but the scroll registers are located elsewhere in memory */
944
 
static MACHINE_CONFIG_DERIVED( slapfighb2, slapfigh )
945
 
 
946
 
        /* basic machine hardware */
947
 
 
948
 
        MCFG_CPU_MODIFY("maincpu")
949
 
        MCFG_CPU_PROGRAM_MAP(slapfighb2_map)
950
 
 
951
 
        MCFG_DEVICE_REMOVE("mcu")
952
 
MACHINE_CONFIG_END
953
 
 
954
 
 
955
 
ROM_START( perfrman )
956
 
        ROM_REGION( 0x10000, "maincpu", 0 )                              /* Main CPU code */
957
 
        ROM_LOAD( "ci07.0",    0x00000, 0x4000, CRC(7ad32eea) SHA1(e5b29793e9c8c5c9322ca2af468a9810a598c0ae) )
958
 
        ROM_LOAD( "ci08.1",    0x04000, 0x4000, CRC(90a02d5f) SHA1(9f2d2ce70a5bc96fc9d268e2b24533f73361225c) )
959
 
 
960
 
        ROM_REGION( 0x10000, "audiocpu", 0 )                             /* Sound CPU code */
961
 
        ROM_LOAD( "ci06.4",    0x0000, 0x2000, CRC(df891ad0) SHA1(0d33e7d0562831382f48d1588ef20a1bc73be71a) )
962
 
 
963
 
        ROM_REGION( 0x6000, "gfx1", 0 ) /* Tiles */
964
 
        ROM_LOAD( "ci02.7",     0x0000, 0x2000, CRC(8efa960a) SHA1(d547ea23f2dd622500bf3f38cd9aca4e80aa27ca) )
965
 
        ROM_LOAD( "ci01.6",     0x2000, 0x2000, CRC(2e8e69df) SHA1(183c1868f0c94a2a82709f9c38020ee81c283051) )
966
 
        ROM_LOAD( "ci00.5",     0x4000, 0x2000, CRC(79e191f8) SHA1(3a755857dab147b73761aebfcf931dc3c87286a4) )
967
 
 
968
 
        ROM_REGION( 0x6000, "gfx2", 0 ) /* Sprites */
969
 
        ROM_LOAD( "ci05.10",    0x0000, 0x2000, CRC(809a4ccc) SHA1(bca5a27abe205a65e1160d0c0c61e9831a949acc) )
970
 
        ROM_LOAD( "ci04.9",     0x2000, 0x2000, CRC(026f27b3) SHA1(a222d31368fa5117824f5a14a1e52f01326e1f63) )
971
 
        ROM_LOAD( "ci03.8",     0x4000, 0x2000, CRC(6410d9eb) SHA1(7e57de9255cbcacb4610cabb1364e2a4933ec12b) )
972
 
 
973
 
        ROM_REGION( 0x300, "proms", 0 )                          /* Color BPROMs */
974
 
        ROM_LOAD( "ci14.16",    0x000, 0x0100, CRC(515f8a3b) SHA1(a99d4c119f6c4c6cd1b3fd208eadfb69ef7e8e2d) )
975
 
        ROM_LOAD( "ci13.15",    0x100, 0x0100, CRC(a9a397eb) SHA1(a84cf23efa0cf3e97b8dd1fff868c85d7eda1253) )
976
 
        ROM_LOAD( "ci12.14",    0x200, 0x0100, CRC(67f86e3d) SHA1(b1240212ea91cf451dbd7c6e2bfccbac76568cf6) )
977
 
 
978
 
        ROM_REGION( 0x220, "user1", 0 )
979
 
        ROM_LOAD( "ci11.11",    0x000, 0x0100, CRC(d492e6c2) SHA1(5789adda3a63ef8656ebd012416fcf3f991241fe) )
980
 
        ROM_LOAD( "ci10.12",    0x100, 0x0100, CRC(59490887) SHA1(c894edecbcfc67972ad893cd7c8197d07862a20a) )
981
 
        ROM_LOAD( "ci09.13",    0x200, 0x0020, CRC(aa0ca5a5) SHA1(4c45be71658f40ebb05634febba5822f1a8a7f79) )
982
 
ROM_END
983
 
 
984
 
ROM_START( perfrmanu )
985
 
        ROM_REGION( 0x10000, "maincpu", 0 )                              /* Main CPU code */
986
 
        ROM_LOAD( "ci07.0",    0x00000, 0x4000, CRC(7ad32eea) SHA1(e5b29793e9c8c5c9322ca2af468a9810a598c0ae) )
987
 
        ROM_LOAD( "ci108r5.1", 0x04000, 0x4000, CRC(9d373efa) SHA1(b1d87e033ee3c50cfc56db05891b00b7bc236733) )
988
 
 
989
 
        ROM_REGION( 0x10000, "audiocpu", 0 )                             /* Sound CPU code */
990
 
        ROM_LOAD( "ci06.4",    0x0000, 0x2000, CRC(df891ad0) SHA1(0d33e7d0562831382f48d1588ef20a1bc73be71a) )
991
 
 
992
 
        ROM_REGION( 0x6000, "gfx1", 0 ) /* Tiles */
993
 
        ROM_LOAD( "ci02.7",     0x0000, 0x2000, CRC(8efa960a) SHA1(d547ea23f2dd622500bf3f38cd9aca4e80aa27ca) )
994
 
        ROM_LOAD( "ci01.6",     0x2000, 0x2000, CRC(2e8e69df) SHA1(183c1868f0c94a2a82709f9c38020ee81c283051) )
995
 
        ROM_LOAD( "ci00.5",     0x4000, 0x2000, CRC(79e191f8) SHA1(3a755857dab147b73761aebfcf931dc3c87286a4) )
996
 
 
997
 
        ROM_REGION( 0x6000, "gfx2", 0 ) /* Sprites */
998
 
        ROM_LOAD( "ci05.10",    0x0000, 0x2000, CRC(809a4ccc) SHA1(bca5a27abe205a65e1160d0c0c61e9831a949acc) )
999
 
        ROM_LOAD( "ci04.9",     0x2000, 0x2000, CRC(026f27b3) SHA1(a222d31368fa5117824f5a14a1e52f01326e1f63) )
1000
 
        ROM_LOAD( "ci03.8",     0x4000, 0x2000, CRC(6410d9eb) SHA1(7e57de9255cbcacb4610cabb1364e2a4933ec12b) )
1001
 
 
1002
 
        ROM_REGION( 0x300, "proms", 0 )                          /* Color BPROMs */
1003
 
        ROM_LOAD( "ci14.16",    0x000, 0x0100, CRC(515f8a3b) SHA1(a99d4c119f6c4c6cd1b3fd208eadfb69ef7e8e2d) )
1004
 
        ROM_LOAD( "ci13.15",    0x100, 0x0100, CRC(a9a397eb) SHA1(a84cf23efa0cf3e97b8dd1fff868c85d7eda1253) )
1005
 
        ROM_LOAD( "ci12.14",    0x200, 0x0100, CRC(67f86e3d) SHA1(b1240212ea91cf451dbd7c6e2bfccbac76568cf6) )
1006
 
 
1007
 
        ROM_REGION( 0x220, "user1", 0 )
1008
 
        ROM_LOAD( "ci11.11",    0x000, 0x0100, CRC(d492e6c2) SHA1(5789adda3a63ef8656ebd012416fcf3f991241fe) )
1009
 
        ROM_LOAD( "ci10.12",    0x100, 0x0100, CRC(59490887) SHA1(c894edecbcfc67972ad893cd7c8197d07862a20a) )
1010
 
        ROM_LOAD( "ci09r1.13",  0x200, 0x0020, CRC(d9e92f6f) SHA1(7dc2939267b7d2b1eeeca906cc6151fab2cf1cc4) )
1011
 
ROM_END
1012
 
 
1013
 
 
1014
 
/*
1015
 
Tiger Heli
1016
 
1985 Taito Corporation
1017
 
 
1018
 
The Tiger Heli PCB is almost exactly the same PCB as Slap Fight/Alcon but a few chips
1019
 
have different placings and there's more EPROM locations on one of the boards
1020
 
(although they're not populated).
1021
 
Also, Tiger Heli has a 22-way edge connector, while Alcon/Slap Fight is JAMMA.
1022
 
 
1023
 
 
1024
 
PCB Layouts - Top Board
1025
 
-----------------------
1026
 
 
1027
 
Tiger Heli -   M6100111A
1028
 
               850011401
1029
 
 
1030
 
GX-511-A MADE IN JAPAN
1031
 
|--------------------------------------------------|
1032
 
|VOL ROM21.12Q                 2148                |
1033
 
|MB3712                        2148                |
1034
 
|    ROM19.12P                 2148                |
1035
 
|                              2148                |
1036
 
|    ROM20.12M                         6264        |
1037
 
|                                                  |
1038
 
|                                      6264        |
1039
 
|                                                  |
1040
 
|2                 A47_13.8J A47_12.6J 6264        |
1041
 
|2    AY3-8910                                     |
1042
 
|W                 A47_11.8H A47_10.6H 6264        |
1043
 
|A    DSW1  DSW2                                   |
1044
 
|Y                                       2148      |
1045
 
|     AY3-8910                                     |
1046
 
|                                   PAL    ROM16.1E|
1047
 
|                                                  |
1048
 
|  A47_03.12D                              ROM17.1C|
1049
 
|                                                  |
1050
 
|                                     ROM18.2B     |
1051
 
|  Z80A   2016                                     |
1052
 
|                                                  |
1053
 
|-----|----------|--------------|----------|-------|
1054
 
      |----------|              |----------|
1055
 
Notes:
1056
 
      AY3-8910 clock - 3.000MHz (36/12)
1057
 
      Z80A clock - 3.000MHz (36/12)
1058
 
      VSync - 57Hz
1059
 
      HSync - 15.02kHz
1060
 
      A47_03 - 2764 EPROM
1061
 
      A47_10 to A47_13 - 27128 EPROM
1062
 
      ROM18 - 18S030 PROM
1063
 
      ROM16, ROM17, ROM19, ROM20, ROM21 - 82S129 PROM
1064
 
 
1065
 
 
1066
 
Bottom Board
1067
 
------------
1068
 
 
1069
 
GX-511-B MADE IN JAPAN
1070
 
|--------------------------------------------------|
1071
 
|                        A47_14.6A                 |
1072
 
|                                                  |
1073
 
|    ROM14.2C                          ROM15.8B    |
1074
 
|                                                  |
1075
 
|                                                  |
1076
 
|              2016      A47_05.6F                 |
1077
 
|                                           36MHz  |
1078
 
|              2016      A47_04.6G                 |
1079
 
|                                                  |
1080
 
|                                                  |
1081
 
|                                                  |
1082
 
|                                                  |
1083
 
|                                                  |
1084
 
|                                        A47_02.8K |
1085
 
|                                                  |
1086
 
|              A47_09.4M A47_08.6M       X         |
1087
 
|     2016                                         |
1088
 
|              2016      A47_07.6N       A47_01.8N |
1089
 
|                                                  |
1090
 
|              2016      A47_06.6P       A47_00.8P |
1091
 
|                                           Z80B   |
1092
 
|-----|----------|--------------|----------|-------|
1093
 
      |----------|              |----------|
1094
 
Notes:
1095
 
      Z80B clock - 6.000MHz (36/6)
1096
 
      ROM14, ROM15 - 82S129 PROM
1097
 
      A47_00 to A47_02 - 27128 EPROM
1098
 
      A47_06 to A47_09 - 27128 EPROM
1099
 
      A47_04, A47_05 - 2764 EPROM
1100
 
      A47_14 - Motorola DA68237 15-00011-001 (MC68705P3-compatible) Micro-Controller (Not protected). Clock 3.000MHz
1101
 
      X - Unpopulated socket
1102
 
*/
1103
 
 
1104
 
ROM_START( tigerh )
1105
 
        ROM_REGION( 0x10000, "maincpu", 0 )
1106
 
        ROM_LOAD( "0.4",          0x00000, 0x4000, CRC(4be73246) SHA1(a6f6a36fa7e3d269b87b777c0975b210d8b53483) )
1107
 
        ROM_LOAD( "1.4",          0x04000, 0x4000, CRC(aad04867) SHA1(5e9ff3c982afe104428e936ef417de2d238dc033) )
1108
 
        ROM_LOAD( "2.4",          0x08000, 0x4000, CRC(4843f15c) SHA1(c0c145c9df9d6273171ac64fb7396e65a786f67c) )
1109
 
 
1110
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1111
 
        ROM_LOAD( "a47_03.12d",   0x0000,  0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) )
1112
 
 
1113
 
        ROM_REGION( 0x0800, "mcu", 0 )
1114
 
        ROM_LOAD( "a47_14.6a",   0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) )
1115
 
 
1116
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1117
 
        ROM_LOAD( "a47_05.6f",   0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) )  /* Chars */
1118
 
        ROM_LOAD( "a47_04.6g",   0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) )
1119
 
 
1120
 
        ROM_REGION( 0x10000, "gfx2", 0 )
1121
 
        ROM_LOAD( "a47_09.4m",   0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) )  /* Tiles */
1122
 
        ROM_LOAD( "a47_08.6m",   0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) )
1123
 
        ROM_LOAD( "a47_07.6n",   0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) )
1124
 
        ROM_LOAD( "a47_06.6p",   0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) )
1125
 
 
1126
 
        ROM_REGION( 0x10000, "gfx3", 0 )
1127
 
        ROM_LOAD( "a47_13.8j",   0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) )  /* Sprites */
1128
 
        ROM_LOAD( "a47_12.6j",   0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) )
1129
 
        ROM_LOAD( "a47_11.8h",   0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) )
1130
 
        ROM_LOAD( "a47_10.6h",   0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) )
1131
 
 
1132
 
        ROM_REGION( 0x0300, "proms", 0 )
1133
 
        ROM_LOAD( "82s129.12q",   0x0000,  0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) )
1134
 
        ROM_LOAD( "82s129.12m",   0x0100,  0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) )
1135
 
        ROM_LOAD( "82s129.12n",   0x0200,  0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) )
1136
 
 
1137
 
        ROM_REGION( 0x0200, "plds", 0 )
1138
 
        ROM_LOAD( "pal16r4a.2e", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */
1139
 
ROM_END
1140
 
 
1141
 
ROM_START( tigerhj )
1142
 
        ROM_REGION( 0x10000, "maincpu", 0 )
1143
 
        ROM_LOAD( "a47_00.8p",   0x00000, 0x4000, CRC(cbdbe3cc) SHA1(5badf76cdf4a7f0ae9e85ee602420ba5c128efef) )
1144
 
        ROM_LOAD( "a47_01.8n",   0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) )
1145
 
        ROM_LOAD( "a47_02.8k",   0x08000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) )
1146
 
 
1147
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1148
 
        ROM_LOAD( "a47_03.12d",   0x0000,  0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) )
1149
 
 
1150
 
        ROM_REGION( 0x0800, "mcu", 0 )
1151
 
        ROM_LOAD( "a47_14.6a",   0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) )
1152
 
 
1153
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1154
 
        ROM_LOAD( "a47_05.6f",   0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) )  /* Chars */
1155
 
        ROM_LOAD( "a47_04.6g",   0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) )
1156
 
 
1157
 
        ROM_REGION( 0x10000, "gfx2", 0 )
1158
 
        ROM_LOAD( "a47_09.4m",   0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) )  /* Tiles */
1159
 
        ROM_LOAD( "a47_08.6m",   0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) )
1160
 
        ROM_LOAD( "a47_07.6n",   0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) )
1161
 
        ROM_LOAD( "a47_06.6p",   0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) )
1162
 
 
1163
 
        ROM_REGION( 0x10000, "gfx3", 0 )
1164
 
        ROM_LOAD( "a47_13.8j",   0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) )  /* Sprites */
1165
 
        ROM_LOAD( "a47_12.6j",   0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) )
1166
 
        ROM_LOAD( "a47_11.8h",   0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) )
1167
 
        ROM_LOAD( "a47_10.6h",   0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) )
1168
 
 
1169
 
        ROM_REGION( 0x0300, "proms", 0 )
1170
 
        ROM_LOAD( "82s129.12q",   0x0000,  0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) )
1171
 
        ROM_LOAD( "82s129.12m",   0x0100,  0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) )
1172
 
        ROM_LOAD( "82s129.12n",   0x0200,  0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) )
1173
 
ROM_END
1174
 
 
1175
 
ROM_START( tigerhb1 )
1176
 
        ROM_REGION( 0x10000, "maincpu", 0 )
1177
 
        ROM_LOAD( "b0.5",        0x00000, 0x4000, CRC(6ae7e13c) SHA1(47ef34635f8648e883a850293d92a46e95976a50) )
1178
 
        ROM_LOAD( "a47_01.8n",   0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) )
1179
 
        ROM_LOAD( "a47_02.8k",   0x08000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) )
1180
 
 
1181
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1182
 
        ROM_LOAD( "a47_03.12d",   0x0000,  0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) )
1183
 
 
1184
 
        ROM_REGION( 0x0800, "cpu2", ROMREGION_ERASEFF ) // probably doesn't have an MCU
1185
 
        /* is this the right mcu for this set? the mcu handling code in the roms seems patched and it doesn't work correctly */
1186
 
//  ROM_LOAD( "a47_14.6a",   0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) )
1187
 
 
1188
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1189
 
        ROM_LOAD( "a47_05.6f",   0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) )  /* Chars */
1190
 
        ROM_LOAD( "a47_04.6g",   0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) )
1191
 
 
1192
 
        ROM_REGION( 0x10000, "gfx2", 0 )
1193
 
        ROM_LOAD( "a47_09.4m",   0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) )  /* Tiles */
1194
 
        ROM_LOAD( "a47_08.6m",   0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) )
1195
 
        ROM_LOAD( "a47_07.6n",   0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) )
1196
 
        ROM_LOAD( "a47_06.6p",   0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) )
1197
 
 
1198
 
        ROM_REGION( 0x10000, "gfx3", 0 )
1199
 
        ROM_LOAD( "a47_13.8j",   0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) )  /* Sprites */
1200
 
        ROM_LOAD( "a47_12.6j",   0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) )
1201
 
        ROM_LOAD( "a47_11.8h",   0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) )
1202
 
        ROM_LOAD( "a47_10.6h",   0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) )
1203
 
 
1204
 
        ROM_REGION( 0x0300, "proms", 0 )
1205
 
        ROM_LOAD( "82s129.12q",   0x0000,  0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) )
1206
 
        ROM_LOAD( "82s129.12m",   0x0100,  0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) )
1207
 
        ROM_LOAD( "82s129.12n",   0x0200,  0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) )
1208
 
ROM_END
1209
 
 
1210
 
ROM_START( tigerhb2 )
1211
 
        ROM_REGION( 0x10000, "maincpu", 0 )
1212
 
        ROM_LOAD( "rom00_09.bin", 0x00000, 0x4000, CRC(ef738c68) SHA1(c78c802d885b7f7c5e312ec079d52b8817590735) )
1213
 
        ROM_LOAD( "a47_01.8n",    0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) )
1214
 
        ROM_LOAD( "rom02_07.bin", 0x08000, 0x4000, CRC(36e250b9) SHA1(79bd86bde81981e4d0dbee420bc0a10c80b5241e) )
1215
 
 
1216
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1217
 
        ROM_LOAD( "a47_03.12d",   0x0000,  0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) )
1218
 
 
1219
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1220
 
        ROM_LOAD( "a47_05.6f",   0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) )  /* Chars */
1221
 
        ROM_LOAD( "a47_04.6g",   0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) )
1222
 
 
1223
 
        ROM_REGION( 0x10000, "gfx2", 0 )
1224
 
        ROM_LOAD( "a47_09.4m",   0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) )  /* Tiles */
1225
 
        ROM_LOAD( "a47_08.6m",   0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) )
1226
 
        ROM_LOAD( "a47_07.6n",   0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) )
1227
 
        ROM_LOAD( "a47_06.6p",   0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) )
1228
 
 
1229
 
        ROM_REGION( 0x10000, "gfx3", 0 )
1230
 
        ROM_LOAD( "a47_13.8j",   0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) )  /* Sprites */
1231
 
        ROM_LOAD( "a47_12.6j",   0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) )
1232
 
        ROM_LOAD( "a47_11.8h",   0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) )
1233
 
        ROM_LOAD( "a47_10.6h",   0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) )
1234
 
 
1235
 
        ROM_REGION( 0x0300, "proms", 0 )
1236
 
        ROM_LOAD( "82s129.12q",   0x0000,  0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) )
1237
 
        ROM_LOAD( "82s129.12m",   0x0100,  0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) )
1238
 
        ROM_LOAD( "82s129.12n",   0x0200,  0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) )
1239
 
ROM_END
1240
 
 
1241
 
ROM_START( tigerhb3 )
1242
 
        ROM_REGION( 0x10000, "maincpu", 0 )
1243
 
        ROM_LOAD( "14",          0x00000, 0x4000, CRC(ca59dd73) SHA1(c07961fcc209ec10ace3830d79c8ccc1cfda9765) )
1244
 
        ROM_LOAD( "13",          0x04000, 0x4000, CRC(38bd54db) SHA1(75e999f606c410d7481bc4d29c4b523d45847649) )
1245
 
        ROM_LOAD( "a47_02.8k",   0x08000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) )
1246
 
 
1247
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1248
 
        ROM_LOAD( "a47_03.12d",   0x0000,  0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) )
1249
 
 
1250
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1251
 
        ROM_LOAD( "a47_05.6f",   0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) )  /* Chars */
1252
 
        ROM_LOAD( "a47_04.6g",   0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) )
1253
 
 
1254
 
        ROM_REGION( 0x10000, "gfx2", 0 )
1255
 
        ROM_LOAD( "a47_09.4m",   0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) )  /* Tiles */
1256
 
        ROM_LOAD( "a47_08.6m",   0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) )
1257
 
        ROM_LOAD( "a47_07.6n",   0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) )
1258
 
        ROM_LOAD( "a47_06.6p",   0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) )
1259
 
 
1260
 
        ROM_REGION( 0x10000, "gfx3", 0 )
1261
 
        ROM_LOAD( "a47_13.8j",   0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) )  /* Sprites */
1262
 
        ROM_LOAD( "a47_12.6j",   0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) )
1263
 
        ROM_LOAD( "a47_11.8h",   0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) )
1264
 
        ROM_LOAD( "a47_10.6h",   0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) )
1265
 
 
1266
 
        ROM_REGION( 0x0300, "proms", 0 )
1267
 
        ROM_LOAD( "82s129.12q",   0x0000,  0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) )
1268
 
        ROM_LOAD( "82s129.12m",   0x0100,  0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) )
1269
 
        ROM_LOAD( "82s129.12n",   0x0200,  0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) )
1270
 
ROM_END
1271
 
 
1272
 
/*
1273
 
 
1274
 
Slap Fight/Alcon
1275
 
1986 Taito Corporation
1276
 
 
1277
 
Slap Fight and Alcon are the same PCBs exactly, with just 4 ROMs changed. The same MCU is
1278
 
common to Slap Fight and Alcon. There is an alternate "A76" version of Slap Fight with it's
1279
 
own unique MCU code.
1280
 
 
1281
 
PCB Layouts - Top Board
1282
 
-----------------------
1283
 
 
1284
 
Alcon -        M6100186A
1285
 
               860100714
1286
 
 
1287
 
Slap Fight -   M6100179A
1288
 
               860090333
1289
 
 
1290
 
 
1291
 
8606S MADE IN JAPAN
1292
 
|--------------------------------------------------|
1293
 
|VOL ROM21.12Q                 2148                |
1294
 
|MB3730                        2148                |
1295
 
|    ROM19.12P                 2148                |
1296
 
|                              2148                |
1297
 
|    ROM20.12M                         6264        |
1298
 
|                                                  |
1299
 
|                                      6264        |
1300
 
|                                                  |
1301
 
|J                 A77_12.8J A77_11.6J 6264        |
1302
 
|A    AY3-8910                                     |
1303
 
|M                 A77_10.8H A77_09.6H 6264        |
1304
 
|M    DSW1  DSW2                                   |
1305
 
|A                                       2148      |
1306
 
|     AY3-8910                                     |
1307
 
|                                          ROM16.1E|
1308
 
|                                                  |
1309
 
|  A77_02.12D                              ROM17.1C|
1310
 
|                                                  |
1311
 
|                                     ROM18.2B     |
1312
 
|  Z80A   2016                                     |
1313
 
|                                                  |
1314
 
|-----|----------|--------------|----------|-------|
1315
 
      |----------|              |----------|
1316
 
Notes:
1317
 
      AY3-8910 clock - 1.500MHz (36/24)
1318
 
      Z80A clock - 3.000MHz (36/12)
1319
 
      VSync - 57Hz
1320
 
      HSync - 14.97kHz
1321
 
      A77_02 - 2764 EPROM
1322
 
      A77_09 to A77_12 - 27256 EPROM
1323
 
      ROM18 - 18S030 PROM
1324
 
      ROM16, ROM17, ROM19, ROM20, ROM21 - 82S129 PROM
1325
 
 
1326
 
 
1327
 
Bottom Board
1328
 
------------
1329
 
 
1330
 
8606M MADE IN JAPAN
1331
 
|--------------------------------------------------|
1332
 
|                        A77_13.6A                 |
1333
 
|                                                  |
1334
 
|    ROM14.2C                          ROM15.8B    |
1335
 
|                                                  |
1336
 
|                                                  |
1337
 
|              2016      A77_04.6F                 |
1338
 
|                                           36MHz  |
1339
 
|              2016      A77_03.6G                 |
1340
 
|                                                  |
1341
 
|                                                  |
1342
 
|                                                  |
1343
 
|                                                  |
1344
 
|                                                  |
1345
 
|                        A77_08.6K                 |
1346
 
|                                                  |
1347
 
|                        A77_07.6M         2016    |
1348
 
|     2016                                         |
1349
 
|              2016      A77_06.6N       A77_01.8N |
1350
 
|                                                  |
1351
 
|              2016      A77_05.6P       A77_00.8P |
1352
 
|                                           Z80B   |
1353
 
|-----|----------|--------------|----------|-------|
1354
 
      |----------|              |----------|
1355
 
Notes:
1356
 
      Z80B clock - 6.000MHz (36/6)
1357
 
      ROM14, ROM15 - 82S129 PROM
1358
 
      A77_00, A77_01 - 27256 EPROM (replace with A77_00-1, A77_01-1 on Alcon)
1359
 
      A77_05 to A77_08 - 27256 EPROM
1360
 
      A77_03, A77_04 - 2764 EPROM (replace with A77_03-1, A77_04-1 on Alcon)
1361
 
      A77_13 - Motorola MC68705P5S Micro-Controller (protected). Clock 3.000MHz
1362
 
*/
1363
 
 
1364
 
ROM_START( alcon )
1365
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1366
 
        ROM_LOAD( "a77_00-1.8p", 0x00000, 0x8000, CRC(2ba82d60) SHA1(b37659aa18a3f96a3cc7fa93db2439f36487b8c8) )
1367
 
        ROM_LOAD( "a77_01-1.8n", 0x10000, 0x8000, CRC(18bb2f12) SHA1(7c16d4bbb8b5e22f227aff170e5e6326c5968968) )        /* banked at 8000 */
1368
 
 
1369
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1370
 
        ROM_LOAD( "a77_02.12d",   0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1371
 
 
1372
 
        ROM_REGION( 0x0800, "mcu", 0 )
1373
 
        ROM_LOAD( "a77_13.6a", 0x0000,  0x0800, CRC(a70c81d9) SHA1(f155ffd25a946b0459216a8f80ded16e6e2f9258) )
1374
 
 
1375
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1376
 
        ROM_LOAD( "a77_04-1.6f", 0x00000, 0x2000, CRC(31003483) SHA1(7014ceb6313ac5a3d2dcb735643dfd8bfabaa185) )  /* Chars */
1377
 
        ROM_LOAD( "a77_03-1.6g", 0x02000, 0x2000, CRC(404152c0) SHA1(d05bc9baa1f336475fffc2f19f1018e9f0547f10) )
1378
 
 
1379
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1380
 
        ROM_LOAD( "a77_08.6k", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1381
 
        ROM_LOAD( "a77_07.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1382
 
        ROM_LOAD( "a77_06.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1383
 
        ROM_LOAD( "a77_05.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1384
 
 
1385
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1386
 
        ROM_LOAD( "a77_12.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1387
 
        ROM_LOAD( "a77_11.7j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1388
 
        ROM_LOAD( "a77_10.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1389
 
        ROM_LOAD( "a77_09.7h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1390
 
 
1391
 
 
1392
 
        ROM_REGION( 0x0300, "proms", 0 )
1393
 
        ROM_LOAD( "21_82s129.12q", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* Silkscreened as ROM21 */
1394
 
        ROM_LOAD( "20_82s129.12m", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* Silkscreened as ROM20 */
1395
 
        ROM_LOAD( "19_82s129.12n", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* Silkscreened as ROM19 */
1396
 
ROM_END
1397
 
 
1398
 
ROM_START( slapfigh )
1399
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1400
 
        ROM_LOAD( "a77_00.8p", 0x00000, 0x8000, CRC(674c0e0f) SHA1(69fc17881c89cc5e82b0fefec49c4116054f9e3b) )
1401
 
        ROM_LOAD( "a77_01.8n", 0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) )  /* banked at 8000 */
1402
 
 
1403
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1404
 
        ROM_LOAD( "a77_02.12d",   0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1405
 
 
1406
 
        ROM_REGION( 0x0800, "mcu", 0 )  /* 2k for the microcontroller */
1407
 
        ROM_LOAD( "a77_13.6a", 0x0000,  0x0800, CRC(a70c81d9) SHA1(f155ffd25a946b0459216a8f80ded16e6e2f9258) )
1408
 
 
1409
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1410
 
        ROM_LOAD( "a77_04.6f",   0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) )  /* Chars */
1411
 
        ROM_LOAD( "a77_03.6g",   0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) )
1412
 
 
1413
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1414
 
        ROM_LOAD( "a77_08.6k", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1415
 
        ROM_LOAD( "a77_07.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1416
 
        ROM_LOAD( "a77_06.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1417
 
        ROM_LOAD( "a77_05.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1418
 
 
1419
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1420
 
        ROM_LOAD( "a77_12.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1421
 
        ROM_LOAD( "a77_11.7j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1422
 
        ROM_LOAD( "a77_10.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1423
 
        ROM_LOAD( "a77_09.7h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1424
 
 
1425
 
        ROM_REGION( 0x0300, "proms", 0 )
1426
 
        ROM_LOAD( "21_82s129.12q", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* Silkscreened as ROM21 */
1427
 
        ROM_LOAD( "20_82s129.12m", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* Silkscreened as ROM20 */
1428
 
        ROM_LOAD( "19_82s129.12n", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* Silkscreened as ROM19 */
1429
 
ROM_END
1430
 
 
1431
 
/*
1432
 
 
1433
 
This set comes from a different type of board with unique Taito ID code of "A76"
1434
 
PCBs are labeled GX-006-A & GX-006-B  It has a 22pin edge connector and closely
1435
 
resembles the Tigher Heli PCB (shown above) with rom placement and components.
1436
 
 
1437
 
*/
1438
 
 
1439
 
ROM_START( slapfigha )
1440
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1441
 
        ROM_LOAD( "a76_00.8p",   0x00000, 0x4000, CRC(ac22bb86) SHA1(3ecff006fc487d494f21adb7bff6f8c56eb5d707) )
1442
 
        ROM_LOAD( "a76_01.8n",   0x04000, 0x4000, CRC(d6b4f02e) SHA1(37f840c444ba7dcc75810580c9da83289670d5cc) )
1443
 
        ROM_LOAD( "a76_02.8k",   0x10000, 0x8000, CRC(9dd0971f) SHA1(92bd0b54635bf5c4118a53e0f897c65f5eb2984a) )        /* banked at 8000 */
1444
 
 
1445
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1446
 
        ROM_LOAD( "a76_03.12d",   0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1447
 
 
1448
 
        ROM_REGION( 0x0800, "mcu", 0 )
1449
 
        ROM_LOAD( "a76_14.6a",    0x0000,  0x0800, NO_DUMP ) /* A77 MCU not compatible with this set */
1450
 
 
1451
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1452
 
        ROM_LOAD( "a76_05.6f",   0x00000, 0x2000, CRC(be9a1bc5) SHA1(2fabfd42cd49db67654eac824c9852ed368a6e50) )  /* Chars */
1453
 
        ROM_LOAD( "a76_04.6g",   0x02000, 0x2000, CRC(3519daa4) SHA1(ab77cc1bfe7c394d1a90a4c50d5d4a98158eb86d) )
1454
 
 
1455
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1456
 
        ROM_LOAD( "a76_09.4m", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1457
 
        ROM_LOAD( "a76_08.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1458
 
        ROM_LOAD( "a76_07.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1459
 
        ROM_LOAD( "a76_06.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1460
 
 
1461
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1462
 
        ROM_LOAD( "a76_13.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1463
 
        ROM_LOAD( "a76_12.6j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1464
 
        ROM_LOAD( "a76_11.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1465
 
        ROM_LOAD( "a76_10.6h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1466
 
 
1467
 
        ROM_REGION( 0x0300, "proms", 0 )
1468
 
        ROM_LOAD( "a76-17.12q", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* 82S129 Biploar PROM, Silkscreened as ROM21 */
1469
 
        ROM_LOAD( "a76-15.12m", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* 82S129 Biploar PROM, Silkscreened as ROM20 */
1470
 
        ROM_LOAD( "a76-16.12n", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* 82S129 Biploar PROM, Silkscreened as ROM19 */
1471
 
ROM_END
1472
 
 
1473
 
/*
1474
 
PCB Details from slapfighb1 boardset:
1475
 
 
1476
 
Upper PCB (Sound board)
1477
 
---------
1478
 
Z80A CPU
1479
 
Toshiba TMM2016BP-10 (2KB SRAM)
1480
 
sf_s05 (Fujitsu MBM2764-25 8KB EPROM) - Sound CPU Code
1481
 
 
1482
 
Yamaha YM2149F (Qty 2 - Pin compatible with AY-3-8190)
1483
 
Hitachi SRAM - HM6464 (8KB - Qty 4)
1484
 
 
1485
 
sf_s01 (OKI M27256-N 32KB PROM)              Sprite Data (16x16 4bpp)
1486
 
sf_s02 (OKI M27256-N 32KB PROM)              Sprite Data
1487
 
sf_s03 (OKI M27256-N 32KB PROM)              Sprite Data
1488
 
sf_s04 (OKI M27256-N 32KB PROM)              Sprite Data
1489
 
 
1490
 
 
1491
 
Lower PCB
1492
 
---------
1493
 
Z80B CPU
1494
 
12MHz Xtal
1495
 
Toshiba TMM2016BP-10 (2KB SRAM - Total Qty 6 = 2+2+1+1)
1496
 
 
1497
 
sf_s10 (Fujitsu MBM2764-25 8KB EPROM)        Font/Character Data (8x8 2bpp)
1498
 
sf_s11 (Fujitsu MBM2764-25 8KB EPROM)
1499
 
 
1500
 
sf_s06 (OKI M27256-N 32KB PROM)              Tile Data (8x8 4bpp)
1501
 
sf_s07 (OKI M27256-N 32KB PROM)              Tile Data
1502
 
sf_s08 (OKI M27256-N 32KB PROM)              Tile Data
1503
 
sf_s09 (OKI M27256-N 32KB PROM)              Tile Data
1504
 
 
1505
 
sf_s16 (Fujitsu MBM2764-25 8KB EPROM)        Colour Tables (512B used?)
1506
 
 
1507
 
sf_sH  (OKI M27256-N 32KB PROM)              Level Maps ???
1508
 
 
1509
 
sf_s19 (NEC S27128 16KB EPROM)               CPU Code $0000-$3fff
1510
 
sf_s20 (Mitsubishi M5L27128K 16KB EPROM)     CPU Code $4000-$7fff
1511
 
*/
1512
 
 
1513
 
ROM_START( slapfighb1 )
1514
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1515
 
        ROM_LOAD( "sf_r19jb.bin", 0x00000, 0x8000, CRC(9a7ac8b3) SHA1(01fbad9b4fc80f2406eff18db20e196e212d0c17) )
1516
 
        ROM_LOAD( "sf_rh.bin",    0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) )       /* banked at 8000 */
1517
 
 
1518
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1519
 
        ROM_LOAD( "sf_r05.bin",   0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1520
 
 
1521
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1522
 
        ROM_LOAD( "sf_r11.bin",   0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) )  /* Chars */
1523
 
        ROM_LOAD( "sf_r10.bin",   0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) )
1524
 
 
1525
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1526
 
        ROM_LOAD( "sf_r06.bin",   0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1527
 
        ROM_LOAD( "sf_r09.bin",   0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1528
 
        ROM_LOAD( "sf_r08.bin",   0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1529
 
        ROM_LOAD( "sf_r07.bin",   0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1530
 
 
1531
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1532
 
        ROM_LOAD( "sf_r03.bin",   0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1533
 
        ROM_LOAD( "sf_r01.bin",   0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1534
 
        ROM_LOAD( "sf_r04.bin",   0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1535
 
        ROM_LOAD( "sf_r02.bin",   0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1536
 
 
1537
 
        ROM_REGION( 0x0300, "proms", 0 )
1538
 
        ROM_LOAD( "sf_col21.bin", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) )
1539
 
        ROM_LOAD( "sf_col20.bin", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) )
1540
 
        ROM_LOAD( "sf_col19.bin", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) )
1541
 
ROM_END
1542
 
 
1543
 
ROM_START( slapfighb2 )
1544
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1545
 
        ROM_LOAD( "sf_r19eb.bin", 0x00000, 0x4000, CRC(2efe47af) SHA1(69ce3e83a0d8fa5ee4737c741d31cf32db6b9919) )
1546
 
        ROM_LOAD( "sf_r20eb.bin", 0x04000, 0x4000, CRC(f42c7951) SHA1(d76e7a72f6ced67b550ba68cd42987f7111f5468) )
1547
 
        ROM_LOAD( "sf_rh.bin",    0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) )       /* banked at 8000 */
1548
 
 
1549
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1550
 
        ROM_LOAD( "sf_r05.bin",   0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1551
 
 
1552
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1553
 
        ROM_LOAD( "sf_r11.bin",   0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) )  /* Chars */
1554
 
        ROM_LOAD( "sf_r10.bin",   0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) )
1555
 
 
1556
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1557
 
        ROM_LOAD( "sf_r06.bin",   0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1558
 
        ROM_LOAD( "sf_r09.bin",   0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1559
 
        ROM_LOAD( "sf_r08.bin",   0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1560
 
        ROM_LOAD( "sf_r07.bin",   0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1561
 
 
1562
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1563
 
        ROM_LOAD( "sf_r03.bin",   0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1564
 
        ROM_LOAD( "sf_r01.bin",   0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1565
 
        ROM_LOAD( "sf_r04.bin",   0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1566
 
        ROM_LOAD( "sf_r02.bin",   0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1567
 
 
1568
 
        ROM_REGION( 0x0300, "proms", 0 )
1569
 
        ROM_LOAD( "sf_col21.bin", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) )
1570
 
        ROM_LOAD( "sf_col20.bin", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) )
1571
 
        ROM_LOAD( "sf_col19.bin", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) )
1572
 
ROM_END
1573
 
 
1574
 
/* very similar to slapfighb2, is slapfighb2 missing the logo rom? */
1575
 
ROM_START( slapfighb3 )
1576
 
        ROM_REGION( 0x18000, "maincpu", 0 )
1577
 
        ROM_LOAD( "k1-10.u90",    0x00000, 0x4000, CRC(2efe47af) SHA1(69ce3e83a0d8fa5ee4737c741d31cf32db6b9919) )
1578
 
        ROM_LOAD( "k1-09.u89",    0x04000, 0x4000, CRC(17c187c5) SHA1(6e1fd651f56036d1c6c830de8479df25fc182c10) )
1579
 
        ROM_LOAD( "k1-08.u88",    0x0e000, 0x2000, CRC(945af97f) SHA1(4d901be477b6101338eb1d86497e1bdc57f9c1b4) ) // contains another copy of the logo tilemap read at ec00!
1580
 
        ROM_LOAD( "k1-07.u87",    0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) )       /* banked at 8000 */
1581
 
 
1582
 
        ROM_REGION( 0x10000, "audiocpu", 0 )
1583
 
        ROM_LOAD( "k1-11.u89",    0x0000,  0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) )
1584
 
 
1585
 
        ROM_REGION( 0x04000, "gfx1", 0 )
1586
 
        ROM_LOAD( "k1-02.u57",    0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) )  /* Chars */
1587
 
        ROM_LOAD( "k1-03.u58",    0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) )
1588
 
 
1589
 
        ROM_REGION( 0x20000, "gfx2", 0 )
1590
 
        ROM_LOAD( "k1-01.u49",    0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) )  /* Tiles */
1591
 
        ROM_LOAD( "k1-04.u62",    0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) )
1592
 
        ROM_LOAD( "k1-05.u63",    0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) )
1593
 
        ROM_LOAD( "k1-06.u64",    0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) )
1594
 
 
1595
 
        ROM_REGION( 0x20000, "gfx3", 0 )
1596
 
        ROM_LOAD( "k1-15.u60",    0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) )  /* Sprites */
1597
 
        ROM_LOAD( "k1-13.u50",    0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) )
1598
 
        ROM_LOAD( "k1-14.u59",    0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) )
1599
 
        ROM_LOAD( "k1-12.u49",    0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) )
1600
 
 
1601
 
        ROM_REGION( 0x0300, "proms", 0 )
1602
 
        ROM_LOAD( "sf_col21.bin", 0x0000,  0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) )
1603
 
        ROM_LOAD( "sf_col20.bin", 0x0100,  0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) )
1604
 
        ROM_LOAD( "sf_col19.bin", 0x0200,  0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) )
1605
 
ROM_END
1606
 
 
1607
 
ROM_START( getstar )
1608
 
        ROM_REGION( 0x18000, "maincpu", 0 )             /* Region 0 - main cpu code */
1609
 
        ROM_LOAD( "a68_00-1",     0x00000, 0x4000, CRC(6a8bdc6c) SHA1(c923bca539bd2eb9a34cb9c7a67a199e28bc081a) )
1610
 
        ROM_LOAD( "a68_01-1",     0x04000, 0x4000, CRC(ebe8db3c) SHA1(9046d6e63c33fc9cbd48b90dcbcc0badf1d3b9ba) )
1611
 
        ROM_LOAD( "a68_02-1",     0x10000, 0x8000, CRC(343e8415) SHA1(00b98055277a0ddfb7d0bda6537df10a4049533e) )
1612
 
 
1613
 
        ROM_REGION( 0x10000, "audiocpu", 0 )            /* Region 3 - sound cpu code */
1614
 
        ROM_LOAD( "a68-03",       0x0000,  0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) )
1615
 
 
1616
 
        ROM_REGION( 0x0800, "mcu", 0 )  /* 2k for the microcontroller */
1617
 
        ROM_LOAD( "a68_14",    0x0000,  0x0800, NO_DUMP )
1618
 
 
1619
 
        ROM_REGION( 0x04000, "gfx1", 0 )        /* Region 1 - temporary for gfx */
1620
 
        ROM_LOAD( "a68_05-1",     0x00000, 0x2000, CRC(06f60107) SHA1(c5dcf0c7a5863ea960ee747d2d7ec7ac8bb7d3af) )  /* Chars */
1621
 
        ROM_LOAD( "a68_04-1",     0x02000, 0x2000, CRC(1fc8f277) SHA1(59dc1a0fad23b1e98abca3d0b1685b9d2939b059) )
1622
 
 
1623
 
        ROM_REGION( 0x20000, "gfx2", 0 )        /* Region 1 - temporary for gfx */
1624
 
        ROM_LOAD( "a68_09",       0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) )  /* Tiles */
1625
 
        ROM_LOAD( "a68_08",       0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) )
1626
 
        ROM_LOAD( "a68_07",       0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) )
1627
 
        ROM_LOAD( "a68_06",       0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) )
1628
 
 
1629
 
        ROM_REGION( 0x20000, "gfx3", 0 )        /* Region 1 - temporary for gfx */
1630
 
        ROM_LOAD( "a68-13",       0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) )  /* Sprites */
1631
 
        ROM_LOAD( "a68-12",       0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) )
1632
 
        ROM_LOAD( "a68-11",       0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) )
1633
 
        ROM_LOAD( "a68-10",       0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) )
1634
 
 
1635
 
        ROM_REGION( 0x0300, "proms", 0 )
1636
 
        ROM_LOAD( "rom21",        0x0000,  0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) )
1637
 
        ROM_LOAD( "rom20",        0x0100,  0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) )
1638
 
        ROM_LOAD( "rom19",        0x0200,  0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) )
1639
 
ROM_END
1640
 
 
1641
 
ROM_START( getstarj )
1642
 
        ROM_REGION( 0x18000, "maincpu", 0 )             /* Region 0 - main cpu code */
1643
 
        ROM_LOAD( "a68_00.bin",   0x00000, 0x4000, CRC(ad1a0143) SHA1(0d9adeb12bd4d5ad11e5bada0cd7498bc565c1db) )
1644
 
        ROM_LOAD( "a68_01.bin",   0x04000, 0x4000, CRC(3426eb7c) SHA1(e91db45a650a1bfefd7c12c7553b647bc916c7c8) )
1645
 
        ROM_LOAD( "a68_02.bin",   0x10000, 0x8000, CRC(3567da17) SHA1(29d698606d0bd30abfc3171d79bfad95b0de89fc) )
1646
 
 
1647
 
        ROM_REGION( 0x10000, "audiocpu", 0 )            /* Region 3 - sound cpu code */
1648
 
        ROM_LOAD( "a68-03",       0x00000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) )
1649
 
 
1650
 
        ROM_REGION( 0x0800, "mcu", 0 )  /* 2k for the microcontroller */
1651
 
        ROM_LOAD( "68705.bin",    0x0000,  0x0800, NO_DUMP )
1652
 
 
1653
 
        ROM_REGION( 0x04000, "gfx1", 0 )        /* Region 1 - temporary for gfx */
1654
 
        ROM_LOAD( "a68_05.bin",   0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) )  /* Chars */
1655
 
        ROM_LOAD( "a68_04.bin",   0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) )
1656
 
 
1657
 
        ROM_REGION( 0x20000, "gfx2", 0 )        /* Region 1 - temporary for gfx */
1658
 
        ROM_LOAD( "a68_09",       0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) )  /* Tiles */
1659
 
        ROM_LOAD( "a68_08",       0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) )
1660
 
        ROM_LOAD( "a68_07",       0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) )
1661
 
        ROM_LOAD( "a68_06",       0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) )
1662
 
 
1663
 
        ROM_REGION( 0x20000, "gfx3", 0 )        /* Region 1 - temporary for gfx */
1664
 
        ROM_LOAD( "a68-13",       0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) )  /* Sprites */
1665
 
        ROM_LOAD( "a68-12",       0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) )
1666
 
        ROM_LOAD( "a68-11",       0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) )
1667
 
        ROM_LOAD( "a68-10",       0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) )
1668
 
 
1669
 
        ROM_REGION( 0x0300, "proms", 0 )
1670
 
        ROM_LOAD( "rom21",        0x0000,  0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) )
1671
 
        ROM_LOAD( "rom20",        0x0100,  0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) )
1672
 
        ROM_LOAD( "rom19",        0x0200,  0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) )
1673
 
ROM_END
1674
 
 
1675
 
ROM_START( gtstarb1 )
1676
 
        ROM_REGION( 0x18000, "maincpu", 0 )             /* Region 0 - main cpu code */
1677
 
        ROM_LOAD( "gs_rb_1.bin",  0x00000, 0x4000, CRC(9afad7e0) SHA1(6b2e82a6b7fcbfed5f4d250959ecc571fdf0cbc2) )
1678
 
        ROM_LOAD( "gs_rb_2.bin",  0x04000, 0x4000, CRC(5feb0a60) SHA1(b1300055180ddf6ca96475eb3a27a17722273fc6) )
1679
 
        ROM_LOAD( "gs_rb_3.bin",  0x10000, 0x8000, CRC(e3cfb1ba) SHA1(bd21655c82a14e18ff9df4539c4d0bb2484c73f1) )
1680
 
 
1681
 
        ROM_REGION( 0x10000, "audiocpu", 0 )            /* Region 3 - sound cpu code */
1682
 
        ROM_LOAD( "a68-03",       0x00000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) )
1683
 
 
1684
 
        ROM_REGION( 0x04000, "gfx1", 0 )        /* Region 1 - temporary for gfx */
1685
 
        /* these roms were in the set, but they're corrupt */
1686
 
//  ROM_LOAD( "gs_rb_8.bin",  0x00000, 0x2000, CRC(a30aaf04) SHA1(2509554c3851a68eaec1cadc01f4d69c7aa2c09d) )  /* Chars */
1687
 
//  ROM_LOAD( "gs_rb_7.bin",  0x02000, 0x2000, CRC(f47a93c6) SHA1(441fee1fb195bb2583d220f30dfcff617a31742a) )
1688
 
        /* use the original roms instead */
1689
 
        ROM_LOAD( "a68_05.bin",   0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) )  /* Chars */
1690
 
        ROM_LOAD( "a68_04.bin",   0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) )
1691
 
 
1692
 
 
1693
 
        ROM_REGION( 0x20000, "gfx2", 0 )        /* Region 1 - temporary for gfx */
1694
 
        ROM_LOAD( "a68_09",       0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) )  /* Tiles */
1695
 
        ROM_LOAD( "a68_08",       0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) )
1696
 
        ROM_LOAD( "a68_07",       0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) )
1697
 
        ROM_LOAD( "a68_06",       0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) )
1698
 
 
1699
 
        ROM_REGION( 0x20000, "gfx3", 0 )        /* Region 1 - temporary for gfx */
1700
 
        ROM_LOAD( "a68-13",       0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) )  /* Sprites */
1701
 
        ROM_LOAD( "a68-12",       0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) )
1702
 
        ROM_LOAD( "a68-11",       0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) )
1703
 
        ROM_LOAD( "a68-10",       0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) )
1704
 
 
1705
 
        ROM_REGION( 0x0300, "proms", 0 )
1706
 
        ROM_LOAD( "rom21",        0x0000,  0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) )
1707
 
        ROM_LOAD( "rom20",        0x0100,  0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) )
1708
 
        ROM_LOAD( "rom19",        0x0200,  0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) )
1709
 
ROM_END
1710
 
 
1711
 
ROM_START( gtstarb2 )
1712
 
        ROM_REGION( 0x18000, "maincpu", 0 )             /* Region 0 - main cpu code */
1713
 
        ROM_LOAD( "gs_14.rom",    0x00000, 0x4000, CRC(1a57a920) SHA1(b1e9d5b29c0e3632eec3ad1ee51bf3392e4b816d) )
1714
 
        ROM_LOAD( "gs_13.rom",    0x04000, 0x4000, CRC(805f8e77) SHA1(c3ad6eae842d2d10f716998d5a803038fa7b338f) )
1715
 
        ROM_LOAD( "a68_02.bin",   0x10000, 0x8000, CRC(3567da17) SHA1(29d698606d0bd30abfc3171d79bfad95b0de89fc) )
1716
 
 
1717
 
        ROM_REGION( 0x10000, "audiocpu", 0 )            /* Region 3 - sound cpu code */
1718
 
        ROM_LOAD( "a68-03",       0x0000,  0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) )
1719
 
 
1720
 
        ROM_REGION( 0x04000, "gfx1", 0 )        /* Region 1 - temporary for gfx */
1721
 
        ROM_LOAD( "a68_05.bin",   0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) )  /* Chars */
1722
 
        ROM_LOAD( "a68_04.bin",   0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) )
1723
 
 
1724
 
        ROM_REGION( 0x20000, "gfx2", 0 )        /* Region 1 - temporary for gfx */
1725
 
        ROM_LOAD( "a68_09",       0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) )  /* Tiles */
1726
 
        ROM_LOAD( "a68_08",       0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) )
1727
 
        ROM_LOAD( "a68_07",       0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) )
1728
 
        ROM_LOAD( "a68_06",       0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) )
1729
 
 
1730
 
        ROM_REGION( 0x20000, "gfx3", 0 )        /* Region 1 - temporary for gfx */
1731
 
        ROM_LOAD( "a68-13",       0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) )  /* Sprites */
1732
 
        ROM_LOAD( "a68-12",       0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) )
1733
 
        ROM_LOAD( "a68-11",       0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) )
1734
 
        ROM_LOAD( "a68-10",       0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) )
1735
 
 
1736
 
        ROM_REGION( 0x0300, "proms", 0 )
1737
 
        ROM_LOAD( "rom21",        0x0000,  0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) )
1738
 
        ROM_LOAD( "rom20",        0x0100,  0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) )
1739
 
        ROM_LOAD( "rom19",        0x0200,  0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) )
1740
 
ROM_END
1741
 
 
1742
 
 
1743
 
static DRIVER_INIT( tigerh )
1744
 
{
1745
 
        machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe803, 0xe803, FUNC(tigerh_mcu_r), FUNC(tigerh_mcu_w)  );
1746
 
}
1747
 
 
1748
 
static DRIVER_INIT( tigerhb )
1749
 
{
1750
 
        machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe803, 0xe803, FUNC(tigerhb_e803_r), FUNC(tigerhb_e803_w)  );
1751
 
}
1752
 
 
1753
 
 
1754
 
static READ8_HANDLER( gtstarb1_port_0_read )
1755
 
{
1756
 
        /* The bootleg has it's own 'protection' on startup ?
1757
 
        6D1A: 06 04         ld   b,$04
1758
 
        6D1C: DB 00         in   a,($00)
1759
 
        6D1E: E6 06         and  $06
1760
 
        6D20: 20 FA         jr   nz,$6D1C
1761
 
        6D22: DB 00         in   a,($00)
1762
 
        6D24: E6 06         and  $06
1763
 
        6D26: FE 06         cp   $06
1764
 
        6D28: 20 F8         jr   nz,$6D22
1765
 
        6D2A: DB 00         in   a,($00)
1766
 
        6D2C: E6 06         and  $06
1767
 
        6D2E: FE 02         cp   $02
1768
 
        6D30: 20 F8         jr   nz,$6D2A
1769
 
        6D32: DB 00         in   a,($00)
1770
 
        6D34: E6 06         and  $06
1771
 
        6D36: FE 04         cp   $04
1772
 
        6D38: 20 F8         jr   nz,$6D32
1773
 
        6D3A: 10 E0         djnz $6D1C
1774
 
    */
1775
 
        if (cpu_get_pc(&space->device()) == 0x6d1e) return 0;
1776
 
        if (cpu_get_pc(&space->device()) == 0x6d24) return 6;
1777
 
        if (cpu_get_pc(&space->device()) == 0x6d2c) return 2;
1778
 
        if (cpu_get_pc(&space->device()) == 0x6d34) return 4;
1779
 
 
1780
 
        /* The bootleg hangs in the "test mode" before diplaying (wrong) lives settings :
1781
 
        6AD4: DB 00         in   a,($00)
1782
 
        6AD6: CB 4F         bit  1,a
1783
 
        6AD8: 28 FA         jr   z,$6AD4
1784
 
        6ADA: 3E 23         ld   a,$23
1785
 
        6ADC: CD 52 11      call $1152
1786
 
        6ADF: 32 03 E8      ld   ($E803),a
1787
 
        6AE2: DB 00         in   a,($00)
1788
 
        6AE4: CB 4F         bit  1,a
1789
 
        6AE6: 28 FA         jr   z,$6AE2
1790
 
        6AE8: 3A 0A C8      ld   a,($C80A)
1791
 
        6AEB: E6 03         and  $03
1792
 
        6AED: CD 52 11      call $1152
1793
 
        6AF0: 32 03 E8      ld   ($E803),a
1794
 
        6AF3: DB 00         in   a,($00)
1795
 
        6AF5: CB 57         bit  2,a
1796
 
        6AF7: 20 FA         jr   nz,$6AF3
1797
 
       This seems to be what used to be the MCU status.
1798
 
    */
1799
 
        if (cpu_get_pc(&space->device()) == 0x6ad6) return 2; /* bit 1 must be ON */
1800
 
        if (cpu_get_pc(&space->device()) == 0x6ae4) return 2; /* bit 1 must be ON */
1801
 
        if (cpu_get_pc(&space->device()) == 0x6af5) return 0; /* bit 2 must be OFF */
1802
 
 
1803
 
        logerror("Port Read PC=%04x\n",cpu_get_pc(&space->device()));
1804
 
 
1805
 
        return 0;
1806
 
}
1807
 
 
1808
 
static void getstar_init( running_machine &machine )
1809
 
{
1810
 
        machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe803, 0xe803, FUNC(getstar_e803_r), FUNC(getstar_e803_w) );
1811
 
        machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x00, 0x00, FUNC(slapfight_port_00_r) );
1812
 
}
1813
 
 
1814
 
static DRIVER_INIT( getstar )
1815
 
{
1816
 
        slapfght_state *state = machine.driver_data<slapfght_state>();
1817
 
        state->m_getstar_id = GETSTAR;
1818
 
        getstar_init(machine);
1819
 
}
1820
 
 
1821
 
static DRIVER_INIT( getstarj )
1822
 
{
1823
 
        slapfght_state *state = machine.driver_data<slapfght_state>();
1824
 
        state->m_getstar_id = GETSTARJ;
1825
 
        getstar_init(machine);
1826
 
}
1827
 
 
1828
 
static DRIVER_INIT( gtstarb1 )
1829
 
{
1830
 
        slapfght_state *state = machine.driver_data<slapfght_state>();
1831
 
        UINT8 *ROM = machine.region("maincpu")->base();
1832
 
 
1833
 
        state->m_getstar_id = GTSTARB1;
1834
 
        getstar_init(machine);
1835
 
 
1836
 
        /* specific handlers for this bootleg */
1837
 
        machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x0, 0x0, FUNC(gtstarb1_port_0_read) );
1838
 
        /* requires this or it gets stuck with 'rom test' on screen */
1839
 
        /* it is possible the program roms are slighly corrupt like the gfx roms, or
1840
 
       that the bootleg simply shouldn't execute the code due to the modified roms */
1841
 
        /* TODO: find & fix the cause of the following happening. */
1842
 
        ROM[0x6d56] = 0xc3; //jp instead of jp z
1843
 
}
1844
 
 
1845
 
static DRIVER_INIT( gtstarb2 )
1846
 
{
1847
 
        slapfght_state *state = machine.driver_data<slapfght_state>();
1848
 
        state->m_getstar_id = GTSTARB2;
1849
 
        getstar_init(machine);
1850
 
}
1851
 
 
1852
 
static DRIVER_INIT( slapfigh )
1853
 
{
1854
 
        machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe803, 0xe803, FUNC(slapfight_mcu_r), FUNC(slapfight_mcu_w) );
1855
 
        machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x00, 0x00, FUNC(slapfight_mcu_status_r) );
1856
 
}
1857
 
 
1858
 
static DRIVER_INIT( perfrman )
1859
 
{
1860
 
        machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x00, 0x00, FUNC(perfrman_port_00_r) );
1861
 
}
1862
 
 
1863
 
/*  ( YEAR  NAME        PARENT    MACHINE     INPUT     INIT      MONITOR  COMPANY    FULLNAME     FLAGS ) */
1864
 
GAME( 1985, perfrman,   0,        perfrman,   perfrman, perfrman, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", 0 )
1865
 
GAME( 1985, perfrmanu,  perfrman, perfrman,   perfrman, perfrman, ROT270, "Toaplan / Data East USA",         "Performan (US)", 0 )
1866
 
 
1867
 
GAME( 1985, tigerh,     0,        tigerh,     tigerh,   tigerh,   ROT270, "Toaplan / Taito America Corp.", "Tiger Heli (US)", GAME_NO_COCKTAIL )
1868
 
GAME( 1985, tigerhj,    tigerh,   tigerh,     tigerh,   tigerh,   ROT270, "Toaplan / Taito", "Tiger Heli (Japan)", GAME_NO_COCKTAIL )
1869
 
GAME( 1985, tigerhb1,   tigerh,   tigerhb,    tigerh,   tigerhb,  ROT270, "bootleg", "Tiger Heli (bootleg set 1)", GAME_NO_COCKTAIL )
1870
 
GAME( 1985, tigerhb2,   tigerh,   tigerhb,    tigerh,   0,        ROT270, "bootleg", "Tiger Heli (bootleg set 2)", GAME_NO_COCKTAIL )
1871
 
GAME( 1985, tigerhb3,   tigerh,   tigerhb,    tigerh,   0,        ROT270, "bootleg", "Tiger Heli (bootleg set 3)", GAME_NO_COCKTAIL )
1872
 
 
1873
 
GAME( 1986, alcon,      0,        slapfigh,   slapfigh, slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)",  GAME_NO_COCKTAIL )
1874
 
GAME( 1986, slapfigh,   alcon,    slapfigh,   slapfigh, slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (Japan set 1)", GAME_NO_COCKTAIL )
1875
 
GAME( 1986, slapfigha,  alcon,    slapfigh,   slapfigh, slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (Japan set 2)", GAME_NOT_WORKING | GAME_NO_COCKTAIL ) /* MCU code not dumped */
1876
 
GAME( 1986, slapfighb1, alcon,    slapfighb1, slapfigh, 0,        ROT270, "bootleg", "Slap Fight (bootleg set 1)", GAME_NO_COCKTAIL )
1877
 
GAME( 1986, slapfighb2, alcon,    slapfighb2, slapfigh, 0,        ROT270, "bootleg", "Slap Fight (bootleg set 2)", GAME_NO_COCKTAIL ) // England?
1878
 
GAME( 1986, slapfighb3, alcon,    slapfighb2, slapfigh, 0,        ROT270, "bootleg", "Slap Fight (bootleg set 3)", GAME_NO_COCKTAIL ) // PCB labeled 'slap fighter'
1879
 
 
1880
 
GAME( 1986, getstar,    0,        slapfigh,   getstar,  getstar,  ROT0,   "Toaplan / Taito America Corporation (Kitkorp license)", "Guardian (US)", GAME_NO_COCKTAIL )
1881
 
GAME( 1986, getstarj,   getstar,  slapfigh,   getstarj, getstarj, ROT0,   "Toaplan / Taito", "Get Star (Japan)", GAME_NO_COCKTAIL )
1882
 
GAME( 1986, gtstarb1,   getstar,  slapfighb1, getstarj, gtstarb1, ROT0,   "bootleg", "Get Star (bootleg set 1)", GAME_NO_COCKTAIL )
1883
 
GAME( 1986, gtstarb2,   getstar,  slapfighb1, gtstarb2, gtstarb2, ROT0,   "bootleg", "Get Star (bootleg set 2)", GAME_NO_COCKTAIL )
1884