comparison vdp.c @ 108:1a551a85cb06

Fix horizontal mask values for scroll plane map address calculation
author Mike Pavone <pavone@retrodev.com>
date Fri, 28 Dec 2012 15:03:00 -0800
parents 60b5c9e2f4e0
children 004dd46e0a97
comparison
equal deleted inserted replaced
107:9705075fcf36 108:1a551a85cb06
409 uint16_t hscroll_mask; 409 uint16_t hscroll_mask;
410 uint16_t v_mul; 410 uint16_t v_mul;
411 switch(context->regs[REG_SCROLL] & 0x3) 411 switch(context->regs[REG_SCROLL] & 0x3)
412 { 412 {
413 case 0: 413 case 0:
414 hscroll_mask = 0xF0; 414 hscroll_mask = 0x1F;
415 v_mul = 64; 415 v_mul = 64;
416 break; 416 break;
417 case 0x1: 417 case 0x1:
418 hscroll_mask = 0x3F; 418 hscroll_mask = 0x3F;
419 v_mul = 128; 419 v_mul = 128;
422 //TODO: Verify this behavior 422 //TODO: Verify this behavior
423 hscroll_mask = 0; 423 hscroll_mask = 0;
424 v_mul = 0; 424 v_mul = 0;
425 break; 425 break;
426 case 0x3: 426 case 0x3:
427 hscroll_mask = 0x3F0; 427 hscroll_mask = 0x7F;
428 v_mul = 256; 428 v_mul = 256;
429 break; 429 break;
430 } 430 }
431 uint16_t hscroll, offset; 431 uint16_t hscroll, offset;
432 for (int i = 0; i < 2; i++) { 432 for (int i = 0; i < 2; i++) {