trunk/src/mame/drivers/coolridr.c
| r21465 | r21466 | |
| 672 | 672 | |
| 673 | 673 | bitmap.fill(MAKE_ARGB(0xff,pal5bit(bg_r),pal5bit(bg_g),pal5bit(bg_b)),cliprect); |
| 674 | 674 | |
| 675 | | for (int y=0;y<64;y++) |
| 675 | |
| 676 | UINT16 basey = scrolly>>4; |
| 677 | for (int y=0;y<25;y++) |
| 676 | 678 | { |
| 677 | | for (int x=0;x<128;x++) |
| 679 | UINT16 basex = scrollx>>4; |
| 680 | for (int x=0;x<32;x++) |
| 678 | 681 | { |
| 679 | | int res_x,res_y; |
| 680 | | |
| 681 | | res_x = (x*16)-scrollx; |
| 682 | | res_y = (y*16)-scrolly; |
| 683 | | |
| 684 | | vram_data = (m_h1_vram[x+y*128+base_offset] & 0xffff); |
| 682 | vram_data = (m_h1_vram[(basex&0x7f)+((basey&0x3f)*0x80)+base_offset] & 0xffff); |
| 685 | 683 | color = m_color_bank + ((vram_data & 0x800) >> 11) * 4; |
| 686 | 684 | /* bike select enables bits 15-12, pretty sure one of these is tile bank (because there's a solid pen on 0x3ff / 0x7ff). */ |
| 687 | 685 | tile = (vram_data & 0x7ff) | ((vram_data & 0x8000) >> 4); |
| 688 | 686 | |
| 689 | | drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,res_x,res_y,transpen_setting ? -1 : 0); |
| 690 | | drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,res_x+2048,res_y,transpen_setting ? -1 : 0); |
| 691 | | drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,res_x,res_y+1024,transpen_setting ? -1 : 0); |
| 692 | | drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,res_x+2048,res_y+1024,transpen_setting ? -1 : 0); |
| 687 | drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,(x*16)-(scrollx&0xf),(y*16)-(scrolly&0xf),transpen_setting ? -1 : 0); |
| 688 | |
| 689 | basex++; |
| 693 | 690 | } |
| 691 | basey++; |
| 694 | 692 | } |
| 695 | 693 | } |
| 696 | 694 | |