Theron’s Quest — Keyboard and Mouse Controls

Theron’s Quest (PC Engine) has six movement-panel commands: turn left/right, move forward/backward and step left/right. Firestaff’s Theron route accepts both SDL scancodes and keycodes, so W/A/S/D also work on macOS layouts or input paths that do not populate scancodes.

Theron gameplay runs in Firestaff’s native C/SDL runtime. External emulators are research instruments only and do not run or replace the game in Firestaff.

PC Engine button mapping

Theron action Keyboard (primary) Keyboard (alt)
D-pad Up Up Arrow W
D-pad Down Down Arrow S
D-pad Left Q Home, keypad 4
D-pad Right E End, keypad 6
Button I Z Return, Space
Button II X Escape
Run Return  
Select —  

The original PC Engine release has no mouse interface. Firestaff adds desktop mouse controls as a host-side convenience. During startup, left-click selects and right-click goes back. During dungeon play, left-click activates one of the twelve visible control-panel actions. Holding right mouse while pressing a direction key applies the manual’s Button II simplified-movement modifier; a right click by itself does not advance a tick. Middle-click is inert. Moving the pointer highlights a panel control. Clicks outside the panel currently do not trigger a game action. Direct clicks in the dungeon view require a state-driven renderer and a Firestaff screen-to-world mapping; they are not original Theron hit regions. Short and long touch gestures send Button I and Button II, respectively.

Startup menu

These are Firestaff’s native-runtime bindings, not a PC Engine timing model. On 2026-10-24, separate SDL key-down events advanced authentic JP media from title through stage select and Soul Room into a loaded dungeon. A continuous 3–5 second hold has not been verified in Firestaff. The retail manual documents Button I as the menu selection control but gives no multi-second timing rule. See DMWeb and Greatstone references and the dated evidence in TODO-theron.md.

Action Keys
Advance from title Z, Return, Space
Navigate menu Up/Down Arrow, W/S
Select stage Z, Return, Space
Select/deselect hero Z, Return, Space
Enter forcefield Z, Return, Space
Go back X, Escape

In-dungeon

Turn input reports BLOCKED and leaves facing unchanged if the bounded source-actuator event queue cannot reserve the events required by the turn. The runtime receipt does not request a redraw in that case. This is a fail-closed queue-capacity guarantee, not evidence about the original game’s actuator timing or retail queue capacity; see the 2026-10-24 entry in DONE-theron.md.

Action Keys
Move forward Up Arrow, W, keypad 5/8
Move backward Down Arrow, S, keypad 2
Step left Left Arrow, A, keypad 1
Step right Right Arrow, D, keypad 3
Turn left Q, Home, keypad 4
Turn right E, End, keypad 6
Wait (tick) Z, Space, Return
Back/cancel X, Escape (ignored when no dungeon cancel surface is active)
Next champion Tab
Pick up facing item G
Select next source item I
Drop last picked source item P
Use facing object U

The native dungeon view also shows a twelve-button Firestaff mouse panel in its lower-right corner. Its first two rows provide TURN L, FORWARD, TURN R, STEP L, BACK, and STEP R. The remaining buttons are NEXT champion, PICKUP, select the next source-backed ITEM, DROP the selected source item, USE the object ahead, and WAIT one tick. These buttons send the same native Theron input tokens as the corresponding keyboard actions. Their captions use the active Theron translation catalog. The panel scales with the game’s presentation size. Japanese and Chinese captions use ASCII romanizations because the native small font does not contain CJK glyphs. Hovering a control highlights it. Pointer movement requests a redraw only when the highlighted control changes.

Notes

Historical external reference-capture notes

The following notes describe an external research setup only. It is not used to run Theron in Firestaff.

The recommended macOS profile assigns PCE Button I to Z and Button II to X. This avoids keyboard-layout-dependent punctuation. Comma and period are valid only when the active mednafen.cfg explicitly assigns their SDL scancodes to gamepad.i and gamepad.ii; they are not universal aliases. The Firestaff capture helper resolves the host key from that profile instead of assuming a character key.

Mednafen’s emulated keyboard input must also be grabbed before these keys can reach the PCE pad. Most Mac keyboards have no Menu key, so the Theron macOS profile binds command.toggle_grab to SDL scancode 10: press Ctrl+Shift+G once after the game window is focused. With grabbing enabled, comma is SDL scancode 54 and period is 55; they work as Button I/II only when the profile assigns those scancodes to the corresponding PCE buttons. If punctuation still does not arrive, use the layout-stable fallback: Z is Button I and X is Button II. The capture helper type-checks before posting Quartz events, so a broken helper cannot silently make either binding look unresponsive.

The PCE wire-state masks used by the replay helper follow Mednafen’s device vector order (I, II, SELECT, RUN, UP, RIGHT, DOWN, LEFT), not the numeric ConfigOrder values shown in Mednafen’s source.

Firestaff runtime panel

Theron’s Quest supports the shared F10 graphics and cheats panel during runtime. PRES, FILT and FX update the host presentation immediately. CH contains only the verified shared cheat switch and slower/normal/faster live scheduler. Navigate with arrows and Enter or mouse clicks; press Esc to close.