Morph4K Preset Autoload

Requires a firmware >= 3.9.46.154

This document gives a brief overview on how preset autoloading is implemented on the Morph. To enable preset autoloading, set:

Contexts

A context is created from various data sources like input type (DVI/HDMI/Analog input source, input signal width/height/interlaced flag) and the meta data available (for HDMI), which then resolves to a preset file path on the SD card. If the file exists, it's loaded and applied automatically.

Specificity

A context is created in order of specificity, which currently is (more specific first):

Loading Cascade

Presets are loaded in order of specificity, which means the most specific first.

The first matching file, which exists on the SD card ends the cascade.

Input data (sub-)contexts

In addition to the context there are three more values related to the input signal:

1 Values are visible area after auto (metadata) decimation applied, a manually configured value not included. DE cropping and prescale via preset ini is also not applied in filename generation.

This add two additional files to the loading cascade:

/sdcard/presets/Auto/CONTEXT@WIDTHxHEIGHTs.ini          # New
/sdcard/presets/Auto/CONTEXT@HEIGHTs.ini                # New
/sdcard/presets/Auto/CONTEXT.ini

Examples:
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE@320x240p.ini  # New
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE@240p.ini      # New
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE.ini

Autoload preset files

Autoload preset files are located beneath this directory: /sdcard/presets/Auto/ and are organized based on the context information available.

Examples:

# Game-ID:
/sdcard/presets/Auto/By_Gameid/PS1/SLUS/00/87/4@320x240p.ini # (PS1, with input (sub-)context)
/sdcard/presets/Auto/By_Gameid/PS1/SLUS/00/87/4.ini          # (PS1)
/sdcard/presets/Auto/By_Gameid/N64/DF/B4BDE3-B3A9886F-45.ini # (N64)

# DV1:
/sdcard/presets/Auto/By_SPD/DV1/R/RetroGEM DC.ini

# SPD:
/sdcard/presets/Auto/By_SPD/Pixel FX/N/N64Digital.ini

# CEC:
/sdcard/presets/Auto/By_CEC/00-09-BF/Nintendo Switch.ini

# DVI (no metadata present):
/sdcard/presets/Auto/By_Mode/DVI/0.ini

Full path to .ini is split into subdirectories automatically to prevent too many files per folder

There is also an (optional) /sdcard/presets/Auto/default.ini, which is loaded when the more specific file doesn't exist.

Example: Full loading cascade with GameID context (first file has highest specificity):

[manually applied preset]
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE@320x240p.ini
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE@240p.ini
/sdcard/presets/Auto/By_Gameid/PS1/PSXEXE.ini
/sdcard/presets/Auto/By_SPD/DV1/P/PS1Digital@320x240p.ini
/sdcard/presets/Auto/By_SPD/DV1/P/PS1Digital@240p.ini
/sdcard/presets/Auto/By_SPD/DV1/P/PS1Digital.ini
/sdcard/presets/Auto/By_Mode/HDMI/0@320x240p.ini
/sdcard/presets/Auto/By_Mode/HDMI/0@240p.ini
/sdcard/presets/Auto/By_Mode/HDMI/0.ini
/sdcard/presets/Auto/default.ini

Preset context active indicator

The context line shows a PC indicator when preset context autoloading is enabled.

The icon color indicates the autoload state:

Special case: RX EDID

Changing the RX EDID triggers a hotplug cycle, which then would trigger the autoload cascade reverting the change.

Because of that a temp.ini preset is created (from the currently active config) and applied when setting a different RX EDID. You can then save it to a context and use Reload auto preset to reactivate the context loading.

OSD: Presets


OSD: Auto preset save as ...

This page gives you the option to save to a specific file within the cascade.

Grey lines refere to files in the cascade, which are NOT present on the SD card.

The line above "Exit"/"Select" show the filename of the selected option.

This also applies to the "Delete auto preset ..." dialog.