trunk/src/mame/machine/archimds.c
| r29196 | r29197 | |
| 796 | 796 | visarea.min_x = 0; |
| 797 | 797 | visarea.min_y = 0; |
| 798 | 798 | visarea.max_x = m_vidc_regs[VIDC_HBER] - m_vidc_regs[VIDC_HBSR] - 1; |
| 799 | | visarea.max_y = m_vidc_regs[VIDC_VBER] - m_vidc_regs[VIDC_VBSR]; |
| 799 | visarea.max_y = (m_vidc_regs[VIDC_VBER] - m_vidc_regs[VIDC_VBSR]) * (m_vidc_interlace+1); |
| 800 | 800 | |
| 801 | 801 | logerror("Configuring: htotal %d vtotal %d border %d x %d display %d x %d\n", |
| 802 | 802 | m_vidc_regs[VIDC_HCR], m_vidc_regs[VIDC_VCR], |
| r29196 | r29197 | |
| 806 | 806 | /* FIXME: pixel clock */ |
| 807 | 807 | refresh = HZ_TO_ATTOSECONDS(pixel_rate[m_vidc_pixel_clk]*2) * m_vidc_regs[VIDC_HCR] * m_vidc_regs[VIDC_VCR]; |
| 808 | 808 | |
| 809 | | m_screen->configure(m_vidc_regs[VIDC_HCR], m_vidc_regs[VIDC_VCR], visarea, refresh); |
| 809 | m_screen->configure(m_vidc_regs[VIDC_HCR], m_vidc_regs[VIDC_VCR] * (m_vidc_interlace+1), visarea, refresh); |
| 810 | 810 | } |
| 811 | 811 | } |
| 812 | 812 | } |
trunk/src/mame/video/archimds.c
| r29196 | r29197 | |
| 24 | 24 | |
| 25 | 25 | /* now calculate display clip rectangle start/end areas */ |
| 26 | 26 | xstart = (calc_dxs)-m_vidc_regs[VIDC_HBSR]; |
| 27 | | ystart = (m_vidc_regs[VIDC_VDSR])-m_vidc_regs[VIDC_VBSR]; |
| 27 | ystart = (m_vidc_regs[VIDC_VDSR]-m_vidc_regs[VIDC_VBSR]); |
| 28 | 28 | xend = (calc_dxe)+xstart; |
| 29 | | yend = m_vidc_regs[VIDC_VDER]+ystart; |
| 29 | yend = (m_vidc_regs[VIDC_VDER] * (m_vidc_interlace+1))+ystart; |
| 30 | 30 | |
| 31 | 31 | /* disable the screen if display params are invalid */ |
| 32 | 32 | if(xstart > xend || ystart > yend) |