Mercurial > repos > blastem
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++) { |