summaryrefslogtreecommitdiff
path: root/apps/plugins/zxbox/spscr.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/zxbox/spscr.c')
-rw-r--r--apps/plugins/zxbox/spscr.c33
1 files changed, 10 insertions, 23 deletions
diff --git a/apps/plugins/zxbox/spscr.c b/apps/plugins/zxbox/spscr.c
index 4cae8654ae..6b85904d11 100644
--- a/apps/plugins/zxbox/spscr.c
+++ b/apps/plugins/zxbox/spscr.c
@@ -82,6 +82,7 @@ byte *update_screen_line(byte *scrp, int coli, int scri, int border,
82 cmark = *cmarkp; 82 cmark = *cmarkp;
83 scrptr = (qbyte *) scrp; 83 scrptr = (qbyte *) scrp;
84 if(scri >= 0) { /* normal line */ 84 if(scri >= 0) { /* normal line */
85#if LCD_WIDTH == 320 && ( LCD_HEIGHT == 240 || LCD_HEIGHT == 200 )
85 if(SPNM(border_update)) { 86 if(SPNM(border_update)) {
86 brd_color = SPNM(colors)[border]; 87 brd_color = SPNM(colors)[border];
87 brd_color |= brd_color << 8; 88 brd_color |= brd_color << 8;
@@ -91,7 +92,10 @@ byte *update_screen_line(byte *scrp, int coli, int scri, int border,
91 for(i = 8; i; i--) *scrptr++ = brd_color; 92 for(i = 8; i; i--) *scrptr++ = brd_color;
92 scrptr -= 0x48; 93 scrptr -= 0x48;
93 } 94 }
94 else scrptr += 0x08; 95 else
96#endif
97 scrptr += 0x08;
98
95 tmptr = SPNM(scr_mark) + 0x2C0 + (coli >> 3); 99 tmptr = SPNM(scr_mark) + 0x2C0 + (coli >> 3);
96 mark = *tmptr; 100 mark = *tmptr;
97 if(!(coli & 0x07)) { 101 if(!(coli & 0x07)) {
@@ -129,40 +133,23 @@ byte *update_screen_line(byte *scrp, int coli, int scri, int border,
129 else scrptr += 0x48; 133 else scrptr += 0x48;
130 } 134 }
131 else if(scri == -1) { /* only border */ 135 else if(scri == -1) { /* only border */
136#if LCD_WIDTH == 320 && ( LCD_HEIGHT == 240 || LCD_HEIGHT == 200 )
132 if(SPNM(border_update)) { 137 if(SPNM(border_update)) {
133 brd_color = SPNM(colors)[border]; 138 brd_color = SPNM(colors)[border];
134 brd_color |= brd_color << 8; 139 brd_color |= brd_color << 8;
135 brd_color |= brd_color << 16; 140 brd_color |= brd_color << 16;
136 for(i = 0x50; i; i--) *scrptr++ = brd_color; 141 for(i = 0x50; i; i--) *scrptr++ = brd_color;
137 } 142 }
138 else scrptr += 0x50; 143 else
144#endif
145 scrptr += 0x50;
146
139 } 147 }
140 148
141 *cmarkp = cmark; 149 *cmarkp = cmark;
142 return (byte *) scrptr; 150 return (byte *) scrptr;
143} 151}
144 152
145void translate_screen(void)
146{
147 int border, scline;
148 byte *scrptr;
149 qbyte cmark = 0;
150
151 scrptr = (byte *) SPNM(image);
152
153 border = DANM(ula_outport) & 0x07;
154 if(border != SPNM(lastborder)) {
155 SPNM(border_update) = 2;
156 SPNM(lastborder) = border;
157 }
158
159 for(scline = 0; scline < (TMNUM / 2); scline++)
160 scrptr = update_screen_line(scrptr, SPNM(coli)[scline], SPNM(scri)[scline],
161 border, &cmark);
162
163}
164
165
166void spscr_init_mask_color(void) 153void spscr_init_mask_color(void)
167{ 154{
168 int clb; 155 int clb;