269
269
#include "includes/slapfght.h"
272
static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8 )
272
static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8, slapfght_state )
273
273
AM_RANGE(0x0000, 0x7fff) AM_ROM
274
274
AM_RANGE(0x8000, 0x87ff) AM_RAM
275
275
AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
276
276
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */
277
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
278
AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
279
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
277
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_SHARE("videoram")
278
AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_SHARE("colorram")
279
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("spriteram")
282
static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8 )
282
static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8, slapfght_state )
283
283
AM_RANGE(0x0000, 0xbfff) AM_ROM
284
284
AM_RANGE(0xc000, 0xc7ff) AM_RAM
285
285
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
286
286
AM_RANGE(0xc810, 0xcfff) AM_RAM
287
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
288
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
289
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
290
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
291
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
292
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
293
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
294
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
287
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_SHARE("videoram")
288
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_SHARE("colorram")
289
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
290
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_SHARE("scrollx_lo")
291
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_SHARE("scrollx_hi")
292
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_SHARE("scrolly")
293
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_SHARE("fixvideoram")
294
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_SHARE("fixcolorram")
297
static ADDRESS_MAP_START( slapfght_map, AS_PROGRAM, 8 )
297
static ADDRESS_MAP_START( slapfght_map, AS_PROGRAM, 8, slapfght_state )
298
298
AM_RANGE(0x0000, 0x7fff) AM_ROM
299
299
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
300
300
AM_RANGE(0xc000, 0xc7ff) AM_RAM
301
301
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
302
302
AM_RANGE(0xc810, 0xcfff) AM_RAM
303
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
304
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
305
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
306
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
307
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
308
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
303
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_SHARE("videoram")
304
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_SHARE("colorram")
305
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
306
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_SHARE("scrollx_lo")
307
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_SHARE("scrollx_hi")
308
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_SHARE("scrolly")
309
309
// AM_RANGE(0xe803, 0xe803) AM_READWRITE(slapfight_mcu_r, slapfight_mcu_w)
310
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
311
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
310
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_SHARE("fixvideoram")
311
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_SHARE("fixcolorram")
314
static ADDRESS_MAP_START( slapfighb2_map, AS_PROGRAM, 8 )
314
static ADDRESS_MAP_START( slapfighb2_map, AS_PROGRAM, 8, slapfght_state )
315
315
AM_RANGE(0x0000, 0x7fff) AM_ROM
316
316
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
317
317
AM_RANGE(0xc000, 0xc7ff) AM_RAM
318
318
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
319
319
AM_RANGE(0xc810, 0xcfff) AM_RAM
320
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
321
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
322
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
323
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
324
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
325
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
320
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_SHARE("videoram")
321
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_SHARE("colorram")
322
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
323
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_SHARE("scrollx_hi")
324
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_SHARE("scrolly")
325
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_SHARE("scrollx_lo")
326
326
AM_RANGE(0xec00, 0xefff) AM_ROM // it reads a copy of the logo from here!
327
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixvideoram)
328
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_fixcolorram)
327
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_SHARE("fixvideoram")
328
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_SHARE("fixcolorram")
331
static ADDRESS_MAP_START( slapfght_io_map, AS_IO, 8 )
331
static ADDRESS_MAP_START( slapfght_io_map, AS_IO, 8, slapfght_state )
332
332
ADDRESS_MAP_GLOBAL_MASK(0xff)
333
333
AM_RANGE(0x00, 0x00) AM_WRITE(slapfight_port_00_w)
334
334
AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
353
353
AM_RANGE(0x0080, 0x07ff) AM_ROM
356
static READ8_HANDLER(tigerh_status_r)
356
READ8_MEMBER(slapfght_state::tigerh_status_r)
358
358
return (slapfight_port_00_r(space, 0) & 0xf9)| ((tigerh_mcu_status_r(space, 0)));
361
static ADDRESS_MAP_START( tigerh_io_map, AS_IO, 8 )
361
static ADDRESS_MAP_START( tigerh_io_map, AS_IO, 8, slapfght_state )
362
362
ADDRESS_MAP_GLOBAL_MASK(0xff)
363
AM_RANGE(0x00, 0x00) AM_READWRITE(tigerh_status_r, slapfight_port_00_w) /* status register */
363
AM_RANGE(0x00, 0x00) AM_READ(tigerh_status_r) AM_WRITE(slapfight_port_00_w) /* status register */
364
364
AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
365
365
AM_RANGE(0x02, 0x03) AM_WRITE(slapfight_flipscreen_w)
366
366
AM_RANGE(0x06, 0x06) AM_WRITE(slapfight_port_06_w)
367
367
AM_RANGE(0x07, 0x07) AM_WRITE(slapfight_port_07_w)
370
static ADDRESS_MAP_START( tigerhb_io_map, AS_IO, 8 )
370
static ADDRESS_MAP_START( tigerhb_io_map, AS_IO, 8, slapfght_state )
371
371
ADDRESS_MAP_GLOBAL_MASK(0xff)
372
372
AM_RANGE(0x00, 0x00) AM_READWRITE(slapfight_port_00_r, slapfight_port_00_w) /* status register */
373
373
AM_RANGE(0x01, 0x01) AM_WRITE(slapfight_port_01_w)
388
388
AM_RANGE(0x0080, 0x07ff) AM_ROM
391
static ADDRESS_MAP_START( perfrman_sound_map, AS_PROGRAM, 8 )
391
static ADDRESS_MAP_START( perfrman_sound_map, AS_PROGRAM, 8, slapfght_state )
392
392
AM_RANGE(0x0000, 0x1fff) AM_ROM
393
393
AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
394
394
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with main CPU */
395
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_address_w)
396
AM_RANGE(0xa081, 0xa081) AM_DEVREAD("ay1", ay8910_r)
397
AM_RANGE(0xa082, 0xa082) AM_DEVWRITE("ay1", ay8910_data_w)
398
AM_RANGE(0xa090, 0xa090) AM_DEVWRITE("ay2", ay8910_address_w)
399
AM_RANGE(0xa091, 0xa091) AM_DEVREAD("ay2", ay8910_r)
400
AM_RANGE(0xa092, 0xa092) AM_DEVWRITE("ay2", ay8910_data_w)
395
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
396
AM_RANGE(0xa081, 0xa081) AM_DEVREAD_LEGACY("ay1", ay8910_r)
397
AM_RANGE(0xa082, 0xa082) AM_DEVWRITE_LEGACY("ay1", ay8910_data_w)
398
AM_RANGE(0xa090, 0xa090) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
399
AM_RANGE(0xa091, 0xa091) AM_DEVREAD_LEGACY("ay2", ay8910_r)
400
AM_RANGE(0xa092, 0xa092) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
401
401
AM_RANGE(0xa0e0, 0xa0e0) AM_WRITE(getstar_sh_intenable_w) /* maybe a0f0 also -LE */
402
402
// AM_RANGE(0xa0f0, 0xa0f0) AM_WRITENOP
405
static ADDRESS_MAP_START( slapfght_sound_map, AS_PROGRAM, 8 )
405
static ADDRESS_MAP_START( slapfght_sound_map, AS_PROGRAM, 8, slapfght_state )
406
406
AM_RANGE(0x0000, 0x1fff) AM_ROM
407
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_address_w)
408
AM_RANGE(0xa081, 0xa081) AM_DEVREAD("ay1", ay8910_r)
409
AM_RANGE(0xa082, 0xa082) AM_DEVWRITE("ay1", ay8910_data_w)
410
AM_RANGE(0xa090, 0xa090) AM_DEVWRITE("ay2", ay8910_address_w)
411
AM_RANGE(0xa091, 0xa091) AM_DEVREAD("ay2", ay8910_r)
412
AM_RANGE(0xa092, 0xa092) AM_DEVWRITE("ay2", ay8910_data_w)
407
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
408
AM_RANGE(0xa081, 0xa081) AM_DEVREAD_LEGACY("ay1", ay8910_r)
409
AM_RANGE(0xa082, 0xa082) AM_DEVWRITE_LEGACY("ay1", ay8910_data_w)
410
AM_RANGE(0xa090, 0xa090) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
411
AM_RANGE(0xa091, 0xa091) AM_DEVREAD_LEGACY("ay2", ay8910_r)
412
AM_RANGE(0xa092, 0xa092) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
413
413
AM_RANGE(0xa0e0, 0xa0e0) AM_WRITE(getstar_sh_intenable_w) /* maybe a0f0 also -LE */
414
414
// AM_RANGE(0xa0f0, 0xa0f0) AM_WRITENOP
415
415
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")