Previous 199869 Revisions Next

r18514 Sunday 14th October, 2012 at 10:02:43 UTC by Tafoid
Video System 13/10/12 cleanups and preparation for further function merging. From Haze (nw)
[src/mame/drivers]aerofgt.c f1gp.c inufuku.c
[src/mame/includes]aerofgt.h f1gp.h
[src/mame/video]aerofgt.c f1gp.c vsystem_spr.c vsystem_spr.h vsystem_spr2.c vsystem_spr2.h

trunk/src/mame/video/vsystem_spr2.c
r18513r18514
6969
7070
7171template<class _BitmapClass>
72void vsystem_spr2_device::turbofrc_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
72void vsystem_spr2_device::turbofrc_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip_disabled_pri )
7373{
7474   int attr_start, base, first;
75   base = chip * 0x0200;
75   base = 0;//chip * 0x0200;
7676   first = 4 * spriteram3[0x1fe + base];
7777
7878   for (attr_start = base + 0x0200 - 8; attr_start >= first + base; attr_start -= 4)
r18513r18514
121121            else
122122               sx = ((curr_sprite.ox + curr_sprite.zoomx * x / 2 + 16) & 0x1ff) - 16;
123123
124            if (chip == 0)
125               curr = spriteram1[curr_sprite.map % (spriteram1_bytes/2)];
126            else
127               curr = spriteram2[curr_sprite.map % (spriteram2_bytes/2)];
128
129            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[sprite_gfx + chip],
124            curr = spriteram1[curr_sprite.map % (spriteram1_bytes/2)];
125   
126            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[sprite_gfx],
130127                      curr,
131128                      curr_sprite.color,
132129                      curr_sprite.flipx,curr_sprite.flipy,
r18513r18514
144141   }
145142}
146143
147void vsystem_spr2_device::turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
148{ turbofrc_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, spriteram2, spriteram2_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip, chip_disabled_pri ); }
144void vsystem_spr2_device::turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip_disabled_pri )
145{ turbofrc_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip_disabled_pri ); }
149146
150void vsystem_spr2_device::turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
151{ turbofrc_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, spriteram2, spriteram2_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip, chip_disabled_pri ); }
147void vsystem_spr2_device::turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip_disabled_pri )
148{ turbofrc_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip_disabled_pri ); }
152149
153150
154151template<class _BitmapClass>
155void vsystem_spr2_device::spinlbrk_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
152void vsystem_spr2_device::spinlbrk_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip_disabled_pri )
156153{
157154   int attr_start, base, first;
158   base = chip * 0x0200;
155   base = 0;//chip * 0x0200;
159156   first = 4 * spriteram3[0x1fe + base];
160157
161158   for (attr_start = base + 0x0200-8; attr_start >= first + base; attr_start -= 4)
r18513r18514
202199            else
203200               sx = ((curr_sprite.ox + curr_sprite.zoomx * x / 2 + 16) & 0x1ff) - 16;
204201
205            if (chip == 0)
206               curr = spriteram1[curr_sprite.map % (spriteram1_bytes/2)];
207            else
208               curr = spriteram2[curr_sprite.map % (spriteram2_bytes/2)];
209
210            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[sprite_gfx + chip],
202            curr = spriteram1[curr_sprite.map % (spriteram1_bytes/2)];
203   
204            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[sprite_gfx],
211205                      curr,
212206                      curr_sprite.color,
213207                      curr_sprite.flipx,curr_sprite.flipy,
r18513r18514
225219   }
226220}
227221
228void vsystem_spr2_device::spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
229{ spinlbrk_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, spriteram2, spriteram2_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip, chip_disabled_pri ); }
222void vsystem_spr2_device::spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip_disabled_pri )
223{ spinlbrk_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip_disabled_pri ); }
230224
231void vsystem_spr2_device::spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri )
232{ spinlbrk_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, spriteram2, spriteram2_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip, chip_disabled_pri ); }
225void vsystem_spr2_device::spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip_disabled_pri )
226{ spinlbrk_draw_sprites_common( spriteram3, spriteram3_bytes, spriteram1, spriteram1_bytes, sprite_gfx, spritepalettebank, machine, bitmap, cliprect, chip_disabled_pri ); }
233227
234228
235229
r18513r18514
343337
344338
345339
346void vsystem_spr2_device::f1gp_draw_sprites( UINT16* spr1vram, UINT16* spr2vram, UINT16* spr1cgram, int spr1cgram_bytes, UINT16* spr2cgram, int spr2cgram_bytes, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int primask )
340void vsystem_spr2_device::f1gp_draw_sprites( int gfxrgn, UINT16* sprvram, UINT16* sprcgram, int sprcgram_bytes, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int primask )
347341{
348342   int attr_start, first;
349   UINT16 *spram = chip ? spr2vram : spr1vram;
343   UINT16 *spram = sprvram;
350344
351345   first = 4 * spram[0x1fe];
352346
r18513r18514
378372            if (curr_sprite.flipx) sx = ((curr_sprite.ox + curr_sprite.zoomx * (curr_sprite.xsize - x) + 16) & 0x1ff) - 16;
379373            else sx = ((curr_sprite.ox + curr_sprite.zoomx * x + 16) & 0x1ff) - 16;
380374
381            if (chip == 0)
382               curr = spr1cgram[curr_sprite.map % (spr1cgram_bytes / 2)];
383            else
384               curr = spr2cgram[curr_sprite.map % (spr2cgram_bytes / 2)];
375            curr = sprcgram[curr_sprite.map % (sprcgram_bytes / 2)];
385376
386            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[1 + chip],
377            pdrawgfxzoom_transpen(bitmap,cliprect,machine.gfx[gfxrgn],
387378                  curr,
388379                  curr_sprite.color,
389380                  curr_sprite.flipx,curr_sprite.flipy,
trunk/src/mame/video/vsystem_spr2.h
r18513r18514
2525
2626
2727   template<class _BitmapClass>
28   void turbofrc_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
28   void turbofrc_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip_disabled_pri );
2929   
30   void turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
31   void turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
30   void turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip_disabled_pri );
31   void turbofrc_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip_disabled_pri );
3232
3333   template<class _BitmapClass>
34   void spinlbrk_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
34   void spinlbrk_draw_sprites_common( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, int chip_disabled_pri );
3535   
36   void spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
37   void spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, UINT16* spriteram2, int spriteram2_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri );
36   void spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip_disabled_pri );
37   void spinlbrk_draw_sprites( UINT16* spriteram3,  int spriteram3_bytes, UINT16* spriteram1, int spriteram1_bytes, int sprite_gfx, int spritepalettebank, running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int chip_disabled_pri );
3838
3939
4040   void welltris_draw_sprites( UINT16* spriteram, int spritepalettebank, running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect);
41   void f1gp_draw_sprites( UINT16* spr1vram, UINT16* spr2vram, UINT16* spr1cgram, int spr1cgram_bytes, UINT16* spr2cgram, int spr2cgram_bytes, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int primask );
41   void f1gp_draw_sprites( int gfxrgn, UINT16* sprvram, UINT16* sprcgram, int sprcgram_bytes, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int primask );
4242   void draw_sprites_pipedrm( UINT8* spriteram, int spriteram_bytes, int flipscreen, screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int draw_priority );
4343
4444protected:
trunk/src/mame/video/vsystem_spr.c
r18513r18514
109109vsystem_spr_device::vsystem_spr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
110110   : device_t(mconfig, VSYSTEM_SPR, "vsystem_spr_device", tag, owner, clock)
111111{
112   m_CG10103.transpen = 15;
113   m_CG10103.pal_base = 0;
112   m_transpen = 15;
113   m_pal_base = 0;
114   m_xoffs = 0;
115   m_yoffs = 0;
116   m_pdraw = false;
117}
114118
119// static
120void vsystem_spr_device::set_offsets(device_t &device, int xoffs, int yoffs)
121{
122   vsystem_spr_device &dev = downcast<vsystem_spr_device &>(device);
123   dev.m_xoffs = xoffs;
124   dev.m_yoffs = yoffs;
115125}
116126
127// static
128void vsystem_spr_device::set_pdraw(device_t &device, bool pdraw)
129{
130   vsystem_spr_device &dev = downcast<vsystem_spr_device &>(device);
131   dev.m_pdraw = pdraw;
132}
117133
118
119134void vsystem_spr_device::device_start()
120135{
121136
r18513r18514
171186void vsystem_spr_device::common_sprite_drawgfx(int gfxrgn, UINT16* spriteram2, UINT16* spriteram3, vsystem_spr_tile_indirection_callback tilecb, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
172187{
173188   gfx_element *gfx = machine.gfx[gfxrgn];
189   int priority_mask = 0x00;
174190
175   curr_sprite.zoomx = 32 - curr_sprite.zoomx;
176   curr_sprite.zoomy = 32 - curr_sprite.zoomy;
191   curr_sprite.oy += m_yoffs;
192   curr_sprite.ox += m_xoffs;
177193
178   int ystart, yend, yinc;
179   
180   if (!curr_sprite.flipy)   { ystart = 0; yend = curr_sprite.ysize+1; yinc = 1; }
181   else                    { ystart = curr_sprite.ysize; yend = -1; yinc = -1; }
182
183   int ycnt = ystart;
184   while (ycnt != yend)
194   if (m_pdraw)
185195   {
186      int xstart, xend, xinc;
187
188      if (!curr_sprite.flipx)   { xstart = 0; xend = curr_sprite.xsize+1; xinc = 1; }
189      else                    { xstart = curr_sprite.xsize; xend = -1; xinc = -1; }
190
191      int xcnt = xstart;
192      while (xcnt != xend)
196      switch (curr_sprite.pri)
193197      {
194         int startno = tilecb(curr_sprite.map++, spriteram2, spriteram3);
195         drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_CG10103.transpen);
196         drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_CG10103.transpen);     
197         drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_CG10103.transpen);
198         drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_CG10103.transpen);     
199         xcnt+=xinc;
198         default:
199         case 0:   priority_mask = 0x00; break;
200         case 3:   priority_mask = 0xfe; break;
201         case 2:   priority_mask = 0xfc; break;
202         case 1:   priority_mask = 0xf0; break;
200203      }
201      ycnt+=yinc;
202204   }
203   
204}
205205
206// same as above but for pdrawgfx implementations
207void vsystem_spr_device::common_sprite_pdrawgfx(int gfxrgn, UINT16* spriteram2, UINT16* spriteram3, vsystem_spr_tile_indirection_callback tilecb, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
208{
209   gfx_element *gfx = machine.gfx[gfxrgn];
210   int priority_mask;
211
212   switch (curr_sprite.pri)
213   {
214      default:
215      case 0:   priority_mask = 0x00; break;
216      case 3:   priority_mask = 0xfe; break;
217      case 2:   priority_mask = 0xfc; break;
218      case 1:   priority_mask = 0xf0; break;
219   }
220
221
222206   curr_sprite.zoomx = 32 - curr_sprite.zoomx;
223207   curr_sprite.zoomy = 32 - curr_sprite.zoomy;
224208
r18513r18514
238222      int xcnt = xstart;
239223      while (xcnt != xend)
240224      {
241         int startno = tilecb(curr_sprite.map++, spriteram2, spriteram3);   
242         pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_CG10103.transpen);
243         pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_CG10103.transpen);     
244         pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_CG10103.transpen);
245         pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_CG10103.pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_CG10103.transpen);     
225         int startno = tilecb(curr_sprite.map++, spriteram2, spriteram3);
226         if (m_pdraw)
227         {
228            pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_transpen);
229            pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_transpen);     
230            pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_transpen);
231            pdrawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, machine.priority_bitmap,priority_mask, m_transpen);     
232         }
233         else
234         {
235            drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_transpen);
236            drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, curr_sprite.oy + ycnt * curr_sprite.zoomy/2,        curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_transpen);     
237            drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, curr_sprite.ox + xcnt * curr_sprite.zoomx/2,        -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_transpen);
238            drawgfxzoom_transpen(bitmap, cliprect, gfx, startno, curr_sprite.color + m_pal_base, curr_sprite.flipx, curr_sprite.flipy, -0x200+curr_sprite.ox + xcnt * curr_sprite.zoomx/2, -0x200+curr_sprite.oy + ycnt * curr_sprite.zoomy/2, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, m_transpen);     
239         }
246240         xcnt+=xinc;
247241      }
248242      ycnt+=yinc;
249243   }
244   
250245}
251246
252247
248
253249void vsystem_spr_device::draw_sprites_inufuku( UINT16* spriteram, int spriteram_bytes, UINT16* spriteram2, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
254250{
255251   int offs;
r18513r18514
271267
272268         get_sprite_attributes(&spriteram[attr_start]);
273269
274//         curr_sprite.oy += 1;
275270         curr_sprite.map &= 0x7fff;
276271
277         common_sprite_pdrawgfx(2, spriteram2, NULL, inufuku_tile_callback, machine, bitmap, cliprect);
272         common_sprite_drawgfx(2, spriteram2, NULL, inufuku_tile_callback, machine, bitmap, cliprect);
278273      }
279274   }
280275}
r18513r18514
412407   if (curr_sprite.pri != drawpri)
413408      return;
414409
415   common_sprite_drawgfx(m_CG10103.gfx_region, NULL, NULL, gstriker_tile_callback, machine, bitmap, cliprect);
410   common_sprite_drawgfx(m_gfx_region, NULL, NULL, gstriker_tile_callback, machine, bitmap, cliprect);
416411}
417412
418413
r18513r18514
421416   UINT16* splist;
422417   int i;
423418
424   splist = m_CG10103.vram;
419   splist = m_vram;
425420
426421   // Parse the sorting list
427422   for (i=0;i<0x400;i++)
r18513r18514
438433         int num = cmd & 0x3FF;
439434
440435         // Draw the sprite
441         CG10103_draw_sprite(machine, screen, cliprect, m_CG10103.vram + num*4, pri);
436         CG10103_draw_sprite(machine, screen, cliprect, m_vram + num*4, pri);
442437      }
443438   }
444439}
r18513r18514
447442
448443void vsystem_spr_device::CG10103_set_pal_base(int pal_base)
449444{
450   m_CG10103.pal_base = pal_base;
445   m_pal_base = pal_base;
451446}
452447
453448void vsystem_spr_device::CG10103_set_gfx_region(int gfx_region)
454449{
455   m_CG10103.gfx_region = gfx_region;
450   m_gfx_region = gfx_region;
456451}
457452
458453void vsystem_spr_device::CG10103_set_transpen(int transpen)
459454{
460   m_CG10103.transpen = transpen;
455   m_transpen = transpen;
461456}
462457
463458void vsystem_spr_device::CG10103_set_ram(UINT16* vram)
464459{
465   m_CG10103.vram = vram;
460   m_vram = vram;
466461}
trunk/src/mame/video/vsystem_spr.h
r18513r18514
33
44/*** CG10103 **********************************************/
55
6
7struct tCG10103
8{
9   UINT16* vram;
10   UINT16 pal_base;
11   UINT8 gfx_region;
12   UINT8 transpen;
13
14};
15
166typedef UINT32 (*vsystem_spr_tile_indirection_callback)(UINT32 code, UINT16* lookupram1, UINT16* lookupram2);
177
188class vsystem_spr_device : public device_t
r18513r18514
2010public:
2111   vsystem_spr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
2212
23   tCG10103 m_CG10103;
13   static void set_offsets(device_t &device, int xoffs, int yoffs);
14   static void set_pdraw(device_t &device, bool pdraw);
2415
16
17
18   int m_xoffs, m_yoffs;
19   bool m_pdraw;
20
21   UINT16* m_vram;
22   UINT16 m_pal_base;
23   UINT8 m_gfx_region;
24   UINT8 m_transpen;
25
2526   struct vsystem_sprite_attributes
2627   {
2728      int ox;
r18513r18514
3940
4041   void get_sprite_attributes(UINT16* ram);
4142   void common_sprite_drawgfx(int gfxrgn, UINT16* spriteram2, UINT16* spriteram3, vsystem_spr_tile_indirection_callback tilecb, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect);
42   void common_sprite_pdrawgfx(int gfxrgn, UINT16* spriteram2, UINT16* spriteram3, vsystem_spr_tile_indirection_callback tilecb, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect);
4343
4444   void draw_sprites_inufuku(  UINT16* spriteram, int spriteram_bytes, UINT16* spriteram2, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect );
4545   void draw_sprites_suprslam( UINT16* spriteram, int spriteram_bytes, UINT16* spriteram2, running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect );
trunk/src/mame/video/f1gp.c
r18513r18514
176176   /* quick kludge for "continue" screen priority */
177177   if (m_gfxctrl == 0x00)
178178   {
179      m_spr_old->f1gp_draw_sprites(m_spr1vram, m_spr2vram, m_spr1cgram,m_spr1cgram.bytes(), m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 0, 0x02);
180      m_spr_old->f1gp_draw_sprites(m_spr1vram, m_spr2vram, m_spr1cgram,m_spr1cgram.bytes(), m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 1, 0x02);
179      m_spr_old->f1gp_draw_sprites(1, m_spr1vram, m_spr1cgram ,m_spr1cgram.bytes(), machine(), bitmap, cliprect, 0x02);
180      m_spr_old2->f1gp_draw_sprites(2, m_spr2vram, m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 0x02);
181181   }
182182   else
183183   {
184      m_spr_old->f1gp_draw_sprites(m_spr1vram, m_spr2vram, m_spr1cgram,m_spr1cgram.bytes(), m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 0, 0x00);
185      m_spr_old->f1gp_draw_sprites(m_spr1vram, m_spr2vram, m_spr1cgram,m_spr1cgram.bytes(), m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 1, 0x02);
184      m_spr_old->f1gp_draw_sprites(1, m_spr1vram, m_spr1cgram, m_spr1cgram.bytes(), machine(), bitmap, cliprect, 0x00);
185      m_spr_old2->f1gp_draw_sprites(2, m_spr2vram, m_spr2cgram, m_spr2cgram.bytes(), machine(), bitmap, cliprect, 0x02);
186186   }
187187   return 0;
188188}
trunk/src/mame/video/aerofgt.c
r18513r18514
290290   machine().priority_bitmap.fill(0, cliprect);
291291
292292   m_bg1_tilemap->draw(bitmap, cliprect, 0, 0);
293   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, -1);
294   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, 0);
293   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, -1);
294   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0);
295295   return 0;
296296}
297297
r18513r18514
309309   m_bg2_tilemap->draw(bitmap, cliprect, 0, 0);
310310
311311   /* we use the priority buffer so sprites are drawn front to back */
312   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, -1);
313   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, 0);
314   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, -1);
315   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, 0);
312   m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, -1);
313   m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, 0);
314
315   m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, -1);
316   m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, 0);
316317   return 0;
317318}
318319
r18513r18514
334335   m_bg2_tilemap->draw(bitmap, cliprect, 0, 1);
335336
336337   /* we use the priority buffer so sprites are drawn front to back */
337   m_spr_old->spinlbrk_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, 0);
338   m_spr_old->spinlbrk_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, -1);
339   m_spr_old->spinlbrk_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, 0);
340   m_spr_old->spinlbrk_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, -1);
338   m_spr_old->spinlbrk_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, 0);
339   m_spr_old->spinlbrk_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, -1);
340
341   m_spr_old2->spinlbrk_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, 0);
342   m_spr_old2->spinlbrk_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, -1);
341343   return 0;
342344}
343345
r18513r18514
360362   m_bg2_tilemap->draw(bitmap, cliprect, 0, 1);
361363
362364   /* we use the priority buffer so sprites are drawn front to back */
363   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, -1); //ship
364   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 1, 0); //intro
365   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, -1); //enemy
366   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, 0); //enemy
365   m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, -1); //enemy
366   m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx+1,m_spritepalettebank, machine(), bitmap, cliprect, 0); //enemy
367
368   m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, -1); //ship
369   m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx+0,m_spritepalettebank, machine(), bitmap, cliprect, 0); //intro
367370   return 0;
368371}
369372
r18513r18514
830833      m_bg1_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
831834   }
832835
833   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, -1);
834   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_spriteram2,m_spriteram2.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0, 0);
836   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, -1);
837   m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spriteram1,m_spriteram1.bytes(),m_sprite_gfx,m_spritepalettebank, machine(), bitmap, cliprect, 0);
835838   return 0;
836839}
trunk/src/mame/includes/f1gp.h
r18513r18514
1919      m_fgregs(*this, "fgregs"),
2020      m_rozregs(*this, "rozregs"),
2121      m_spr_old(*this, "vsystem_spr_old"),
22      m_spr_old2(*this, "vsystem_spr_ol2"),
2223      m_spr(*this, "vsystem_spr")
2324   { }
2425
r18513r18514
3839
3940   /* devices referenced above */
4041   optional_device<vsystem_spr2_device> m_spr_old; // f1gp
42   optional_device<vsystem_spr2_device> m_spr_old2; // f1gp
4143   optional_device<vsystem_spr_device> m_spr; // f1gp2
4244
4345
trunk/src/mame/includes/aerofgt.h
r18513r18514
1515      m_spriteram3(*this, "spriteram3"),
1616      m_tx_tilemap_ram(*this, "tx_tilemap_ram"),
1717      m_spr(*this, "vsystem_spr"),
18      m_spr_old(*this, "vsystem_spr_old")
18      m_spr_old(*this, "vsystem_spr_old"),
19      m_spr_old2(*this, "vsystem_spr_ol2")
1920   { }
2021
2122   /* memory pointers */
r18513r18514
3233   /* devices referenced above */
3334   optional_device<vsystem_spr_device> m_spr; // only the aerofgt parent uses this chip
3435   optional_device<vsystem_spr2_device> m_spr_old; // every other (non-bootleg) uses this
36   optional_device<vsystem_spr2_device> m_spr_old2; //  or a pair of them..
3537
3638
3739   /* video-related */
trunk/src/mame/drivers/aerofgt.c
r18513r18514
14841484   MCFG_PALETTE_LENGTH(1024)
14851485
14861486   MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
1487   MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
14871488
14881489   MCFG_VIDEO_START_OVERRIDE(aerofgt_state,karatblz)
14891490
r18513r18514
15251526   MCFG_PALETTE_LENGTH(1024)
15261527
15271528   MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
1529   MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
15281530
15291531   MCFG_VIDEO_START_OVERRIDE(aerofgt_state,spinlbrk)
15301532
r18513r18514
15661568   MCFG_PALETTE_LENGTH(1024)
15671569
15681570   MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
1571   MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
15691572
15701573   MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
15711574
r18513r18514
16081611   MCFG_PALETTE_LENGTH(1024)
16091612
16101613   MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
1614   MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
16111615   
16121616   MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
16131617
trunk/src/mame/drivers/inufuku.c
r18513r18514
153153
154154   AM_RANGE(0x780000, 0x780013) AM_WRITE(inufuku_palettereg_w)   // bg & text palettebank register
155155   AM_RANGE(0x7a0000, 0x7a0023) AM_WRITE(inufuku_scrollreg_w)   // bg & text scroll register
156   AM_RANGE(0x7e0000, 0x7e0001) AM_WRITENOP               // ?
156//   AM_RANGE(0x7e0000, 0x7e0001) AM_WRITENOP               // ?
157157
158158   AM_RANGE(0x800000, 0xbfffff) AM_ROM   // data rom
159159   AM_RANGE(0xfd0000, 0xfdffff) AM_RAM // work ram
r18513r18514
390390   MCFG_SCREEN_REFRESH_RATE(60)
391391   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2300))
392392   MCFG_SCREEN_SIZE(2048, 256)
393   MCFG_SCREEN_VISIBLE_AREA(0, 319-1, 1, 224-1)
393   MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223)
394394   MCFG_SCREEN_UPDATE_DRIVER(inufuku_state, screen_update_inufuku)
395395   MCFG_SCREEN_VBLANK_DRIVER(inufuku_state, screen_eof_inufuku)
396396
397397   MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
398   vsystem_spr_device::set_offsets(*device, 0,1); // reference videos confirm at least the +1 against tilemaps in 3on3dunk (the highscore header text and black box are meant to be 1 pixel misaligned, although there is currently a priority bug there too)
399   vsystem_spr_device::set_pdraw(*device, true);
398400
399401   MCFG_GFXDECODE(inufuku)
400402   MCFG_PALETTE_LENGTH(4096)
r18513r18514
488490******************************************************************************/
489491
490492GAME( 1998, inufuku, 0, inufuku, inufuku, driver_device, 0, ROT0, "Video System Co.", "Quiz & Variety Sukusuku Inufuku (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
491GAME( 1996, 3on3dunk, 0, _3on3dunk, inufuku, driver_device, 0, ROT0, "Video System Co.", "3 On 3 Dunk Madness (US, prototype? 1997/02/04)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
493GAME( 1996, 3on3dunk, 0, _3on3dunk, inufuku, driver_device, 0, ROT0, "Video System Co.", "3 On 3 Dunk Madness (US, prototype? 1997/02/04)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) // tilemap priority is wrong in places (basketball before explosion in attract, highscores)
trunk/src/mame/drivers/f1gp.c
r18513r18514
477477   MCFG_PALETTE_LENGTH(2048)
478478
479479   MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
480   MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
480481
481482   MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp)
482483

Previous 199869 Revisions Next


© 1997-2024 The MAME Team