Couple of changes in the video side.

1. Second attempt to fix the banking in the Cirrus (sigh, why doesn't banking get nulled automatically...)
2. Introduce a new timer to the 8514/A side so it won't slow the VGA clock down it was shared before.
This commit is contained in:
TC1995
2024-02-07 01:53:16 +01:00
parent f3d585a1e1
commit 7198b78069
7 changed files with 234 additions and 167 deletions

View File

@@ -64,6 +64,9 @@ typedef struct ibm8514_t {
int hwcursor_on;
int modechange;
uint64_t dispontime;
uint64_t dispofftime;
struct {
uint16_t subsys_cntl;
uint16_t setup_md;

View File

@@ -166,8 +166,10 @@ typedef struct svga_t {
latch_t latch;
pc_timer_t timer;
pc_timer_t timer8514;
double clock;
double clock8514;
hwcursor_t hwcursor;
hwcursor_t hwcursor_latch;
@@ -287,7 +289,7 @@ typedef struct svga_t {
extern int vga_on;
extern void ibm8514_poll(void *priv, svga_t *svga);
extern void ibm8514_poll(void *priv);
extern void ibm8514_recalctimings(svga_t *svga);
extern uint8_t ibm8514_ramdac_in(uint16_t port, void *priv);
extern void ibm8514_ramdac_out(uint16_t port, uint8_t val, void *priv);

View File

@@ -75,6 +75,7 @@ extern void svga_render_ABGR8888_highres(svga_t *svga);
extern void svga_render_RGBA8888_lowres(svga_t *svga);
extern void svga_render_RGBA8888_highres(svga_t *svga);
extern void ibm8514_render_blank(svga_t *svga);
extern void ibm8514_render_8bpp(svga_t *svga);
extern void ibm8514_render_15bpp(svga_t *svga);
extern void ibm8514_render_16bpp(svga_t *svga);