MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / updateScreenText80RGB

Function updateScreenText80RGB

source/NTSC.cpp:1821–1863  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

1819
1820//===========================================================================
1821void updateScreenText80RGB(long cycles6502)
1822{
1823 for (; cycles6502 > 0; --cycles6502)
1824 {
1825 uint16_t addr = getVideoScannerAddressTXT();
1826
1827 if ((g_nVideoClockHorz < VIDEO_SCANNER_HORZ_COLORBURST_END) && (g_nVideoClockHorz >= VIDEO_SCANNER_HORZ_COLORBURST_BEG))
1828 {
1829 if (g_nColorBurstPixels > 0)
1830 g_nColorBurstPixels -= 1;
1831 }
1832 else if (g_nVideoClockVert < VIDEO_SCANNER_Y_DISPLAY)
1833 {
1834 if (g_nVideoClockHorz >= VIDEO_SCANNER_HORZ_START)
1835 {
1836 uint8_t* pMain = MemGetMainPtr(addr);
1837 uint8_t* pAux = MemGetAuxPtr(addr);
1838
1839 uint8_t m = pMain[0];
1840 uint8_t a = pAux[0];
1841
1842 uint16_t main = getCharSetBits(m);
1843 uint16_t aux = getCharSetBits(a);
1844
1845 if ((0 == g_nVideoCharSet) && 0x40 == (m & 0xC0)) // Flash only if mousetext not active
1846 main ^= g_nTextFlashMask;
1847
1848 if ((0 == g_nVideoCharSet) && 0x40 == (a & 0xC0)) // Flash only if mousetext not active
1849 aux ^= g_nTextFlashMask;
1850
1851 UpdateText80ColorCell(g_nVideoClockHorz - VIDEO_SCANNER_HORZ_START, g_nVideoClockVert, addr, g_pVideoAddress, (uint8_t)aux, a);
1852 g_pVideoAddress += 7;
1853 UpdateText80ColorCell(g_nVideoClockHorz - VIDEO_SCANNER_HORZ_START, g_nVideoClockVert, addr, g_pVideoAddress, (uint8_t)main, m);
1854 g_pVideoAddress += 7;
1855
1856 uint16_t bits = (main << 7) | (aux & 0x7f);
1857
1858 g_nLastColumnPixelNTSC = (bits >> 14) & 1;
1859 }
1860 }
1861 updateVideoScannerHorzEOL();
1862 }
1863}
1864
1865//===========================================================================
1866void updateScreenSHR(long cycles6502)

Callers

nothing calls this directly

Calls 6

MemGetMainPtrFunction · 0.85
MemGetAuxPtrFunction · 0.85
getCharSetBitsFunction · 0.85
UpdateText80ColorCellFunction · 0.85

Tested by

no test coverage detected