===========================================================================
| 1772 | |
| 1773 | //=========================================================================== |
| 1774 | void updateScreenText80 (long cycles6502) |
| 1775 | { |
| 1776 | for (; cycles6502 > 0; --cycles6502) |
| 1777 | { |
| 1778 | uint16_t addr = getVideoScannerAddressTXT(); |
| 1779 | |
| 1780 | if ((g_nVideoClockHorz < VIDEO_SCANNER_HORZ_COLORBURST_END) && (g_nVideoClockHorz >= VIDEO_SCANNER_HORZ_COLORBURST_BEG)) |
| 1781 | { |
| 1782 | if (g_nColorBurstPixels > 0) |
| 1783 | g_nColorBurstPixels -= 1; |
| 1784 | } |
| 1785 | else if (g_nVideoClockVert < VIDEO_SCANNER_Y_DISPLAY) |
| 1786 | { |
| 1787 | if (g_nVideoClockHorz >= VIDEO_SCANNER_HORZ_START) |
| 1788 | { |
| 1789 | uint8_t *pMain = MemGetMainPtr(addr); |
| 1790 | uint8_t *pAux = MemGetAuxPtr(addr); |
| 1791 | |
| 1792 | uint8_t m = pMain[0]; |
| 1793 | uint8_t a = pAux [0]; |
| 1794 | |
| 1795 | if (g_uNewVideoModeFlags & VF_80COL_AUX_EMPTY) |
| 1796 | a = MemReadFloatingBusFromNTSC(); |
| 1797 | |
| 1798 | uint16_t main = getCharSetBits( m ); |
| 1799 | uint16_t aux = getCharSetBits( a ); |
| 1800 | |
| 1801 | if ((0 == g_nVideoCharSet) && 0x40 == (m & 0xC0)) // Flash only if mousetext not active |
| 1802 | main ^= g_nTextFlashMask; |
| 1803 | |
| 1804 | if ((0 == g_nVideoCharSet) && 0x40 == (a & 0xC0)) // Flash only if mousetext not active |
| 1805 | aux ^= g_nTextFlashMask; |
| 1806 | |
| 1807 | uint16_t bits = (main << 7) | (aux & 0x7f); |
| 1808 | if ((GetVideo().GetVideoType() != VT_COLOR_IDEALIZED) // No extra 14M bit needed for VT_COLOR_IDEALIZED |
| 1809 | && (GetVideo().GetVideoType() != VT_COLOR_VIDEOCARD_RGB)) |
| 1810 | bits = (bits << 1) | g_nLastColumnPixelNTSC; // GH#555: Align TEXT80 chars with DHGR |
| 1811 | |
| 1812 | updatePixels( bits ); |
| 1813 | g_nLastColumnPixelNTSC = (bits >> 14) & 1; |
| 1814 | } |
| 1815 | } |
| 1816 | updateVideoScannerHorzEOL(); |
| 1817 | } |
| 1818 | } |
| 1819 | |
| 1820 | //=========================================================================== |
| 1821 | void updateScreenText80RGB(long cycles6502) |
nothing calls this directly
no test coverage detected