2004/03/31 (水) 01:09:51 ◆ ▼ ◇ [mirai]/***************************************************************************
Esprade
***************************************************************************/
static MEMORY_READ16_START( esprade_readmem )
{ 0x000000, 0x0fffff, MRA16_ROM }, // ROM
{ 0x100000, 0x10ffff, MRA16_RAM }, // RAM
{ 0x300002, 0x300003, cave_sound_r }, // YMZ280
/**/{ 0x400000, 0x407fff, MRA16_RAM }, // Sprites
/**/{ 0x408000, 0x40ffff, MRA16_RAM }, // Sprites?
/**/{ 0x500000, 0x507fff, MRA16_RAM }, // Layer 0
/**/{ 0x600000, 0x607fff, MRA16_RAM }, // Layer 1
/**/{ 0x700000, 0x707fff, MRA16_RAM }, // Layer 2
{ 0x800000, 0x800007, cave_irq_cause_r }, // IRQ Cause
/**/{ 0x900000, 0x900005, MRA16_RAM }, // Layer 0 Control
/**/{ 0xa00000, 0xa00005, MRA16_RAM }, // Layer 1 Control
/**/{ 0xb00000, 0xb00005, MRA16_RAM }, // Layer 2 Control
/**/{ 0xc00000, 0xc0ffff, MRA16_RAM }, // Palette
{ 0xd00000, 0xd00001, input_port_0_word_r }, // Inputs
{ 0xd00002, 0xd00003, cave_input1_r }, // Inputs + EEPROM
MEMORY_END
static MEMORY_WRITE16_START( esprade_writemem )
{ 0x000000, 0x0fffff, MWA16_ROM }, // ROM
{ 0x100000, 0x10ffff, MWA16_RAM }, // RAM
{ 0x300000, 0x300003, cave_sound_w }, // YMZ280
{ 0x400000, 0x407fff, MWA16_RAM, &spriteram16, &spriteram_size }, // Sprites
{ 0x408000, 0x40ffff, MWA16_RAM }, // Sprites?
{ 0x500000, 0x507fff, cave_vram_0_w, &cave_vram_0 }, // Layer 0
{ 0x600000, 0x607fff, cave_vram_1_w, &cave_vram_1 }, // Layer 1
{ 0x700000, 0x707fff, cave_vram_2_w, &cave_vram_2 }, // Layer 2
{ 0x800000, 0x80007f, MWA16_RAM, &cave_videoregs }, // Video Regs
{ 0x900000, 0x900005, MWA16_RAM, &cave_vctrl_0 }, // Layer 0 Control
{ 0xa00000, 0xa00005, MWA16_RAM, &cave_vctrl_1 }, // Layer 1 Control
{ 0xb00000, 0xb00005, MWA16_RAM, &cave_vctrl_2 }, // Layer 2 Control
{ 0xc00000, 0xc0ffff, paletteram16_xGGGGGRRRRRBBBBB_word_w, &paletteram16 }, // Palette
{ 0xe00000, 0xe00001, cave_eeprom_msb_w }, // EEPROM
MEMORY_END