429
429
*************************************/
431
static ADDRESS_MAP_START( hangon_map, AS_PROGRAM, 16 )
431
static ADDRESS_MAP_START( hangon_map, AS_PROGRAM, 16, segas1x_state )
432
432
ADDRESS_MAP_UNMAP_HIGH
433
433
AM_RANGE(0x000000, 0x03ffff) AM_ROM
434
434
AM_RANGE(0x20c000, 0x20ffff) AM_RAM
435
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
436
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
437
AM_RANGE(0x600000, 0x6007ff) AM_RAM AM_BASE(&segaic16_spriteram_0)
438
AM_RANGE(0xa00000, 0xa00fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
435
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(segaic16_tileram_0_w) AM_BASE_LEGACY(&segaic16_tileram_0)
436
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE_LEGACY(segaic16_textram_0_w) AM_BASE_LEGACY(&segaic16_textram_0)
437
AM_RANGE(0x600000, 0x6007ff) AM_RAM AM_BASE_LEGACY(&segaic16_spriteram_0)
438
AM_RANGE(0xa00000, 0xa00fff) AM_RAM_WRITE_LEGACY(segaic16_paletteram_w) AM_BASE_LEGACY(&segaic16_paletteram)
439
439
AM_RANGE(0xc00000, 0xc3ffff) AM_ROM AM_REGION("sub", 0)
440
AM_RANGE(0xc68000, 0xc68fff) AM_RAM AM_SHARE("share1") AM_BASE(&segaic16_roadram_0)
440
AM_RANGE(0xc68000, 0xc68fff) AM_RAM AM_SHARE("share1") AM_BASE_LEGACY(&segaic16_roadram_0)
441
441
AM_RANGE(0xc7c000, 0xc7ffff) AM_RAM AM_SHARE("share2")
442
AM_RANGE(0xe00000, 0xffffff) AM_READWRITE(hangon_io_r, hangon_io_w)
442
AM_RANGE(0xe00000, 0xffffff) AM_READWRITE_LEGACY(hangon_io_r, hangon_io_w)
445
static ADDRESS_MAP_START( sharrier_map, AS_PROGRAM, 16 )
445
static ADDRESS_MAP_START( sharrier_map, AS_PROGRAM, 16, segas1x_state )
446
446
ADDRESS_MAP_UNMAP_HIGH
447
447
AM_RANGE(0x000000, 0x03ffff) AM_ROM
448
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_BASE(&workram)
449
AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
450
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
451
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
448
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_BASE_LEGACY(&workram)
449
AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE_LEGACY(segaic16_tileram_0_w) AM_BASE_LEGACY(&segaic16_tileram_0)
450
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE_LEGACY(segaic16_textram_0_w) AM_BASE_LEGACY(&segaic16_textram_0)
451
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE_LEGACY(segaic16_paletteram_w) AM_BASE_LEGACY(&segaic16_paletteram)
452
452
AM_RANGE(0x124000, 0x127fff) AM_RAM AM_SHARE("share2")
453
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
454
AM_RANGE(0x140000, 0x14ffff) AM_READWRITE(sharrier_io_r, sharrier_io_w)
455
AM_RANGE(0xc68000, 0xc68fff) AM_RAM AM_SHARE("share1") AM_BASE(&segaic16_roadram_0)
453
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_LEGACY(&segaic16_spriteram_0)
454
AM_RANGE(0x140000, 0x14ffff) AM_READWRITE_LEGACY(sharrier_io_r, sharrier_io_w)
455
AM_RANGE(0xc68000, 0xc68fff) AM_RAM AM_SHARE("share1") AM_BASE_LEGACY(&segaic16_roadram_0)
481
481
*************************************/
483
static ADDRESS_MAP_START( sound_map_2203, AS_PROGRAM, 8 )
483
static ADDRESS_MAP_START( sound_map_2203, AS_PROGRAM, 8, segas1x_state )
484
484
ADDRESS_MAP_UNMAP_HIGH
485
485
AM_RANGE(0x0000, 0x7fff) AM_ROM
486
486
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x0800) AM_RAM
487
AM_RANGE(0xd000, 0xd001) AM_MIRROR(0x0ffe) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
488
AM_RANGE(0xe000, 0xe0ff) AM_MIRROR(0x0f00) AM_DEVREADWRITE("pcm", sega_pcm_r, sega_pcm_w)
487
AM_RANGE(0xd000, 0xd001) AM_MIRROR(0x0ffe) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
488
AM_RANGE(0xe000, 0xe0ff) AM_MIRROR(0x0f00) AM_DEVREADWRITE_LEGACY("pcm", sega_pcm_r, sega_pcm_w)
491
static ADDRESS_MAP_START( sound_portmap_2203, AS_IO, 8 )
491
static ADDRESS_MAP_START( sound_portmap_2203, AS_IO, 8, segas1x_state )
492
492
ADDRESS_MAP_UNMAP_HIGH
493
493
ADDRESS_MAP_GLOBAL_MASK(0xff)
494
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
494
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ_LEGACY(sound_data_r)
498
static ADDRESS_MAP_START( sound_map_2151, AS_PROGRAM, 8 )
498
static ADDRESS_MAP_START( sound_map_2151, AS_PROGRAM, 8, segas1x_state )
499
499
ADDRESS_MAP_UNMAP_HIGH
500
500
AM_RANGE(0x0000, 0x7fff) AM_ROM
501
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x700) AM_DEVREADWRITE("pcm", sega_pcm_r, sega_pcm_w)
501
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x700) AM_DEVREADWRITE_LEGACY("pcm", sega_pcm_r, sega_pcm_w)
502
502
AM_RANGE(0xf800, 0xffff) AM_RAM
505
static ADDRESS_MAP_START( sound_portmap_2151, AS_IO, 8 )
505
static ADDRESS_MAP_START( sound_portmap_2151, AS_IO, 8, segas1x_state )
506
506
ADDRESS_MAP_UNMAP_HIGH
507
507
ADDRESS_MAP_GLOBAL_MASK(0xff)
508
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
509
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
508
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
509
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ_LEGACY(sound_data_r)
512
static ADDRESS_MAP_START( sound_portmap_2203x2, AS_IO, 8 )
512
static ADDRESS_MAP_START( sound_portmap_2203x2, AS_IO, 8, segas1x_state )
513
513
ADDRESS_MAP_UNMAP_HIGH
514
514
ADDRESS_MAP_GLOBAL_MASK(0xff)
515
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
516
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
517
AM_RANGE(0xc0, 0xc1) AM_MIRROR(0x3e) AM_DEVREADWRITE("ym2", ym2203_r, ym2203_w)
515
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
516
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ_LEGACY(sound_data_r)
517
AM_RANGE(0xc0, 0xc1) AM_MIRROR(0x3e) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)