mirror of
https://github.com/marqs85/ossc
synced 2026-11-02 13:17:18 +03:00
integrate shmask generation logic from Ossc Pro
This commit is contained in:
1 parent
d6dba1618b
commit
e09f3c88b0
15 files changed
+370
-131
No files matched your search
@@ -59,6 +59,7 @@ const avconfig_t tc_default = {
|
||||
.c_gain = DEFAULT_COARSE_GAIN,
|
||||
},
|
||||
.mask_br = 8,
|
||||
.shmask_str = 15,
|
||||
.audio_dw_sampl = DEFAULT_ON,
|
||||
.audio_gain = AUDIO_GAIN_0DB,
|
||||
.link_av = AV_LAST,
|
||||
|
||||
@@ -44,6 +44,7 @@ extern uint8_t sl_def_iv_x, sl_def_iv_y;
|
||||
extern char target_profile_name[PROFILE_NAME_LEN+1];
|
||||
extern volatile osd_regs *osd;
|
||||
extern const int num_video_modes_plm;
|
||||
extern c_shmask_t c_shmask;
|
||||
|
||||
alt_u16 tc_h_samplerate, tc_h_samplerate_adj, tc_h_synclen, tc_h_bporch, tc_h_active, tc_v_synclen, tc_v_bporch, tc_v_active, tc_sampler_phase, tc_h_mask, tc_v_mask;
|
||||
alt_u8 menu_active;
|
||||
@@ -80,7 +81,7 @@ static const char* const rgsb_ypbpr_desc[] = { "RGsB", "YPbPr" };
|
||||
static const char* const auto_input_desc[] = { "Off", "Current input", "All inputs" };
|
||||
static const char* const mask_color_desc[] = { "Black", "Blue", "Green", "Cyan", "Red", "Magenta", "Yellow", "White" };
|
||||
static const char* const av3_alt_rgb_desc[] = { "Off", "AV1", "AV2" };
|
||||
static const char* const shmask_mode_desc[] = { "Off", "A-Grille", "TV", "PVM" };
|
||||
static const char* const shmask_mode_desc[] = { "Off", "A-Grille", "TV", "PVM", "PVM-2530", "XC-3315C", "C-1084", "JVC", "VGA", c_shmask.name };
|
||||
static const char* const lumacode_mode_desc[] = { "Off", "C64", "Spectrum", "Coleco/MSX", "NES", "Atari GTIA", "Atari VCS" };
|
||||
static const char* const lumacode_pal_desc[] = { "PAL" };
|
||||
static const char* const adc_pll_bw_desc[] = { "High", "Medium", "Low", "Ultra low" };
|
||||
@@ -215,6 +216,8 @@ MENU(menu_scanlines, P99_PROTECT({ \
|
||||
|
||||
MENU(menu_postproc, P99_PROTECT({ \
|
||||
{ "Shadow mask", OPT_AVCONFIG_SELECTION, { .sel = { &tc.shmask_mode, OPT_WRAP, SETTING_ITEM(shmask_mode_desc) } } },
|
||||
//{ "Custom shadow mask", OPT_CUSTOMMENU, { .cstm = { &cstm_shmask_load } } },
|
||||
{ "Sh. mask strength", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.shmask_str, OPT_NOWRAP, 0, SCANLINESTR_MAX, sl_str_disp } } },
|
||||
{ "Border color", OPT_AVCONFIG_SELECTION, { .sel = { &tc.mask_color, OPT_NOWRAP, SETTING_ITEM(mask_color_desc) } } },
|
||||
{ LNG("Border brightn.","マスクアカルサ"), OPT_AVCONFIG_NUMVALUE, { .num = { &tc.mask_br, OPT_NOWRAP, 0, HV_MASK_MAX_BR, value_disp } } },
|
||||
//{ LNG("<DIY lat. test>","DIYチエンテスト"), OPT_FUNC_CALL, { .fun = { latency_test, <_arg_info } } },
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
// RGB Shadow mask presets from ShadowMasks_MiSTer
|
||||
|
||||
const shmask_data_arr shmask_agrille = {.iv_x=3, .iv_y=0, .v={
|
||||
{0x44c, 0x24c, 0x14c, 0x04c}}};
|
||||
|
||||
const shmask_data_arr shmask_tv = {.iv_x=3, .iv_y=1, .v={
|
||||
{0x708, 0x44c, 0x24c, 0x14c},
|
||||
{0x44c, 0x24c, 0x14c, 0x708}}};
|
||||
|
||||
const shmask_data_arr shmask_pvm = {.iv_x=2, .iv_y=3, .v={
|
||||
{0x42a, 0x72a, 0x72a},
|
||||
{0x42a, 0x22a, 0x72a},
|
||||
{0x72a, 0x22a, 0x12a},
|
||||
{0x42a, 0x72a, 0x12a}}};
|
||||
|
||||
const shmask_data_arr shmask_pvm_2530 = {.iv_x=2, .iv_y=3, .v={
|
||||
{0x44c, 0x00e, 0x00e},
|
||||
{0x42a, 0x20c, 0x00e},
|
||||
{0x44c, 0x22a, 0x10c},
|
||||
{0x00e, 0x20c, 0x12a}}};
|
||||
|
||||
const shmask_data_arr shmask_xc_3315c = {.iv_x=5, .iv_y=3, .v={
|
||||
{0x428, 0x228, 0x12a, 0x72a, 0x72a, 0x72a},
|
||||
{0x72a, 0x72a, 0x72a, 0x428, 0x228, 0x12a},
|
||||
{0x42a, 0x22a, 0x128, 0x72a, 0x72a, 0x72a},
|
||||
{0x72a, 0x72a, 0x72a, 0x42a, 0x22a, 0x128}}};
|
||||
|
||||
const shmask_data_arr shmask_c_1084 = {.iv_x=5, .iv_y=2, .v={
|
||||
{0x44c, 0x24c, 0x14c, 0x41f, 0x21f, 0x11f},
|
||||
{0x41f, 0x21f, 0x11f, 0x44c, 0x24c, 0x14c},
|
||||
{0x44c, 0x24c, 0x14c, 0x44c, 0x24c, 0x14c}}};
|
||||
|
||||
const shmask_data_arr shmask_jvc = {.iv_x=5, .iv_y=5, .v={
|
||||
{0x43d, 0x23d, 0x13d, 0x03d, 0x03d, 0x03d},
|
||||
{0x43d, 0x23d, 0x13d, 0x03d, 0x03d, 0x03d},
|
||||
{0x43d, 0x23d, 0x13d, 0x43d, 0x23d, 0x13d},
|
||||
{0x43d, 0x23d, 0x13d, 0x43d, 0x23d, 0x13d},
|
||||
{0x03d, 0x03d, 0x03d, 0x43d, 0x23d, 0x13d},
|
||||
{0x03d, 0x03d, 0x03d, 0x43d, 0x23d, 0x13d}}};
|
||||
|
||||
const shmask_data_arr shmask_vga = {.iv_x=5, .iv_y=3, .v={
|
||||
{0x42a, 0x42a, 0x22a, 0x22a, 0x12a, 0x12a},
|
||||
{0x42a, 0x42a, 0x22a, 0x22a, 0x12a, 0x12a},
|
||||
{0x22a, 0x12a, 0x12a, 0x42a, 0x42a, 0x22a},
|
||||
{0x22a, 0x12a, 0x12a, 0x42a, 0x42a, 0x22a}}};
|
||||
Reference in new issue
Block a user