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: