trunk/src/mame/drivers/dwarfd.c
| r30674 | r30675 | |
| 315 | 315 | |
| 316 | 316 | /* video-related */ |
| 317 | 317 | int m_crt_access; |
| 318 | bool m_back_color; |
| 318 | 319 | |
| 319 | 320 | /* memory */ |
| 320 | 321 | UINT8 m_dw_ram[0x1000]; |
| r30674 | r30675 | |
| 574 | 575 | int bank = ((gpa & 2) ? 0 : 4) + (gpa & 1) + ((m_dsw2->read() & 4) >> 1); |
| 575 | 576 | const rgb_t *palette = m_palette->palette()->entry_list_raw(); |
| 576 | 577 | UINT16 pixels = m_charmap->u16((linecount & 7) + ((charcode + (bank * 128)) << 3)); |
| 578 | if(!x) |
| 579 | m_back_color = false; |
| 577 | 580 | |
| 578 | 581 | //if(!linecount) |
| 579 | 582 | // logerror("%d %d %02x %02x %02x %02x %02x %02x %02x\n", x/8, y/8, charcode, lineattr, lten, rvv, vsp, gpa, hlgt); |
| r30674 | r30675 | |
| 584 | 587 | UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4); |
| 585 | 588 | bitmap.pix32(y, x + i) = palette[value]; |
| 586 | 589 | bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value]; |
| 590 | if(m_back_color) |
| 591 | bitmap.pix32(y, x + i - 1) = palette[value]; |
| 592 | m_back_color = pixel & 1; |
| 587 | 593 | } |
| 588 | 594 | } |
| 589 | 595 | |
| r30674 | r30675 | |
| 593 | 599 | int bank = gpa; |
| 594 | 600 | const rgb_t *palette = m_palette->palette()->entry_list_raw(); |
| 595 | 601 | UINT16 pixels = m_charmap->u16((linecount & 7) + ((charcode + (bank * 128)) << 3)); |
| 602 | if(!x) |
| 603 | m_back_color = false; |
| 596 | 604 | |
| 597 | 605 | //if(!linecount) |
| 598 | 606 | // logerror("%d %d %02x %02x %02x %02x %02x %02x %02x\n", x/8, y/8, charcode, lineattr, lten, rvv, vsp, gpa, hlgt); |
| r30674 | r30675 | |
| 603 | 611 | UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4); |
| 604 | 612 | bitmap.pix32(y, x + i) = palette[value]; |
| 605 | 613 | bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value]; |
| 614 | if(m_back_color) |
| 615 | bitmap.pix32(y, x + i - 1) = palette[value]; |
| 616 | m_back_color = pixel & 1; |
| 606 | 617 | } |
| 607 | 618 | } |
| 608 | 619 | |
| r30674 | r30675 | |
| 751 | 762 | void dwarfd_state::machine_reset() |
| 752 | 763 | { |
| 753 | 764 | m_crt_access = 0; |
| 765 | m_back_color = false; |
| 754 | 766 | } |
| 755 | 767 | |
| 756 | 768 | static MACHINE_CONFIG_START( dwarfd, dwarfd_state ) |