Mercurial > repos > blastem
comparison vdp.c @ 30:03f9bb57cc54
Small cleanup
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 08 Dec 2012 20:02:10 -0800 |
parents | 9477d1289595 |
children | 25016576b5f3 |
comparison
equal
deleted
inserted
replaced
29:9477d1289595 | 30:03f9bb57cc54 |
---|---|
178 v_mul = 256; | 178 v_mul = 256; |
179 break; | 179 break; |
180 } | 180 } |
181 uint16_t hscroll, offset; | 181 uint16_t hscroll, offset; |
182 for (int i = 0; i < 2; i++) { | 182 for (int i = 0; i < 2; i++) { |
183 hscroll = (hscroll_val + (column-(0-i)) * 8) & hscroll_mask; | 183 hscroll = (hscroll_val + (column + i) * 8) & hscroll_mask; |
184 offset = address + ((vscroll * v_mul + hscroll/4) & 0x1FFF); | 184 offset = address + ((vscroll * v_mul + hscroll/4) & 0x1FFF); |
185 printf("%s | line: %d, col: %d, x: %d, hs_mask %X, v_mul: %d, scr reg: %X, tbl addr: %X\n", (vsram_off ? "B" : "A"), line, (column-(2-i)), hscroll, hscroll_mask, v_mul, context->regs[REG_SCROLL], offset); | 185 //printf("%s | line: %d, col: %d, x: %d, hs_mask %X, v_mul: %d, scr reg: %X, tbl addr: %X\n", (vsram_off ? "B" : "A"), line, (column-(2-i)), hscroll, hscroll_mask, v_mul, context->regs[REG_SCROLL], offset); |
186 uint16_t col_val = (context->vdpmem[offset] << 8) | context->vdpmem[offset+1]; | 186 uint16_t col_val = (context->vdpmem[offset] << 8) | context->vdpmem[offset+1]; |
187 if (i) { | 187 if (i) { |
188 context->col_2 = col_val; | 188 context->col_2 = col_val; |
189 } else { | 189 } else { |
190 context->col_1 = col_val; | 190 context->col_1 = col_val; |
255 col-=2; | 255 col-=2; |
256 dst = context->framebuf + line * 320 + col * 8; | 256 dst = context->framebuf + line * 320 + col * 8; |
257 sprite_buf = context->linebuf + col * 8; | 257 sprite_buf = context->linebuf + col * 8; |
258 plane_a = context->tmp_buf_a + 8 - (context->hscroll_a & 0x7); | 258 plane_a = context->tmp_buf_a + 8 - (context->hscroll_a & 0x7); |
259 plane_b = context->tmp_buf_b + 8 - (context->hscroll_b & 0x7); | 259 plane_b = context->tmp_buf_b + 8 - (context->hscroll_b & 0x7); |
260 /*if (col == 40) | 260 end = dst + 16; |
261 { | 261 //printf("A | tmp_buf offset: %d\n", 8 - (context->hscroll_a & 0x7)); |
262 end = dst + 8; | |
263 } else {*/ | |
264 end = dst + 16; | |
265 //} | |
266 printf("A | tmp_buf offset: %d\n", 8 - (context->hscroll_a & 0x7)); | |
267 for (; dst < end; ++plane_a, ++plane_b, ++sprite_buf, ++dst) { | 262 for (; dst < end; ++plane_a, ++plane_b, ++sprite_buf, ++dst) { |
268 uint8_t pixel; | 263 uint8_t pixel; |
269 if (*sprite_buf & BUF_BIT_PRIORITY && *sprite_buf & 0xF) { | 264 if (*sprite_buf & BUF_BIT_PRIORITY && *sprite_buf & 0xF) { |
270 pixel = *sprite_buf; | 265 pixel = *sprite_buf; |
271 } else if (*plane_a & BUF_BIT_PRIORITY && *plane_a & 0xF) { | 266 } else if (*plane_a & BUF_BIT_PRIORITY && *plane_a & 0xF) { |
422 } | 417 } |
423 line &= mask; | 418 line &= mask; |
424 address += line * 4; | 419 address += line * 4; |
425 context->hscroll_a = context->vdpmem[address] << 8 | context->vdpmem[address+1]; | 420 context->hscroll_a = context->vdpmem[address] << 8 | context->vdpmem[address+1]; |
426 context->hscroll_b = context->vdpmem[address+2] << 8 | context->vdpmem[address+3]; | 421 context->hscroll_b = context->vdpmem[address+2] << 8 | context->vdpmem[address+3]; |
427 printf("%d: HScroll A: %d, HScroll B: %d\n", line, context->hscroll_a, context->hscroll_b); | 422 //printf("%d: HScroll A: %d, HScroll B: %d\n", line, context->hscroll_a, context->hscroll_b); |
428 break; | 423 break; |
429 case 36: | 424 case 36: |
430 //!HSYNC high | 425 //!HSYNC high |
431 case 37: | 426 case 37: |
432 case 38: | 427 case 38: |