Skip to content

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:

DVD_IR_REMAP=0

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:

hdmi_cec=1

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:

grep -i cec /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.

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 STOP is shown. The picture is blanked, and any subtitle or disc menu highlight goes with it — only the logo and STOP are 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.