Previous 199869 Revisions Next

r30873 Saturday 7th June, 2014 at 09:10:48 UTC by Alex Jackson
k051316: clean up/simplify inline configs, add tile bank dirty method for ultraman (nw)
[src/mame/drivers]88games.c bottom9.c chqflag.c overdriv.c rollerg.c tail2nos.c ultraman.c wecleman.c
[src/mame/video]k051316.c k051316.h overdriv.c tail2nos.c ultraman.c

trunk/src/mame/video/k051316.c
r30872r30873
109109      m_dx(0),
110110      m_dy(0),
111111      m_wrap(0),
112      m_pen_is_mask(false),
113112      m_pixels_per_byte(2), // 4bpp layout is default
114      m_transparent_pen(0)
113      m_layermask(0)
115114{
116115}
117116
r30872r30873
163162   m_tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k051316_device::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
164163   m_ram.resize_and_clear(0x800);
165164
166   if (!m_pen_is_mask)
167      m_tmap->set_transparent_pen(m_transparent_pen);
168   else
165   if (m_layermask)
169166   {
170167      m_tmap->map_pens_to_layer(0, 0, 0, TILEMAP_PIXEL_LAYER1);
171      m_tmap->map_pens_to_layer(0, m_transparent_pen, m_transparent_pen, TILEMAP_PIXEL_LAYER0);
168      m_tmap->map_pens_to_layer(0, m_layermask, m_layermask, TILEMAP_PIXEL_LAYER0);
172169   }
170   else
171      m_tmap->set_transparent_pen(0);
173172
174173   // bind callbacks
175174   m_k051316_cb.bind_relative_to(*owner());
trunk/src/mame/video/k051316.h
r30872r30873
1515#define MCFG_K051316_BPP(_bpp) \
1616   k051316_device::set_bpp(*device, _bpp);
1717
18#define MCFG_K051316_SETUP_PENS(_mask, _pen) \
19   k051316_device::set_pens(*device, _mask, _pen);
18#define MCFG_K051316_LAYER_MASK(_mask) \
19   k051316_device::set_layermask(*device, _mask);
2020
2121#define MCFG_K051316_WRAP(_wrap) \
2222   k051316_device::set_wrap(*device, _wrap);
r30872r30873
4141   static void set_k051316_callback(device_t &device, k051316_cb_delegate callback) { downcast<k051316_device &>(device).m_k051316_cb = callback; }
4242   static void set_wrap(device_t &device, int wrap) { downcast<k051316_device &>(device).m_wrap = wrap; }
4343   static void set_bpp(device_t &device, int bpp);
44   static void set_pens(device_t &device, bool mask, int transp)
45   {
46      k051316_device &dev = downcast<k051316_device &>(device);
47      dev.m_pen_is_mask = mask;
48      dev.m_transparent_pen = transp;
49   }
44   static void set_layermask(device_t &device, int mask) { downcast<k051316_device &>(device).m_layermask = mask; }
5045   static void set_offsets(device_t &device, int x_offset, int y_offset)
5146   {
5247      k051316_device &dev = downcast<k051316_device &>(device);
r30872r30873
7469   void wraparound_enable(int status);
7570
7671   void mark_gfx_dirty(offs_t byteoffset) { gfx(0)->mark_dirty(byteoffset * m_pixels_per_byte / (16 * 16)); }
72   void mark_tmap_dirty() { m_tmap->mark_all_dirty(); }
7773
7874protected:
7975   // device-level overrides
r30872r30873
9187
9288   int m_dx, m_dy;
9389   int m_wrap;
94   bool m_pen_is_mask;
9590   int m_pixels_per_byte;
96   int m_transparent_pen;
91   int m_layermask;
9792   k051316_cb_delegate m_k051316_cb;
9893
9994   TILE_GET_INFO_MEMBER(get_tile_info);
trunk/src/mame/video/tail2nos.c
r30872r30873
155155{
156156   if (m_video_enable)
157157   {
158      m_k051316->zoom_draw(screen, bitmap, cliprect, 0, 0);
158      m_k051316->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
159159      draw_sprites(bitmap, cliprect);
160160      m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
161161   }
trunk/src/mame/video/overdriv.c
r30872r30873
5757
5858   screen.priority().fill(0, cliprect);
5959
60   m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 0);
60   m_k051316_1->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
6161   m_k051316_2->zoom_draw(screen, bitmap, cliprect, 0, 1);
6262
6363   m_k053246->k053247_sprites_draw( bitmap,cliprect);
trunk/src/mame/video/ultraman.c
r30872r30873
8383      if (m_bank0 != ((data & 0x02) >> 1))
8484      {
8585         m_bank0 = (data & 0x02) >> 1;
86         machine().tilemap().mark_all_dirty();   /* should mark only zoom0 */
86         m_k051316_1->mark_tmap_dirty();
8787      }
8888
8989      m_k051316_2->wraparound_enable(data & 0x04);
r30872r30873
9191      if (m_bank1 != ((data & 0x08) >> 3))
9292      {
9393         m_bank1 = (data & 0x08) >> 3;
94         machine().tilemap().mark_all_dirty();   /* should mark only zoom1 */
94         m_k051316_2->mark_tmap_dirty();
9595      }
9696
9797      m_k051316_3->wraparound_enable(data & 0x10);
r30872r30873
9999      if (m_bank2 != ((data & 0x20) >> 5))
100100      {
101101         m_bank2 = (data & 0x20) >> 5;
102         machine().tilemap().mark_all_dirty();   /* should mark only zoom2 */
102         m_k051316_3->mark_tmap_dirty();
103103      }
104104
105105      coin_counter_w(machine(), 0, data & 0x40);
r30872r30873
117117
118118UINT32 ultraman_state::screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
119119{
120   m_k051316_3->zoom_draw(screen, bitmap, cliprect, 0, 0);
120   m_k051316_3->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
121121   m_k051316_2->zoom_draw(screen, bitmap, cliprect, 0, 0);
122122   m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 0, 0);
123123   m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 0);
trunk/src/mame/drivers/tail2nos.c
r30872r30873
228228   MCFG_GFX_PALETTE("palette")
229229   MCFG_K051316_BPP(-4)
230230   MCFG_K051316_OFFSETS(-89, -14)
231   MCFG_K051316_SETUP_PENS(true, 0)
232231   MCFG_K051316_WRAP(1)
233232   MCFG_K051316_CB(tail2nos_state, zoom_callback)
234233
trunk/src/mame/drivers/chqflag.c
r30872r30873
336336
337337   MCFG_DEVICE_ADD("k051316_1", K051316, 0)
338338   MCFG_GFX_PALETTE("palette")
339   MCFG_K051316_BPP(4)
340339   MCFG_K051316_OFFSETS(7, 0)
341340   MCFG_K051316_CB(chqflag_state, zoom_callback_1)
342341
343342   MCFG_DEVICE_ADD("k051316_2", K051316, 0)
344343   MCFG_GFX_PALETTE("palette")
345344   MCFG_K051316_BPP(8)
346   MCFG_K051316_SETUP_PENS(true, 0xc0)
345   MCFG_K051316_LAYER_MASK(0xc0)
347346   MCFG_K051316_WRAP(1)
348347   MCFG_K051316_CB(chqflag_state, zoom_callback_2)
349348
trunk/src/mame/drivers/ultraman.c
r30872r30873
213213
214214   MCFG_DEVICE_ADD("k051316_1", K051316, 0)
215215   MCFG_GFX_PALETTE("palette")
216   MCFG_K051316_BPP(4)
217216   MCFG_K051316_OFFSETS(8, 0)
218217   MCFG_K051316_CB(ultraman_state, zoom_callback_1)
219218
220219   MCFG_DEVICE_ADD("k051316_2", K051316, 0)
221220   MCFG_GFX_PALETTE("palette")
222   MCFG_K051316_BPP(4)
223221   MCFG_K051316_OFFSETS(8, 0)
224222   MCFG_K051316_CB(ultraman_state, zoom_callback_2)
225223
226224   MCFG_DEVICE_ADD("k051316_3", K051316, 0)
227225   MCFG_GFX_PALETTE("palette")
228   MCFG_K051316_BPP(4)
229   MCFG_K051316_SETUP_PENS(true, 0)
230226   MCFG_K051316_OFFSETS(8, 0)
231227   MCFG_K051316_CB(ultraman_state, zoom_callback_3)
232228
trunk/src/mame/drivers/bottom9.c
r30872r30873
342342
343343   MCFG_DEVICE_ADD("k051316", K051316, 0)
344344   MCFG_GFX_PALETTE("palette")
345   MCFG_K051316_BPP(4)
346345   MCFG_K051316_CB(bottom9_state, zoom_callback)
347346
348347   /* sound hardware */
trunk/src/mame/drivers/overdriv.c
r30872r30873
335335
336336   MCFG_DEVICE_ADD("k051316_1", K051316, 0)
337337   MCFG_GFX_PALETTE("palette")
338   MCFG_K051316_BPP(4)
339338   MCFG_K051316_OFFSETS(14, -1)
340339   MCFG_K051316_WRAP(1)
341   MCFG_K051316_SETUP_PENS(true, 0)
342340   MCFG_K051316_CB(overdriv_state, zoom_callback_1)
343341
344342   MCFG_DEVICE_ADD("k051316_2", K051316, 0)
345343   MCFG_GFX_PALETTE("palette")
346   MCFG_K051316_BPP(4)
347344   MCFG_K051316_OFFSETS(15, 1)
348345   MCFG_K051316_CB(overdriv_state, zoom_callback_2)
349346
trunk/src/mame/drivers/rollerg.c
r30872r30873
271271
272272   MCFG_DEVICE_ADD("k051316", K051316, 0)
273273   MCFG_GFX_PALETTE("palette")
274   MCFG_K051316_BPP(4)
275274   MCFG_K051316_OFFSETS(22, 1)
276275   MCFG_K051316_CB(rollerg_state, zoom_callback)
277276
trunk/src/mame/drivers/88games.c
r30872r30873
361361
362362   MCFG_DEVICE_ADD("k051316", K051316, 0)
363363   MCFG_GFX_PALETTE("palette")
364   MCFG_K051316_BPP(4)
365364   MCFG_K051316_CB(_88games_state, zoom_callback)
366365
367366   /* sound hardware */
trunk/src/mame/drivers/wecleman.c
r30872r30873
11401140
11411141   MCFG_DEVICE_ADD("k051316_1", K051316, 0)
11421142   MCFG_GFX_PALETTE("palette")
1143   MCFG_K051316_BPP(4)
11441143   MCFG_K051316_OFFSETS(-0xb0 / 2, -16)
11451144   MCFG_K051316_WRAP(1)
11461145   MCFG_K051316_CB(wecleman_state, hotchase_zoom_callback_1)
11471146
11481147   MCFG_DEVICE_ADD("k051316_2", K051316, 0)
11491148   MCFG_GFX_PALETTE("palette")
1150   MCFG_K051316_BPP(4)
11511149   MCFG_K051316_OFFSETS(-0xb0 / 2, -16)
11521150   MCFG_K051316_CB(wecleman_state, hotchase_zoom_callback_2)
11531151

Previous 199869 Revisions Next


© 1997-2024 The MAME Team