Previous 199869 Revisions Next

r21407 Saturday 23rd February, 2013 at 18:17:16 UTC by Angelo Salese
Commentary
[src/mame/drivers]coolridr.c

trunk/src/mame/drivers/coolridr.c
r21406r21407
543543         UINT16 dot_data,pal_data;
544544         int r,g,b;
545545
546         /* base tile scrolling */
546547         xsrc = ((xdst + scrollx) & (xsize_mask)) >> 4;
547548         ysrc = ((ydst + scrolly) & (ysize_mask)) >> 4;
549         /* apply fractional scrolling */
548550         xisrc = (xdst + scrollx) & (xi_mask);
549551         yisrc = (ydst + scrolly) & (yi_mask);
552         /* do the tile offset calc */
550553         src_offs = (xsrc + (ysrc*xsize));
551554         src_offs += base_offset;
552555
556         /* fetch tilemap data */
553557         cur_tile = m_h1_vram[src_offs];
554558
559         /* split proper tile reading and apply color too */
555560         tile = cur_tile & 0x07ff;
556561         color = m_color + ((cur_tile & 0x0800) >> 11) * 4;
557562
558         /* we have a tile number, fetch into the PCG RAM */
563         /* we have a tile number, fetch the PCG RAM */
559564         pcg_offs = (xisrc+yisrc*xi_size)+tile*xi_size*yi_size;
565         /* the dot offset calculation */
560566         dot_data = m_h1_pcg[pcg_offs/2];
561567         dot_data>>= ((pcg_offs & 1) ^ 1) * 8;
562568         dot_data&= 0xff;
r21406r21407
568574         g = pal5bit((pal_data >> 5) & 0x1f);
569575         b = pal5bit((pal_data >> 0) & 0x1f);
570576
577         /* put on the screen */
571578         bitmap.pix32(ydst, xdst) = r<<16 | g<<8 | b;
572579      }
573580   }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team