18
18
/******************************************************************************/
20
static WRITE16_HANDLER( prehisle_sound16_w )
20
WRITE16_MEMBER(prehisle_state::prehisle_sound16_w)
22
soundlatch_w(space, 0, data & 0xff);
23
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
22
soundlatch_byte_w(space, 0, data & 0xff);
23
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
26
26
/*******************************************************************************/
28
static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16 )
28
static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16, prehisle_state )
29
29
AM_RANGE(0x000000, 0x03ffff) AM_ROM
30
30
AM_RANGE(0x070000, 0x073fff) AM_RAM
31
AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(prehisle_fg_videoram16_w) AM_BASE_MEMBER(prehisle_state, m_videoram)
32
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_BASE_MEMBER(prehisle_state, m_spriteram)
33
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(prehisle_bg_videoram16_w) AM_BASE_MEMBER(prehisle_state, m_bg_videoram16)
34
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
31
AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(prehisle_fg_videoram16_w) AM_SHARE("videoram")
32
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_SHARE("spriteram")
33
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(prehisle_bg_videoram16_w) AM_SHARE("bg_videoram16")
34
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
35
35
AM_RANGE(0x0e0000, 0x0e00ff) AM_READ(prehisle_control16_r)
36
36
AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(prehisle_sound16_w)
37
37
AM_RANGE(0x0f0000, 0x0ff0ff) AM_WRITE(prehisle_control16_w)
51
51
upd7759_reset_w(device, data & 0x80);
54
static ADDRESS_MAP_START( prehisle_sound_map, AS_PROGRAM, 8 )
54
static ADDRESS_MAP_START( prehisle_sound_map, AS_PROGRAM, 8, prehisle_state )
55
55
AM_RANGE(0x0000, 0xefff) AM_ROM
56
56
AM_RANGE(0xf000, 0xf7ff) AM_RAM
57
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
57
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r)
58
58
AM_RANGE(0xf800, 0xf800) AM_WRITENOP // ???
61
static ADDRESS_MAP_START( prehisle_sound_io_map, AS_IO, 8 )
61
static ADDRESS_MAP_START( prehisle_sound_io_map, AS_IO, 8, prehisle_state )
62
62
ADDRESS_MAP_GLOBAL_MASK(0xff)
63
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
64
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_write_port_w)
65
AM_RANGE(0x40, 0x40) AM_DEVWRITE("upd", D7759_write_port_0_w)
66
AM_RANGE(0x80, 0x80) AM_DEVWRITE("upd", D7759_upd_reset_w)
63
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
64
AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
65
AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("upd", D7759_write_port_0_w)
66
AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("upd", D7759_upd_reset_w)
69
69
/******************************************************************************/
140
140
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
141
141
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
142
142
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
143
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
143
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
146
146
/******************************************************************************/