Controls¶
Playback is driven from a gamepad, a USB keyboard, or a TV or set-top remote — all three work at once, and none of them needs setting up. The button numbers below are MiSTer's standard numbering — whatever you mapped B1 to in the MiSTer menu is what "B1" means here.
| Button | Action | Button | Action | |
|---|---|---|---|---|
| B1 | Pause — and Play, when stopped or on a still | B10 | Fast Fwd (hold to scrub) | |
| B2 | Prev Chapter | B11 | Rewind (hold to scrub) | |
| B3 | Next Chapter | B12 | Title menu | |
| B4 | Select | B13 | Return (go up) | |
| B5 | Menu | B14 | Stop | |
| B6 | Angle (cycle) | B15 | Aspect (cycle) | |
| B7 | Audio (show, then change) | B16 | Chapter Menu | |
| B8 | Subtitle (show, then change) | B17 | A-B Repeat | |
| B9 | Display (toggle status line) | B18 | Frame Step (pause, then step) | |
| B19 | Eject | |||
| B20 | Vol Up | |||
| B21 | Vol Down | |||
| D-pad | Menu navigation |
Every one of those actions also has a keyboard or remote key. A USB keyboard's number keys select menu buttons directly, which is often quicker than walking a menu with the D-pad.
Keyboard and TV remote¶
Nothing to configure — plug in a keyboard and these keys work. Anything that presents itself to MiSTer as a keyboard counts, which is how a remote drives the player too.
| Key | Action | Key | Action | |
|---|---|---|---|---|
| ↑ ↓ ← → | Menu navigation | Tab / F | Fast Fwd (10 s per press) | |
| Enter | Select | Backspace / R | Rewind (10 s per press) | |
| Space | Pause / Play | Esc / B | Return (go up) | |
| Page Up / P | Prev Chapter | Q | Stop | |
| Page Down / N | Next Chapter | Z | Aspect (cycle) | |
| M / X / F1 | Menu | F5 | Chapter Menu | |
| T / F2 | Title menu | L | A-B Repeat | |
| A / F3 | Audio (show, then change) | . | Frame Step | |
| S / F4 | Subtitle (show, then change) | E | Eject | |
| G | Angle (cycle) | = / Num + | Vol Up | |
| D | Display (toggle status line) | - / Num - | Vol Down | |
| 0 – 9 | Select menu button by number |
Fast Fwd and Rewind work differently here
On a gamepad you hold them to scrub. On a keyboard or remote each press jumps 10
seconds, and presses add up the same way D-pad seek does — six quick
taps is one minute, and one seek happens when you stop. That is deliberate: a remote's
"hold" is really a rapid stream of taps, which a scrub would turn into dozens of
separate seeks. This works whether or not D-Pad Seek is switched on. Files with no seek
information — a bare .m2v — have no keyboard seek.
Using a remote¶
A remote's media keys — Play, Stop, Chapter, Subtitle, Audio, the number pad — work on this player without mapping anything, as long as the receiver shows up as a USB keyboard. That covers most of what people already own:
- a Flirc USB, which learns whatever remote you have and is the easiest thing to recommend;
- a 2.4 GHz RF media remote (the small "air mouse" style dongles);
- the receiver built into a console dock;
- any USB keyboard with media keys.
Nothing to install, nothing to configure. Plug it in and the keys in the table above work, plus the media keys in the table below.
Media Center (eHome) IR receivers are not supported out of the box
A Windows Media Center receiver — the eHome/mceusb family, which is most of the
dongles sold with an MCE remote — needs a kernel driver that MiSTer's Linux does not
include. Without it the receiver never appears as an input device at all, so nothing
the player does can reach it. This is a MiSTer Linux matter, not a limitation of this
core, and no update_all changes it today.
It is not impossible, just not out of the box: the driver source is in MiSTer's own
kernel tree, and its kernel accepts unsigned modules, so you can build rc-core,
ir-rc6-decoder, rc-rc6-mce and mceusb against your kernel's commit, insmod
them, and persist that in /media/fat/linux/user-startup.sh. Expect to redo it after
a kernel update. If you do, the mappings below work immediately — the two halves fit
together.
If you would rather not, a Flirc will learn the same handset and needs none of it.
This has been done and works: a Rosewill MCE dongle (147a:e03e, Formosa chipset)
built against MiSTer's own 5.15 kernel source enumerates as an rc-core receiver on
the RC-6 protocol, and every media key it sends is one this player already acts
on. The catch is the maintenance, not the difficulty: a MiSTer Linux update
wipes the modules (keep them on /media/fat and reload them from
linux/user-startup.sh), and a kernel update means rebuilding them, because a
module is tied to the exact kernel it was built for.
What the media keys do¶
| Remote key | Does |
|---|---|
| Play, Pause, Play/Pause | Pause and resume; on a still, continue |
| Stop | Stop (two-stage — see Stopping a disc) |
| Fast Fwd, Rewind | Seek ±10 s per press |
| Next, Previous | Chapter forward and back |
| Channel Up, Channel Down | Chapter forward and back while playing; page up/down in the MiSTer OSD |
| OK, Select | Select |
| Exit, Back | Return (up one menu level); cancels in the MiSTer OSD |
| DVD Menu | Disc menu |
| Title | Title menu |
| Guide, Contents | Chapter menu |
| Info, Display | Toggle the status line |
| Subtitle | Show the subtitle track; again to change it |
| Audio, Language | Show the audio track; again to change it |
| Angle, Live TV | Next camera angle |
| Zoom, Aspect | Cycle the aspect setting |
| Repeat, Recorded TV | A-B repeat |
| Slow, Pictures | Frame step |
| Eject | Eject |
| Number keys 0–9 | Pick a numbered disc-menu button |
| Start, Home, Menu | Opens the MiSTer OSD |
| Volume, Mute | MiSTer's own volume — handled before the core sees it |
Some of those pairings look odd until you notice what a Media Center handset actually has on it. There is no "Angle" or "A-B Repeat" button on one, but there are Live TV, Recorded TV, Guide and Pictures buttons, and none of them mean anything on a DVD player — so they carry the four player functions that have no natural remote key of their own. On a handset with teletext colour keys, blue = Menu, red = Title, green = Audio, yellow = Subtitle, matching the CEC convention below.
A console dock's remote usually sends only a handful of keys — on a SuperStation One SuperDock, the arrows plus OK (Enter), Exit (Esc), Cancel (X) and one function key — which is enough to walk a disc's menus and start a title. Cancel is mapped to Menu precisely because that remote's own Menu button belongs to the MiSTer OSD.
Needs MiSTer_DVDcss
The media-key mappings come from the custom Main. On stock Main a remote's media keys mostly do nothing at all: only the arrows, Enter and volume get through.
If a key does the wrong thing, or you want to use a spare button
Map it in MiSTer's Define buttons — anything you bind there wins over the table
above, including remote keys. That is the way to put a player action on a button the
table leaves alone: a Media Center handset has a pile of them (Record, Radio, Video,
Player, Mode, Presentation, Messenger, *, #, Print) that mean nothing on a DVD
player, and any of them can be bound to any button in the first table.
To switch the whole thing off, add this under [MiSTer] in MiSTer.ini:
1 (the default) applies the mappings on this core; 2 applies them on every core.
There is no menu option for it, because a setting that changes the core's menu would
also change the core's build.
Held keys do not repeat
Holding a remote key down does not auto-repeat — each press is one action. That is how MiSTer delivers keys to this class of core, and it is also why Fast Fwd and Rewind add up over taps rather than needing a hold.
Using your TV's remote over HDMI-CEC¶
A TV remote can drive the player over CEC instead, with no extra hardware — but whether CEC works at all depends on your board, so treat it as worth trying rather than as a supported path.
Enable it under [MiSTer] in MiSTer.ini:
Then map the colour keys to the disc's own menus: blue = Menu, red = Title, green = Audio, yellow = Subtitle.
Your remote's transport keys work as you would expect:
| Remote key | Does |
|---|---|
| Play / Pause | Pause and resume; on a still, continue |
| Stop | Stop (two-stage — see Stopping a disc) |
| Fast Fwd / Rewind | Seek ±10 s per press |
| Prev / Next | Chapter back and forward |
| Exit / Back | Return (up one menu level) |
| Eject | Eject |
| Info / Display | Toggle the status line |
| Contents / Title list | Chapter Menu |
| Volume, Mute | MiSTer's own volume — handled before the core sees it |
Needs MiSTer_DVDcss
Those transport mappings come from the custom Main. On stock Main a remote's Stop key does Return instead, and Eject / Info / Contents do nothing.
Menu / Home still belongs to the MiSTer OSD
The remote's Root Menu / Home key opens the MiSTer OSD and always will — that is how you get in and out of it. Use the blue colour key for the disc's menu.
If nothing happens, check the log before changing anything else
MiSTer throws its own log away by default. Add debug=2 under [MiSTer], reboot, and
read /tmp/debug.txt:
| What you see | What it means |
|---|---|
CEC: no clock detected then CEC: init failed. |
Your board's CEC hardware is not usable. Nothing in the ini changes this — see below. |
CEC: main register setup failed |
The HDMI transmitter could not be reached at all. |
CEC: no EDID and power-on disabled |
Set hdmi_cec_power_on=1. |
CEC: logical=… physical=1.0.0.0 |
CEC is working. If the remote still does nothing, the TV is not routing it — usually because MiSTer is not the selected input. |
no CEC: lines at all |
hdmi_cec=1 is not being read. It must be under [MiSTer], not below another core's section heading. |
To see whether the TV sends anything at all, press keys from the MiSTer main menu
rather than inside the player — button codes are only logged there, as
CEC button: 0x09, pressed=1.
no clock detected cannot be fixed in the ini
It means the HDMI transmitter's CEC engine never completed a transmission, which is a
wiring or clock-source question on the board itself. In particular hdmi_cec_clock=
does not help: that setting only chooses between clock rates after a successful
probe, so it cannot revive an engine that is not running. Set hdmi_cec=0 to skip the
probe and its startup delay, and use a USB infrared receiver instead — it gives you the
same remote control and does not involve the HDMI transmitter at all.
Turning CEC off again
hdmi_cec=0 disables the whole thing. To stop a TV remote controlling playback while
keeping CEC's power-on and standby handling, set hdmi_cec_input_mode=0 instead. There
is no setting for either in the player's own menu, because a CEC keypress arrives as an
ordinary keystroke — the core cannot tell it apart from a USB keyboard.
Things MiSTer keeps for itself¶
- F12 and a remote's Menu button open the MiSTer OSD, always. They can never be given a disc function.
- While the OSD is open, no key reaches the player.
- On a CEC remote, Menu / Exit is the MiSTer OSD button, not the disc menu. It is a proper toggle: pressing it again steps back a level and closes the OSD at the top, so it is how you get in and out. A remote's Stop key also closes the OSD from any level — note this is MiSTer's own handling of that key while the OSD is up, and is not the player's Stop button, which is what the same key does during playback. Which physical button sends which code is up to the TV, not MiSTer — most sets send Exit for Back/Return and Root Menu for Home/Menu while a source is selected, and some pass only a few keys through CEC at all.
- The support bundle chord is gamepad-only — it is handled outside the core, so the keyboard's Audio and Subtitle keys cannot trigger it.
Rebinding¶
Use MiSTer's own Define buttons, which maps any key onto any of the buttons in the first table. A key you map there takes over completely, so it replaces whatever the built-in list above gave it.
This works for remote keys too, including the media keys — so if you would rather have Record start A-B repeat, or put Chapter Menu on the Radio button, bind it there. Nothing needs editing on the SD card and nothing needs an SSH session.
Enter and Esc cannot be rebound
MiSTer reserves both as its own confirm and cancel keys and will not assign them to a button — pressing Enter during Define buttons ends the session rather than capturing it, which looks like it worked. That is exactly why the player reads them itself, and it is why a dock remote's OK and Exit buttons now work at all.
In a menu¶
The D-pad walks the buttons of whatever menu is on screen, following the link graph the disc's author defined — so it moves the way the disc intends, not in reading order. B4 (Select) activates the highlighted button. B13 (Return) goes up a level where the disc provides one.
B5 (Menu) and B12 (Title) are the two menu keys a set-top remote has. Menu goes to the disc's root menu; Title goes to the title menu. Many discs make them the same thing. Some discs have no title menu at all, and on those Title does nothing, as on a set-top player. Use Menu instead.
If no button is highlighted, Select does nothing, with one exception: on a still picture with nothing to select it moves the disc on. To get back to the film, press Menu — if you opened the menu with Menu in the first place, it takes you back to exactly where you left off.
Presses during a menu's own animations
Many discs animate between menu screens, and there is nothing to press while that is playing — the disc has taken its buttons away for the duration. Presses during those few seconds are ignored, the same as on a set-top player. Wait for the next screen to settle and the highlight to appear.
Menu during the disc's opening chain¶
Pressing Menu over a copyright or warning screen — before the disc has shown you any menu — goes straight to the disc's main menu.
This is a deliberate deviation from what the DVD specification says should happen. Some discs, DVD games especially, author their per-title Root "menu" as a dispatcher that routes based on where you pressed Menu from. Followed literally during the opening chain, that drops you into a random clip rather than a menu. Once you have been to a menu at least once, Menu behaves exactly as the disc specifies.
Still pictures¶
Discs often stop on a still picture and wait. Examples are a copyright or warning card, a studio logo, a title card, or a screen with a voice reading over it. Some of these move on by themselves after a set time, and some wait for ever.
If the picture has nothing on it to select, press B1 (Play/Pause) or B4 (Select) to move on. The disc continues exactly as it would have when the wait ran out: the next part plays, or the disc follows its own instructions for what comes next. This is the DVD standard's "still off", which every player has to offer.
If the picture has buttons, it is a menu: pick a button as usual. Play/Pause still pauses and Select still activates the highlighted button there. Right after a menu appears, its buttons can take a moment to show up. Until they do, the keys wait for them rather than skipping the menu.
An animated menu can end the same way. Many discs play the menu's animation once and then hold its last frame, with the buttons still live: that is how the disc is authored, and a set-top player does the same. The menu has not frozen; pick a button as usual.
When the keys do nothing on a still
- Disc Menus is Off. The core is then not running the disc's own instructions, so there is nothing to continue to.
- The disc has nowhere left to go. A screen that is the last thing a disc does, with no instructions after it, stays up. Press Menu or Title to leave it.
- The picture is still arriving. A press while the picture is still being drawn is not remembered. Press again once it is up.
During playback¶
B1 (Pause) freezes on the current frame and brings up the status line and progress bar. Audio stops cleanly and resumes in sync. Frame step also pauses, if you would rather stop on an exact frame — and it leaves the screen clear.
With Video Output = Interlaced, pausing on video-sourced material holds one field of the picture rather than alternating between its two, so the still does not flicker. See Pausing interlaced video.
B2 / B3 step chapters. B10 / B11 (Fast Fwd / Rewind) tapped step forward and back; held, they
scrub — a seek bar appears showing where you are and where you will land, and the seek
happens when you release. The time shown counts from the time on screen, and on a DVD the
seek goes to that exact time through the disc's own time map, so you land where it said. The
target accelerates the longer you hold, so a brief hold nudges
you along and a long one crosses the whole disc.
B9 (Display) toggles the status line — the elapsed/total time and chapter readout along the bottom. It also appears by itself for a couple of seconds whenever something changes. Pressing it again hides the line straight away.
On an audio CD or a .wav it shows or hides the status line together with the progress
bar, which start out shown because there is no picture behind them.
B7 / B8 work like a set-top player's Audio and Subtitle buttons. The first press only
shows the current track in a popup, with the language where the disc provides one —
AUDIO 2/4 FR, SUB 1/3 EN, SUB OFF — and changes nothing. Press the same button again
while that popup is on screen to move to the next track, and keep pressing to step on.
Once the popup has gone, the next press just shows the track again. Subtitles step
through each track the film actually has — up to all 32 a DVD allows — and then
SUB OFF.
SUB OFF works like a set-top player's subtitles-off: lines the disc marks as
forced still appear. A film uses these to translate the odd line of foreign-language
dialogue for viewers who have subtitles switched off.
The popup always names the track that is actually playing, including one picked from the disc's own language menu.
B6 cycles the camera angle on every press, showing ANGLE 2/3. Angle only does
anything on a multi-angle disc.
Some discs choose the angle for you
A few discs use the camera-angle mechanism to hold two versions of the same scene — most often a title card or end credits in two languages. Those discs set the angle themselves, usually from whatever you pick in their own audio or setup menu, and the core now follows that choice. Press Angle if you want the other version anyway.
On a disc of this kind the Angle button takes effect at the start of the next such scene rather than instantly, because the disc does not provide the information a player needs to switch mid-scene. A true multi-angle disc — a concert shot from several cameras, say — switches immediately as before.
Track numbers are the disc's, not a count
A disc's audio and subtitle tracks are numbered by the disc itself, and the numbering
is often sparse — a disc may have tracks 1, 3 and 8 with nothing between. The core
cycles through the ones that exist and shows the disc's own number, which is why you
may see AUDIO 3/2-looking combinations on unusual discs.
Audio and Subtitle inside a disc menu
While a disc menu is open, B7 and B8 do nothing. The popup is not shown there, and a button that cannot show you the setting will not change it. Use the disc's own language menu, or press the button again once playback starts.
Stopping a disc¶
B14 (Stop) works the way a set-top player's does, in two stages.
- Press once and playback halts, the bouncing logo comes up, and
STOPis shown. The picture is blanked, and any subtitle or disc menu highlight goes with it — only the logo andSTOPare left. Your place is remembered — Pause/Play picks up exactly where you left off. - Press again and the place is forgotten. The screen clears to just the logo, as if you had reset the core; the next Pause/Play starts the disc from the beginning.
The absence of the STOP message is how you tell the two apart: if it is on screen, a
resume is waiting for you.
The disc stays loaded either way. To unload it and return to the idle screen, use Reset on the OSD's main page.
Nothing is left standing still
A stopped or screensaving player deliberately shows nothing but the moving logo — no picture, no subtitle, no menu highlight. A still image left on a CRT burns in, which is what both features exist to prevent. Everything comes back the instant you press anything: nothing is torn down and nothing is reloaded, so a paused menu returns exactly as you left it.
An ordinary pause is different — it keeps the picture and its subtitle on screen. Only Stop and the screensaver blank anything.
Aspect¶
B15 (Aspect) cycles the aspect setting that applies to whatever you are watching on:
Analog Aspect when the analog/CRT raster is running, and Aspect Ratio otherwise. The
popup names which one moved — ASPECT 16:9, ANALOG LETTERBOX — so you can find it again
in the OSD. Changing the same setting in the OSD hands control back to the OSD. On
Progressive, where Analog Aspect acts only as Letterbox or Crop, the button stays on
Aspect Ratio; set Letterbox or Crop in the OSD.
Rapid presses settle before anything is applied, so holding down or mashing the button does not make the display re-sync over and over.
Stepping chapters¶
B2 / B3 (Prev / Next Chapter) move one chapter at a time. Press several times quickly and the presses add up: the player jumps straight to the chapter you counted to, without stopping at each one on the way, and the status line counts as you press. Prev restarts the current chapter if you are more than a few seconds into it. Press it again, or press it right at a chapter's start, to go back a chapter.
At the edges of a title, with Disc Menus on, the player does what the disc's author set up, as a set-top player does:
- Next on the last chapter leaves the title the way the disc does when the title ends by itself. That is usually back to the menu, and sometimes on to the next title, such as the next episode or trailer. On a title with only one chapter, such as a trailer or an extra, Next skips it, and Prev restarts it.
- Prev at the start of the first chapter goes wherever the disc points "back" to. On some discs that is the end of the previous part, and on some extras it is the menu. Most discs set nothing here, and Prev restarts the first chapter.
- If the disc defines nothing for that edge, the press does nothing and playback continues.
Pressing several times quickly never carries you past the edge. The presses stop at the last (or first) chapter, and only a press from there leaves the title.
With Disc Menus off, Next on the last chapter does nothing, and Prev on the first chapter restarts it.
Chapter menu¶
B16 (Chapter Menu) jumps straight to the disc's own scene-selection page, rather than stepping chapters one at a time with B2/B3. It needs Disc Menus switched on.
Roughly two discs in five author a chapter menu. On the rest the button falls back to the disc's main menu instead — the same place B5 (Menu) goes — so it always lands somewhere you can navigate out of.
A-B repeat¶
B17 (A-B Repeat) loops a section. Press once at the start to mark A, again at the
end to mark B, and playback loops between them. A third press turns it off. The popup
tracks the state — A-B A SET, A-B ON, A-B OFF — so a half-set loop is never a
mystery. Leaving the title or loading another disc clears it.
Eject¶
B19 (Eject) unloads whatever is in the drive or the slot and returns you to the idle screen. With a physical disc it also opens the tray. With a disc image it simply unmounts it.
Needs MiSTer_DVDcss
Eject and the volume buttons are serviced by the custom Main — the core cannot unmount a file or open a tray by itself. Without it, these three buttons do nothing.
Volume¶
B20 / B21 (Vol Up / Vol Down) change MiSTer's own volume, the same one the OSD's volume row sets. That is deliberate: it is a single control that covers HDMI, the analog output and S/PDIF together, and it is the only one that can affect a bitstream being passed through to a receiver. A press burst is applied in full, so tapping four times moves four steps.
On a keyboard these are = and -, or Num + and Num - on the keypad if you have one — either pair does the same thing, and no Shift is needed for =.
Your TV remote's own volume keys already work too, and always did — MiSTer handles those itself, before the core ever sees them.
The volume bar is MiSTer's own small popup. With the custom Main installed, it (and MiSTer's other small popups, such as the resolution notice) sits about 10 % in from the top-left corner, so a CRT's overscan does not clip it.
Frame step¶
B18 (Frame Step) is the pause-and-nudge button. Press it while a disc is playing and playback pauses; press it again and each press advances a single frame, staying paused. It steps the same way from a pause you started with B1, and while the disc is stopped.
The first press only pauses — it does not also advance — so the frame you stop on is the one that was on screen.
Nothing is drawn over the picture while you step. How a pause starts decides what you see, and B9 (Display) takes it from there:
| you paused with | on screen | then B9 |
|---|---|---|
| B1 (Pause) | status line and progress bar | hides them — press again to bring them back |
| B18 (Frame Step) | nothing, just the picture | shows them — press again to hide |
So you can step through a scene with a clean frame, or call the timecode up when you want it, in either kind of pause and as often as you like. Whatever you had the status line set to during playback is remembered and comes back when you resume.
You can step as far into the film as you like, and pressing Play afterwards picks up in sync however long you spent stepping. Audio is muted while you step, and the sound for the frames you stepped past is discarded.
It is forward-only: the decoder works in groups of frames, so there is no way to step backwards without re-decoding, which is a different feature.
Support bundle chord¶
Needs MiSTer_DVDcss
New in v0.4.0, and only with the custom Main installed.
Audio + Subtitle held together for two seconds writes a navigation support bundle for
the disc you are playing to /media/fat/DVD_reports/ — a small file that makes a menu or
navigation bug reproducible without the disc. See
Reporting a bug. The two presses normally just show the
audio or subtitle popup and change nothing. If the audio popup was already on screen when you
started, the audio track steps once, and you can step it back.
D-pad seek¶
During plain playback the D-pad does nothing unless you turn on D-Pad Seek, which puts VLC-style jumps on it:
| Direction | Jump |
|---|---|
| Left / Right | ∓10 seconds |
| Down / Up | ∓1 minute |
Taps add up, and each one restarts a short window. Three quick taps of Right is one
30-second skip rather than three separate seeks, and you can keep tapping to build a jump
of any length — tap Up twenty times for a 20-minute skip. The on-screen SEEK FWD 12:30
readout shows the running total as you tap, and the jump happens once you stop.
That coalescing is the whole design: one seek per gesture, however long. Seeking once per tap would mean a flush and re-lock per press, which is a regime that does not survive rapid input.
On a DVD the jump goes to an exact time, looked up in the disc's own time map, so it
lands where the on-screen time said it would. A few discs carry no time map (mostly games
and some anime); on those the player uses the disc's per-segment seek tables instead, as
earlier versions always did. On a VCD/SVCD, exact CD geometry is used instead. On a flat .mpg or .VOB there is neither, so the player measures how fast the
file is playing and jumps by that — accurate on a steady-bitrate file, and on a very
variable one a ten-second jump may land a second or two out. It needs about half a second
of playback to take that measurement, so a jump attempted the instant a file starts does
nothing; tap again.
Bare .m2v files are the exception: they carry no timing information at all, so neither
the D-pad nor Fast Fwd/Rewind can seek in them.
Why it is off by default
Some interactive and game DVDs play seekable video while expecting the D-pad as game input. Seeking would fight the disc. D-Pad Seek is also automatically suppressed while a disc menu is up, so turning it on never costs you menu navigation — but the default stays Off because a game disc's gameplay is not a menu.