mirror of
https://github.com/holub/mame
synced 2025-07-01 08:18:59 +03:00
Merged memory maps in the megasys1.c driver
This commit is contained in:
parent
54156976aa
commit
ae56af5a44
@ -169,36 +169,23 @@ static INTERRUPT_GEN( interrupt_A )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem_A, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
static ADDRESS_MAP_START( megasys1A_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x080008, 0x080009) AM_READ(soundlatch2_word_r) /* from sound cpu */
|
||||
AM_RANGE(0x084000, 0x084fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x088000, 0x0887ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x08e000, 0x08ffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x090000, 0x093fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x094000, 0x097fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x098000, 0x09bfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0f0000, 0x0fffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x084000, 0x0843ff) AM_RAM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x08e000, 0x08ffff) AM_RAM AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_A, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x084000, 0x0843ff) AM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x088000, 0x0887ff) AM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x08e000, 0x08ffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x090000, 0x093fff) AM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x094000, 0x097fff) AM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x098000, 0x09bfff) AM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0f0000, 0x0fffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
[ Main CPU - System B ]
|
||||
@ -262,35 +249,20 @@ static WRITE16_HANDLER( ip_select_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem_B, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
static ADDRESS_MAP_START( megasys1B_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x044000, 0x044fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x048000, 0x0487ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x04e000, 0x04ffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x050000, 0x053fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x054000, 0x057fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x058000, 0x05bfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x060000, 0x07ffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x080000, 0x0bffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_READ(ip_select_r)
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x044000, 0x0443ff) AM_RAM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x048000, 0x0487ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x04e000, 0x04ffff) AM_RAM AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x050000, 0x053fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x054000, 0x057fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x058000, 0x05bfff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x060000, 0x07ffff) AM_RAM AM_BASE(&megasys1_ram)
|
||||
AM_RANGE(0x080000, 0x0bffff) AM_ROM
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_READWRITE(ip_select_r,ip_select_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_B, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x044000, 0x0443ff) AM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x048000, 0x0487ff) AM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x04e000, 0x04ffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x050000, 0x053fff) AM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x054000, 0x057fff) AM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x058000, 0x05bfff) AM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x060000, 0x07ffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_ram)
|
||||
AM_RANGE(0x080000, 0x0bffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(ip_select_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
[ Main CPU - System C ]
|
||||
@ -300,34 +272,19 @@ ADDRESS_MAP_END
|
||||
#define INTERRUPT_NUM_C INTERRUPT_NUM_B
|
||||
#define interrupt_C interrupt_B
|
||||
|
||||
static ADDRESS_MAP_START( readmem_C, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
static ADDRESS_MAP_START( megasys1C_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x0c0000, 0x0cffff) AM_READ(megasys1_vregs_C_r)
|
||||
AM_RANGE(0x0d2000, 0x0d3fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0e0000, 0x0e3fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0f0000, 0x0f3fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0f8000, 0x0f87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0d8000, 0x0d8001) AM_READ(ip_select_r)
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x0c0000, 0x0cffff) AM_READWRITE(megasys1_vregs_C_r,megasys1_vregs_C_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x0d2000, 0x0d3fff) AM_RAM AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x0d8000, 0x0d8001) AM_READWRITE(ip_select_r,ip_select_w)
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_BASE(&megasys1_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_C, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x0c0000, 0x0cffff) AM_WRITE(megasys1_vregs_C_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x0d2000, 0x0d3fff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x0e0000, 0x0e3fff) AM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x0f0000, 0x0f3fff) AM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0f8000, 0x0f87ff) AM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x0d8000, 0x0d8001) AM_WRITE(ip_select_w)
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
[ Main CPU - System D ]
|
||||
@ -338,32 +295,19 @@ static INTERRUPT_GEN( interrupt_D )
|
||||
cpu_set_input_line(device, 2, HOLD_LINE);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readmem_D, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x0c0000, 0x0c9fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0ca000, 0x0cbfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0d0000, 0x0d3fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0d4000, 0x0d7fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( megasys1D_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x0c0000, 0x0c9fff) AM_RAM_WRITE(megasys1_vregs_D_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x0ca000, 0x0cbfff) AM_RAM AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x0d4000, 0x0d7fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x0f8000, 0x0f8001) AM_DEVREAD8("oki1", okim6295_r, 0x00ff)
|
||||
// { 0x100000, 0x100001 protection
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_D, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x0c0000, 0x0c9fff) AM_WRITE(megasys1_vregs_D_w) AM_BASE(&megasys1_vregs)
|
||||
AM_RANGE(0x0ca000, 0x0cbfff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_objectram)
|
||||
AM_RANGE(0x0d0000, 0x0d3fff) AM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
|
||||
AM_RANGE(0x0d4000, 0x0d7fff) AM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
|
||||
AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
|
||||
AM_RANGE(0x0f8000, 0x0f8001) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
|
||||
// { 0x100000, 0x100001 protection
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(SMH_RAM) AM_BASE(&megasys1_ram)
|
||||
AM_RANGE(0x0f8000, 0x0f8001) AM_DEVREADWRITE8("oki1", okim6295_r,okim6295_w, 0x00ff)
|
||||
// AM_RANGE(0x100000, 0x100001) // protection
|
||||
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_BASE(&megasys1_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -444,78 +388,51 @@ static READ8_DEVICE_HANDLER( oki_status_r )
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem_A, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM)
|
||||
static ADDRESS_MAP_START( megasys1A_sound_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x040001) AM_READ(soundlatch_word_r)
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVREAD8("ym", ym2151_r, 0x00ff)
|
||||
AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8("oki1", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0e0000, 0x0fffff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem_A, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w) // to main cpu
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVWRITE8("ym", ym2151_w, 0x00ff)
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ym", ym2151_r,ym2151_w, 0x00ff)
|
||||
AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8("oki1", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
|
||||
AM_RANGE(0x0e0000, 0x0fffff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x0e0000, 0x0fffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
[ Sound CPU - System B / C ]
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem_B, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x040000, 0x040001) AM_READ(soundlatch_word_r) /* from main cpu */
|
||||
AM_RANGE(0x060000, 0x060001) AM_READ(soundlatch_word_r) /* from main cpu */
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVREAD8("ym", ym2151_r, 0x00ff)
|
||||
static ADDRESS_MAP_START( megasys1B_sound_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x040001) AM_READWRITE(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
|
||||
AM_RANGE(0x060000, 0x060001) AM_READWRITE(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ym", ym2151_r,ym2151_w, 0x00ff)
|
||||
AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8("oki1", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0e0000, 0x0effff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem_B, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM )
|
||||
AM_RANGE(0x040000, 0x040001) AM_WRITE(soundlatch2_word_w) /* to main cpu */
|
||||
AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w) /* to main cpu */
|
||||
AM_RANGE(0x080000, 0x080003) AM_DEVWRITE8("ym", ym2151_w, 0x00ff)
|
||||
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
|
||||
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
|
||||
AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x0e0000, 0x0effff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
[ Sound CPU - System Z ]
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem_z80, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem_z80, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( z80_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym", ym2203_r, ym2203_w)
|
||||
ADDRESS_MAP_END
|
||||
@ -1539,11 +1456,11 @@ static MACHINE_DRIVER_START( system_A )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz verified */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_A,writemem_A)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1A_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(interrupt_A,INTERRUPT_NUM_A)
|
||||
|
||||
MDRV_CPU_ADD("soundcpu", M68000, SOUND_CPU_CLOCK) /* 7MHz verified */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem_A,sound_writemem_A)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1A_sound_map,0)
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(120000))
|
||||
|
||||
@ -1595,11 +1512,11 @@ static MACHINE_DRIVER_START( system_B )
|
||||
|
||||
MDRV_CPU_REPLACE("maincpu", M68000, SYS_B_CPU_CLOCK) /* 8MHz */
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_B,writemem_B)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1B_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(interrupt_B,INTERRUPT_NUM_B)
|
||||
|
||||
MDRV_CPU_MODIFY("soundcpu")
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem_B,sound_writemem_B)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1B_sound_map,0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( system_B_hayaosi1 )
|
||||
@ -1625,11 +1542,11 @@ static MACHINE_DRIVER_START( system_C )
|
||||
MDRV_IMPORT_FROM(system_A)
|
||||
MDRV_CPU_REPLACE("maincpu", M68000, SYS_C_CPU_CLOCK) /* 12MHz */
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_C,writemem_C)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1C_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(interrupt_C,INTERRUPT_NUM_C)
|
||||
|
||||
MDRV_CPU_MODIFY("soundcpu")
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem_B,sound_writemem_B)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1B_sound_map,0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@ -1648,7 +1565,7 @@ static MACHINE_DRIVER_START( system_D )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, SYS_D_CPU_CLOCK) /* 8MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_D,writemem_D)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1D_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", interrupt_D)
|
||||
|
||||
MDRV_MACHINE_RESET(megasys1)
|
||||
@ -1710,12 +1627,12 @@ static MACHINE_DRIVER_START( system_Z )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz (12MHz / 2) */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_A,writemem_A)
|
||||
MDRV_CPU_PROGRAM_MAP(megasys1A_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(interrupt_A,INTERRUPT_NUM_A)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* OSC 12MHz divided by 4 ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem_z80,sound_writemem_z80)
|
||||
MDRV_CPU_IO_MAP(sound_io_map,0)
|
||||
MDRV_CPU_PROGRAM_MAP(z80_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(z80_sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
|
Loading…
Reference in New Issue
Block a user