trunk/src/mess/video/mc6847.h
| r19894 | r19895 | |
| 547 | 547 | |
| 548 | 548 | void change_mode(UINT8 mode, int state) |
| 549 | 549 | { |
| 550 | | /* sanity check, to ensure that we're not changing fixed modes */ |
| 550 | // sanity check, to ensure that we're not changing fixed modes |
| 551 | 551 | assert((mode & m_fixed_mode_mask) == 0); |
| 552 | 552 | |
| 553 | | if (!m_dirty) |
| 553 | // calculate new mode |
| 554 | UINT8 new_mode; |
| 555 | if (state) |
| 556 | new_mode = m_mode | mode; |
| 557 | else |
| 558 | new_mode = m_mode & ~mode; |
| 559 | |
| 560 | // has the mode changed? |
| 561 | if (new_mode != m_mode) |
| 554 | 562 | { |
| 555 | | video_flush(); |
| 556 | | m_dirty = true; |
| 563 | // it has! check dirty flag |
| 564 | if (!m_dirty) |
| 565 | { |
| 566 | video_flush(); |
| 567 | m_dirty = true; |
| 568 | } |
| 569 | |
| 570 | // and set the new mode |
| 571 | m_mode = new_mode; |
| 557 | 572 | } |
| 558 | | |
| 559 | | if (state) |
| 560 | | m_mode |= mode; |
| 561 | | else |
| 562 | | m_mode &= ~mode; |
| 563 | 573 | } |
| 564 | 574 | |
| 565 | 575 | // setup functions |