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:
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) are off. Analog Aspect works there only when you set it
to Letterbox or Crop — see On Progressive.
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 use the same ×¾ 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 about ⅛ of the picture from each side. (Crop works in 16-pixel blocks, so it keeps the centre 528 pixels rather than an exact 540, and the picture comes out about 2 % wider than true.) This is the pan-and-scan trade-off, and which you prefer is a matter of taste.
Analog Aspect also tells the disc what kind of TV it is playing on. Some discs carry two
copies of an intro or a menu page, one 4:3 and one 16:9, and pick between them from that
answer:
- Auto, Letterbox: a 4:3 TV that letterboxes.
- Crop: a 4:3 TV that shows pan-and-scan.
- Fit: a widescreen TV.
On Progressive, Auto answers "a widescreen TV" as well, since it applies no correction there.
The disc reads it as it reaches each choice, so changing the setting mid-disc affects only the choices that come after.
Letterbox uses a true two-tap vertical blend rather than dropping lines, so the scaled image is smooth rather than aliased.
Letterbox also lifts the picture's bottom edge up the screen, away from where a CRT's overscan would hide it. On the few discs that carry a half-line at the picture edge that can make it visible. It is on the disc, and a set-top player letterboxing the same disc puts it in the same place.
For movies, Auto never selects Crop — it chooses between Letterbox and Fit, and Crop is a deliberate manual choice. Disc menus can override that choice, as described below.
Analog Aspect on Progressive¶
With Video Output on Progressive, only an explicit Letterbox or Crop changes
the picture. That is for a 4:3 display fed the progressive signal: a VGA CRT, a 4:3 set on
480p component, or a 4:3 HDMI display.
| Setting | On Progressive |
|---|---|
| Auto | No correction. The MiSTer scaler handles the aspect, exactly as on HDMI. |
| Fit | No correction (the same as Auto here). |
| Letterbox | The picture is letterboxed in the core, with black bars, as on a CRT. |
| Crop | The picture is cropped to fill a 4:3 screen, as on a CRT. |
- On a widescreen display, leave it on Auto. Letterbox and Crop make the picture 4:3, so a 16:9 TV shows Letterbox with bars on all four sides, and Crop with the sides cut off and bars left and right.
- Changing between Auto/Fit and Letterbox/Crop while a disc plays makes the display re-sync
once, like changing the
Aspect Ratiosetting. - The Aspect button still cycles
Aspect Ratioon Progressive; set Letterbox or Crop in the OSD. - With
Deinterlaceset to Bob or Blend, the deinterlaced picture is what gets letterboxed. - With an external scaler on the analog output (a RetroTINK, an OSSC), the scaler
decides the shape of what it outputs, because an analog signal carries no aspect
information. Under Auto or Fit the core sends the unmodified anamorphic picture; set the
scaler's own aspect to 16:9 for a widescreen picture.
Aspect Ratiodoesn't reach this path: it only affects the MiSTer's own HDMI output.
Widescreen disc menus¶
A 16:9 disc menu says which 4:3 treatment it allows, and the core follows it the way a set-top player connected to a 4:3 TV does:
- Most widescreen menus allow pan-and-scan only. They are drawn so that everything
that matters, including every button, sits inside the centre 4:3 of the picture. With
Analog Aspecton Letterbox or Auto, these menus are shown cropped to fill the screen instead of being shrunk between black bars. - Some menus allow letterbox only, usually because their buttons reach the edges of the
frame. With
Analog Aspecton Crop, these menus are shown letterboxed so no button is cut off. - Menus that allow both follow your setting, as do Fit and all movie playback. When you leave the menu, the picture goes back to your setting.
Menu highlights follow the cropped or letterboxed picture, so they stay on their buttons.
This happens wherever the correction is in effect: on the 15 kHz analog output (the
interlaced raster) under any setting, and on Progressive when Analog Aspect is Letterbox
or Crop. On Progressive under Auto or Fit, a widescreen menu is shown the same way as
before.
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, and the core fills the screen in fabric on the analog output — a 352→720 horizontal stretch for SIF, and the same horizontal fill for the other sub-720 widths. HDMI is unaffected and keeps the framework scaler's upscale.
Native 240p for VCDs and MPEG-1¶
SIF content is only 240 lines tall (288 on PAL), so on a normal interlaced raster it has to be stretched to twice its height — and that doubling is a plain line repeat, which makes the picture look blocky. The core avoids it: when you play SIF-height content with the 15 kHz analog raster running, it switches to a native 240p raster (288p on PAL) and sends the picture out at its own height, one line for one line.
That is the same double-strike 240p a games console puts out, so a CRT takes it happily, and it is a real improvement on both outputs at once — your TV gets a genuinely progressive picture instead of fake interlace, and over HDMI the framework scaler is handed the original frame to scale rather than an already-doubled one.
It happens on its own, with nothing to set. There is no OSD option, and a normal DVD is untouched — only content 288 lines or shorter takes the 240p raster.
Analog Aspect has no effect on VCD and MPEG-1 SIF content, on the 240p raster or on Progressive. It is 4:3, so there is nothing to letterbox or crop; the setting still applies to everything else.
What you may notice
Switching in and out of the mode is a brief interruption, like a chapter skip, because the raster itself changes. In practice a disc settles on one raster as it loads and stays there. The status line and the seek bar sit lower on the screen and look proportionally larger, because the picture is half as tall while the text stays the same size.
New in v0.6.0
Earlier versions line-doubled SIF content into 480i instead. If you are on v0.5.0 or older, that is what you have, and it is not a fault.
Analog CSync — if your set jitters or shows sawtooth edges¶
New in v0.5.0
This setting is not in v0.4.0 or earlier.
Debug page → Analog CSync → SMPTE (default) / 2H.
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.
Analog Dither — if dark scenes show bands¶
Main page → Analog Dither → Off (default) / On.
The DE10-Nano's standard analog I/O board has a 6-bit video DAC: it shows 64 levels per colour channel, where the decoded picture has 256. Bright, detailed scenes hide this. Smooth dark gradients do not: a night sky, a fade to black or a dim wall can break into visible bands on a CRT, each one four levels wide.
On adds a very fine ordered dither, a fixed pattern of tiny offsets, just before the
picture reaches the DAC. The television blurs it into the in-between levels the DAC cannot
output, so a gradient comes out smooth. The two fields of an interlaced picture get
opposite patterns. On a progressive picture the pattern flips every frame.
- Leave it
Offon a board with a full 8-bit (24-bit colour) analog DAC, such as a SuperStation. It has no bands to fix. - On a 31 kHz VGA monitor (
Video Output = Progressive) the pattern is one pixel fine and may be faintly visible up close. Turn it off if you prefer that. - It applies to RGB, component, S-video and composite alike. It never touches blanking, sync, the colour burst or the line-21 closed captions.
HDMI is completely unaffected by this setting. Like Analog CSync, it applies to the direct
analog path (vga_scaler=0). With vga_scaler=1 or direct video the setting does
nothing.
Known limitations¶
- 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.