mirror of
https://github.com/MiSTer-devel/Main_MiSTer.git
synced 2026-04-12 03:04:02 +00:00
Adds "subcarrier" config flag, used to enable chroma subcarrier output over VGA Vsync for external RGB to NTSC/PAL converters.
128 lines
2.8 KiB
C
128 lines
2.8 KiB
C
// cfg.h
|
|
// 2015, rok.krajnc@gmail.com
|
|
// 2017+, Sorgelig
|
|
|
|
#ifndef __CFG_H__
|
|
#define __CFG_H__
|
|
|
|
#include <inttypes.h>
|
|
|
|
//// type definitions ////
|
|
typedef struct {
|
|
uint32_t keyrah_mode;
|
|
uint8_t forced_scandoubler;
|
|
uint8_t key_menu_as_rgui;
|
|
uint8_t reset_combo;
|
|
uint8_t csync;
|
|
uint8_t vga_scaler;
|
|
uint8_t vga_sog;
|
|
uint8_t hdmi_audio_96k;
|
|
uint8_t dvi_mode;
|
|
uint8_t hdmi_limited;
|
|
uint8_t direct_video;
|
|
uint8_t video_info;
|
|
float refresh_min;
|
|
float refresh_max;
|
|
uint8_t controller_info;
|
|
uint8_t vsync_adjust;
|
|
uint8_t subcarrier;
|
|
uint8_t kbd_nomouse;
|
|
uint8_t mouse_throttle;
|
|
uint8_t bootscreen;
|
|
uint8_t vscale_mode;
|
|
uint16_t vscale_border;
|
|
uint8_t rbf_hide_datecode;
|
|
uint8_t menu_pal;
|
|
int16_t bootcore_timeout;
|
|
uint8_t fb_size;
|
|
uint8_t fb_terminal;
|
|
uint8_t osd_rotate;
|
|
uint16_t osd_timeout;
|
|
uint8_t gamepad_defaults;
|
|
uint8_t recents;
|
|
uint16_t jamma_vid;
|
|
uint16_t jamma_pid;
|
|
uint16_t jamma2_vid;
|
|
uint16_t jamma2_pid;
|
|
uint16_t no_merge_vid;
|
|
uint16_t no_merge_pid;
|
|
uint32_t no_merge_vidpid[256];
|
|
uint16_t spinner_vid;
|
|
uint16_t spinner_pid;
|
|
int spinner_throttle;
|
|
uint8_t spinner_axis;
|
|
uint8_t sniper_mode;
|
|
uint8_t browse_expand;
|
|
uint8_t logo;
|
|
uint8_t log_file_entry;
|
|
uint8_t shmask_mode_default;
|
|
int bt_auto_disconnect;
|
|
int bt_reset_before_pair;
|
|
char bootcore[256];
|
|
char video_conf[1024];
|
|
char video_conf_pal[1024];
|
|
char video_conf_ntsc[1024];
|
|
char font[1024];
|
|
char shared_folder[1024];
|
|
char waitmount[1024];
|
|
char custom_aspect_ratio[2][16];
|
|
char afilter_default[1023];
|
|
char vfilter_default[1023];
|
|
char vfilter_vertical_default[1023];
|
|
char vfilter_scanlines_default[1023];
|
|
char shmask_default[1023];
|
|
char preset_default[1023];
|
|
char player_controller[6][8][256];
|
|
char controller_deadzone[32][256];
|
|
uint8_t rumble;
|
|
uint8_t wheel_force;
|
|
uint16_t wheel_range;
|
|
uint8_t hdmi_game_mode;
|
|
uint8_t vrr_mode;
|
|
uint8_t vrr_min_framerate;
|
|
uint8_t vrr_max_framerate;
|
|
uint8_t vrr_vesa_framerate;
|
|
uint16_t video_off;
|
|
uint8_t disable_autofire;
|
|
uint8_t video_brightness;
|
|
uint8_t video_contrast;
|
|
uint8_t video_saturation;
|
|
uint16_t video_hue;
|
|
char video_gain_offset[256];
|
|
uint8_t hdr;
|
|
uint16_t hdr_max_nits;
|
|
uint16_t hdr_avg_nits;
|
|
char vga_mode[16];
|
|
char vga_mode_int;
|
|
char ntsc_mode;
|
|
uint32_t controller_unique_mapping[256];
|
|
char osd_lock[25];
|
|
uint16_t osd_lock_time;
|
|
char debug;
|
|
uint8_t lookahead;
|
|
char main[1024];
|
|
char vfilter_interlace_default[1023];
|
|
} cfg_t;
|
|
|
|
extern cfg_t cfg;
|
|
|
|
//// functions ////
|
|
void cfg_parse();
|
|
void cfg_print();
|
|
const char* cfg_get_name(uint8_t alt);
|
|
const char* cfg_get_label(uint8_t alt);
|
|
bool cfg_has_video_sections();
|
|
|
|
void cfg_error(const char *fmt, ...);
|
|
bool cfg_check_errors(char *msg, size_t max_len);
|
|
|
|
struct yc_mode
|
|
{
|
|
char key[64];
|
|
int64_t phase_inc;
|
|
};
|
|
|
|
void yc_parse(yc_mode *yc_table, int max);
|
|
|
|
#endif // __CFG_H__
|