Flags for interplation rendering

This commit is contained in:
David Kuder 2023-05-04 20:55:25 -04:00
parent 3ee0061fdc
commit 6e7d80e916
4 changed files with 16 additions and 1 deletions

View File

@ -1,7 +1,7 @@
#include "buffers.h"
volatile uint32_t soft_switches = 0;
volatile uint32_t internal_flags = IFLAGS_V7_MODE3;
volatile uint32_t internal_flags = IFLAGS_OLDCOLOR | IFLAGS_INTERP | IFLAGS_V7_MODE3;
volatile uint8_t reset_state = 0;

View File

@ -107,6 +107,8 @@ extern volatile uint32_t internal_flags;
#define SOFTSW_SHADOW_IO 0x04000000ul
// V2 Analog specific softswitches
#define IFLAGS_INTERP 0x01000000ul
#define IFLAGS_GRILL 0x02000000ul
#define IFLAGS_VIDEO7 0x04000000ul
#define IFLAGS_OLDCOLOR 0x08000000ul
#define IFLAGS_TERMINAL 0x10000000ul

View File

@ -58,3 +58,6 @@
#define CFGTOKEN_VIDEO7 0x00003756 // "V7\xXX\x00" Video 7 Enable / Disable
#define CFGTOKEN_RGBCOLOR 0x00005043 // "CP\xXX\x04" RGB Palette Entry Override
#define CFGTOKEN_INTERP 0x00004956 // "VI\x0X\x00" RGB Interpolation
#define CFGTOKEN_GRILL 0x00004756 // "VG\x0X\x00" RGB Aperture Grill

View File

@ -268,6 +268,16 @@ void __time_critical_func(vga_businterface)(uint32_t address, uint32_t value) {
} else {
internal_flags &= ~IFLAGS_VIDEO7;
}
if(value & 2) {
internal_flags |= IFLAGS_GRILL;
} else {
internal_flags &= ~IFLAGS_GRILL;
}
if(value & 1) {
internal_flags |= IFLAGS_INTERP;
} else {
internal_flags &= ~IFLAGS_INTERP;
}
apple_memory[address] = value;
break;
case 0x02: