More fixes to the mode switching of the ATI/IBM 8514/A compatibles (June 28th, 2025)

The mode switching phase now takes account of the display enable/reset bits of port 0x22e8 (bits 5-6). Fixes Solaris mode switching and keeps everything else happy (I hope).
This commit is contained in:
TC1995
2025-06-28 20:55:14 +02:00
parent d15e062c83
commit 5fbcbde4ba
4 changed files with 158 additions and 110 deletions

View File

@@ -37,6 +37,13 @@ typedef enum {
EXTENSIONS_MAX
} ibm8514_extensions_t;
typedef enum {
VGA_MODE = 0,
IBM_MODE,
ATI_MODE,
MODE_MAX
} ibm8514_mode_t;
typedef struct hwcursor8514_t {
int ena;
int x;
@@ -202,6 +209,7 @@ typedef struct ibm8514_t {
int split;
int h_disp;
int h_total;
int h_sync_start;
int h_sync_width;
int h_disp_time;
int rowoffset;
@@ -260,6 +268,7 @@ typedef struct ibm8514_t {
int ext_pitch;
int ext_crt_pitch;
ibm8514_extensions_t extensions;
ibm8514_mode_t mode;
int onboard;
int linear;
uint32_t vram_amount;