Difference between revisions of "OSSC Pro"

From Classic Console Upscaler Wiki
Jump to navigation Jump to search
Line 117: Line 117:
 
|-
 
|-
 
| AV4 || 5 ||  
 
| AV4 || 5 ||  
 +
|}
 +
 +
=== EXP (Legacy AV in expansion) ===
 +
 +
The expansion card allows connecting S-video and composite video sources to OSSC Pro. Audio is connected via AV 2xRCA connectors.
 +
 +
{| class="wikitable"
 +
|-
 +
! Input name !! Remote hotkey !! Notes
 +
|-
 +
| EXP_Svideo || 8 || S-video
 +
|-
 +
| EXP_CVBS || 8 (tap twice) || Composite
 +
|-
 +
| EXP_RF || 8 (tap 3 times) || RF (not yet supported)
 
|}
 
|}
  
Line 542: Line 557:
 
* '''Off''': Default SDR output. '''[default]'''
 
* '''Off''': Default SDR output. '''[default]'''
 
* '''On''': Output is flagged as HDR HLG. Gamma response is not corrected so some accuracy is lost.
 
* '''On''': Output is flagged as HDR HLG. Gamma response is not corrected so some accuracy is lost.
 +
 +
==== HDMI VRR flag ====
 +
''Setups VRR metadata to spoof VRR output (vertical blank is not extended dynamically).''
 +
* '''Off''': No VRR metadata sent. '''[default]'''
 +
* '''Freesync''': Freesync infoframe sent.
  
 
==== 1080p120 preset ====
 
==== 1080p120 preset ====
Line 556: Line 576:
  
 
==== Adv. disp timing ====
 
==== Adv. disp timing ====
''Allows changing output preset parameters. Useful mainly for users of CRTs (overscan mitigation) and HD-Ready LCDs/PDPs with native resolutions not covered by existing presets. Can be also used to e.g. test display refresh rate limits in test pattern mode.''
+
''Allows changing output preset parameters. Useful mainly for users of CRTs (overscan mitigation) and HD-Ready LCDs/PDPs with native resolutions not covered by existing presets. Can be also used to test display refresh rate limits in test pattern mode, or set custom refresh rate for SCL Framelock off (preset Hz) mode.''
  
 
=== Audio opt. ===
 
=== Audio opt. ===
Line 697: Line 717:
 
* '''Off''': No expansion card inserted
 
* '''Off''': No expansion card inserted
 
* '''Extra AV out''': Extra AV out expansion
 
* '''Extra AV out''': Extra AV out expansion
* '''Legacy AV in"''': Reserved for future use
+
* '''Legacy AV in"''': Legacy AV in expansion
 
* '''UVC bridge"''': Reserved for future use
 
* '''UVC bridge"''': Reserved for future use
  
Line 706: Line 726:
 
* '''RGBCS/RGBS''': Normal RGBCS output via VGA or RGBs via an adapter
 
* '''RGBCS/RGBS''': Normal RGBCS output via VGA or RGBs via an adapter
 
* '''RGsB''': Sync-on-green RGB output
 
* '''RGsB''': Sync-on-green RGB output
 +
* '''YPbPr''': YPbPr output
 +
 +
==== Legacy AV opt. ====
 +
''Sets various options for this expansion card''
  
 
=== Settings ===
 
=== Settings ===
Line 834: Line 858:
 
* RGBCS (TTL csync)
 
* RGBCS (TTL csync)
 
* SCART-RGB (via av_adapter)
 
* SCART-RGB (via av_adapter)
* To be added on firmware: YPbPr from VGA or 3xRCA (via av_adapter)
+
* YPbPr from VGA or 3xRCA (via av_adapter)
  
 
Audio format support is summarized on table below
 
Audio format support is summarized on table below
Line 893: Line 917:
 
== Firmware changelog and roadmap ==
 
== Firmware changelog and roadmap ==
  
=== v0.74 ===
+
=== v0.75 ===
 +
* added support for Legacy AV in expansion
 +
* added support for YPbPr output via extra_av_out expansion
 +
* added support for custom EDID on HDMI RX
 +
* added VRR flag (Freesync) option
 +
* enabled customization of frame-unlock mode refresh rate
 +
* improved audio output compatibility
 +
* various small bug fixes
 +
 
 +
=== Older versions ===
 +
<div class="mw-collapsible mw-collapsed">
 +
 
 +
==== v0.74 ====
 
* number of PAL console presets added
 
* number of PAL console presets added
 
* generic sampling rate preference option added
 
* generic sampling rate preference option added
 
* display output timing editor added
 
* display output timing editor added
 
* PSP sampling preset added
 
* PSP sampling preset added
 
=== Older versions ===
 
<div class="mw-collapsible mw-collapsed">
 
  
 
==== v0.72/0.73 ====
 
==== v0.72/0.73 ====

Revision as of 21:31, 28 April 2024

Ossc-logo-small.png

Contents

Introduction

OSSC Pro is an advanced low-latency video digitizer, scan converter and scaler designed primarily for connecting retro video game consoles and home computers to modern displays.

If you're new to the OSSC and scalers/processors in general, you may wish to jump to the quick start guide.

Features

  • Detection and digitization of various analog SDTV/EDTV/HDTV/PC modes
  • Up to ~165MHz sampling clock for both analog and digital video sources, supporting high resolutions like 1080p@60
  • Various sampling presets for classic consoles and home computers
  • Ultra low latency line multiplication for 240p, 480i, 288p, 576i, 384p, 480p, 576p and 720p sources
  • Full-fledged scaler mode with configurable polyphase scaling filter
  • Framelocked and free-running scaler modes to select between judder-free or interrupt-free operation
  • Deinterlacer supporting motion adaptive, weave and bob algorithms for 480i, 576i, 960i, and 1080i
  • All video processing done in RGB domain (8bpc) - no internal conversion to subsampled YCbCr
  • Video and sync LPF for less-than optimal input signals
  • Various AV input options, both analog and digital (see table below)
  • Full-range 24-bit RGB output through DVI/HDMI
  • Output from 240p to 2560x1440@60Hz (or to 2880x2160@60Hz with 2x pixel repetition)
  • 100Hz and 120Hz output options
  • (HD-)CRT output modes including 1920x540 and 1080i
  • Expansion card support with 36 GPIOs
  • Emulated scanlines with fully configurable strength and interval
  • Postprocessing options including masks and BFI
  • Character OLED display
  • IR control using dedicated remote control, OSSC L336 remote or any other remote supporting NEX IR protocol
  • Button & mini-joystick for basic control without remote
  • Micro-SD card socket for FW updates and additional profile storage
  • USB port (FS) for future expandability


Board versions and availability

Production board

Pre-assembled boards are sold worldwide by:

VideoGamePerfection.com
Ossc-logo-small.png
List of components (v1.5)

More information & discussion

AV inputs

Input is selected via remote key / OSD input menu. The table below summarizes available inputs and their corresponding remote hotkeys.

AV1 (SCART)

The SCART connector of OSSC Pro supports a number of video/sync formats. SCART-RGB sources can be connected as-is while other formats require passthru cables/adapters.

Input name Remote hotkey Notes
AV1_RGBS 1 For video level c-sync only. Sync can be also extracted from composite video / luma.
AV1_RGsB 4 Use suitable adapter / SCART cable.
AV1_YPbPr 4 (tap twice) Use YPbPr to SCART passthru adapter. Some suitable adapters are sold online (e.g. this) but most don't include audio jacks.
AV1_RGBHV 7 Needs a custom adapter/cable which routes HSYNC to SCART pin 12 and VSYNC to pin 10.
AV1_RGBCS 7 (tap twice) For TTL c-sync only. Needs a custom adapter/cable which routes CSYNC to SCART pin 12.

AV2 (5xRCA)

The 5xRCA connector set of OSSC Pro supports RGsB or YPbPr sources.

Input name Remote hotkey Notes
AV2_YPbPr 2 Use YPbPr to SCART passthru adapter. Some suitable adapters are sold online (e.g. this) but most don't include audio jacks.
AV2_RGsB 2 (tap twice) Use suitable adapter / SCART cable.

AV3 (HD-15 "VGA" + 3.5mm jack)

The HD-15 connector allows connecting e.g. a classic PC or Dreamcast to OSSC Pro.

Input name Remote hotkey Notes
AV3_RGBHV 3 Normal VGA pinout
AV3_RGBCS 3 (tap twice) For TTL c-sync only (connected to hsync pin)
AV3_RGBS 6 For video level c-sync only. Sync is connected to HD-15 pin 4 via a custom adapter / cable.
AV3_RGsB 9 Use suitable adapter / cable.
AV3_YPbPr 9 (tap twice) Use suitable adapter / cable.

AV4 (HDMI)

The HDMI connector allows connecting digital AV sources to OSSC Pro. HDCP is not supported.

Input name Remote hotkey Notes
AV4 5

EXP (Legacy AV in expansion)

The expansion card allows connecting S-video and composite video sources to OSSC Pro. Audio is connected via AV 2xRCA connectors.

Input name Remote hotkey Notes
EXP_Svideo 8 S-video
EXP_CVBS 8 (tap twice) Composite
EXP_RF 8 (tap 3 times) RF (not yet supported)

Toslink

The toslink input supports LPCM 44.1/48/96kHz and compressed bitstream (Dolby Digital, DTS) formats. Toslink input can be mapped to any of the above AV inputs. The audio stream is forwarded as-is to HDMI transmitter.

Additional AV inputs

See OSSC Pro#AV adapter and OSSC Pro#Legacy AV input

Basic setup & usage

Connectivity

Connect your AV sources and display to OSSC Pro.

Power

OSSC requires an external DC power supply. A unit that outputs 5 volts DC with at least 2 Amp (with any expansion cards and/or HDMI adapters 2.5A is highly recommended). The tip must be 2.1 x 5.5mm and centre positive.

Do not use a power supply rated for AC output, or a power supply rated higher than 5 volts DC. An overvoltage protection (5.5V threshold) is present but extensive misuse can damage the board.

After connecting power, OSSC Pro enters standby mode which is indicated by red LED.

Remote control

Default remote control keymap

OSSC Pro operates with a dedicated infrared remote. Key functionality is listed below.

  • POWER: Power the device on or off
  • INFO: Displays detailed timings of video input and output. Also displays firmware version
  • KEYPAD / 0-9: Selects AV source and input format. See remote picture on the side for reference
  • MENU: Activates/deactivates OSD menu
  • OK: Selects sub-menu or function
  • BACK: Returns to previous menu level or from info page to normal source display page
  • UP/DOWN: Selects next/previous menu option or next/previous input when not in menu
  • LEFT/RIGHT: Option value -/+
  • OSD: Switches between different OSD modes (Full, SImple, Off)
  • P-LM, A-LM, SCL: Select respective operating mode
  • LM.MODE: Select multiplication target for LM modes
  • LM.DIL: Select deinterlace mode (Bob / Noninterlace restore) for LM
  • SCRSHOT: Reserved for future use
  • P.LOAD: Open a menu to load profile
  • SL.INT+/-: Hotkeys for adjusting scanline strength
  • SL.MODE: Hotkey for scanline mode selection
  • SL.TYPE: Hotkey for selecting next "Scanline type" option value
  • SL.ALIGN: Hotkey for scanline alignment selection
  • PHASE+/-: Hotkeys for sample phase adjustment
  • P1-9: Reserved for future use
  • SCL.RES: Scaler output resolution selection
  • SCL.FL: Scaler framelock selection
  • SCL.S.ALG: Scaler scaling algorithm selection
  • SCL.D.ALG: Scaler deinterlace algorithm selection
  • SCL.AR: Scaler aspect ratio selection
  • SCL.ROT: Reserved for future use
  • SCL.ZOOM: Open scaler size adjustment menu
  • SCL.PAN: Open scaler position adjustment menu

It is also possible to operate OSSC Pro using L336 remote of original OSSC. More details here.

PCB buttons

  • BTN: Enter / exit menu
  • JOY: 4-directional joystick switches input or test pattern mode when not in menu. Inside menu it provides navigation with the added push function to enter sub-menus

Status LEDs

  • Green: Power on. Temporarily off when IR remote code detected
  • Red: Standby indicator. When device is on, red LED flashing indicates resyncing to input
  • Blue: Framelock

Fan

An optional 40x10mm 5V fan can be installed on the case to reduce FPGA temperature. PWM is supported and can be adjusted from the options. A reference model is Noctua NF-A4x10 5V PWM.

Getting started

Turn on the board by pressing power button on remote or by holding the on-board button for a couple seconds. A 480p test pattern should show up in the monitor. Turn on the video source and select correct input.

The firmware has 2 primary operating modes: line multiplier and scaler. Line multiplier is reminiscent of classic line doublers and OSSC while scaler works more like video processors like VP50 or Framemeister. In general scaler mode offers more flexibility and easier usage via fixed output resolution and (optionally) fixed refresh rate. Some users may prefer to stay with strict multiplication to preserve the original look as much as possible, though. The mode can be switched from "Output opt -> Operating mode" on the menu. Main menu has matching sub-menus for each of the 2 operating modes which are accessible even if the said operating mode is not active. Most important properties of these modes are listed in the table below.

Pure LM Adaptive LM Scaler – framelock Scaler - no framelock
Latency max 2 lines Max 60 lines ~1 frame 1-2 frames
Display compatibility Variable Very high Very high Full
Deinterlace alg. Bob, Noninterlace restore Bob, Noninterlace restore Bob, Weave, Motion adaptive Bob, Weave, Motion adaptive
Scaling alg. X: oversample, integer; Y: integer X: oversample, integer; Y: integer X: oversample, polyphase; Y: polyphase X: oversample, polyphase; Y: polyphase
Input mode switch delay Very fast Very fast Fast Instant
Transformations Pan Pan Zoom, Pan, (Rotate) Zoom, Pan, (Rotate)
Postprocessing opt. Scanlines, Border, Masks Scanlines, Masks Scanlines, Masks, BFI Scanlines, Masks, BFI

Test pattern

In test pattern mode it is possible to test all output presets on a display. To change preset, press <- or -> from remote or front panel joystick while in test pattern mode.

Settings

Input select

Selects the source, see AV Inputs

AV1-3 video in opt.

Video LPF

Video low-pass filter. Filters out high-frequency noise on video.

  • Auto: Suitable LPF is automatically selected based on source mode [default]
  • 9-450MHz: Video bandwidth is limited to selected frequency

Reverse LPF

Compensates unintended LPF/bleeding caused by sub-optimal video DAC (e.g. 1st rev SNES consoles) or long cables.

  • 0-31: Reverse LPF strength. [default=0]

YPbPr input Color Space

Controls YPbPr->RGB colorspace conversion coefficients.

  • Auto: Input colorspace is selected based on resolution. [default]
  • Rec. 601: Input is assumed to be in Rec. 601 format, which is generally true for SD video.
  • Rec. 709: Input is assumed to be in Rec. 709 format, which is generally true for HD video.

R/Pr / G/Y / B/Pb offset

Fine-adjustment of Red/Pr / G/Y / B/Pb channel offset (brightness).

  • 0-1023: [default=512]

R/Pr / G/Y / B/Pb gain

Fine-adjustment of Red/Pr / G/Y / B/Pb channel gain (contrast).

  • 0-1023: [default=324]

Clamp strength

Sets the strength of backporch clamp.

  • 0-7: [default=7]

Clamp/ALC position

Sets the position of backporch clamp (in percentage of line length).

  • 0.1-25%: [default=0.7%]

Clamp width

Sets the width of backporch clamp pulse (in percentage of line length).

  • 0.1-10%: [default=2.5%]

Clamp/ALC on coast

Sets whether clamp/ALC is enabled during coast.

  • On: Clamp/ALC enabled during coast. [default]
  • Off: Clamp/ALC disabled during coast.

Auto level ctl (ALC)

Sets whether ALC is enabled.

  • On: ALC enabled. [default]
  • Off: ALC disabled.

ALC V filter

ALV vertical filter coefficient. Reduce from default if line/field tilt occurs.

  • 32-4096 lines: [default=512 lines]

ALC H filter

ALV horizontal filter coefficient (duration for which ALC is applied after clamp).

  • 16-128 pixels: [default=16 pixels]

AV1-3 sync opt.

Analog sync Vth

Sets the sync slicer threshold for video-level sync. May need adjustment if source sync level is not typical and dropouts occur.

  • 0-300mV: threshold voltage. [default=120mV]

TTL Hsync Vth

Sets the sync slicer threshold for TTL level sync. May need adjustment if source sync level is not typical and dropouts occur.

  • 400-3205mV: threshold voltage. [default=1148mV]

Analog sync pre-STC

Sets sync tip clamp LPF.

  • Off
  • On (5MHz LPF) [default]
  • On (2.5MHz LPF)
  • On (0.5MHz LPF)

Sync glitch filt len

Sets the sync glitch filter length. May need to be increased if there are glitches around sync pulses.

  • 37-592ns: filter length. [default=111ns]

H-PLL Pre-Coast

Defines when PLL coast (current freq. freeze) is activated.

  • 0-5 lines: Number of scanlines before vsync at when coast is activated. [default=4]

H-PLL Post-Coast

Defines when PLL coast (current freq. freeze) is deactivated.

  • 0-5 lines: Number of scanlines after vsync at when coast is deactivated. [default=4]

H-PLL Loop Gain

Adjusts loop gain of H-PLL which affects sampling clock stability. A higher value makes the PLL react fast to changes in hsync interval which may make sampling more accurate but at the cost of increased jitter in output pixel clock. A small value ensures best compatibility, but sync jitter in the source (e.g. SNES) may result to sampling jitter on nearby scanlines. Increase for sources with sync jitter if your display is able to tolerate jitter in output clock.

  • 0-3: [default=0]

AV4 video in opt.

Default RGB range

Selects the assumed RGB range if source does not explicitly specify it in metadata.

  • Limited: Limited range as per CEA spec. [default]
  • Adaptive: Full-range RGB.

Pixel de-repetition

Enforces pixel de-repetition for special sources with high horizontal resolution to improve compatibility. Only for advanced users

  • Auto: De-repetition follows metadata. [default]
  • 1-10: Manual override

Line multiplier opt

Line multiplier mode

Selects how line multiplier mode operates.

  • Pure: All lines are multiplied for output, operation like original OSSC. Mainly for backwards compatibility.
  • Adaptive: Visible lines are multiplied while amount of blanking lines is adjusted to match selected standard output resolution. [default]

Deinterlace mode

Selects how interlaced content is processed in line multiplier modes.

  • Bob: Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. [default]
  • Noninterlace restore: Displays fields one after another without any offset by default. Useful for 240p games running in 480i (e.g. classic game collections).

NI restore Y offset

Offsets even field in noninterlace restore mode.

  • 0: No offset for even field. [default]
  • 1: Even field is offset by a full input line. Needed depending on field order of 240p->480i conversion.

256x240 aspect

Selects the output aspect for 256x240 sampling presets.

  • Pseudo 4:3 DAR: Integer-multiplication is handled so that target aspect is close to 4:3. [default]
  • 1:1 PAR: Maintains square pixel aspect ratio.

Pure LM opt.

Refer to OSSC#Output_opt..

Adaptive LM opt.

<input_mode> proc

Selects how <input_mode> is processed via output resolution and line multiplication factor.

<input_mode> mode

Selects a sampling preset for <input_mode>.

P-LM Adv. timing

Refer to OSSC#Advanced_timing_tweaker.

A-LM Adv. timing

Allows editing of sampling/output parameters. Sampling preset to edit (default is current mode) is changed via LEFT/RIGHT keys and selected via OK key which then opens editor menu.

Clock & Phase

Enter to fine-tune sampling clock and phase via arrow keys. Only for advanced users.

Size / crop

Enter to adjust bounding box size for input signal (active area) via arrow keys. In scaler mode the active window is scaled to full screen (unless in integer scale mode), effectively resulting to zooming in/out. In A-LM this results to cropping instead.

Position

Enter to adjust bounding box position for input signal via arrow keys.

Reset preset

Resets parameters of selected preset to default values.

Scaler opt.

DFP output mode

Selects output mode for Digital Flat Panel (DFP). Supported output refresh range is shown in braces.

  • 720x480 (60Hz): Standard 480p output supported by all HDTVs.
  • 720x480 WS (60Hz): Standard widescreen 480p output supported by all HDTVs.
  • 720x576 (50Hz): Standard 576p output supported by most HDTVs.
  • 720x576 WS (50Hz): Standard widescreen 576p output supported by most HDTVs.
  • 1280x720 (50-120Hz): Standard 720p output supported by majority of HDTVs.
  • 1280x1024 (60Hz): SXGA mode for 5:4 desktop monitors.
  • 1920x1080i (50-60Hz): Standard 1080i output supported by most modern HDTVs.
  • 1920x1080 (50-120Hz): Standard 1080p output supported by all modern HDTVs. [default]
  • 1600x1200 (60Hz): UXGA mode for 4:3 desktop monitors.
  • 1920x1200 (50-60Hz): WUXGA mode for 16:10 desktop monitors. Uses CVT timings (RB for 60Hz).
  • 1920x1440 (50-60Hz): 4:3 1440p mode for compatible displays. Uses CVT timings (RB for 60Hz).
  • 2560x1440 (50-60Hz): 16:9 1440p mode for compatible displays. Uses CVT-RB timings.
  • 2880x2160 (50-60Hz): 4:3 2160p mode for compatible displays. Uses CVT-RB timings and 2x pixel repetition.

CRT output mode

Selects output mode for CRT. Modes are meant for video DACs, not HDMI devices. Supported output refresh range is shown in braces.

  • 240p (60-120Hz): Non-interlaced 60Hz SD mode for 15kHz capable CRT TVs. [default]
  • 240p WS (60-120Hz): Non-interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs.
  • 288p (50-100Hz): Non-interlaced 50Hz SD mode for 15kHz capable CRT TVs.
  • 288p WS (50-100Hz): Non-interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs.
  • 480i (60Hz): Interlaced 60Hz SD mode for 15kHz capable CRT TVs.
  • 480i WS (60Hz): Interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs.
  • 576i (50Hz): Interlaced 50Hz SD mode for 15kHz capable CRT TVs.
  • 576i WS (50Hz): Interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs.
  • 480p (60-120Hz): 480-line mode for 31kHz capable CRT monitors.
  • 540p (50-60Hz): 540-line mode for 1080i capable HD-CRT TVs.
  • 1024x768 (60-120Hz): XGA mode for CRT monitors.
  • 1280x960 (60-120Hz): QuadVGA mode for CRT monitors.

Output type

Selects which one of the 2 above mode lists is used.

  • DFP: Output to Digital Flat Panel via HDMI. [default]
  • CRT: Output to CRT via HDMI-VGA/SCART converter.

Framelock

Defines output refresh rate and how it is generated.

  • On: Output refresh rate is locked to input. Minimizes latency, but any interruption in input (e.g. video mode change) may temporarily break sync on output side. [default]
  • On (2x source Hz): Output refresh rate is locked 2x input. Useful for BFI. Same conditions apply as above.
  • Off (source Hz): Output refresh rate is not directly generated from input, but using an external clock source instead. Refresh rate is set to match input as closely as possible.
  • Off (50Hz): Output refresh rate is not generated from input. Output is 50Hz if supported by the selected output resolution setting.
  • Off (60Hz): Output refresh rate is not generated from input. Output is 60Hz if supported by the selected output resolution setting.
  • Off (100Hz): Output refresh rate is not generated from input. Output is 100Hz if supported by the selected output resolution setting.
  • Off (120Hz): Output refresh rate is not generated from input. Output is 120Hz if supported by the selected output resolution setting.

Aspect ratio

Selects aspect ratio for the source.

  • Auto: Selects aspect ratio based on sampling preset. [default]
  • 4:3: Standard aspect ratio for most classic console and home computer sources.
  • 16:9: Widescreen aspect ratio for consoles/games supporting widescreen.
  • 8:7: Special aspect ratio for square pixels with NES/SNES. Most useful with their respective sampling presets.
  • 1:1 source PAR: Source is assumed to have 1:1 pixel aspect ratio. Use only with non-generic sampling presets.
  • Full: Source is assumed to have same aspect ratio as selected output resolution, i.e. it will be scaled to fit screen both horizontally and vertically.

Scaling algorithm

Selects scaling algorithm/filter applied for the polyphase scaler engine. The engine supports edge-adaptive scaling which is able to use different filter for parts of the picture which are detected as edges. Edge-adaptive modes are denoted with '&' which is followed by the filter used for edge content.

  • Auto: Uses Nearest for low-res sources and Lanczos3_sharp for med/high-res. [default]
  • Integer (underscan): Integer scaling with underscan priority (in case a small part of picture would be otherwise cut). Mainly usable with non-generic sampling presets.
  • Integer (overscan): Integer scaling with overscan priority (in case a small part of picture would be otherwise letter/pillarboxed). Mainly usable with non-generic sampling presets.
  • Nearest: Nearest neighbor scaling algorithm. Most appropiate for 2D pixel graphics where more sophisticated filters may add noticeable blur / ringing.
  • Lanczos3: High-quality scaling algorithm suitable for general video material and 3D graphics.
  • Lanczos3_sharp: Sharpened version of Lanczos3 algorithm.
  • Lanczos3&3_sharp: Sharpened version only applied for edges.
  • Lanczos4: Similar to Lanczos3 but with reduced smoothening.
  • GS sharp: General scaling with sharpen filter.
  • Custom scaler1.txt: Scaler coefficients loaded from scaler1.txt file on SD card (Mister format).
  • Custom scaler2.txt: Scaler coefficients loaded from scaler2.txt file on SD card (Mister format).

Edge threshold

Sets edge-detection threshold for edge-adaptive scaling algorithms.

  • 0-255: [default=7]

Deinterlace mode

Selects the deinterlace mode for interlaced sources.

  • Bob: Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. Works well with fast-moving content.
  • Weave: Interleaves lines from 2 adjacent fields. Good for static content.
  • Motion adaptive: . Uses Bob for moving areas of the picture and weave for static ones. [default]

Motion shift

Sets motion detection threshold for motion adaptive deinterlacer.

  • 0-7: [default=3]

Generic samplerate

Selects preference for sampling rate in generic modes.

  • Auto: . Sampling rate is selected based on output mode width. Little or no additional scaling in X-direction is needed. [default]
  • Lowest: Lowest available generic sampling preset is used (active width typically 720). Selected scaling algorithm has major impact on X-direction upscaling.
  • Highest: Highest available generic sampling preset is used (active width around 2000). Selected scaling algorithm has major impact on (typically) X-direction downscaling.

240p/288p mode

Selects sampling preset for 240p/288p "15kHz" sources.

350-400p mode

Selects sampling preset for 350-400p "~24kHz" sources.

480i/576i mode

Selects sampling preset for 480i/576i "15kHz" interlaced sources.

480-512p mode

Selects sampling preset for 480-512p "31kHz" sources.

576p mode

Selects sampling preset for 576p "31kHz" sources.

Adv. timing

Refer to #A-LM Adv. timing.

Output opt.

Operating mode

Selects operating mode of the device. Respective sub-menus under main menu have detailed options for each operating mode

  • Line multiplier: Operates in basic line multiplication mode. [default]
  • Scaler: Operates in more flexible scaler mode.

Test pattern mode

Selects video mode for test pattern. May be used to test display compatibility.

  • 240p...2880x2160_60: Output video mode. [default=480p]

TX mode

Sets the output TX mode.

  • HDMI (RGB Full): 24-bit full range RGB output with audio and auxiliary Infoframe packets. [default]
  • HDMI (RGB Limited): 24-bit limited range RGB output with audio and auxiliary Infoframe packets.
  • HDMI (YCbCr444): 24-bit YCbCr 4:4:4 (Rec. 601) output with audio and auxiliary Infoframe packets.
  • DVI: 24-bit full range RGB output. Required if target display does not support HDMI.

HDMI HDR flag

Setups HDR Infoframe to indicate HDR output with HLG gamma when in HDMI TX mode.

  • Off: Default SDR output. [default]
  • On: Output is flagged as HDR HLG. Gamma response is not corrected so some accuracy is lost.

HDMI VRR flag

Setups VRR metadata to spoof VRR output (vertical blank is not extended dynamically).

  • Off: No VRR metadata sent. [default]
  • Freesync: Freesync infoframe sent.

1080p120 preset

Selects timings to be used for 1080p120 output. Compatibility varies between boards and displays.

  • CVT-RB: Standard reduced blanking CVT mode. [default]
  • Min. blank: Blanking is pushed to minimum in order to reduce pixel clock further, but at the price of insufficient space for audio data.
  • CEA-861: CEA-861 compatible mode which has highest display compatibility but also highest pixel clock. Video stability is not guaranteed on all boards, especially without active cooling.
  • CEA-861 PR2x: CEA-861 compatible mode which is guaranteed to work on all boards and displays with HDMI 120Hz support. However, 2x pixel repetition is used.

2160p60 preset

Selects timings to be used for 2160p60 output. Compatibility varies between boards and displays.

  • CVT-RB PR2x: Standard reduced blanking CVT mode with 2x pixel repetition. [default]
  • Min. blank: Blanking is pushed to minimum in order to reduce pixel clock further, but at the price of insufficient space for audio data. 2x pixel repetition is used.

Adv. disp timing

Allows changing output preset parameters. Useful mainly for users of CRTs (overscan mitigation) and HD-Ready LCDs/PDPs with native resolutions not covered by existing presets. Can be also used to test display refresh rate limits in test pattern mode, or set custom refresh rate for SCL Framelock off (preset Hz) mode.

Audio opt.

Sampling format

Sets sampling format for analog audio input.

  • 24bit/48kHz: Standard format supported by all displays. [default]
  • 24bit/96kHz: 96kHz sampling rate
  • 24bit/192kHz: high 192kHz sampling rate. May not work with reduced blanking output modes.

Quad stereo

Generates multichannel LPCM audio output where stereo signal is copied into rear speakers.

  • Off: Standard 2.0 channel format. [default]
  • On (4.0): 4.0 channel format.
  • On (5.1): 5.1 channel format.
  • On (7.1): 7.1 channel format.

Pre-ADC gain

Volume gain adjustment before audio is digitized. Can be used to compensate level differences between sources.

  • -12-+12dB: Gain. [default=0dB]

AV1 audio source

Selects audio source for AV1 video input.

  • AV1 (analog): AV1 audio (SCART). [default]
  • AV2 (analog): AV2 audio (2x RCA jacks).
  • AV3 (analog): AV3 audio (3.5mm jack).
  • SPDIF: Digital toslink audio input.

AV2 audio source

Selects audio source for AV2 video input.

  • AV2 (analog): AV2 audio (2x RCA jacks). [default]
  • AV3 (analog): AV3 audio (3.5mm jack).
  • SPDIF: Digital toslink audio input.

AV3 audio source

Selects audio source for AV3 video input.

  • AV2 (analog): AV2 audio (2x RCA jacks).
  • AV3 (analog): AV3 audio (3.5mm jack). [default]
  • SPDIF: Digital toslink audio input.

AV4 audio source

Selects audio source for AV4 video input. "AV1 (analog)", "AV2 (analog)", "AV3 (analog)", "SPDIF", "AV4 (digital)"

  • AV2 (analog): AV2 audio (2x RCA jacks).
  • AV3 (analog): AV3 audio (3.5mm jack).
  • SPDIF: Digital toslink audio input.
  • AV4 (digital): Digital HDMI audio. [default]

3.5mm jack assign

Selects function on 3.5mm jack

  • AV3 input: The jack functions as audio input for AV3. [default]
  • AV1 output: Audio from SCART input is routed to the jack, e.g. enabling analog passthru to AVR.

Scanline opt.

Scanlines

Controls whether emulated scanlines are drawn on top of the picture

  • Off: No scanlines drawn [default]
  • Auto: Horizontal scanlines are drawn for 240p/288p sources, alternating scanlines are enabled for 480i/576i, no scanlines for other sources
  • On: Scanlines are drawn for every source according to "Scanline type" option

Sl. strength

  • 6-100%: Strength of the emulated scanlines [default=6%]

Sl. hybrid str

  • 0-175%: Strength of hybrid/blend effect (depedence of the pixel that is overlayed) in scanlines [default=0%]

Sl. method

Selects the method how scanlines are generated.

  • Multiplication: Scanline is generated by multiplying source RGB value [default]
  • Subtraction: Scanline is generated by subtracting from source RGB value

Sl. LM Bob altern.

Controls whether scanline position alternates along with fields of Bob deinterlaced LM modes.

  • Off: Scanlines are always mapped to same output lines.
  • On: Position is tied to field which shows as alternating position in output. Useful for reducing flicker. [default]

Sl. alignment

  • Top: Scanline is drawn on top position of every group of output lines formed from a single input line. [default]
  • Bottom: Scanline is drawn on bottom position of every group of output lines formed from a single input line.

Scanline type

  • Horizontal: Scanline pattern is drawn on every N output lines (value of N depends on processing mode). [default]
  • Vertical: Scanline pattern is drawn on every M output column (value of M depends on processing mode).
  • Horiz. + Vert.: Combination of horizontal and vertical mode.
  • Custom: Scanlines are drawn accoring to line-wise and column-wise strength set under Custom Sl.

Custom Sl.

Enables separate setting of each overlay line and column (line strength takes priority on pixels where it is >0%).

H interval

Sets the horizontal interval (in output pixels) in which the column overlay pattern is repeated.

V interval

Sets the vertical interval (in output lines) in which the line overlay pattern is repeated.

Sub-line M str

Strength for Mth sub-line, 0% disables line overlay.

Sub-column N str

Strength for Nth sub-column, 0% disables column overlay.

Post-proc.

Border color

Sets border color

  • Black|Blue|Green|Cyan|Red|Magenta|Yellow|White: Border color. [default=Black]

Border brightness

Sets border brightness (only effective is color is set to non-black). Could be used as a precaution with self-emissive displays to avoid uneven wear.

  • 0-15: Border brightness level. [default=8]

Shadow mask

Enables a mask pattern imitating CRT shadow mask.

  • Off: Mask pattern disabled. [default]
  • A-Grille: Mask imitating aperture grille found in Trinitron monitors.
  • TV: Mask imitating shadow mask in consumer TVs.
  • PVM: Mask imitating Sony PVM series.
  • PVM-2530: Mask imitating Sony PVM-2530.
  • XC-3315C: Mask imitating Mitsubishi XC-3315C.
  • C-1084: Mask imitating classic Commodore 1084 personal monitor.
  • JVC: Mask imitating generic JVC monitor.
  • VGA: Mask imitating generic VGA monitor.
  • Custom shmask1.txt: Custom shadow mask from SD card (shmask1.txt). Follows basic Mister format
  • Custom shmask2.txt: Custom shadow mask from SD card (shmask2.txt). Follows basic Mister format

BFI for 2x Hz

Enables black frame insertion feature for modes where output refresh rate is min. 2x of input. Reducing image persistence can be used to improve motion resolution at the cost of some flicker.

  • On: BFI enabled.
  • Off: BFI disabled. [default]

BFI strength

Sets the strength of BFI to trade off motion resolution for improved brightness / reduced flicker

  • 6-100%: Sets opaqueness of the black mask applied over a duplicated frame. [default=100%]

Expansion opt.

Expansion select

Selects active expansion card

  • Auto: Automatically detected. [default]
  • Off: No expansion card inserted
  • Extra AV out: Extra AV out expansion
  • Legacy AV in": Legacy AV in expansion
  • UVC bridge": Reserved for future use

Extra AV out mode

Sets the mode for extra_av_out expansion card

  • Off: No output on extra_av_out [default]
  • RGBHV: Normal RGBHV output via VGA
  • RGBCS/RGBS: Normal RGBCS output via VGA or RGBs via an adapter
  • RGsB: Sync-on-green RGB output
  • YPbPr: YPbPr output

Legacy AV opt.

Sets various options for this expansion card

Settings

Initial input

Sets the input which is automatically activated when device is powered on. Test pattern is displayed regardless of initial input setting until sync is detected on the respective input.

OSD

Selects whether OSD rendering is enabled and in which mode. When enabled, Navigation OSD is permanently visible when menu is active and a status OSD is temporarily displayed when input video mode changes.

  • Off: OSD is not displayed.
  • Full: Full OSD is displayed. [default]
  • Simple: Simple OSD is displayed.

OSD status display

Selects how long updated video parameters are shown on the status OSD.

  • 2s: status shown for 2 seconds.
  • 5s: status shown for 5 seconds. [default]
  • 10s: status shown for 10 seconds.
  • Off: Status is not displayed.

Fan PWM

Sets speed for the optional fan accessory

  • 0-100%: PWM duty cycle. [default=0%]

Led PWM

Sets intensity for front panel status LEDs

  • 10-100%: PWM duty cycle. [default=50%]

Bind IR remote

Learns keycodes from an IR remote. Press prompted function key on a new remote and confirm it by pressing the key again. Once all functions have been configured, new keymap settings are saved. Notes:

  • Any unused functions can be bound to a single unused key
  • If you entered a wrong key, press PCB button to go back to setup of previous function. Pressing the button during setup of first function cancels setup of the new remote and prompts if default keymap should be loaded.

Load profile

Loads selected profile slot from on-board flash. Slot 0 is loaded automatically at power-up. Use P.LOAD hotkey for paged profile browsing.

Save profile

Saves profile into selected slot in on-board flash. Settings (i.e. contents of settings menu which are not part of a profile) are saved simultaneously. Profile name to be written can be overridden by prof_n_i.txt on SD card root (one line per profile, max. 15 chars per name, see "How to rename profiles" below for more information).

SD Load profile

Loads selected profile slot from SD card. Use P.LOAD hotkey for paged profile browsing.

SD Save profile

Saves profile into selected slot on SD card. Settings (i.e. contents of settings menu which are not part of a profile) are saved simultaneously to SD card on a separate file. Profile name to be written can be overridden by prof_n.txt on SD card root (one line per profile, max. 15 chars per name, see "How to rename profiles" below for more information ).

Reset profile

Resets current profile to default values without saving it.

Fw. update

Firmware update function. New version is displayed on the screen after which update can be initiated by pressing "->" via remote or PCB joystick. Below are descriptions for error codes which may prevent the upgrade process.

  • Error -1: SD card not detected.
  • Error -2: FW file not found. Rename the file as ossc_pro.bin and ensure it's on the root of the SD card.
  • Error -3...-5: FW header error. The firmware file is corrupted.
  • Error -6: Target offset not aligned to flash sector. Firmware file contains invalid offset.
  • Error -7: Image exceeds flash boundary. Firmware file is too large for the flash.
  • Error -8: FW data read error. Error while copying the firmware file to DRAM.
  • Error -9: CRC error while checking the data copied to DRAM. Change to test pattern or restart the device, and try again.

How to rename profiles

To give your profiles an easy to recognise name, rather than just a number, you can create a text file on the root of your SD card called either "prof_n_i.txt" (for profiles stored in OSSC Pro's on-board flash) or "prof_n.txt" (for profiles stored on the SD card). Follow these steps to rename the profiles stored on the on-board flash.

1) Create a plain text file called "prof_n_i.txt" on your SD card. In Windows you can do this using the Notepad app, or any plain text editor (e.g NotePad++). In Linux you can use Vim or Nano. Since the file must be plain text, do not use a word processor or rich text editor like Word, Wordpad, Writer etc.

Remember that Windows can hide file extensions from the user when using file explorer and the default settings. Ensure the file is called "prof_n_i.txt" and not "prof_n_i" or even "prof_n_i.txt.txt"

2) Edit this file so that each line is the name of the profile. Terminate the line with a return. You can use a maximum of 15 characters per name

3) Ensure your edited file is saved to the to SD card. Safely remove the SD card from your computer and re-insert it into the OSSC Pro

4) Load the profile you want to rename, then immediately save it again to the same slot. Next time you recall the profile, you should see your custom name both on the character OLED display and on the on-screen menu.

To rename profiles stored on your SD card, you can create a file on the SD card called "prof_n.txt". The steps are then exactly the same as for renaming internal profiles.

Compatibility and special configuration

Most systems should work as-is without any special settings. Below is a list of tested systems and the ones which may require tweaking are shown in bold. We encourage the community to add sections under each system instead of having an enormous table here. That way we can have more detailed and specific information on a per system basis, and here links to all the systems tested so far.

Home consoles

Computers

  • Commodore Amiga
  • Commodore 64
  • DOS PC
  • MSX
  • PC-9801
  • Sharp X68000

Arcade Boards

Expansion cards and adapters

Extra AV output

Extra av out.png

Extra AV output card implements analog video output via VGA connector, analog audio outputs via 3.5mm jack and digital audio output via Toslink. At the moment video processing chain is identical to HDMI.

Several output video formats are supported and are listed below

  • RGBHV
  • RGsB
  • RGBCS (TTL csync)
  • SCART-RGB (via av_adapter)
  • YPbPr from VGA or 3xRCA (via av_adapter)

Audio format support is summarized on table below

Input 3.5mm analog output SPDIF output
AV1-3 analog Y (Y)
Toslink LPCM2.0 (Y) Y
Toslink DD5.1/DTS N Y
HDMI LPCM2.0 Y (Y)
HDMI LPCM7.1 Y (front 2ch only) (Y) (front 2ch only)
HDMI DD5.1/DTS N Y

Y=yes, (Y)=supported via future fw update, N=no

Legacy AV input

AV adapter

A custom AV input/output adapter (shown below) can be used to connect

  • VGA or component input sources into SCART input
  • SCART-RGB or component input sources into VGA input
  • VGA output of Extra AV output expansion card into the adapter, providing SCART-RGB or 3xRCA YPrPb output instead

A fully wired SCART or VGA cable needs to be connected between the adapter and OSSC Pro board. Design and gerbers are available here. Pre-assembled adapters may become available in future.

Dexx scart adapter.png

Firmware update

Firmware is updated via microSD card. Download .bin file for the latest release from github, rename it as ossc_pro.bin and place it at the root of FAT32-formatted SD card. Launch upgrade via Settings menu. The device enters standby mode when update is finished. If you get an error code during update, refer here

Firmware update via JTAG

Firmware can also be updated via the JTAG connector and a suitable programmer such as the terasIC USB Blaster. A tutorial on how to do this is available here.

Firmware changelog and roadmap

v0.75

  • added support for Legacy AV in expansion
  • added support for YPbPr output via extra_av_out expansion
  • added support for custom EDID on HDMI RX
  • added VRR flag (Freesync) option
  • enabled customization of frame-unlock mode refresh rate
  • improved audio output compatibility
  • various small bug fixes

Older versions

v0.74

  • number of PAL console presets added
  • generic sampling rate preference option added
  • display output timing editor added
  • PSP sampling preset added

v0.72/0.73

  • fix GBI presets
  • store size/position adjustments for HDMI inputs as well
  • add 2880x2160_60 preset option
  • enable 2880x2160 mode for 240p/288p A-LM
  • support direct video "DV1" mode from Mister and PixelFX products
  • sync processing fixes for Taito F3 etc.

v0.71

  • fix audio source selection with HDMI RX
  • fix size/position adjustment vertical limit
  • add support for defining profile names via text file
  • improve 1080p120 compatibility

v0.70

  • Fix HDMI TX/RX related issues

v0.69

  • Initial release

Scheduled improvements

  • Lower scaler mode latency
  • Rotation

Info for developers