Previous 199869 Revisions Next

r30730 Friday 30th May, 2014 at 21:30:14 UTC by Alex Jackson
niyanpai.c: blitter registers are 8-bit; fix m68000 regression (nw)
[src/mame/drivers]niyanpai.c
[src/mame/includes]niyanpai.h
[src/mame/video]niyanpai.c

trunk/src/mame/includes/niyanpai.h
r30729r30730
6060   DECLARE_WRITE16_MEMBER(musobana_inputport_w);
6161   DECLARE_READ16_MEMBER(niyanpai_palette_r);
6262   DECLARE_WRITE16_MEMBER(niyanpai_palette_w);
63   DECLARE_WRITE16_MEMBER(niyanpai_blitter_0_w);
64   DECLARE_WRITE16_MEMBER(niyanpai_blitter_1_w);
65   DECLARE_WRITE16_MEMBER(niyanpai_blitter_2_w);
66   DECLARE_READ16_MEMBER(niyanpai_blitter_0_r);
67   DECLARE_READ16_MEMBER(niyanpai_blitter_1_r);
68   DECLARE_READ16_MEMBER(niyanpai_blitter_2_r);
69   DECLARE_WRITE16_MEMBER(niyanpai_clut_0_w);
70   DECLARE_WRITE16_MEMBER(niyanpai_clut_1_w);
71   DECLARE_WRITE16_MEMBER(niyanpai_clut_2_w);
72   DECLARE_WRITE16_MEMBER(niyanpai_clutsel_0_w);
73   DECLARE_WRITE16_MEMBER(niyanpai_clutsel_1_w);
74   DECLARE_WRITE16_MEMBER(niyanpai_clutsel_2_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);
7575   DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r);
7676   DECLARE_DRIVER_INIT(niyanpai);
7777   DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w);
r30729r30730
8181   UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
8282   INTERRUPT_GEN_MEMBER(niyanpai_interrupt);
8383   int niyanpai_blitter_r(int vram, int offset);
84   void niyanpai_blitter_w(int vram, int offset, int data);
85   void niyanpai_clutsel_w(int vram, int data);
86   void niyanpai_clut_w(int vram, int offset, int data);
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);
8787   void niyanpai_vramflip(int vram);
8888   void update_pixel(int vram, int x, int y);
8989   void niyanpai_gfxdraw(int vram);
trunk/src/mame/video/niyanpai.c
r30729r30730
7272   return ret;
7373}
7474
75void niyanpai_state::niyanpai_blitter_w(int vram, int offset, int data)
75void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data)
7676{
7777   switch (offset)
7878   {
r30729r30730
105105   }
106106}
107107
108void niyanpai_state::niyanpai_clutsel_w(int vram, int data)
108void niyanpai_state::niyanpai_clutsel_w(int vram, UINT8 data)
109109{
110110   m_clutsel[vram] = data;
111111}
112112
113void niyanpai_state::niyanpai_clut_w(int vram, int offset, int data)
113void niyanpai_state::niyanpai_clut_w(int vram, int offset, UINT8 data)
114114{
115115   m_clut[vram][((m_clutsel[vram] & 0xff) * 0x10) + (offset & 0x0f)] = data;
116116}
r30729r30730
331331
332332
333333******************************************************************************/
334WRITE16_MEMBER(niyanpai_state::niyanpai_blitter_0_w){ niyanpai_blitter_w(0, offset, data); }
335WRITE16_MEMBER(niyanpai_state::niyanpai_blitter_1_w){ niyanpai_blitter_w(1, offset, data); }
336WRITE16_MEMBER(niyanpai_state::niyanpai_blitter_2_w){ niyanpai_blitter_w(2, offset, data); }
334WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_0_w){ niyanpai_blitter_w(0, offset, data); }
335WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_1_w){ niyanpai_blitter_w(1, offset, data); }
336WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_2_w){ niyanpai_blitter_w(2, offset, data); }
337337
338READ16_MEMBER(niyanpai_state::niyanpai_blitter_0_r){ return niyanpai_blitter_r(0, offset); }
339READ16_MEMBER(niyanpai_state::niyanpai_blitter_1_r){ return niyanpai_blitter_r(1, offset); }
340READ16_MEMBER(niyanpai_state::niyanpai_blitter_2_r){ return niyanpai_blitter_r(2, offset); }
338READ8_MEMBER(niyanpai_state::niyanpai_blitter_0_r){ return niyanpai_blitter_r(0, offset); }
339READ8_MEMBER(niyanpai_state::niyanpai_blitter_1_r){ return niyanpai_blitter_r(1, offset); }
340READ8_MEMBER(niyanpai_state::niyanpai_blitter_2_r){ return niyanpai_blitter_r(2, offset); }
341341
342WRITE16_MEMBER(niyanpai_state::niyanpai_clut_0_w){ niyanpai_clut_w(0, offset, data); }
343WRITE16_MEMBER(niyanpai_state::niyanpai_clut_1_w){ niyanpai_clut_w(1, offset, data); }
344WRITE16_MEMBER(niyanpai_state::niyanpai_clut_2_w){ niyanpai_clut_w(2, offset, data); }
342WRITE8_MEMBER(niyanpai_state::niyanpai_clut_0_w){ niyanpai_clut_w(0, offset, data); }
343WRITE8_MEMBER(niyanpai_state::niyanpai_clut_1_w){ niyanpai_clut_w(1, offset, data); }
344WRITE8_MEMBER(niyanpai_state::niyanpai_clut_2_w){ niyanpai_clut_w(2, offset, data); }
345345
346WRITE16_MEMBER(niyanpai_state::niyanpai_clutsel_0_w){ niyanpai_clutsel_w(0, data); }
347WRITE16_MEMBER(niyanpai_state::niyanpai_clutsel_1_w){ niyanpai_clutsel_w(1, data); }
348WRITE16_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(2, data); }
346WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_0_w){ niyanpai_clutsel_w(0, data); }
347WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_1_w){ niyanpai_clutsel_w(1, data); }
348WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(2, data); }
349349
350350/******************************************************************************
351351
trunk/src/mame/drivers/niyanpai.c
r30729r30730
190190   AM_RANGE(0x240000, 0x240009) AM_WRITENOP            // unknown
191191   AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP            // unknown
192192
193   AM_RANGE(0x240400, 0x240403) AM_READ(niyanpai_blitter_0_r)
194   AM_RANGE(0x240400, 0x24041f) AM_WRITE(niyanpai_blitter_0_w)
195   AM_RANGE(0x240420, 0x24043f) AM_WRITE(niyanpai_clut_0_w)
196   AM_RANGE(0x240600, 0x240603) AM_READ(niyanpai_blitter_1_r)
197   AM_RANGE(0x240600, 0x24061f) AM_WRITE(niyanpai_blitter_1_w)
198   AM_RANGE(0x240620, 0x24063f) AM_WRITE(niyanpai_clut_1_w)
199   AM_RANGE(0x240800, 0x240803) AM_READ(niyanpai_blitter_2_r)
200   AM_RANGE(0x240800, 0x24081f) AM_WRITE(niyanpai_blitter_2_w)
201   AM_RANGE(0x240820, 0x24083f) AM_WRITE(niyanpai_clut_2_w)
193   AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
194   AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
195   AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
196   AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
197   AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
198   AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
199   AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
200   AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
201   AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
202202   AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
203203
204204   AM_RANGE(0x280200, 0x280201) AM_READ_PORT("P1_P2")
205205   AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM")
206   AM_RANGE(0x240a00, 0x240a01) AM_WRITE(niyanpai_clutsel_0_w)
207   AM_RANGE(0x240c00, 0x240c01) AM_WRITE(niyanpai_clutsel_1_w)
208   AM_RANGE(0x240e00, 0x240e01) AM_WRITE(niyanpai_clutsel_2_w)
206   AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
207   AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
208   AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
209209
210210   AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w)  // TMP68301 Registers
211211ADDRESS_MAP_END
r30729r30730
226226   AM_RANGE(0x240000, 0x240009) AM_WRITENOP            // unknown
227227   AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP            // unknown
228228
229   AM_RANGE(0x240400, 0x240403) AM_READ(niyanpai_blitter_0_r)
230   AM_RANGE(0x240400, 0x24041f) AM_WRITE(niyanpai_blitter_0_w)
231   AM_RANGE(0x240420, 0x24043f) AM_WRITE(niyanpai_clut_0_w)
229   AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
230   AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
231   AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
232232
233   AM_RANGE(0x240600, 0x240603) AM_READ(niyanpai_blitter_1_r)
234   AM_RANGE(0x240600, 0x24061f) AM_WRITE(niyanpai_blitter_1_w)
235   AM_RANGE(0x240620, 0x24063f) AM_WRITE(niyanpai_clut_1_w)
233   AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
234   AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
235   AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
236236
237   AM_RANGE(0x240800, 0x240803) AM_READ(niyanpai_blitter_2_r)
238   AM_RANGE(0x240800, 0x24081f) AM_WRITE(niyanpai_blitter_2_w)
239   AM_RANGE(0x240820, 0x24083f) AM_WRITE(niyanpai_clut_2_w)
240   AM_RANGE(0x240a00, 0x240a01) AM_WRITE(niyanpai_clutsel_0_w)
241   AM_RANGE(0x240c00, 0x240c01) AM_WRITE(niyanpai_clutsel_1_w)
242   AM_RANGE(0x240e00, 0x240e01) AM_WRITE(niyanpai_clutsel_2_w)
237   AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
238   AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
239   AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
240   AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
241   AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
242   AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
243243
244244   AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
245245   AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)
r30729r30730
265265   AM_RANGE(0x240000, 0x240009) AM_WRITENOP            // unknown
266266   AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP            // unknown
267267
268   AM_RANGE(0x240400, 0x240403) AM_READ(niyanpai_blitter_0_r)
269   AM_RANGE(0x240400, 0x24041f) AM_WRITE(niyanpai_blitter_0_w)
270   AM_RANGE(0x240420, 0x24043f) AM_WRITE(niyanpai_clut_0_w)
268   AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
269   AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
270   AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
271271
272   AM_RANGE(0x240600, 0x240603) AM_READ(niyanpai_blitter_1_r)
273   AM_RANGE(0x240600, 0x24061f) AM_WRITE(niyanpai_blitter_1_w)
274   AM_RANGE(0x240620, 0x24063f) AM_WRITE(niyanpai_clut_1_w)
272   AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
273   AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
274   AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
275275
276   AM_RANGE(0x240800, 0x240803) AM_READ(niyanpai_blitter_2_r)
277   AM_RANGE(0x240800, 0x24081f) AM_WRITE(niyanpai_blitter_2_w)
278   AM_RANGE(0x240820, 0x24083f) AM_WRITE(niyanpai_clut_2_w)
276   AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
277   AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
278   AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
279279
280   AM_RANGE(0x240a00, 0x240a01) AM_WRITE(niyanpai_clutsel_0_w)
281   AM_RANGE(0x240c00, 0x240c01) AM_WRITE(niyanpai_clutsel_1_w)
282   AM_RANGE(0x240e00, 0x240e01) AM_WRITE(niyanpai_clutsel_2_w)
280   AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
281   AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
282   AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
283283
284284   AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
285285   AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)
r30729r30730
304304   AM_RANGE(0x240000, 0x240009) AM_WRITENOP            // unknown
305305   AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP            // unknown
306306
307   AM_RANGE(0x240400, 0x240403) AM_READ(niyanpai_blitter_0_r)
308   AM_RANGE(0x240400, 0x24041f) AM_WRITE(niyanpai_blitter_0_w)
309   AM_RANGE(0x240420, 0x24043f) AM_WRITE(niyanpai_clut_0_w)
307   AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
308   AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
309   AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
310310
311   AM_RANGE(0x240600, 0x240603) AM_READ(niyanpai_blitter_1_r)
312   AM_RANGE(0x240600, 0x24061f) AM_WRITE(niyanpai_blitter_1_w)
313   AM_RANGE(0x240620, 0x24063f) AM_WRITE(niyanpai_clut_1_w)
311   AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
312   AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
313   AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
314314
315   AM_RANGE(0x240800, 0x240803) AM_READ(niyanpai_blitter_2_r)
316   AM_RANGE(0x240800, 0x24081f) AM_WRITE(niyanpai_blitter_2_w)
317   AM_RANGE(0x240820, 0x24083f) AM_WRITE(niyanpai_clut_2_w)
315   AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
316   AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
317   AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
318318
319   AM_RANGE(0x240a00, 0x240a01) AM_WRITE(niyanpai_clutsel_0_w)
320   AM_RANGE(0x240c00, 0x240c01) AM_WRITE(niyanpai_clutsel_1_w)
321   AM_RANGE(0x240e00, 0x240e01) AM_WRITE(niyanpai_clutsel_2_w)
319   AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
320   AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
321   AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
322322
323323   AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
324324   AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team