trunk/src/mame/drivers/niyanpai.c
r245355 | r245356 | |
44 | 44 | #include "includes/niyanpai.h" |
45 | 45 | |
46 | 46 | |
47 | | void niyanpai_state::niyanpai_soundbank_w(int data) |
| 47 | WRITE16_MEMBER(niyanpai_state::sound_w) |
48 | 48 | { |
49 | | UINT8 *SNDROM = memregion("audiocpu")->base(); |
50 | | |
51 | | membank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]); |
52 | | } |
53 | | |
54 | | READ8_MEMBER(niyanpai_state::niyanpai_sound_r) |
55 | | { |
56 | | return soundlatch_byte_r(space, 0); |
57 | | } |
58 | | |
59 | | WRITE16_MEMBER(niyanpai_state::niyanpai_sound_w) |
60 | | { |
61 | 49 | soundlatch_byte_w(space, 0, ((data >> 8) & 0xff)); |
62 | 50 | } |
63 | 51 | |
64 | | WRITE8_MEMBER(niyanpai_state::niyanpai_soundclr_w) |
| 52 | WRITE8_MEMBER(niyanpai_state::soundbank_w) |
65 | 53 | { |
66 | | soundlatch_clear_byte_w(space, 0, 0); |
| 54 | membank("soundbank")->set_entry(data & 0x03); |
67 | 55 | } |
68 | 56 | |
69 | | |
70 | | READ8_MEMBER(niyanpai_state::cpu_portd_r) |
| 57 | WRITE8_MEMBER(niyanpai_state::soundlatch_clear_w) |
71 | 58 | { |
72 | | return niyanpai_sound_r(space, 0); |
| 59 | if (!(data & 0x01)) soundlatch_clear_byte_w(space, 0, 0); |
73 | 60 | } |
74 | 61 | |
75 | | WRITE8_MEMBER(niyanpai_state::cpu_porta_w) |
76 | | { |
77 | | niyanpai_soundbank_w(data & 0x03); |
78 | | } |
79 | 62 | |
80 | | WRITE8_MEMBER(niyanpai_state::cpu_portb_w) |
81 | | { |
82 | | m_dac1->write_unsigned8(data); |
83 | | } |
84 | | |
85 | | WRITE8_MEMBER(niyanpai_state::cpu_portc_w) |
86 | | { |
87 | | m_dac2->write_unsigned8(data); |
88 | | } |
89 | | |
90 | | WRITE8_MEMBER(niyanpai_state::cpu_porte_w) |
91 | | { |
92 | | if (!(data & 0x01)) niyanpai_soundclr_w(space, 0, 0); |
93 | | } |
94 | | |
95 | | |
96 | | void niyanpai_state::machine_reset() |
97 | | { |
98 | | } |
99 | | |
100 | 63 | DRIVER_INIT_MEMBER(niyanpai_state,niyanpai) |
101 | 64 | { |
102 | 65 | UINT8 *SNDROM = memregion("audiocpu")->base(); |
r245355 | r245356 | |
105 | 68 | SNDROM[0x0213] = 0x00; // DI -> NOP |
106 | 69 | |
107 | 70 | // initialize sound rom bank |
108 | | niyanpai_soundbank_w(0); |
| 71 | membank("soundbank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x8000); |
| 72 | membank("soundbank")->set_entry(0); |
109 | 73 | |
110 | 74 | // initialize out coin flag (musobana) |
111 | 75 | m_musobana_outcoin_flag = 1; |
112 | 76 | } |
113 | 77 | |
114 | 78 | |
115 | | READ16_MEMBER(niyanpai_state::niyanpai_dipsw_r) |
| 79 | READ16_MEMBER(niyanpai_state::dipsw_r) |
116 | 80 | { |
117 | 81 | UINT8 dipsw_a, dipsw_b; |
118 | 82 | |
r245355 | r245356 | |
129 | 93 | return ((dipsw_a << 8) | dipsw_b); |
130 | 94 | } |
131 | 95 | |
| 96 | MACHINE_START_MEMBER(niyanpai_state, musobana) |
| 97 | { |
| 98 | save_item(NAME(m_motor_on)); |
| 99 | save_item(NAME(m_musobana_inputport)); |
| 100 | save_item(NAME(m_musobana_outcoin_flag)); |
| 101 | } |
| 102 | |
132 | 103 | READ16_MEMBER(niyanpai_state::musobana_inputport_0_r) |
133 | 104 | { |
134 | 105 | int portdata; |
r245355 | r245356 | |
177 | 148 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
178 | 149 | AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram") |
179 | 150 | |
180 | | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 151 | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w) |
181 | 152 | AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram? |
182 | 153 | |
183 | 154 | AM_RANGE(0x0bf800, 0x0bffff) AM_RAM |
184 | 155 | |
185 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 156 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
186 | 157 | |
187 | 158 | AM_RANGE(0x200200, 0x200201) AM_WRITENOP // unknown |
188 | 159 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
189 | 160 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
190 | 161 | |
191 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
192 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
193 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
194 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
195 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
196 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
197 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
198 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
199 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
200 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 162 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 163 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 164 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
| 165 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 166 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 167 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
| 168 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 169 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 170 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 171 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
201 | 172 | |
202 | 173 | AM_RANGE(0x280200, 0x280201) AM_READ_PORT("P1_P2") |
203 | 174 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
204 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
205 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
206 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 175 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 176 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 177 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
207 | 178 | |
208 | 179 | AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers |
209 | 180 | ADDRESS_MAP_END |
r245355 | r245356 | |
212 | 183 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
213 | 184 | AM_RANGE(0x040000, 0x040fff) AM_RAM |
214 | 185 | |
215 | | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 186 | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w) |
216 | 187 | AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram? |
217 | 188 | |
218 | 189 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
219 | 190 | AM_RANGE(0x0bf800, 0x0bffff) AM_RAM |
220 | 191 | |
221 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 192 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
222 | 193 | |
223 | 194 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
224 | 195 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
225 | 196 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
226 | 197 | |
227 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
228 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
229 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 198 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 199 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 200 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
230 | 201 | |
231 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
232 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
233 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 202 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 203 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 204 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
234 | 205 | |
235 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
236 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
237 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
238 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
239 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
240 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 206 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 207 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 208 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 209 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 210 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 211 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
241 | 212 | |
242 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 213 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
243 | 214 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
244 | 215 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
245 | 216 | |
r245355 | r245356 | |
250 | 221 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
251 | 222 | AM_RANGE(0x040000, 0x040fff) AM_RAM |
252 | 223 | |
253 | | AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 224 | AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(palette_r,palette_w) |
254 | 225 | AM_RANGE(0x060900, 0x0611ff) AM_RAM // palette work ram? |
255 | 226 | AM_RANGE(0x07f800, 0x07ffff) AM_RAM |
256 | 227 | |
257 | 228 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
258 | 229 | AM_RANGE(0x0bf000, 0x0bffff) AM_RAM |
259 | 230 | |
260 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 231 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
261 | 232 | |
262 | 233 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
263 | 234 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
264 | 235 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
265 | 236 | |
266 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
267 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
268 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 237 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 238 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 239 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
269 | 240 | |
270 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
271 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
272 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 241 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 242 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 243 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
273 | 244 | |
274 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
275 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
276 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 245 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 246 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 247 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
277 | 248 | |
278 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
279 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
280 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 249 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 250 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 251 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
281 | 252 | |
282 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 253 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
283 | 254 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
284 | 255 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
285 | 256 | |
r245355 | r245356 | |
290 | 261 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
291 | 262 | AM_RANGE(0x0ff000, 0x0fffff) AM_RAM |
292 | 263 | |
293 | | AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 264 | AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(palette_r,palette_w) |
294 | 265 | AM_RANGE(0x0e0900, 0x0e11ff) AM_RAM // palette work ram? |
295 | 266 | |
296 | 267 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
297 | 268 | AM_RANGE(0x0c0000, 0x0cffff) AM_RAM |
298 | 269 | |
299 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 270 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
300 | 271 | |
301 | 272 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
302 | 273 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
303 | 274 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
304 | 275 | |
305 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
306 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
307 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 276 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 277 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 278 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
308 | 279 | |
309 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
310 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
311 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 280 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 281 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 282 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
312 | 283 | |
313 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
314 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
315 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 284 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 285 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 286 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
316 | 287 | |
317 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
318 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
319 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 288 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 289 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 290 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
320 | 291 | |
321 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 292 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
322 | 293 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
323 | 294 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
324 | 295 | |
r245355 | r245356 | |
329 | 300 | static ADDRESS_MAP_START( niyanpai_sound_map, AS_PROGRAM, 8, niyanpai_state ) |
330 | 301 | AM_RANGE(0x0000, 0x77ff) AM_ROM |
331 | 302 | AM_RANGE(0x7800, 0x7fff) AM_RAM |
332 | | AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") |
| 303 | AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank") |
333 | 304 | ADDRESS_MAP_END |
334 | 305 | |
335 | 306 | static ADDRESS_MAP_START( niyanpai_sound_io_map, AS_IO, 8, niyanpai_state ) |
r245355 | r245356 | |
755 | 726 | INPUT_PORTS_END |
756 | 727 | |
757 | 728 | |
758 | | INTERRUPT_GEN_MEMBER(niyanpai_state::niyanpai_interrupt) |
| 729 | INTERRUPT_GEN_MEMBER(niyanpai_state::interrupt) |
759 | 730 | { |
760 | 731 | m_tmp68301->external_interrupt_0(); |
761 | 732 | } |
r245355 | r245356 | |
771 | 742 | /* basic machine hardware */ |
772 | 743 | MCFG_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */ |
773 | 744 | MCFG_CPU_PROGRAM_MAP(niyanpai_map) |
774 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, niyanpai_interrupt) |
| 745 | MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, interrupt) |
775 | 746 | MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("tmp68301",tmp68301_device,irq_callback) |
776 | 747 | |
777 | 748 | MCFG_DEVICE_ADD("tmp68301", TMP68301, 0) |
r245355 | r245356 | |
781 | 752 | MCFG_CPU_CONFIG(daisy_chain_sound) |
782 | 753 | MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map) |
783 | 754 | MCFG_CPU_IO_MAP(niyanpai_sound_io_map) |
784 | | MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, cpu_portd_r)) |
785 | | MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, cpu_porta_w)) |
786 | | MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8(niyanpai_state, cpu_portb_w)) |
787 | | MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(niyanpai_state, cpu_portc_w)) |
788 | | MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, cpu_porte_w)) |
| 755 | MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, soundlatch_byte_r)) |
| 756 | MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, soundbank_w)) |
| 757 | MCFG_TMPZ84C011_PORTB_WRITE_CB(DEVWRITE8("dac1", dac_device, write_unsigned8)) |
| 758 | MCFG_TMPZ84C011_PORTC_WRITE_CB(DEVWRITE8("dac2", dac_device, write_unsigned8)) |
| 759 | MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, soundlatch_clear_w)) |
789 | 760 | MCFG_TMPZ84C011_ZC0_CB(DEVWRITELINE("audiocpu", tmpz84c011_device, trg3)) |
790 | 761 | |
791 | 762 | MCFG_NVRAM_ADD_0FILL("nvram") |
r245355 | r245356 | |
796 | 767 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
797 | 768 | MCFG_SCREEN_SIZE(1024, 512) |
798 | 769 | MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1) |
799 | | MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update_niyanpai) |
| 770 | MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update) |
800 | 771 | MCFG_SCREEN_PALETTE("palette") |
801 | 772 | |
802 | 773 | MCFG_PALETTE_ADD("palette", 256*3) |
r245355 | r245356 | |
819 | 790 | /* basic machine hardware */ |
820 | 791 | MCFG_CPU_MODIFY("maincpu") |
821 | 792 | MCFG_CPU_PROGRAM_MAP(musobana_map) |
| 793 | |
| 794 | MCFG_MACHINE_START_OVERRIDE(niyanpai_state, musobana) |
822 | 795 | MACHINE_CONFIG_END |
823 | 796 | |
824 | | static MACHINE_CONFIG_DERIVED( mhhonban, niyanpai ) |
| 797 | static MACHINE_CONFIG_DERIVED( mhhonban, musobana ) |
825 | 798 | |
826 | 799 | /* basic machine hardware */ |
827 | 800 | MCFG_CPU_MODIFY("maincpu") |
828 | 801 | MCFG_CPU_PROGRAM_MAP(mhhonban_map) |
829 | 802 | MACHINE_CONFIG_END |
830 | 803 | |
831 | | static MACHINE_CONFIG_DERIVED( zokumahj, niyanpai ) |
| 804 | static MACHINE_CONFIG_DERIVED( zokumahj, musobana ) |
832 | 805 | |
833 | 806 | /* basic machine hardware */ |
834 | 807 | MCFG_CPU_MODIFY("maincpu") |
r245355 | r245356 | |
930 | 903 | ROM_END |
931 | 904 | |
932 | 905 | |
933 | | GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", 0 ) |
934 | | GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", 0 ) |
935 | | GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", 0 ) |
936 | | GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", 0 ) |
937 | | GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", 0 ) |
| 906 | GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", GAME_SUPPORTS_SAVE ) |
| 907 | GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", GAME_SUPPORTS_SAVE ) |
| 908 | GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", GAME_SUPPORTS_SAVE ) |
| 909 | GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", GAME_SUPPORTS_SAVE ) |
| 910 | GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/niyanpai.h
r245355 | r245356 | |
19 | 19 | m_screen(*this, "screen"), |
20 | 20 | m_palette(*this, "palette") { } |
21 | 21 | |
22 | | int m_musobana_inputport; |
23 | | int m_musobana_outcoin_flag; |
| 22 | required_device<cpu_device> m_maincpu; |
| 23 | required_device<tmp68301_device> m_tmp68301; |
| 24 | required_device<dac_device> m_dac1; |
| 25 | required_device<dac_device> m_dac2; |
| 26 | required_device<screen_device> m_screen; |
| 27 | required_device<palette_device> m_palette; |
24 | 28 | |
| 29 | // common |
25 | 30 | int m_scrollx[VRAM_MAX]; |
26 | 31 | int m_scrolly[VRAM_MAX]; |
27 | 32 | int m_blitter_destx[VRAM_MAX]; |
r245355 | r245356 | |
45 | 50 | UINT16 *m_palette_ptr; |
46 | 51 | UINT8 *m_clut[VRAM_MAX]; |
47 | 52 | int m_flipscreen_old[VRAM_MAX]; |
48 | | DECLARE_READ8_MEMBER(niyanpai_sound_r); |
49 | | DECLARE_WRITE16_MEMBER(niyanpai_sound_w); |
50 | | DECLARE_WRITE8_MEMBER(niyanpai_soundclr_w); |
51 | | |
52 | | DECLARE_READ8_MEMBER(cpu_portd_r); |
53 | | DECLARE_WRITE8_MEMBER(cpu_porta_w); |
54 | | DECLARE_WRITE8_MEMBER(cpu_portb_w); |
55 | | DECLARE_WRITE8_MEMBER(cpu_portc_w); |
56 | | DECLARE_WRITE8_MEMBER(cpu_porte_w); |
57 | | |
58 | | DECLARE_READ16_MEMBER(niyanpai_dipsw_r); |
| 53 | emu_timer *m_blitter_timer; |
| 54 | |
| 55 | // musobana and derived machine configs |
| 56 | int m_musobana_inputport; |
| 57 | int m_musobana_outcoin_flag; |
| 58 | UINT8 m_motor_on; |
| 59 | |
| 60 | // common |
| 61 | DECLARE_WRITE16_MEMBER(sound_w); |
| 62 | DECLARE_WRITE8_MEMBER(soundbank_w); |
| 63 | DECLARE_WRITE8_MEMBER(soundlatch_clear_w); |
| 64 | DECLARE_READ16_MEMBER(dipsw_r); |
| 65 | DECLARE_READ16_MEMBER(palette_r); |
| 66 | DECLARE_WRITE16_MEMBER(palette_w); |
| 67 | DECLARE_WRITE8_MEMBER(blitter_0_w); |
| 68 | DECLARE_WRITE8_MEMBER(blitter_1_w); |
| 69 | DECLARE_WRITE8_MEMBER(blitter_2_w); |
| 70 | DECLARE_READ8_MEMBER(blitter_0_r); |
| 71 | DECLARE_READ8_MEMBER(blitter_1_r); |
| 72 | DECLARE_READ8_MEMBER(blitter_2_r); |
| 73 | DECLARE_WRITE8_MEMBER(clut_0_w); |
| 74 | DECLARE_WRITE8_MEMBER(clut_1_w); |
| 75 | DECLARE_WRITE8_MEMBER(clut_2_w); |
| 76 | DECLARE_WRITE8_MEMBER(clutsel_0_w); |
| 77 | DECLARE_WRITE8_MEMBER(clutsel_1_w); |
| 78 | DECLARE_WRITE8_MEMBER(clutsel_2_w); |
| 79 | DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w); |
| 80 | |
| 81 | // musobana and derived machine configs |
59 | 82 | DECLARE_READ16_MEMBER(musobana_inputport_0_r); |
60 | 83 | DECLARE_WRITE16_MEMBER(musobana_inputport_w); |
61 | | DECLARE_READ16_MEMBER(niyanpai_palette_r); |
62 | | DECLARE_WRITE16_MEMBER(niyanpai_palette_w); |
63 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_0_w); |
64 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_1_w); |
65 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_2_w); |
66 | | DECLARE_READ8_MEMBER(niyanpai_blitter_0_r); |
67 | | DECLARE_READ8_MEMBER(niyanpai_blitter_1_r); |
68 | | DECLARE_READ8_MEMBER(niyanpai_blitter_2_r); |
69 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_0_w); |
70 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_1_w); |
71 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_2_w); |
72 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_0_w); |
73 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_1_w); |
74 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_2_w); |
| 84 | |
75 | 85 | DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r); |
| 86 | |
76 | 87 | DECLARE_DRIVER_INIT(niyanpai); |
77 | | DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w); |
78 | | UINT8 m_motor_on; |
79 | | virtual void machine_reset(); |
80 | 88 | virtual void video_start(); |
81 | | UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
82 | | INTERRUPT_GEN_MEMBER(niyanpai_interrupt); |
83 | | int niyanpai_blitter_r(int vram, int offset); |
84 | | void niyanpai_blitter_w(int vram, int offset, UINT8 data); |
85 | | void niyanpai_clutsel_w(int vram, UINT8 data); |
86 | | void niyanpai_clut_w(int vram, int offset, UINT8 data); |
87 | | void niyanpai_vramflip(int vram); |
| 89 | DECLARE_MACHINE_START(musobana); |
| 90 | |
| 91 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 92 | int blitter_r(int vram, int offset); |
| 93 | void blitter_w(int vram, int offset, UINT8 data); |
| 94 | void clutsel_w(int vram, UINT8 data); |
| 95 | void clut_w(int vram, int offset, UINT8 data); |
| 96 | void vramflip(int vram); |
88 | 97 | void update_pixel(int vram, int x, int y); |
89 | | void niyanpai_gfxdraw(int vram); |
90 | | void niyanpai_soundbank_w(int data); |
91 | | required_device<cpu_device> m_maincpu; |
92 | | required_device<tmp68301_device> m_tmp68301; |
93 | | required_device<dac_device> m_dac1; |
94 | | required_device<dac_device> m_dac2; |
95 | | required_device<screen_device> m_screen; |
96 | | required_device<palette_device> m_palette; |
| 98 | void gfxdraw(int vram); |
97 | 99 | |
| 100 | INTERRUPT_GEN_MEMBER(interrupt); |
| 101 | |
98 | 102 | protected: |
99 | 103 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
100 | 104 | }; |
trunk/src/mame/video/niyanpai.c
r245355 | r245356 | |
13 | 13 | |
14 | 14 | |
15 | 15 | ******************************************************************************/ |
16 | | READ16_MEMBER(niyanpai_state::niyanpai_palette_r) |
| 16 | READ16_MEMBER(niyanpai_state::palette_r) |
17 | 17 | { |
18 | 18 | return m_palette_ptr[offset]; |
19 | 19 | } |
20 | 20 | |
21 | | WRITE16_MEMBER(niyanpai_state::niyanpai_palette_w) |
| 21 | WRITE16_MEMBER(niyanpai_state::palette_w) |
22 | 22 | { |
23 | 23 | int r, g, b; |
24 | 24 | int offs_h, offs_l; |
r245355 | r245356 | |
57 | 57 | |
58 | 58 | |
59 | 59 | ******************************************************************************/ |
60 | | int niyanpai_state::niyanpai_blitter_r(int vram, int offset) |
| 60 | int niyanpai_state::blitter_r(int vram, int offset) |
61 | 61 | { |
62 | 62 | int ret; |
63 | 63 | UINT8 *GFXROM = memregion("gfx1")->base(); |
r245355 | r245356 | |
72 | 72 | return ret; |
73 | 73 | } |
74 | 74 | |
75 | | void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data) |
| 75 | void niyanpai_state::blitter_w(int vram, int offset, UINT8 data) |
76 | 76 | { |
77 | 77 | switch (offset) |
78 | 78 | { |
r245355 | r245356 | |
84 | 84 | // if (data & 0x20) popmessage("Unknown GFX Flag!! (0x20)"); |
85 | 85 | m_flipscreen[vram] = (data & 0x40) ? 0 : 1; |
86 | 86 | m_dispflag[vram] = (data & 0x80) ? 1 : 0; |
87 | | niyanpai_vramflip(vram); |
| 87 | vramflip(vram); |
88 | 88 | break; |
89 | 89 | case 0x01: m_scrollx[vram] = (m_scrollx[vram] & 0x0100) | data; break; |
90 | 90 | case 0x02: m_scrollx[vram] = (m_scrollx[vram] & 0x00ff) | ((data << 8) & 0x0100); break; |
r245355 | r245356 | |
99 | 99 | case 0x0b: m_blitter_destx[vram] = (m_blitter_destx[vram] & 0x00ff) | (data << 8); break; |
100 | 100 | case 0x0c: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0xff00) | data; break; |
101 | 101 | case 0x0d: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0x00ff) | (data << 8); |
102 | | niyanpai_gfxdraw(vram); |
| 102 | gfxdraw(vram); |
103 | 103 | break; |
104 | 104 | default: break; |
105 | 105 | } |
106 | 106 | } |
107 | 107 | |
108 | | void niyanpai_state::niyanpai_clutsel_w(int vram, UINT8 data) |
| 108 | void niyanpai_state::clutsel_w(int vram, UINT8 data) |
109 | 109 | { |
110 | 110 | m_clutsel[vram] = data; |
111 | 111 | } |
112 | 112 | |
113 | | void niyanpai_state::niyanpai_clut_w(int vram, int offset, UINT8 data) |
| 113 | void niyanpai_state::clut_w(int vram, int offset, UINT8 data) |
114 | 114 | { |
115 | 115 | m_clut[vram][((m_clutsel[vram] & 0xff) * 0x10) + (offset & 0x0f)] = data; |
116 | 116 | } |
r245355 | r245356 | |
119 | 119 | |
120 | 120 | |
121 | 121 | ******************************************************************************/ |
122 | | void niyanpai_state::niyanpai_vramflip(int vram) |
| 122 | void niyanpai_state::vramflip(int vram) |
123 | 123 | { |
124 | 124 | int x, y; |
125 | 125 | UINT16 color1, color2; |
r245355 | r245356 | |
172 | 172 | } |
173 | 173 | } |
174 | 174 | |
175 | | void niyanpai_state::niyanpai_gfxdraw(int vram) |
| 175 | void niyanpai_state::gfxdraw(int vram) |
176 | 176 | { |
177 | 177 | UINT8 *GFX = memregion("gfx1")->base(); |
178 | 178 | int width = m_screen->width(); |
r245355 | r245356 | |
324 | 324 | } |
325 | 325 | |
326 | 326 | m_nb19010_busyflag = 0; |
327 | | timer_set(attotime::from_nsec(1000 * m_nb19010_busyctr), TIMER_BLITTER); |
| 327 | m_blitter_timer->adjust(attotime::from_nsec(1000 * m_nb19010_busyctr)); |
328 | 328 | } |
329 | 329 | |
330 | 330 | /****************************************************************************** |
331 | 331 | |
332 | 332 | |
333 | 333 | ******************************************************************************/ |
334 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_0_w){ niyanpai_blitter_w(0, offset, data); } |
335 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_1_w){ niyanpai_blitter_w(1, offset, data); } |
336 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_2_w){ niyanpai_blitter_w(2, offset, data); } |
| 334 | WRITE8_MEMBER(niyanpai_state::blitter_0_w){ blitter_w(0, offset, data); } |
| 335 | WRITE8_MEMBER(niyanpai_state::blitter_1_w){ blitter_w(1, offset, data); } |
| 336 | WRITE8_MEMBER(niyanpai_state::blitter_2_w){ blitter_w(2, offset, data); } |
337 | 337 | |
338 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_0_r){ return niyanpai_blitter_r(0, offset); } |
339 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_1_r){ return niyanpai_blitter_r(1, offset); } |
340 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_2_r){ return niyanpai_blitter_r(2, offset); } |
| 338 | READ8_MEMBER(niyanpai_state::blitter_0_r){ return blitter_r(0, offset); } |
| 339 | READ8_MEMBER(niyanpai_state::blitter_1_r){ return blitter_r(1, offset); } |
| 340 | READ8_MEMBER(niyanpai_state::blitter_2_r){ return blitter_r(2, offset); } |
341 | 341 | |
342 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_0_w){ niyanpai_clut_w(0, offset, data); } |
343 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_1_w){ niyanpai_clut_w(1, offset, data); } |
344 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_2_w){ niyanpai_clut_w(2, offset, data); } |
| 342 | WRITE8_MEMBER(niyanpai_state::clut_0_w){ clut_w(0, offset, data); } |
| 343 | WRITE8_MEMBER(niyanpai_state::clut_1_w){ clut_w(1, offset, data); } |
| 344 | WRITE8_MEMBER(niyanpai_state::clut_2_w){ clut_w(2, offset, data); } |
345 | 345 | |
346 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_0_w){ niyanpai_clutsel_w(0, data); } |
347 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_1_w){ niyanpai_clutsel_w(1, data); } |
348 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(2, data); } |
| 346 | WRITE8_MEMBER(niyanpai_state::clutsel_0_w){ clutsel_w(0, data); } |
| 347 | WRITE8_MEMBER(niyanpai_state::clutsel_1_w){ clutsel_w(1, data); } |
| 348 | WRITE8_MEMBER(niyanpai_state::clutsel_2_w){ clutsel_w(2, data); } |
349 | 349 | |
350 | 350 | /****************************************************************************** |
351 | 351 | |
r245355 | r245356 | |
370 | 370 | m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000); |
371 | 371 | m_clut[2] = auto_alloc_array(machine(), UINT8, 0x1000); |
372 | 372 | m_nb19010_busyflag = 1; |
| 373 | m_blitter_timer = timer_alloc(TIMER_BLITTER); |
| 374 | |
| 375 | save_item(NAME(m_scrollx)); |
| 376 | save_item(NAME(m_scrolly)); |
| 377 | save_item(NAME(m_blitter_destx)); |
| 378 | save_item(NAME(m_blitter_desty)); |
| 379 | save_item(NAME(m_blitter_sizex)); |
| 380 | save_item(NAME(m_blitter_sizey)); |
| 381 | save_item(NAME(m_blitter_src_addr)); |
| 382 | save_item(NAME(m_blitter_direction_x)); |
| 383 | save_item(NAME(m_blitter_direction_y)); |
| 384 | save_item(NAME(m_dispflag)); |
| 385 | save_item(NAME(m_flipscreen)); |
| 386 | save_item(NAME(m_clutmode)); |
| 387 | save_item(NAME(m_transparency)); |
| 388 | save_item(NAME(m_clutsel)); |
| 389 | save_item(NAME(m_screen_refresh)); |
| 390 | save_item(NAME(m_nb19010_busyctr)); |
| 391 | save_item(NAME(m_nb19010_busyflag)); |
| 392 | save_item(NAME(m_flipscreen_old)); |
| 393 | save_pointer(NAME(m_palette_ptr), 0x480); |
| 394 | save_pointer(NAME(m_videoram[0]), width * height); |
| 395 | save_pointer(NAME(m_videoram[1]), width * height); |
| 396 | save_pointer(NAME(m_videoram[2]), width * height); |
| 397 | save_pointer(NAME(m_videoworkram[0]), width * height); |
| 398 | save_pointer(NAME(m_videoworkram[1]), width * height); |
| 399 | save_pointer(NAME(m_videoworkram[2]), width * height); |
| 400 | save_pointer(NAME(m_clut[0]), 0x1000); |
| 401 | save_pointer(NAME(m_clut[1]), 0x1000); |
| 402 | save_pointer(NAME(m_clut[2]), 0x1000); |
| 403 | save_item(NAME(m_tmpbitmap[0])); |
| 404 | save_item(NAME(m_tmpbitmap[1])); |
| 405 | save_item(NAME(m_tmpbitmap[2])); |
373 | 406 | } |
374 | 407 | |
375 | 408 | /****************************************************************************** |
376 | 409 | |
377 | 410 | |
378 | 411 | ******************************************************************************/ |
379 | | UINT32 niyanpai_state::screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 412 | UINT32 niyanpai_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
380 | 413 | { |
381 | 414 | int i; |
382 | 415 | int x, y; |