~ubuntu-branches/debian/sid/mame/sid

« back to all changes in this revision

Viewing changes to src/mame/drivers/gyruss.c

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Emmanuel Kasper, Jordi Mallach
  • Date: 2012-06-05 20:02:23 UTC
  • mfrom: (0.3.1) (0.1.4)
  • Revision ID: package-import@ubuntu.com-20120605200223-gnlpogjrg6oqe9md
Tags: 0.146-1
[ Emmanuel Kasper ]
* New upstream release
* Drop patch to fix man pages section and patches to link with flac 
  and jpeg system lib: all this has been pushed upstream by Cesare Falco
* Add DM-Upload-Allowed: yes field.

[ Jordi Mallach ]
* Create a "gnu" TARGETOS stanza that defines NO_AFFINITY_NP.
* Stop setting TARGETOS to "unix" in d/rules. It should be autodetected,
  and set to the appropriate value.
* mame_manpage_section.patch: Change mame's manpage section to 6 (games),
  in the TH declaration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
100
100
        discrete_sound_w(device, NODE(16), data);
101
101
}
102
102
 
103
 
static WRITE8_HANDLER( gyruss_irq_clear_w )
 
103
WRITE8_MEMBER(gyruss_state::gyruss_irq_clear_w)
104
104
{
105
 
        gyruss_state *state = space->machine().driver_data<gyruss_state>();
106
 
        device_set_input_line(state->m_audiocpu_2, 0, CLEAR_LINE);
 
105
        device_set_input_line(m_audiocpu_2, 0, CLEAR_LINE);
107
106
}
108
107
 
109
108
static void filter_w( device_t *device, int chip, int data )
131
130
}
132
131
 
133
132
 
134
 
static WRITE8_HANDLER( gyruss_sh_irqtrigger_w )
 
133
WRITE8_MEMBER(gyruss_state::gyruss_sh_irqtrigger_w)
135
134
{
136
 
        gyruss_state *state = space->machine().driver_data<gyruss_state>();
137
135
        /* writing to this register triggers IRQ on the sound CPU */
138
 
        device_set_input_line_and_vector(state->m_audiocpu, 0, HOLD_LINE, 0xff);
139
 
}
140
 
 
141
 
static WRITE8_HANDLER( gyruss_i8039_irq_w )
142
 
{
143
 
        gyruss_state *state = space->machine().driver_data<gyruss_state>();
144
 
        device_set_input_line(state->m_audiocpu_2, 0, ASSERT_LINE);
145
 
}
146
 
 
147
 
static WRITE8_HANDLER( master_nmi_mask_w )
148
 
{
149
 
        gyruss_state *state = space->machine().driver_data<gyruss_state>();
150
 
 
151
 
        state->m_master_nmi_mask = data & 1;
152
 
}
153
 
 
154
 
static WRITE8_HANDLER( slave_irq_mask_w )
155
 
{
156
 
        gyruss_state *state = space->machine().driver_data<gyruss_state>();
157
 
 
158
 
        state->m_slave_irq_mask = data & 1;
159
 
}
160
 
 
161
 
static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8 )
 
136
        device_set_input_line_and_vector(m_audiocpu, 0, HOLD_LINE, 0xff);
 
137
}
 
138
 
 
139
WRITE8_MEMBER(gyruss_state::gyruss_i8039_irq_w)
 
140
{
 
141
        device_set_input_line(m_audiocpu_2, 0, ASSERT_LINE);
 
142
}
 
143
 
 
144
WRITE8_MEMBER(gyruss_state::master_nmi_mask_w)
 
145
{
 
146
 
 
147
        m_master_nmi_mask = data & 1;
 
148
}
 
149
 
 
150
WRITE8_MEMBER(gyruss_state::slave_irq_mask_w)
 
151
{
 
152
 
 
153
        m_slave_irq_mask = data & 1;
 
154
}
 
155
 
 
156
static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8, gyruss_state )
162
157
        AM_RANGE(0x0000, 0x7fff) AM_ROM
163
 
        AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_MEMBER(gyruss_state, m_colorram)
164
 
        AM_RANGE(0x8400, 0x87ff) AM_RAM AM_BASE_MEMBER(gyruss_state, m_videoram)
 
158
        AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("colorram")
 
159
        AM_RANGE(0x8400, 0x87ff) AM_RAM AM_SHARE("videoram")
165
160
        AM_RANGE(0x9000, 0x9fff) AM_RAM
166
161
        AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("share1")
167
162
        AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSW2") AM_WRITENOP       /* watchdog reset */
169
164
        AM_RANGE(0xc0a0, 0xc0a0) AM_READ_PORT("P1")
170
165
        AM_RANGE(0xc0c0, 0xc0c0) AM_READ_PORT("P2")
171
166
        AM_RANGE(0xc0e0, 0xc0e0) AM_READ_PORT("DSW1")
172
 
        AM_RANGE(0xc100, 0xc100) AM_READ_PORT("DSW3") AM_WRITE(soundlatch_w)
 
167
        AM_RANGE(0xc100, 0xc100) AM_READ_PORT("DSW3") AM_WRITE(soundlatch_byte_w)
173
168
        AM_RANGE(0xc180, 0xc180) AM_WRITE(master_nmi_mask_w)
174
 
        AM_RANGE(0xc185, 0xc185) AM_WRITEONLY AM_BASE_MEMBER(gyruss_state, m_flipscreen)
 
169
        AM_RANGE(0xc185, 0xc185) AM_WRITEONLY AM_SHARE("flipscreen")
175
170
ADDRESS_MAP_END
176
171
 
177
 
static ADDRESS_MAP_START( main_cpu2_map, AS_PROGRAM, 8 )
 
172
static ADDRESS_MAP_START( main_cpu2_map, AS_PROGRAM, 8, gyruss_state )
178
173
        AM_RANGE(0x0000, 0x0000) AM_READ(gyruss_scanline_r)
179
174
        AM_RANGE(0x2000, 0x2000) AM_WRITE(slave_irq_mask_w)
180
175
        AM_RANGE(0x4000, 0x403f) AM_RAM
181
 
        AM_RANGE(0x4040, 0x40ff) AM_RAM_WRITE(gyruss_spriteram_w) AM_BASE_MEMBER(gyruss_state, m_spriteram)
 
176
        AM_RANGE(0x4040, 0x40ff) AM_RAM_WRITE(gyruss_spriteram_w) AM_SHARE("spriteram")
182
177
        AM_RANGE(0x4100, 0x47ff) AM_RAM
183
178
        AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("share1")
184
179
        AM_RANGE(0xe000, 0xffff) AM_ROM
185
180
ADDRESS_MAP_END
186
181
 
187
 
static ADDRESS_MAP_START( audio_cpu1_map, AS_PROGRAM, 8 )
 
182
static ADDRESS_MAP_START( audio_cpu1_map, AS_PROGRAM, 8, gyruss_state )
188
183
        AM_RANGE(0x0000, 0x5fff) AM_ROM
189
184
        AM_RANGE(0x6000, 0x63ff) AM_RAM
190
 
        AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
 
185
        AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_byte_r)
191
186
ADDRESS_MAP_END
192
187
 
193
 
static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8 )
 
188
static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8, gyruss_state )
194
189
        ADDRESS_MAP_GLOBAL_MASK(0xff)
195
 
        AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay1", ay8910_address_w)
196
 
        AM_RANGE(0x01, 0x01) AM_DEVREAD("ay1", ay8910_r)
197
 
        AM_RANGE(0x02, 0x02) AM_DEVWRITE("ay1", ay8910_data_w)
198
 
        AM_RANGE(0x04, 0x04) AM_DEVWRITE("ay2", ay8910_address_w)
199
 
        AM_RANGE(0x05, 0x05) AM_DEVREAD("ay2", ay8910_r)
200
 
        AM_RANGE(0x06, 0x06) AM_DEVWRITE("ay2", ay8910_data_w)
201
 
        AM_RANGE(0x08, 0x08) AM_DEVWRITE("ay3", ay8910_address_w)
202
 
        AM_RANGE(0x09, 0x09) AM_DEVREAD("ay3", ay8910_r)
203
 
        AM_RANGE(0x0a, 0x0a) AM_DEVWRITE("ay3", ay8910_data_w)
204
 
        AM_RANGE(0x0c, 0x0c) AM_DEVWRITE("ay4", ay8910_address_w)
205
 
        AM_RANGE(0x0d, 0x0d) AM_DEVREAD("ay4", ay8910_r)
206
 
        AM_RANGE(0x0e, 0x0e) AM_DEVWRITE("ay4", ay8910_data_w)
207
 
        AM_RANGE(0x10, 0x10) AM_DEVWRITE("ay5", ay8910_address_w)
208
 
        AM_RANGE(0x11, 0x11) AM_DEVREAD("ay5", ay8910_r)
209
 
        AM_RANGE(0x12, 0x12) AM_DEVWRITE("ay5", ay8910_data_w)
 
190
        AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
 
191
        AM_RANGE(0x01, 0x01) AM_DEVREAD_LEGACY("ay1", ay8910_r)
 
192
        AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("ay1", ay8910_data_w)
 
193
        AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
 
194
        AM_RANGE(0x05, 0x05) AM_DEVREAD_LEGACY("ay2", ay8910_r)
 
195
        AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
 
196
        AM_RANGE(0x08, 0x08) AM_DEVWRITE_LEGACY("ay3", ay8910_address_w)
 
197
        AM_RANGE(0x09, 0x09) AM_DEVREAD_LEGACY("ay3", ay8910_r)
 
198
        AM_RANGE(0x0a, 0x0a) AM_DEVWRITE_LEGACY("ay3", ay8910_data_w)
 
199
        AM_RANGE(0x0c, 0x0c) AM_DEVWRITE_LEGACY("ay4", ay8910_address_w)
 
200
        AM_RANGE(0x0d, 0x0d) AM_DEVREAD_LEGACY("ay4", ay8910_r)
 
201
        AM_RANGE(0x0e, 0x0e) AM_DEVWRITE_LEGACY("ay4", ay8910_data_w)
 
202
        AM_RANGE(0x10, 0x10) AM_DEVWRITE_LEGACY("ay5", ay8910_address_w)
 
203
        AM_RANGE(0x11, 0x11) AM_DEVREAD_LEGACY("ay5", ay8910_r)
 
204
        AM_RANGE(0x12, 0x12) AM_DEVWRITE_LEGACY("ay5", ay8910_data_w)
210
205
        AM_RANGE(0x14, 0x14) AM_WRITE(gyruss_i8039_irq_w)
211
 
        AM_RANGE(0x18, 0x18) AM_WRITE(soundlatch2_w)
 
206
        AM_RANGE(0x18, 0x18) AM_WRITE(soundlatch2_byte_w)
212
207
ADDRESS_MAP_END
213
208
 
214
 
static ADDRESS_MAP_START( audio_cpu2_map, AS_PROGRAM, 8 )
 
209
static ADDRESS_MAP_START( audio_cpu2_map, AS_PROGRAM, 8, gyruss_state )
215
210
        AM_RANGE(0x0000, 0x0fff) AM_ROM
216
211
ADDRESS_MAP_END
217
212
 
218
 
static ADDRESS_MAP_START( audio_cpu2_io_map, AS_IO, 8 )
219
 
        AM_RANGE(0x00, 0xff) AM_READ(soundlatch2_r)
220
 
        AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE("discrete", gyruss_dac_w)
 
213
static ADDRESS_MAP_START( audio_cpu2_io_map, AS_IO, 8, gyruss_state )
 
214
        AM_RANGE(0x00, 0xff) AM_READ(soundlatch2_byte_r)
 
215
        AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("discrete", gyruss_dac_w)
221
216
        AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(gyruss_irq_clear_w)
222
217
ADDRESS_MAP_END
223
218