Compaq 386 machine fixes and Compaq EGA palette mux timer, fixes #3494.

This commit is contained in:
OBattler
2023-08-14 05:00:56 +02:00
parent b3a38c0cf1
commit 27c56f608d
7 changed files with 182 additions and 38 deletions

View File

@@ -36,6 +36,9 @@ extern const device_t ali6117d_device;
/* AMD */
extern const device_t amd640_device;
/* Compaq */
extern const device_t compaq_386_device;
/* Contaq/Cypress */
extern const device_t contaq_82c596a_device;
extern const device_t contaq_82c597_device;

View File

@@ -45,8 +45,8 @@ typedef struct ega_t {
uint8_t scrblank;
uint8_t plane_mask;
uint8_t ctl_mode;
uint8_t pad;
uint8_t pad0;
uint8_t color_mux;
uint8_t dot;
uint8_t crtc[32];
uint8_t gdcreg[16];
uint8_t attrregs[32];
@@ -108,6 +108,7 @@ typedef struct ega_t {
int res_y;
int bpp;
int index;
int remap_required;
uint32_t charseta;
uint32_t charsetb;
@@ -117,21 +118,24 @@ typedef struct ega_t {
uint32_t ca;
uint32_t vram_limit;
uint32_t overscan_color;
uint32_t cca;
uint32_t *pallook;
uint64_t dispontime;
uint64_t dispofftime;
uint64_t dot_time;
pc_timer_t timer;
pc_timer_t dot_timer;
double clock;
double dot_clock;
int remap_required;
uint32_t (*remap_func)(struct ega_t *ega, uint32_t in_addr);
void * eeprom;
void (*render)(struct ega_t *svga);
void *eeprom;
uint32_t (*remap_func)(struct ega_t *ega, uint32_t in_addr);
void (*render)(struct ega_t *svga);
} ega_t;
#endif