Implement the ELSA S3 EEPROM, the RGB528 RAMDAC clock selection, and fix split calculation on all the S3 cards (ViRGE included).

This commit is contained in:
OBattler
2025-08-31 19:35:04 +02:00
parent 9ee4d3c701
commit 28d678476d
6 changed files with 285 additions and 63 deletions

View File

@@ -1,5 +1,11 @@
struct nmc93cxx_eeprom_t;
typedef struct nmc93cxx_eeprom_t nmc93cxx_eeprom_t;
#include <86box/vid_ati_eeprom.h>
typedef struct nmc93cxx_eeprom_t {
ati_eeprom_t dev;
uint8_t addrbits;
uint16_t size;
char filename[1024];
} nmc93cxx_eeprom_t;
typedef struct nmc93cxx_eeprom_params_t {
uint16_t nwords;

View File

@@ -444,6 +444,7 @@ extern void ibm_rgb528_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *
extern uint8_t ibm_rgb528_ramdac_in(uint16_t addr, int rs2, void *priv, svga_t *svga);
extern void ibm_rgb528_recalctimings(void *priv, svga_t *svga);
extern void ibm_rgb528_hwcursor_draw(svga_t *svga, int displine);
extern float ibm_rgb528_getclock(int clock, void *priv);
extern void icd2061_write(void *priv, int val);
extern float icd2061_getclock(int clock, void *priv);