MiSTer FPGA with a CRT or External Scaler: Comparing Output Options for Lag and Accuracy
How to connect a MiSTer FPGA to a CRT monitor or an external scaler like the RetroTINK 5X-Pro, comparing lag and image quality across output paths.
MiSTer FPGA CRT vs External Scaler Setup: Pick Your Output Path First
You bought a DE10-Nano board, added the SDRAM module, and got a core running. Now decide how to connect it to a screen. That choice determines your lag, your image quality, and your compatibility with every core you run. Pick wrong and you will fight settings for weeks. Pick right and you will not think about it again.
The MiSTer FPGA gives you two primary output paths. The analogue I/O Board v6.1 connects directly to a CRT monitor via RGB SCART or component. The HDMI output runs through an external scaler like the RetroTINK 5X-Pro or OSSC to a flat panel. A third path uses a direct video dongle for analogue output without the I/O board. Each path has a different lag profile, measured in milliseconds or scanlines. Each imposes constraints on which cores work and how you configure them.
The Analogue I/O Board Path: Direct CRT Connection
The I/O Board v6.1 uses a 24-bit ADV7125 video DAC to output analogue video through a DE-15 VGA connector. It supports RGBS, RGsB, YPbPr, and RGBHV formats. This is the path for a Sony PVM-20L5 or any 15 kHz CRT that accepts RGB SCART or component video.
What You Need
You need the I/O Board, a VGA-to-BNC cable for a PVM or a VGA-to-SCART cable for a European CRT. For a consumer TV with component input, set ypbpr=1 in the MiSTer.ini and flip the sync-on-green switch on the I/O Board. For a Sony PVM-20L5, set composite_sync=1 to put composite sync on the H pin, and use a VGA-to-4xBNC cable. The sync voltage is TTL-level and may require a 470-1k ohm resistor for SCART cables; many SCART cables include this resistor already.
Lag: Near Zero
A direct CRT connection adds no measurable lag from the MiSTer side. The CRT electron beam draws each line as the signal arrives. The only lag is the screen itself, which for a CRT is sub-millisecond. Tests published on Shmups Forum confirm that the I/O Board output has no processing delay. If you are a competitive shmup player or a rhythm game enthusiast, this is the path.
Limitations
Not every core outputs a 15 kHz analogue signal cleanly. The ao486 core, which emulates a 486 PC, outputs VGA resolutions from 640×480 to 1280×1024 at 31 kHz or higher. A 15 kHz CRT cannot display those without an external downscaler like the GBS-Control. The PlayStation and Saturn cores switch between 240p and 480i. Some CRTs handle that switch without issue; others lose sync for a second. Test with the 240p test suite before you commit to a CRT for a multi-core setup.
The Direct Video Dongle Path: Analogue Without The I/O Board
If you skipped the I/O Board, you can still get analogue output using a direct video dongle. This is an HDMI-to-VGA DAC based on the AG6200 or AG6201 chipset. The MiSTer's HDMI output, normally digital, can be configured to output core-native 15 kHz video over HDMI, which the dongle converts to VGA. Set direct_video=1 in the MiSTer.ini.
Compatibility Warning
Only dongles with the AG6200 or AG6201 chipset work. Dongles using the CS5210 or ITE66121 chipset fail. The sync output is TTL-level, same as the I/O Board, so the same resistor issue applies for SCART cables. The direct video path does not support all cores equally. The SNES core works. The PlayStation core works in 240p but may drop sync on the 480i transition. The ao486 core does not work because the HDMI output cannot switch to 31 kHz on this path without the scaler being enabled. Test each core you plan to use.
Lag: Same As I/O Board
The direct video dongle adds no processing lag. The HDMI-to-VGA conversion is purely electrical, not buffered. The lag profile matches the I/O Board path. The failure mode is sync drop on cores that switch resolutions mid-game.
The HDMI Path With An External Scaler: Flat Panel Accuracy
If you use a modern flat-panel screen, you need an external scaler. The MiSTer's DE10-Nano HDMI output uses an ADV7513 transmitter with a maximum pixel clock of 148.5 MHz, enough for 1920×1440 at 60 Hz. The built-in scaler can output that resolution, but the screen's own scaler will add lag. An external unit like the RetroTINK 5X-Pro or OSSC handles the scaling with known, low latency.
RetroTINK 5X-Pro Chain
The RetroTINK 5X-Pro accepts 240p, 480i, 480p, 720p, and 1080p via component, S-Video, composite, or RGB SCART. It outputs up to 1440p over HDMI. Its stated latency is under 0.25 frames, which at 60 Hz is under 4 ms. The 5X-Pro applies integer scaling by default and offers CRT simulation filters including the FirebrandX CRT profile, which replicates the look of a Sony PVM. For the MiSTer chain, set vscale_mode=1 for integer scaling and video_mode to a resolution the 5X-Pro accepts, typically 1920×1080 at 60 Hz. The chain is HDMI from the DE10-Nano to the 5X-Pro, then HDMI to the screen. No analogue conversion needed.
OSSC Chain
The OSSC Classic is a line multiplier with no framebuffer. It accepts 240p, 480i, and 480p via SCART, component, or VGA. Its latency is under 2 scanlines, which at 240p 60 Hz is under 0.03 ms, effectively zero. The OSSC outputs up to 1920×1200. For the MiSTer chain, use the I/O Board VGA output into the OSSC's VGA or SCART input, or use the direct video dongle into the OSSC's VGA input. The OSSC Pro adds a framebuffer, HDMI input, and adaptive line multiplication, with latency under 1 frame. Choose the OSSC if you want the mathematically purest pixel reproduction and can tolerate the lack of composite or S-Video input.
Lag: Know The Total Chain
An external scaler's lag is only part of the chain. A Samsung or LG TV in game mode still adds 10-15 ms at 1080p and 30-40 ms at 4K. The total lag is scaler lag plus screen lag. A RetroTINK 5X-Pro at 4 ms plus a screen at 10 ms gives 14 ms, under one frame at 60 Hz. An OSSC at under 0.1 ms plus the same screen gives 10 ms. A cheap HDMI converter from Sham Shui Po that treats 240p as 480i adds 30-60 ms and destroys the image. Test your total lag with the 240p test suite's lag test.
MiSTer FPGA Analogue Video Output: Configuring The I/O Board For Specific Displays
Configuring the I/O Board for a specific screen is the step where most setups fail. The MiSTer.ini has six settings that control analogue output: vga_scaler, direct_video, composite_sync, sog (sync-on-green, a physical switch on the I/O Board v6.1), ypbpr, and hdmi_limited. Get these wrong and you get no image, a black-and-white image, or a rolling picture.
For A Sony PVM-20L5
Set vga_scaler=0 for direct analogue output. Set direct_video=0. Set composite_sync=1 to combine H and V sync onto one wire. Set ypbpr=0 for RGB. Connect via VGA-to-4xBNC cable. The PVM-20L5 accepts 15 kHz RGBS on its RGB inputs with external sync on the BNC connector labelled Ext Sync or on the sync input of the RGB card. If you get a green-tinted image, you have sync-on-green enabled; turn the physical switch off.
For A Consumer CRT With Component Input
Set ypbpr=1. Flip the sync-on-green switch on the I/O Board to the ON position. Connect via VGA-to-3xRCA component cable. The MiSTer outputs YPbPr over the VGA connector on the red, green, and blue pins. The green pin carries sync-on-green. Not all consumer CRTs accept sync-on-green; if you get a stable image with a green tint, the TV is not stripping sync from the green channel. Use a component cable with an external sync stripper or switch to RGB SCART.
For A 31 KHz PC Monitor
Set vga_scaler=1 and video_mode to a resolution the monitor supports, such as 640×480 at 60 Hz. Set composite_sync=0 for separate H and V sync. The I/O Board outputs 31 kHz RGBHV. Most PC monitors accept this natively. Cores that output 240p will be line-doubled by the scaler to 480p. The lag from the scaler at 31 kHz is under a scanline.
MiSTer FPGA RetroTINK 5X Chain: The Flat Panel Reference
The MiSTer-to-RetroTINK 5X chain is the reference setup for flat-panel accuracy. It combines the MiSTer's digital HDMI output with the RetroTINK's framebuffer scaling and CRT simulation. The chain is: DE10-Nano HDMI → RetroTINK 5X-Pro HDMI input → RetroTINK 5X-Pro HDMI output → screen.
Why This Chain Works
The RetroTINK 5X-Pro accepts the MiSTer's 1080p output and applies integer scaling to 1440p or 1080p with black borders. Its scanline filter and shadow mask emulation, including the FirebrandX CRT profile, replicate the look of a Sony PVM on an OLED or LCD. The scaler's motion-adaptive deinterlacing handles the PlayStation core's 480i output without flicker. The chain adds under 4 ms of lag, measured by Time Sleuth tests shared on Shmups Forum.
Configuration For This Chain
In the MiSTer.ini, set video_mode=1920,88,44,148,1080,4,5,36,148500 for 1920×1080 at 60 Hz. Set vscale_mode=1 for integer scaling. Set vsync_adjust=2 to match the core's refresh rate; this reduces lag to a single buffer and eliminates frame pacing issues. On the RetroTINK 5X-Pro, load the FirebrandX CRT profile, set output to 1440p if your screen accepts it, and enable scanlines at 50% intensity. The result is an image that measures within 1 ms of a CRT's lag profile and visually matches a PVM-20L5 under controlled lighting.
MiSTer FPGA Direct Video HDMI To VGA: The Low-Cost Analogue Path
The direct video HDMI-to-VGA path is the cheapest way to get analogue output if you do not own the I/O Board. A direct video dongle costs US$10-20 from online retailers. The configuration is direct_video=1 in the MiSTer.ini. The HDMI output sends core-native 240p or 480i video, and the dongle converts it to VGA.
Compatibility By Core
The direct video path works with most 15 kHz cores. The NES, SNES, Genesis, and Neo Geo cores output stable 240p. The PlayStation core outputs 240p but may drop sync during the 240p-to-480i transition when entering a game from the menu. The Saturn core has the same issue. The ao486 core does not output 15 kHz video, so the direct video path is unusable for PC games. The Game Boy Advance core works at 240p. Test each core with the 240p test suite before assuming compatibility.
Sync Issues And Fixes
The direct video dongle outputs TTL-level sync. Some CRTs accept this; others need a sync stripper or a resistor in line to drop the voltage. A 470-ohm resistor on the sync line is the common fix. If the image rolls or has horizontal tearing, the sync voltage is too high or the sync polarity is wrong. Set composite_sync=1 to test; some dongles pass composite sync, others do not. The AG6200 chipset dongles from online retailers are the only confirmed working type.
MiSTer FPGA Sony PVM Connection: The Reference Monitor Setup
Connecting a MiSTer FPGA to a Sony PVM is the closest you get to original hardware on a broadcast monitor. The PVM-20L5 accepts 240p, 480i, and 480p, and supports RGB, component, and composite. The MiSTer outputs 240p RGBS via the I/O Board's VGA connector, converted to BNC cables.
Connection Steps
Set vga_scaler=0, direct_video=0, composite_sync=1, ypbpr=0. Use a VGA-to-4xBNC cable. Connect the red, green, blue BNCs to the monitor's RGB inputs. Connect the sync BNC to the monitor's external sync input or to the sync input on the RGB card, depending on the model. On the PVM-20L5, press the RGB button on the front panel to select the RGB input. If the image is green-tinted, sync-on-green is enabled on the MiSTer; verify the physical switch on the I/O Board is set to OFF for RGB.
What You Get
The PVM-20L5 displays the MiSTer's 240p output with the CRT electron beam rendering each line. There is no scaling, no deinterlacing, and no added lag. The 240p test suite's grid pattern shows perfectly even scanlines. The failure mode is sync drop on cores that switch resolutions; the PVM-20L5 handles 240p-to-480i transitions better than most consumer CRTs, but the Saturn core's 480p output on some games will not display because the monitor's RGB input does not accept 31 kHz on all models. Check the PVM's manual for its sync range.
Lag Characteristics By Chain: What The Tests Show
Tests published on Shmups Forum measure the lag of each MiSTer output chain using the 240p test suite's lag test, a Time Sleuth device, or a high-speed camera. The results are consistent across multiple testers.
- Analogue I/O Board to CRT: 0 ms added. The CRT's electron beam responds within microseconds.
- Direct Video Dongle to CRT: 0 ms added. The dongle is passive.
- I/O Board to OSSC to Flat Panel: Under 0.1 ms from the OSSC. The flat panel adds 10-15 ms in game mode.
- HDMI to RetroTINK 5X-Pro to Flat Panel: Under 4 ms from the RetroTINK. The flat panel adds 10-15 ms in game mode.
- HDMI to Cheap HDMI Converter to Flat Panel: 30-60 ms from the converter. The image is deinterlaced from 240p to 480i before upscaling, adding both lag and visual artifacts.
The takeaway: the CRT paths have zero added lag. The OSSC path has near-zero added lag. The RetroTINK 5X-Pro path adds measurable but imperceptible lag. The cheap converter path is unusable for any game requiring timing.
Image Quality Implications: Accuracy Vs Convenience
Image quality on a CRT is the reference. The 240p test suite shows perfect integer scaling by definition: each pixel is a single phosphor dot or stripe. The scanline effect is real, not simulated. The CRT's analog nature smooths edges without blurring them. On a flat panel through an external scaler, you are trading accuracy for convenience.
CRT Image Quality
On a Sony PVM-20L5, the MiSTer's output matches original hardware within the tolerance of the ADV7125 DAC. Colour accuracy depends on the core's palette setting; the NES core offers multiple palette options including the Sony CXA2025AS and PVM Style D93 profiles that match the monitor's colour space. The Genesis core's output on a PVM is indistinguishable from a Model 1 Genesis with RGB SCART cables, per tests on Shmups Forum.
External Scaler Image Quality
The RetroTINK 5X-Pro with the FirebrandX CRT profile replicates the PVM's aperture grille pattern and phosphor decay. The scanline filter is adjustable from 0% to 100% intensity. The scaler's integer scaling ensures even pixel sizes. The OSSC's line multiplication produces razor-sharp pixels but no CRT simulation; you see every pixel edge. The OSSC Pro's framebuffer allows scanline filters and shadow mask emulation. Neither scaler reproduces the CRT's analog blending, but the RetroTINK 5X-Pro's filters get close enough that most viewers cannot tell the difference in a blind test at normal viewing distance.
The Third Path: HDMI To VGA DAC For Analogue Without The I/O Board
The direct video dongle is the third path, and it is the one that trips up most newcomers. You buy an inexpensive dongle from an online retailer, plug it into the DE10-Nano's HDMI port, set direct_video=1, and expect it to work like the I/O Board. It does not always work.
Dongle Compatibility
Only dongles with the AG6200 or AG6201 chipset work. The chipset is printed on the dongle's chip, visible through a vent hole or by opening the case. Dongles with the CS5210 or ITE66121 chipset do not output the correct sync timing and produce a rolling or blank image. Search for "AG6200 HDMI to VGA" to find confirmed working units.
Core Compatibility
The direct video path works for cores that output 15 kHz video. The NES, SNES, Genesis, Neo Geo, PC Engine, and Game Boy Advance cores work. The PlayStation and Saturn cores work for 240p games but may drop sync during 480i transitions. The ao486 core does not work. The core compatibility list is maintained on the MiSTer wiki and on Shmups Forum. Before you rely on this path for a specific core, check the forum thread for that core.
When To Use This Path
Use the direct video path if you already own a CRT and do not want to buy the I/O Board. It is also useful as a backup or travel setup: the dongle is smaller than the I/O Board and fits in a pocket. Do not use it if you plan to run the ao486 core or if you need reliable 480i handling for the PlayStation core. In those cases, buy the I/O Board.
What Most Often Goes Wrong: Sync And Resolution Mismatch
The single most common failure is sync drop on resolution switch. A core like PlayStation outputs 240p during gameplay and switches to 480i for the menu. A CRT that handles 240p fine may lose sync for 2-3 seconds on the switch. A scaler with slow frame lock does the same. Set vsync_adjust=2 and test each core with the 240p test suite's sync test. If the scaler or CRT drops sync, you have three options: disable the core's 480i mode if the core supports it, use a different screen, or accept the 2-3 second blanking. There is no universal fix.
The second most common failure is using a cheap HDMI converter. A converter that costs under US$30 treats 240p as 480i, deinterlaces it, upscales it, and adds 30-60 ms of lag. The image has combing artifacts on moving sprites. Do not use it. Buy a RetroTINK 5X-Pro, an OSSC, or a CRT. There is no cheap shortcut to accurate retro gaming video.
Common Questions
Which MiSTer output path has the lowest lag?
The analogue I/O Board path to a CRT has zero added lag. The direct video dongle path to a CRT also has zero added lag. The OSSC path adds under 0.1 ms. The RetroTINK 5X-Pro path adds under 4 ms. A cheap HDMI converter adds 30-60 ms and should be avoided.
Can I use the direct video dongle for the ao486 core?
No. The ao486 core outputs VGA resolutions at 31 kHz or higher, and the direct video dongle cannot output those without the scaler enabled. Use the I/O Board or the HDMI path through an external scaler for the ao486 core.
What settings do I need for a Sony PVM-20L5?
Set vga_scaler=0, direct_video=0, composite_sync=1, ypbpr=0. Use a VGA-to-4xBNC cable. Ensure the sync-on-green physical switch on the I/O Board is OFF. Press the RGB button on the PVM front panel.
Does the RetroTINK 5X-Pro add noticeable lag?
No. The RetroTINK 5X-Pro adds under 4 ms, which is under a quarter of a frame at 60 Hz. Most players cannot perceive this. Competitive players who notice single-frame differences should use the CRT path or the OSSC path.
Why does my MiSTer HDMI output look wrong on my TV?
The TV is treating the 240p signal as 480i and applying deinterlacing. Set vscale_mode=1 for integer scaling and use an external scaler like the RetroTINK 5X-Pro or OSSC. The TV's built-in scaler adds lag and destroys the image.