1
0
mirror of https://github.com/pevans/erc-c.git synced 2024-11-23 08:31:55 +00:00

Reverting to just black/white color for now

Only while I work on some other issues with disk loading
This commit is contained in:
Peter Evans 2018-03-19 19:02:46 -05:00
parent 2baa2fac75
commit f5e0de5bbc
2 changed files with 17 additions and 14 deletions

View File

@ -4,10 +4,6 @@
#include "apple2.h" #include "apple2.h"
#include "vm_bits.h" #include "vm_bits.h"
extern vm_color apple2_hires_color_h0(vm_8bit); extern void apple2_hires_draw(apple2 *, int);
extern vm_color apple2_hires_color_h1(vm_8bit);
extern void apple2_hires_draw(apple2 *, size_t);
extern int apple2_hires_row(size_t);
extern int apple2_hires_col(size_t);
#endif #endif

View File

@ -663,14 +663,25 @@ apple2_hires_draw(apple2 *mach, int row)
curr = dots[i] & 1; curr = dots[i] & 1;
next = (i < 279) ? (dots[i+1] & 1) : 0; next = (i < 279) ? (dots[i+1] & 1) : 0;
// Do we need to emit a white color? if (curr) {
if (prev & curr & next) {
vm_screen_set_color(mach->screen, colors[HIRES_WHITE]); vm_screen_set_color(mach->screen, colors[HIRES_WHITE]);
} else {
vm_screen_set_color(mach->screen, colors[HIRES_BLACK]);
}
#if 0
// Do we need to emit a white color?
if ((prev & curr) || (curr & next)) {
vm_screen_set_color(mach->screen, colors[HIRES_WHITE]);
}
else if (!(prev & curr) || !(curr & next)) {
vm_screen_set_color(mach->screen, colors[HIRES_BLACK]);
} }
// We need to emit _some_ color, but not white. // We need to emit _some_ color, but not white.
else if (prev | curr | next) { else /*if (prev | curr | next)*/ {
int colorindex = (i % 2 == 0) ? 1 : 0; int colorindex = (i % 2 == 0) ? 0 : 1;
if (!curr) { if (!curr) {
colorindex = !colorindex; colorindex = !colorindex;
@ -686,11 +697,7 @@ apple2_hires_draw(apple2 *mach, int row)
vm_screen_set_color(mach->screen, colors[colorindex]); vm_screen_set_color(mach->screen, colors[colorindex]);
} }
#endif
// We should emit no color (which is to say, emit black)
else {
vm_screen_set_color(mach->screen, colors[HIRES_BLACK]);
}
area.xoff = i; area.xoff = i;
vm_screen_draw_rect(mach->screen, &area); vm_screen_draw_rect(mach->screen, &area);