Skip to content

03 07 Config maps

evets17 edited this page Mar 14, 2026 · 3 revisions

03 07 Config maps

This page explains input mapping (input.maps) in Sprint Boost.

Why maps are useful

Input maps let you remap controls without changing the game ROM.

Common uses:

  • controller remaps for comfort
  • alternate control schemes per game
  • blocking specific inputs

Where maps can be used

Input mapping is relevant for:

  • boost_mode = "enhanced"

In current Sprint Boost behavior, mapping is part of the enhanced input path.

Basic mapping example

[input]
mapping = "default"

[input.maps.default]
C1_1 = "C2_1"
C1_2 = "C2_2"
C1_3 = "C2_3"
C0_RESET = false

Core map concepts

Active map selection

Set which map is active with:

[input]
mapping = "default"

Map entries

Map entries are key/value pairs under:

  • input.maps.<map_name>

Common value meanings:

  • string value: remap to another token
  • false: block/drop input forwarding
  • true: explicit passthrough/no remap

Common remap pattern

A shared map can be defined at folder level, then turned on by specific games.

Example idea:

  • folder-level defines run_and_gun map
  • game-level sets input.mapping = "run_and_gun"

This keeps map definitions reusable.

Override behavior

Mapping follows normal config precedence:

  • Folder-level map definitions can be shared
  • Game-level config can change active map or override entries

If the active map name does not exist, mapping behavior will not apply as intended.

Token conventions (keycode, joystick, aliases)

Maps support a few token styles:

  • Keycode tokens (example: K1073741914)
  • Joystick button tokens (example: J03)
  • Controller aliases (example: C1_5, C2_ENTER, C0_RESET)

For Sprint-focused config, aliases are usually easiest to read and maintain.

Directional input note (Sprint controller)

Sprint controllers physically send 8 directional inputs.

The emulator uses those inputs to produce Intellivision movement behavior, including full 16 direction diagonal combinations.

Practical mapping implication:

  • Sprint Boost mappings can only remap the directional inputs that are physically sent (the 8 directions).

Relationship to kbdhackfile

kbdhackfile via jzintv_flags is still a valid approach and can be used together with Sprint Boost maps.

Input flow guidance:

  • Sprint Boost mapping is applied before forwarding input events to the emulator.
  • Emulator-side keyboard hack behavior then applies within emulator processing.

So if both are configured, they may both affect final control behavior.

Blocking inputs intentionally

Setting a map entry to false is the standard way to stop that input from being forwarded to the game.

Example:

[input.maps.default]
C0_RESET = false

This is useful when you want Sprint Boost hotkeys/menu behavior to own that input instead of gameplay forwarding.

Practical tips

  • Keep map names simple (default, run_and_gun, alt_controls).
  • Change only the inputs you need.
  • Test one map change at a time.
  • Use game-level map activation for game-specific control styles.

Next step

Continue to:

Clone this wiki locally