OSSC Pro
Contents
- 1 Introduction
- 2 AV inputs
- 3 Basic setup & usage
- 4 Settings
- 4.1 Input select
- 4.2 AV1-3 video in opt.
- 4.3 AV1-3 sync opt.
- 4.4 AV4 video in opt.
- 4.5 Line multiplier opt
- 4.6 Scaler opt.
- 4.6.1 DFP output mode
- 4.6.2 CRT output mode
- 4.6.3 Output type
- 4.6.4 Framelock
- 4.6.5 Aspect ratio
- 4.6.6 Scaling algorithm
- 4.6.7 Edge threshold
- 4.6.8 Deinterlace mode
- 4.6.9 Motion shift
- 4.6.10 240p/288p mode
- 4.6.11 350-400p mode
- 4.6.12 480i/576i mode
- 4.6.13 480-512p mode
- 4.6.14 576p mode
- 4.6.15 Adv. timing
- 4.7 Output opt.
- 4.8 Audio opt.
- 4.9 Scanline opt.
- 4.10 Post-proc.
- 4.11 Settings
- 4.12 How to rename profiles
- 5 Compatibility and special configuration
- 6 Expansion cards and adapters
- 7 Firmware update
- 8 Firmware changelog and roadmap
- 9 Info for developers
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 |
---|
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 |
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
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 OSSC Pro#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
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 enabling zooming in/out.
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.
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 threahold 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]
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.
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.
Extra AV out
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
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%]
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
- Atari Jaguar
- Microsoft Xbox
- Microsoft Xbox 360
- Nintendo 64
- Nintendo NES / Famicom
- Nintendo Gamecube
- Nintendo Super NES / Super Famicom
- Nintendo Wii
- Sega Dreamcast
- Sega Genesis / Mega Drive
- Sega Saturn
- SNK Neo Geo AES
- Sony PlayStation
- Sony PlayStation 2
Computers
Arcade Boards
- Capcom CPS-II
- Irem M72
- Sega System 16B
- SNK Neo Geo MVS
- Taito F3
- Taito FX-1B
- Toaplan V2
Expansion cards and adapters
Extra AV output
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
- RGBCS (TTL csync)
- SCART-RGB (via av_adapter)
- To be added on firmware: 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 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.
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.72
- 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.
Older versions
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