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

Function userVideoRom4K

source/NTSC_CharSet.cpp:109–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107//
108
109static void userVideoRom4K(csbits_t csbits, const BYTE* pVideoRom)
110{
111 int RA = 0; // rom address
112 int i = 0;
113
114 // regular char set
115
116 for (; i<64; i++, RA+=8) // [00..3F] INVERSE / [40..7F] FLASH
117 {
118 for (int y=0; y<8; y++)
119 {
120 csbits[0][i][y] = pVideoRom[RA+y] ^ 0xff; // UTAIIe:8-11 "dot patterns in the video ROM are inverted..."
121 csbits[0][i+64][y] = pVideoRom[RA+y] ^ 0xff; // UTAIIe:8-14 (Table 8.3) we use FLASH=0, so RA=00ccccccsss
122 }
123 }
124
125 RA = (1<<10 | 0<<9); // UTAIIe:8-14 (Table 8.3)
126
127 for (i=128; i<256; i++, RA+=8) // [80..BF] NORMAL
128 {
129 for (int y=0; y<8; y++)
130 {
131 csbits[0][i][y] = pVideoRom[RA+y] ^ 0xff; // UTAIIe:8-11 "dot patterns in the video ROM are inverted..."
132 }
133 }
134
135 RA = (1<<10 | 1<<9); // UTAIIe:8-14 (Table 8.3)
136
137 for (i=192; i<256; i++, RA+=8) // [C0..FF] NORMAL
138 {
139 for (int y=0; y<8; y++)
140 {
141 csbits[0][i][y] = pVideoRom[RA+y] ^ 0xff; // UTAIIe:8-11 "dot patterns in the video ROM are inverted..."
142 }
143 }
144
145 // alt char set
146
147 RA = 0;
148
149 for (i=0; i<256; i++, RA+=8) // [00..7F] INVERSE / [80..FF] NORMAL
150 {
151 for (int y=0; y<8; y++)
152 {
153 csbits[1][i][y] = pVideoRom[RA+y] ^ 0xff; // UTAIIe:8-11 "dot patterns in the video ROM are inverted..."
154 }
155 }
156}
157
158static void userVideoRomForIIe(void)
159{

Callers 2

userVideoRomForIIeFunction · 0.85
VideoRomForIIeEnhancedFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected