Merged memory maps for all driver sources beginning with 'H':

- halleys.c, hanaawas.c, hanaroku.c, hcastle.c, hexa.c, hexion.c, higemaru.c, hnayayoi.c, holeland.c, homedata.c, hshavoc.c, hyhoo.c, hyperspt.c
This commit is contained in:
Ryan Holtz 2009-05-02 16:45:51 +00:00
parent 3a023d7403
commit 90bd3d14ea
13 changed files with 196 additions and 330 deletions

View File

@ -1622,14 +1622,16 @@ static READ8_HANDLER( io_mirror_r )
//**************************************************************************
// Memory Maps
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READ(blitter_r)
AM_RANGE(0x1000, 0xefff) AM_READ(SMH_ROM)
AM_RANGE(0xf000, 0xfeff) AM_READ(SMH_RAM) // work ram
static ADDRESS_MAP_START( halleys_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(blitter_r, blitter_w) AM_BASE(&blitter_ram) AM_SIZE(&blitter_ramsize)
AM_RANGE(0x1f00, 0x1fff) AM_WRITE(bgtile_w) // background tiles?(Ben Bero Beh only)
AM_RANGE(0x1000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xfeff) AM_RAM // work ram
AM_RANGE(0xff66, 0xff66) AM_READ(collision_id_r) // HACK: collision detection bypass(Halley's Comet only)
AM_RANGE(0xff71, 0xff71) AM_READ(blitter_status_r)
AM_RANGE(0xff80, 0xff83) AM_READ(io_mirror_r)
AM_RANGE(0xff8a, 0xff8a) AM_WRITE(soundcommand_w)
AM_RANGE(0xff90, 0xff90) AM_READ_PORT("IN0") // coin/start
AM_RANGE(0xff91, 0xff91) AM_READ_PORT("IN1") // player 1
AM_RANGE(0xff92, 0xff92) AM_READ_PORT("IN2") // player 2
@ -1638,46 +1640,22 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff95, 0xff95) AM_READ_PORT("DSW1") // dipswitch 4
AM_RANGE(0xff96, 0xff96) AM_READ_PORT("DSW2") // dipswitch 3
AM_RANGE(0xff97, 0xff97) AM_READ_PORT("DSW3") // dipswitch 2
AM_RANGE(0xff00, 0xffbf) AM_READ(SMH_RAM) // I/O read fall-through
AM_RANGE(0xff9c, 0xff9c) AM_WRITE(firq_ack_w)
AM_RANGE(0xff00, 0xffbf) AM_RAM AM_BASE(&io_ram) AM_SIZE(&io_ramsize) // I/O write fall-through
AM_RANGE(0xffc0, 0xffdf) AM_READ(SMH_RAM) // palette read
AM_RANGE(0xffc0, 0xffdf) AM_RAM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_BASE(&paletteram)
AM_RANGE(0xffe0, 0xffff) AM_READ(vector_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_WRITE(blitter_w) AM_BASE(&blitter_ram) AM_SIZE(&blitter_ramsize)
AM_RANGE(0x1f00, 0x1fff) AM_WRITE(bgtile_w) // background tiles?(Ben Bero Beh only)
AM_RANGE(0x1000, 0xefff) AM_WRITE(SMH_ROM)
AM_RANGE(0xf000, 0xfeff) AM_WRITE(SMH_RAM) // work ram
AM_RANGE(0xff8a, 0xff8a) AM_WRITE(soundcommand_w)
AM_RANGE(0xff9c, 0xff9c) AM_WRITE(firq_ack_w)
AM_RANGE(0xff00, 0xffbf) AM_WRITE(SMH_RAM) AM_BASE(&io_ram) AM_SIZE(&io_ramsize) // I/O write fall-through
AM_RANGE(0xffc0, 0xffdf) AM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_BASE(&paletteram)
AM_RANGE(0xffe0, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM)
AM_RANGE(0x4801, 0x4801) AM_DEVREAD("ay2", ay8910_r)
AM_RANGE(0x4803, 0x4803) AM_DEVREAD("ay3", ay8910_r)
AM_RANGE(0x4805, 0x4805) AM_DEVREAD("ay4", ay8910_r)
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4801, 0x4801) AM_DEVREADWRITE("ay2", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x4803, 0x4803) AM_DEVREADWRITE("ay3", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x4805, 0x4805) AM_DEVREADWRITE("ay4", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xefff) AM_READ(SMH_ROM) // space for diagnostic ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x4800, 0x4801) AM_DEVWRITE("ay2", ay8910_address_data_w)
AM_RANGE(0x4802, 0x4803) AM_DEVWRITE("ay3", ay8910_address_data_w)
AM_RANGE(0x4804, 0x4805) AM_DEVWRITE("ay4", ay8910_address_data_w)
AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_ROM)
AM_RANGE(0xe000, 0xefff) AM_ROM // space for diagnostic ROM
ADDRESS_MAP_END
@ -1946,11 +1924,11 @@ static const ay8910_interface ay8910_config =
static MACHINE_DRIVER_START( halleys )
MDRV_CPU_ADD("maincpu", M6809, XTAL_19_968MHz/12) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(readmem, writemem)
MDRV_CPU_PROGRAM_MAP(halleys_map,0)
MDRV_CPU_VBLANK_INT_HACK(halleys_interrupt, 4)
MDRV_CPU_ADD("audiocpu", Z80, XTAL_6MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(sound_readmem, sound_writemem)
MDRV_CPU_PROGRAM_MAP(sound_map,0)
MDRV_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16))
MDRV_MACHINE_RESET(halleys)

View File

@ -78,20 +78,13 @@ static WRITE8_HANDLER( hanaawas_inputs_mux_w )
mux = data;
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x4fff) AM_READ(SMH_ROM)
AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x4fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x83ff) AM_WRITE(hanaawas_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x8400, 0x87ff) AM_WRITE(hanaawas_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x8800, 0x8bff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( hanaawas_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(hanaawas_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(hanaawas_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x8800, 0x8bff) AM_RAM
ADDRESS_MAP_END
@ -202,7 +195,7 @@ static MACHINE_DRIVER_START( hanaawas )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz ??? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hanaawas_map,0)
MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)

View File

@ -118,34 +118,22 @@ static WRITE8_HANDLER( hanaroku_out_2_w )
/* main cpu */
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0x9000, 0x97ff) AM_READ(SMH_RAM)
AM_RANGE(0xa000, 0xa1ff) AM_READ(SMH_RAM)
AM_RANGE(0xc000, 0xc3ff) AM_READ(SMH_RAM)
AM_RANGE(0xc400, 0xc4ff) AM_READ(SMH_RAM)
AM_RANGE(0xd000, 0xd000) AM_DEVREAD("ay", ay8910_r)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0")
AM_RANGE(0xe001, 0xe001) AM_READ_PORT("IN1")
AM_RANGE(0xe002, 0xe002) AM_READ_PORT("IN2")
AM_RANGE(0xe004, 0xe004) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) AM_BASE(&hanaroku_spriteram1)
AM_RANGE(0x9000, 0x97ff) AM_WRITE(SMH_RAM) AM_BASE(&hanaroku_spriteram2)
AM_RANGE(0xa000, 0xa1ff) AM_WRITE(SMH_RAM) AM_BASE(&hanaroku_spriteram3)
static ADDRESS_MAP_START( hanaroku_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&hanaroku_spriteram1)
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_BASE(&hanaroku_spriteram2)
AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_BASE(&hanaroku_spriteram3)
AM_RANGE(0xa200, 0xa2ff) AM_WRITENOP // ??? written once during P.O.S.T.
AM_RANGE(0xa300, 0xa304) AM_WRITENOP // ???
AM_RANGE(0xc000, 0xc3ff) AM_WRITE(SMH_RAM) // main ram
AM_RANGE(0xc400, 0xc4ff) AM_WRITE(SMH_RAM) // ???
AM_RANGE(0xb000, 0xb000) AM_WRITENOP // ??? always 0x40
AM_RANGE(0xc000, 0xc3ff) AM_RAM // main ram
AM_RANGE(0xc400, 0xc4ff) AM_RAM // ???
AM_RANGE(0xd000, 0xd000) AM_DEVREAD("ay", ay8910_r)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("ay", ay8910_address_data_w)
AM_RANGE(0xe000, 0xe000) AM_WRITE(hanaroku_out_0_w)
AM_RANGE(0xe002, 0xe002) AM_WRITE(hanaroku_out_1_w)
AM_RANGE(0xe004, 0xe004) AM_WRITE(hanaroku_out_2_w)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0") AM_WRITE(hanaroku_out_0_w)
AM_RANGE(0xe001, 0xe001) AM_READ_PORT("IN1")
AM_RANGE(0xe002, 0xe002) AM_READ_PORT("IN2") AM_WRITE(hanaroku_out_1_w)
AM_RANGE(0xe004, 0xe004) AM_READ_PORT("DSW3") AM_WRITE(hanaroku_out_2_w)
ADDRESS_MAP_END
@ -241,7 +229,7 @@ static const ay8910_interface ay8910_config =
static MACHINE_DRIVER_START( hanaroku )
MDRV_CPU_ADD("maincpu", Z80,6000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hanaroku_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
/* video hardware */

View File

@ -49,40 +49,30 @@ static WRITE8_HANDLER( hcastle_coin_w )
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0020, 0x003f) AM_READ(SMH_RAM)
AM_RANGE(0x0220, 0x023f) AM_READ(SMH_RAM)
AM_RANGE(0x0410, 0x0410) AM_READ_PORT("SYSTEM")
static ADDRESS_MAP_START( hcastle_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0007) AM_WRITE(hcastle_pf1_control_w)
AM_RANGE(0x0020, 0x003f) AM_RAM /* rowscroll? */
AM_RANGE(0x0200, 0x0207) AM_WRITE(hcastle_pf2_control_w)
AM_RANGE(0x0220, 0x023f) AM_RAM /* rowscroll? */
AM_RANGE(0x0400, 0x0400) AM_WRITE(hcastle_bankswitch_w)
AM_RANGE(0x0404, 0x0404) AM_WRITE(soundlatch_w)
AM_RANGE(0x0408, 0x0408) AM_WRITE(hcastle_soundirq_w)
AM_RANGE(0x040c, 0x040c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0410, 0x0410) AM_READ_PORT("SYSTEM") AM_WRITE(hcastle_coin_w)
AM_RANGE(0x0411, 0x0411) AM_READ_PORT("P1")
AM_RANGE(0x0412, 0x0412) AM_READ_PORT("P2")
AM_RANGE(0x0413, 0x0413) AM_READ_PORT("DSW3")
AM_RANGE(0x0414, 0x0414) AM_READ_PORT("DSW2")
AM_RANGE(0x0415, 0x0415) AM_READ_PORT("DSW1")
AM_RANGE(0x0418, 0x0418) AM_READ(hcastle_gfxbank_r)
AM_RANGE(0x0600, 0x06ff) AM_READ(SMH_RAM)
AM_RANGE(0x0700, 0x5fff) AM_READ(SMH_RAM)
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK(1))
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0007) AM_WRITE(hcastle_pf1_control_w)
AM_RANGE(0x0020, 0x003f) AM_WRITE(SMH_RAM) /* rowscroll? */
AM_RANGE(0x0200, 0x0207) AM_WRITE(hcastle_pf2_control_w)
AM_RANGE(0x0220, 0x023f) AM_WRITE(SMH_RAM) /* rowscroll? */
AM_RANGE(0x0400, 0x0400) AM_WRITE(hcastle_bankswitch_w)
AM_RANGE(0x0404, 0x0404) AM_WRITE(soundlatch_w)
AM_RANGE(0x0408, 0x0408) AM_WRITE(hcastle_soundirq_w)
AM_RANGE(0x040c, 0x040c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0410, 0x0410) AM_WRITE(hcastle_coin_w)
AM_RANGE(0x0418, 0x0418) AM_WRITE(hcastle_gfxbank_w)
AM_RANGE(0x0600, 0x06ff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
AM_RANGE(0x0700, 0x1fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x2000, 0x2fff) AM_WRITE(hcastle_pf1_video_w) AM_BASE(&hcastle_pf1_videoram)
AM_RANGE(0x3000, 0x3fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x4000, 0x4fff) AM_WRITE(hcastle_pf2_video_w) AM_BASE(&hcastle_pf2_videoram)
AM_RANGE(0x5000, 0x5fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
AM_RANGE(0x6000, 0xffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x0418, 0x0418) AM_READWRITE(hcastle_gfxbank_r, hcastle_gfxbank_w)
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram)
AM_RANGE(0x0700, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(hcastle_pf1_video_w) AM_BASE(&hcastle_pf1_videoram)
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(hcastle_pf2_video_w) AM_BASE(&hcastle_pf2_videoram)
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
/*****************************************************************************/
@ -94,24 +84,17 @@ static WRITE8_DEVICE_HANDLER( sound_bank_w )
k007232_set_bank(device, bank_A, bank_B );
}
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0xa000, 0xa001) AM_DEVREAD("ym", ym3812_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREAD("konami1", k007232_r)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x987f) AM_DEVWRITE("konami2", k051649_waveform_w)
AM_RANGE(0x9880, 0x9889) AM_DEVWRITE("konami2", k051649_frequency_w)
AM_RANGE(0x988a, 0x988e) AM_DEVWRITE("konami2", k051649_volume_w)
AM_RANGE(0x988f, 0x988f) AM_DEVWRITE("konami2", k051649_keyonoff_w)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym", ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVWRITE("konami1", k007232_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym", ym3812_r, ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("konami1", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("konami1", sound_bank_w) /* 7232 bankswitch */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*****************************************************************************/
@ -213,11 +196,11 @@ static MACHINE_DRIVER_START( hcastle )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", KONAMI, 3000000) /* Derived from 24 MHz clock */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hcastle_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
MDRV_CPU_ADD("audiocpu", Z80, 3579545)
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_PROGRAM_MAP(sound_map,0)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)

View File

@ -59,21 +59,15 @@ WRITE8_HANDLER( hexa_d008_w );
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1))
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( hexa_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd001, 0xd001) AM_DEVREAD("ay", ay8910_r)
AM_RANGE(0xe000, 0xe7ff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("ay", ay8910_address_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w)
AM_RANGE(0xd010, 0xd010) AM_WRITE(watchdog_reset_w) /* or IRQ acknowledge, or both */
AM_RANGE(0xe000, 0xe7ff) AM_WRITE(hexa_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(hexa_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
ADDRESS_MAP_END
@ -151,7 +145,7 @@ static MACHINE_DRIVER_START( hexa )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ??????? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hexa_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
/* video hardware */

View File

@ -113,24 +113,11 @@ if ((data & 0xdc) != 0x10) popmessage("coincntr %02x",data);
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_BANK(1))
AM_RANGE(0xa000, 0xbfff) AM_READ(SMH_RAM)
AM_RANGE(0xc000, 0xdffe) AM_READ(hexion_bankedram_r)
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1")
AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2")
AM_RANGE(0xf402, 0xf402) AM_READ_PORT("P1")
AM_RANGE(0xf403, 0xf403) AM_READ_PORT("P2")
AM_RANGE(0xf440, 0xf440) AM_READ_PORT("DSW3")
AM_RANGE(0xf441, 0xf441) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf540, 0xf540) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(SMH_RAM)
AM_RANGE(0xc000, 0xdffe) AM_WRITE(hexion_bankedram_w)
static ADDRESS_MAP_START( hexion_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
AM_RANGE(0xa000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xdffe) AM_READWRITE(hexion_bankedram_r, hexion_bankedram_w)
AM_RANGE(0xdfff, 0xdfff) AM_WRITE(hexion_bankctrl_w)
AM_RANGE(0xe800, 0xe87f) AM_DEVWRITE("konami", k051649_waveform_w)
AM_RANGE(0xe880, 0xe889) AM_DEVWRITE("konami", k051649_frequency_w)
@ -138,9 +125,16 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe88f, 0xe88f) AM_DEVWRITE("konami", k051649_keyonoff_w)
AM_RANGE(0xf000, 0xf00f) AM_WRITENOP /* 053252? f00e = IRQ ack, f00f = NMI ack */
AM_RANGE(0xf200, 0xf200) AM_DEVWRITE("oki", okim6295_w)
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1")
AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2")
AM_RANGE(0xf402, 0xf402) AM_READ_PORT("P1")
AM_RANGE(0xf403, 0xf403) AM_READ_PORT("P2")
AM_RANGE(0xf440, 0xf440) AM_READ_PORT("DSW3")
AM_RANGE(0xf441, 0xf441) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf480, 0xf480) AM_WRITE(hexion_bankswitch_w)
AM_RANGE(0xf4c0, 0xf4c0) AM_WRITE(coincntr_w)
AM_RANGE(0xf500, 0xf500) AM_WRITE(hexion_gfxrom_select_w)
AM_RANGE(0xf540, 0xf540) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
@ -237,7 +231,7 @@ static MACHINE_DRIVER_START( hexion )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,24000000/4) /* Z80B 6 MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hexion_map,0)
MDRV_CPU_VBLANK_INT_HACK(hexion_interrupt,3) /* both IRQ and NMI are used */
/* video hardware */

View File

@ -34,26 +34,20 @@ static INTERRUPT_GEN( higemaru_interrupt )
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
static ADDRESS_MAP_START( higemaru_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xd000, 0xd7ff) AM_READ(SMH_RAM)
AM_RANGE(0xe000, 0xefff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc800, 0xc800) AM_WRITE(higemaru_c800_w)
AM_RANGE(0xc801, 0xc802) AM_DEVWRITE("ay1", ay8910_address_data_w)
AM_RANGE(0xc803, 0xc804) AM_DEVWRITE("ay2", ay8910_address_data_w)
AM_RANGE(0xd000, 0xd3ff) AM_WRITE(higemaru_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xd400, 0xd7ff) AM_WRITE(higemaru_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xd880, 0xd9ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_RAM)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(higemaru_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(higemaru_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xd880, 0xd9ff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@ -173,7 +167,7 @@ static MACHINE_DRIVER_START( higemaru )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/3) /* 4 MHz? Sharp LH0080A Z80A-CPU-D */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(higemaru_map,0)
MDRV_CPU_VBLANK_INT_HACK(higemaru_interrupt,2)
/* video hardware */

View File

@ -103,16 +103,10 @@ static MACHINE_RESET( hnayayoi )
static ADDRESS_MAP_START( hnayayoi_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hnayayoi_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_WRITE(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_WRITE(SMH_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
static ADDRESS_MAP_START( hnayayoi_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( hnayayoi_io_map, ADDRESS_SPACE_IO, 8 )
@ -135,22 +129,13 @@ static ADDRESS_MAP_START( hnayayoi_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x62, 0x67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hnfubuki_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
AM_RANGE(0x8000, 0xfeff) AM_READ(SMH_ROM)
static ADDRESS_MAP_START( hnfubuki_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xfeff) AM_ROM
AM_RANGE(0xff00, 0xff01) AM_DEVWRITE("ym", ym2203_w)
AM_RANGE(0xff02, 0xff03) AM_DEVREAD("ym", ym2203_r)
AM_RANGE(0xff04, 0xff04) AM_READ_PORT("DSW3")
AM_RANGE(0xff41, 0xff41) AM_READ(keyboard_0_r)
AM_RANGE(0xff42, 0xff42) AM_READ(keyboard_1_r)
AM_RANGE(0xff43, 0xff43) AM_READ_PORT("COIN")
ADDRESS_MAP_END
static ADDRESS_MAP_START( hnfubuki_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_WRITE(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_WRITE(SMH_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xfeff) AM_WRITE(SMH_ROM)
AM_RANGE(0xff00, 0xff01) AM_DEVWRITE("ym", ym2203_w)
AM_RANGE(0xff06, 0xff06) AM_DEVWRITE("msm", adpcm_data_w)
// AM_RANGE(0xff08, 0xff08) AM_WRITENOP // CRT Controller
// AM_RANGE(0xff09, 0xff09) AM_WRITENOP // CRT Controller
@ -159,20 +144,17 @@ static ADDRESS_MAP_START( hnfubuki_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff23, 0xff23) AM_DEVWRITE("msm", adpcm_vclk_w)
AM_RANGE(0xff24, 0xff24) AM_DEVWRITE("msm", adpcm_reset_inv_w)
AM_RANGE(0xff40, 0xff40) AM_WRITE(keyboard_w)
AM_RANGE(0xff41, 0xff41) AM_READ(keyboard_0_r)
AM_RANGE(0xff42, 0xff42) AM_READ(keyboard_1_r)
AM_RANGE(0xff43, 0xff43) AM_READ_PORT("COIN")
AM_RANGE(0xff60, 0xff61) AM_WRITE(hnayayoi_palbank_w)
AM_RANGE(0xff62, 0xff67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( untoucha_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( untoucha_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_WRITE(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_WRITE(SMH_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
static ADDRESS_MAP_START( untoucha_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( untoucha_io_map, ADDRESS_SPACE_IO, 8 )
@ -562,7 +544,7 @@ static const msm5205_interface msm5205_config =
static MACHINE_DRIVER_START( hnayayoi )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 20000000/4 ) /* 5 MHz ???? */
MDRV_CPU_PROGRAM_MAP(hnayayoi_readmem,hnayayoi_writemem)
MDRV_CPU_PROGRAM_MAP(hnayayoi_map,0)
MDRV_CPU_IO_MAP(hnayayoi_io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 8000)
@ -603,13 +585,13 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( hnfubuki )
MDRV_IMPORT_FROM(hnayayoi)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(hnfubuki_readmem,hnfubuki_writemem)
MDRV_CPU_PROGRAM_MAP(hnfubuki_map,0)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( untoucha )
MDRV_IMPORT_FROM(hnayayoi)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(untoucha_readmem,untoucha_writemem)
MDRV_CPU_PROGRAM_MAP(untoucha_map,0)
MDRV_CPU_IO_MAP(untoucha_io_map,0)
MDRV_VIDEO_START(untoucha)

View File

@ -27,36 +27,23 @@ WRITE8_HANDLER( holeland_pal_offs_w );
WRITE8_HANDLER( holeland_scroll_w );
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0xa000, 0xbfff) AM_READ(SMH_ROM)
AM_RANGE(0xf000, 0xf3ff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(SMH_ROM)
static ADDRESS_MAP_START( holeland_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_WRITE(holeland_pal_offs_w)
AM_RANGE(0xc006, 0xc007) AM_WRITE(holeland_flipscreen_w)
AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0xf000, 0xf3ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
ADDRESS_MAP_END
static ADDRESS_MAP_START( crzrally_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
AM_RANGE(0xe800, 0xebff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( crzrally_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( crzrally_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0xe800, 0xebff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xf000, 0xf000) AM_WRITE(holeland_scroll_w)
AM_RANGE(0xf800, 0xf801) AM_WRITE(holeland_pal_offs_w)
ADDRESS_MAP_END
@ -300,7 +287,7 @@ static MACHINE_DRIVER_START( holeland )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(holeland_map,0)
MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
@ -369,7 +356,7 @@ static MACHINE_DRIVER_START( crzrally )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 20000000/4) /* 5 MHz */
MDRV_CPU_PROGRAM_MAP(crzrally_readmem,crzrally_writemem)
MDRV_CPU_PROGRAM_MAP(crzrally_map,0)
MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)

View File

@ -565,34 +565,28 @@ static WRITE8_HANDLER( bankswitch_w )
/********************************************************************************/
static ADDRESS_MAP_START( mrokumei_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_RAM) /* videoram */
AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM)
AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_RAM) /* work ram */
AM_RANGE(0x7000, 0x77ff) AM_READ(SMH_RAM) /* hourouki expects this to act as RAM */
AM_RANGE(0x7800, 0x7800) AM_READ(SMH_RAM) /* only used to store the result of the ROM check */
static ADDRESS_MAP_START( mrokumei_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
AM_RANGE(0x7000, 0x77ff) AM_RAM /* hourouki expects this to act as RAM */
AM_RANGE(0x7800, 0x7800) AM_RAM /* only used to store the result of the ROM check */
AM_RANGE(0x7801, 0x7802) AM_READ(mrokumei_keyboard_r) // also vblank and active page
AM_RANGE(0x7803, 0x7803) AM_READ_PORT("IN0") // coin, service
AM_RANGE(0x7804, 0x7804) AM_READ_PORT("DSW1") // DSW1
AM_RANGE(0x7805, 0x7805) AM_READ_PORT("DSW2") // DSW2
AM_RANGE(0x7ffe, 0x7ffe) AM_READNOP // ??? read every vblank, value discarded
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mrokumei_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_WRITE(mrokumei_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x7000, 0x77ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x7800, 0x7800) AM_WRITE(SMH_RAM) /* only used to store the result of the ROM check */
AM_RANGE(0x7ff0, 0x7ffd) AM_WRITE(SMH_RAM) AM_BASE(&homedata_vreg)
AM_RANGE(0x7ffe, 0x7ffe) AM_READNOP // ??? read every vblank, value discarded
AM_RANGE(0x8000, 0x8000) AM_WRITE(mrokumei_blitter_start_w) // in some games also ROM bank switch to access service ROM
AM_RANGE(0x8001, 0x8001) AM_WRITE(mrokumei_keyboard_select_w)
AM_RANGE(0x8002, 0x8002) AM_WRITE(mrokumei_sound_cmd_w)
AM_RANGE(0x8003, 0x8003) AM_DEVWRITE("sn", sn76496_w)
AM_RANGE(0x8006, 0x8006) AM_WRITE(homedata_blitter_param_w)
AM_RANGE(0x8007, 0x8007) AM_WRITE(mrokumei_blitter_bank_w)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( mrokumei_writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( mrokumei_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
@ -1211,7 +1205,7 @@ static MACHINE_DRIVER_START( mrokumei )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */
MDRV_CPU_PROGRAM_MAP(mrokumei_readmem,mrokumei_writemem)
MDRV_CPU_PROGRAM_MAP(mrokumei_map,0)
MDRV_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */
MDRV_CPU_ADD("audiocpu", Z80, 16000000/4) /* 4MHz ? */

View File

@ -94,40 +94,25 @@ static INPUT_PORTS_START( hshavoc )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static ADDRESS_MAP_START( topshoot_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* Cartridge Program Rom */
AM_RANGE(0x202000, 0x2023ff) AM_READ(SMH_RAM)
AM_RANGE(0xa00000, 0xa0ffff) AM_READ(genesis_68k_to_z80_r)
AM_RANGE(0xc00000, 0xc0001f) AM_READ(genesis_vdp_r) /* VDP Access */
AM_RANGE(0xe00000, 0xe1ffff) AM_READ(SMH_BANK(3))
AM_RANGE(0xfe0000, 0xfeffff) AM_READ(SMH_BANK(4))
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* Main Ram */
ADDRESS_MAP_END
static ADDRESS_MAP_START( topshoot_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM) /* Cartridge Program Rom */
// AM_RANGE(0x200000, 0x20007f) AM_WRITE(SMH_RAM)
AM_RANGE(0x200000, 0x2023ff) AM_WRITE(SMH_RAM) // tested
AM_RANGE(0xa10000, 0xa1001f) AM_WRITE(genesis_io_w) AM_BASE(&genesis_io_ram) /* Genesis Input */
static ADDRESS_MAP_START( topshoot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* Cartridge Program Rom */
AM_RANGE(0x200000, 0x201fff) AM_WRITENOP // tested
AM_RANGE(0x202000, 0x2023ff) AM_RAM // tested
AM_RANGE(0xa00000, 0xa0ffff) AM_READWRITE(genesis_68k_to_z80_r, genesis_68k_to_z80_w)
AM_RANGE(0xa10000, 0xa1001f) AM_WRITE(genesis_io_w) AM_BASE(&genesis_io_ram) /* Genesis Input */
AM_RANGE(0xa11000, 0xa11203) AM_WRITE(genesis_ctrl_w)
AM_RANGE(0xa00000, 0xa0ffff) AM_WRITE(genesis_68k_to_z80_w)
AM_RANGE(0xc00000, 0xc0001f) AM_WRITE(genesis_vdp_w) /* VDP Access */
AM_RANGE(0xfe0000, 0xfeffff) AM_WRITE(SMH_BANK(4))
AM_RANGE(0xff0000, 0xffffff) AM_WRITE(SMH_RAM) AM_BASE(&genesis_68k_ram)/* Main Ram */
AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE(genesis_vdp_r, genesis_vdp_w) /* VDP Access */
AM_RANGE(0xe00000, 0xe1ffff) AM_ROMBANK(3)
AM_RANGE(0xfe0000, 0xfeffff) AM_RAMBANK(4)
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_BASE(&genesis_68k_ram) /* Main Ram */
ADDRESS_MAP_END
static ADDRESS_MAP_START( genesis_z80_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_BANK(1))
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_BANK(2)) /* mirror */
AM_RANGE(0x4000, 0x7fff) AM_READ(genesis_z80_r)
static ADDRESS_MAP_START( genesis_z80_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK(1) AM_BASE(&genesis_z80_ram)
AM_RANGE(0x2000, 0x3fff) AM_RAMBANK(2) /* mirror */
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(genesis_z80_r, genesis_z80_w)
AM_RANGE(0x8000, 0xffff) AM_READ(genesis_z80_bank_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( genesis_z80_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_BANK(1)) AM_BASE(&genesis_z80_ram)
AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_BANK(2)) /* mirror */
AM_RANGE(0x4000, 0x7fff) AM_WRITE(genesis_z80_w)
// AM_RANGE(0x8000, 0xffff) AM_WRITE(genesis_z80_bank_w)
ADDRESS_MAP_END
@ -138,7 +123,7 @@ static MACHINE_DRIVER_START( genesis_base )
MDRV_CPU_VBLANK_INT("screen", genesis_vblank_interrupt)
MDRV_CPU_ADD("genesis_snd_z80", Z80, MASTER_CLOCK / 15)
MDRV_CPU_PROGRAM_MAP(genesis_z80_readmem, genesis_z80_writemem)
MDRV_CPU_PROGRAM_MAP(genesis_z80_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) /* from vdp at scanline 0xe0 */
MDRV_QUANTUM_TIME(HZ(6000))
@ -173,7 +158,7 @@ static MACHINE_DRIVER_START( hshavoc )
/* basic machine hardware */
MDRV_IMPORT_FROM( genesis_base )
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(topshoot_readmem,topshoot_writemem)
MDRV_CPU_PROGRAM_MAP(topshoot_map,0)
/* sound hardware */
MDRV_SOUND_ADD("sn", SN76496, MASTER_CLOCK/15)

View File

@ -55,14 +55,9 @@ static DRIVER_INIT( hyhoo2 )
}
static ADDRESS_MAP_START( readmem_hyhoo, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_READ(SMH_ROM)
AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem_hyhoo, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_WRITE(SMH_ROM)
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM) AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
static ADDRESS_MAP_START( hyhoo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hyhoo_io_map, ADDRESS_SPACE_IO, 8 )
@ -261,7 +256,7 @@ static MACHINE_DRIVER_START( hyhoo )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000/1) /* 5.00 MHz ?? */
MDRV_CPU_PROGRAM_MAP(readmem_hyhoo, writemem_hyhoo)
MDRV_CPU_PROGRAM_MAP(hyhoo_map,0)
MDRV_CPU_IO_MAP(hyhoo_io_map,0)
MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt)

View File

@ -70,55 +70,54 @@ static NVRAM_HANDLER( hyperspt )
static ADDRESS_MAP_START( hyperspt_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10ff) AM_READ(SMH_RAM)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
// AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1_P2")
AM_RANGE(0x1681, 0x1681) AM_READ(konami_IN1_r) /* P1/P2 IO and handle fake button for cheating */
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P3_P4")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM)
AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( roadf_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10ff) AM_READ(SMH_RAM)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P2")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM)
AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10bf) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x10C0, 0x10ff) AM_WRITE(SMH_RAM) AM_BASE(&hyperspt_scroll) /* Scroll amount */
static ADDRESS_MAP_START( hyperspt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(&hyperspt_scroll) /* Scroll amount */
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE(hyperspt_flipscreen_w)
AM_RANGE(0x1481, 0x1481) AM_WRITE(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x1483, 0x1484) AM_WRITE(hyperspt_coin_counter_w)
AM_RANGE(0x1487, 0x1487) AM_WRITE(interrupt_enable_w) /* Interrupt enable */
AM_RANGE(0x1500, 0x1500) AM_WRITE(soundlatch_w)
AM_RANGE(0x2000, 0x27ff) AM_WRITE(hyperspt_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x2800, 0x2fff) AM_WRITE(hyperspt_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x3000, 0x37ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x3800, 0x3fff) AM_WRITE(SMH_RAM) AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
// AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1_P2")
AM_RANGE(0x1681, 0x1681) AM_READ(konami_IN1_r) /* P1/P2 IO and handle fake button for cheating */
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P3_P4")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x3000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x4fff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( roadf_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(&hyperspt_scroll) /* Scroll amount */
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE(hyperspt_flipscreen_w)
AM_RANGE(0x1481, 0x1481) AM_WRITE(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x1483, 0x1484) AM_WRITE(hyperspt_coin_counter_w)
AM_RANGE(0x1487, 0x1487) AM_WRITE(interrupt_enable_w) /* Interrupt enable */
AM_RANGE(0x1500, 0x1500) AM_WRITE(soundlatch_w)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P2")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x3000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_READ(hyperspt_sh_timer_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x4fff) AM_WRITE(SMH_RAM)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("vlm", vlm5030_data_w) /* speech data */
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE("vlm", hyperspt_sound_w) /* speech and output control */
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("dac", dac_w)
@ -309,11 +308,11 @@ static MACHINE_DRIVER_START( hyperspt )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(hyperspt_readmem,writemem)
MDRV_CPU_PROGRAM_MAP(hyperspt_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
MDRV_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_PROGRAM_MAP(sound_map,0)
MDRV_NVRAM_HANDLER(hyperspt)
@ -349,7 +348,7 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( roadf )
MDRV_IMPORT_FROM(hyperspt)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(roadf_readmem, writemem)
MDRV_CPU_PROGRAM_MAP(roadf_map,0)
MDRV_GFXDECODE(roadf)
MDRV_VIDEO_START(roadf)
MACHINE_DRIVER_END