84
84
*************************************/
86
static WRITE8_HANDLER( avalance_video_invert_w )
88
avalnche_state *state = space->machine().driver_data<avalnche_state>();
89
state->m_avalance_video_inverted = data & 0x01;
92
static WRITE8_HANDLER( catch_coin_counter_w )
94
coin_counter_w(space->machine(), 0, data & 1);
95
coin_counter_w(space->machine(), 1, data & 2);
98
static WRITE8_HANDLER( avalance_credit_1_lamp_w )
100
set_led_status(space->machine(), 0, data & 1);
103
static WRITE8_HANDLER( avalance_credit_2_lamp_w )
105
set_led_status(space->machine(), 1, data & 1);
108
static WRITE8_HANDLER( avalance_start_lamp_w )
110
set_led_status(space->machine(), 2, data & 1);
113
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8 )
86
WRITE8_MEMBER(avalnche_state::avalance_video_invert_w)
88
m_avalance_video_inverted = data & 0x01;
91
WRITE8_MEMBER(avalnche_state::catch_coin_counter_w)
93
coin_counter_w(machine(), 0, data & 1);
94
coin_counter_w(machine(), 1, data & 2);
97
WRITE8_MEMBER(avalnche_state::avalance_credit_1_lamp_w)
99
set_led_status(machine(), 0, data & 1);
102
WRITE8_MEMBER(avalnche_state::avalance_credit_2_lamp_w)
104
set_led_status(machine(), 1, data & 1);
107
WRITE8_MEMBER(avalnche_state::avalance_start_lamp_w)
109
set_led_status(machine(), 2, data & 1);
112
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, avalnche_state )
114
113
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
115
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_MEMBER(avalnche_state, m_videoram, m_videoram_size)
114
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
116
115
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffc) AM_READ_PORT("IN0")
117
116
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
118
117
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
119
118
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
120
119
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w)
121
120
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
122
AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE("discrete", avalnche_attract_enable_w)
121
AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE_LEGACY("discrete", avalnche_attract_enable_w)
123
122
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
124
123
AM_RANGE(0x4003, 0x4003) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_2_lamp_w)
125
AM_RANGE(0x4004, 0x4006) AM_MIRROR(0x0ff8) AM_DEVWRITE("discrete", avalnche_audio_w)
124
AM_RANGE(0x4004, 0x4006) AM_MIRROR(0x0ff8) AM_DEVWRITE_LEGACY("discrete", avalnche_audio_w)
126
125
AM_RANGE(0x4007, 0x4007) AM_MIRROR(0x0ff8) AM_WRITE(avalance_start_lamp_w)
127
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0x0fff) AM_DEVWRITE("discrete", avalnche_noise_amplitude_w)
126
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0x0fff) AM_DEVWRITE_LEGACY("discrete", avalnche_noise_amplitude_w)
128
127
AM_RANGE(0x6000, 0x7fff) AM_ROM
131
static ADDRESS_MAP_START( catch_map, AS_PROGRAM, 8 )
130
static ADDRESS_MAP_START( catch_map, AS_PROGRAM, 8, avalnche_state )
132
131
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
133
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_MEMBER(avalnche_state, m_videoram, m_videoram_size)
132
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
134
133
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffc) AM_READ_PORT("IN0")
135
134
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
136
135
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
137
136
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
138
137
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w)
139
138
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
140
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE("discrete", avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
139
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE_LEGACY("discrete", avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
141
140
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
142
141
AM_RANGE(0x4003, 0x4003) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_2_lamp_w)
143
AM_RANGE(0x4004, 0x4006) AM_MIRROR(0x0ff8) AM_WRITE(catch_audio_w)
142
AM_RANGE(0x4004, 0x4006) AM_MIRROR(0x0ff8) AM_WRITE_LEGACY(catch_audio_w)
144
143
AM_RANGE(0x4007, 0x4007) AM_MIRROR(0x0ff8) AM_WRITE(avalance_start_lamp_w)
145
144
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_WRITE(catch_coin_counter_w)
146
145
AM_RANGE(0x7000, 0x7fff) AM_ROM