Skip to content

Analog and CRT output

Changed in v0.4.0

The Analog Out setting used up to v0.3.0 has been replaced by the single Video Output option, and updating resets your saved settings once.

The core drives a real CRT natively: with Video Output = Interlaced (or Auto with the ini below), the analog pins carry a native 15 kHz 480i/576i raster of the disc's authored fields — the same presentation a set-top player feeds a TV.

Rebuilt in v0.4.0

The analog raster is now the core's main interlaced raster driven straight to the pins, like every other MiSTer 480i core — the separate re-timed second raster used by v0.3.0 and the PR #37 prerelease is gone.

The measurable result is that the signal is now what it claims to be: MiSTer reports a steady 720x480i @ 59.94 Hz (on the idle logo too), where before it could read 1441x478i at a rate wandering between 59.8 and 60.1 Hz. The raster carries a true half-line, so vsync falls exactly 262.5 lines apart on every field. Interlaced at boot also used to come up as 719x…i @ 31.48 kHz with no picture at all on a CRT; that is fixed.

Those numbers are what the reports of a picture that shakes or tears about once a second were describing. Reports of sawtooth edges turned out to be a second, separate thing — the shape of the composite sync itself — and there is now a setting for it: see Analog CSync below. The composite and S-video paths carry the same sync as RGB and component.

Turning it on

There is nothing to set in the OSD. It engages from MiSTer.ini exactly like any other core:

vga_scaler=0        ; (the default) native video on the analog pins
composite_sync=1    ; or ypbpr=1, or vga_sog=1 — match your cable

Composite or S-video additionally needs the framework's Y/C encoder switched on — without it the pins carry raw RGB and the picture arrives black & white:

vga_mode=svideo     ; or vga_mode=cvbs for composite

The chroma standard (PAL/NTSC subcarrier) follows the disc automatically — the framework picks it from the video rate.

That is the whole setup — Video Output = Auto reads those bits and lands on Interlaced. Set the mode explicitly only when the ini bits cannot describe your rig (a 15 kHz RGBHV monitor: Interlaced) or when your analog display wants a progressive signal (480p/576p component or VGA: Progressive). The mode table and the full description live on the Video Output page.

In Progressive mode the analog pins carry the plain progressive raster through the stock path — a 31 kHz signal a 15 kHz CRT cannot sync — and the analog-only extras (line-21 captions, sub-720 fill, Analog Aspect) are off.

Changed in v0.4.0

On a rig configured for analog in MiSTer.ini (vga_scaler=0 plus a sync mode) but set to Progressive, an Auto Film 24p verdict no longer engages, so a film disc cannot switch the pins to a 23.976/25 Hz raster the display drops when the feature starts. Setting Film 24p Out = On overrides that — it is an explicit choice, and it is how you watch 24p over HDMI with the CRT switched off while leaving the analog lines in your ini. HDMI-only setups (vga_scaler=1, or no analog sync mode set) are unaffected on any setting. On v0.3.0, set Film 24p Out = Off on such a rig to avoid the signal loss.

HDMI shows 480i while a CRT is active

Interlaced mode puts the whole core in field mode, so HDMI drops to 480i via the framework scaler for the session. The earlier arrangement that kept HDMI progressive alongside the CRT was removed with its structurally unstable field-pairing (the "wobbly interlace" reports) — pick the output that matters and set Video Output for it.

Motion looks right on video-sourced discs by construction — every displayed refresh is one genuine authored field — and film's 3:2 field cadence on a CRT is exactly what an NTSC player output. On some televisions a seek or aspect change can come back with the fields the wrong way round — see field alignment.

The raster carries a true 2:1 interlace half-line, the same way the N64 and PSX cores do it, so every analog connection — composite, S-video, RGB SCART, YPbPr, RGBHV — gets correctly interleaved fields, and the OSD reports a steady 720x480i @ 59.94 Hz. If a set or scaler shows a per-field wobble or reports the line count toggling, that is worth reporting with the connection type — see troubleshooting.

Analog Aspect

An anamorphic 16:9 DVD is stored as 720×480 with the picture horizontally squeezed into a 4:3 raster. A widescreen TV unsqueezes it; a 4:3 CRT cannot, so everything looks tall and thin. Analog Aspect picks the correction.

Mode What it does Result
Auto Letterbox for 16:9 content, Fit for 4:3 Correct for most people
Fit No correction at all 4:3 content correct; 16:9 shows tall and thin
Letterbox Scales the picture down vertically by ¾, centred, with black bars Correct geometry, full width, bars top and bottom
Crop Shows the centre ¾ of the width, stretched back to full width Correct geometry, full vertical resolution, sides cut off, no bars

Both corrections are the same exact ×¾ factor — a 16:9 image inside a 4:3 frame has scale factor (4∕3)∕(16∕9) = ¾. Letterbox applies it vertically, costing resolution but keeping the whole frame. Crop applies it horizontally, keeping every one of the 480 source lines but losing ⅛ of the picture from each side. This is the pan-and-scan trade-off, and which you prefer is a matter of taste.

Letterbox uses a true two-tap vertical blend rather than dropping lines, so the scaled image is smooth rather than aliased.

Auto never selects Crop — it chooses between Letterbox and Fit. Crop is a deliberate manual choice.

Changed in v0.4.0

Subtitles are no longer scaled by Letterbox or Crop. Dialogue subtitles now draw at their authored position and full resolution, with clean edges — like a set-top player, they may reach into the black bars rather than being squeezed with the picture. (Previously they were repositioned by a nearest-line map, which gave diagonal subtitle edges a sawtooth look.) Menu button art and highlights still track the scaled picture so highlights land on their buttons, and sub-720 content (MPEG-1/SIF, SVCD) keeps its scaled subtitles — those are authored at the smaller picture size.

Sub-720 content on a CRT

MPEG-1 SIF (352×240 / 352×288), SVCD (480 wide) and the sub-D1 DVD sizes (704, 544) are narrower than the 720-pixel raster. On the analog output the core fills the screen in fabric — SIF gets a 2× line repeat and a 352→720 horizontal stretch; the other sub-720 widths get the horizontal fill. HDMI is unaffected and keeps the framework scaler's cleaner upscale.

Why there is no true 240p output

A 240p raster would be the natural home for SIF content, but the core's A/V sync requires the raster to run at exactly the content rate against a fixed audio clock, and no exact-rate 240p modeline exists at the 27 MHz dot clock. Line-doubled 480i carries the same content to a CRT — which is what actual DVD players do with sub-D1 material.

Analog CSync — if your set jitters or shows sawtooth edges

Unreleased

This setting is not in v0.4.0. It is on main and will be in the next release.

Debug page → Analog CSyncSMPTE (default) / 2H / Stock.

Composite sync is the single signal that tells a television where every line and every field begins. A broadcast signal surrounds its vertical sync with equalizing pulses — short pulses at twice line rate, before and after — and splits the vertical sync itself into six serrations. They exist for one job: to make the two fields of an interlaced picture look identical to the circuit inside your television that decides where a field starts.

Up to and including v0.4.0 this core emitted neither. The consequence is measurable: the two fields presented first sync pulses of about 50 µs and 18 µs, because their vertical syncs begin half a line apart while the pulse pattern around them does not move with them. 18 µs is right at the threshold some televisions use to recognise the pulse at all — so a set could read the two fields differently, and lay the second field's lines on top of the first field's instead of between them.

That is what a sawtooth or ragged look on vertical edges is, and why it also costs half the vertical detail the picture should have. It is display-dependent: a set with a tolerant sync separator never notices, which is why the same build can look perfect on one television and wrong on another.

SMPTE emits the full standard block (SMPTE 170M on NTSC, ITU-R BT.470 on PAL) and is the default. 2H adds the serrations but not the equalizing pulses — closer to correct than what earlier versions emitted, but still measurably behind SMPTE, and it is here only until we know whether any real display prefers it.

You should not need to change this

SMPTE is what a real player, a broadcast signal and a DVD deck all put out. 2H is there because televisions of this age vary, and because we would rather you could get a picture back from the OSD than have to wait for a new build. If your set is happier on 2H, please say so — that is exactly the report we are looking for, and it decides whether the setting stays at all.

It has no effect if vga_scaler=1

With the scaler on the analog pins, or a framebuffer active, sync comes from a different place entirely and this setting does nothing. It applies to the direct analog path — vga_scaler=0 — which is the CRT case.

HDMI is completely unaffected by this setting, on every option. Composite and S-video use the same sync as RGB/component, so they change with it.

Known limitations

  • PAL on an analog CRT is implemented but unconfirmed. The 576i timings are derived by analogy with the hardware-proven NTSC ones, and no PAL CRT was available to test them. PAL over HDMI is confirmed working.
  • While Video Output = Interlaced, Film 24p output is unavailable — a 23.976 Hz raster cannot carry fields. Film on the CRT plays with its normal 3:2 field cadence instead, which is what an NTSC player always did.