Hook up CGA composite controls to rest of the emulator

This commit is contained in:
Cacodemon345
2025-08-21 02:32:36 +06:00
parent e560cf92d1
commit 43db96831d
43 changed files with 857 additions and 30 deletions

View File

@@ -126,6 +126,11 @@ extern int scale; /* (C) screen scale factor */
extern int dpi_scale; /* (C) DPI scaling of the emulated screen */
extern int vid_api; /* (C) video renderer */
extern int vid_cga_contrast; /* (C) video */
extern int vid_cga_comp_brightness; /* (C) CGA composite brightness */
extern int vid_cga_comp_sharpness; /* (C) CGA composite sharpness */
extern int vid_cga_comp_hue; /* (C) CGA composite hue */
extern int vid_cga_comp_saturation; /* (C) CGA composite saturation */
extern int vid_cga_comp_contrast; /* (C) CGA composite saturation */
extern int video_fullscreen; /* (C) video */
extern int video_fullscreen_scale; /* (C) video */
extern int enable_overscan; /* (C) video */

View File

@@ -21,11 +21,13 @@
#ifndef VIDEO_CGA_COMP_H
#define VIDEO_CGA_COMP_H
#include <stdbool.h>
#define Bitu unsigned int
#define bool uint8_t
void update_cga16_color(uint8_t cgamode);
void cga_comp_init(int revision);
void cga_comp_reload(int new_brightness, int new_saturation, int new_sharpness, int new_hue, int new_contrast);
uint32_t *Composite_Process(uint8_t cgamode, uint8_t border, uint32_t blocks /*, bool doublewidth*/, uint32_t *TempLine);
#endif /*VIDEO_CGA_COMP_H*/

View File

@@ -140,6 +140,7 @@ typedef struct monitor_t {
const video_timings_t *mon_vid_timings;
int mon_vid_type;
atomic_bool mon_interlace;
atomic_bool mon_composite;
struct blit_data_struct *mon_blit_data_ptr;
} monitor_t;