> For the complete documentation index, see [llms.txt](https://dojo-project.gitbook.io/flycast-dojo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dojo-project.gitbook.io/flycast-dojo/features/training-mode.md).

# Training Mode

With the new Training Mode, you can enable game cheats while playing offline using RetroArch's `.cht` file format to adjust game parameters, quickly load states, save states, record, and play back user inputs for practice on any supported Dreamcast, NAOMI, or Atomiswave game. You can enter Training mode by selecting the **TRAIN** option in the drop-down menu on the top left of the Flycast main menu.

<figure><img src="https://github.com/blueminder/flycast-dojo/raw/master/training-menu.png" alt=""><figcaption></figcaption></figure>

To specify which player is being controlled and recorded, just press the **F7** key or press the **Menu** button (TAB by default) and click on "Watching Player". Player 1 corresponds with Port A, while Player 2 corresponds with Port B. To set playback loop settings, hit the **Menu** button and click on "Playback Loop Off" (or "On").

To record inputs, hit **F1**, and hit it again to stop recording. To play back the input, press **F4**. If the Playback Loop is enabled, the input will be repeated until the Play button is hit again. If it is disabled, playback will be invoked on demand. You also have two more slots to record on **F2** and **F3**, with playback on **F5**, and **F6**. To play a random input slot from the ones you have recorded, just hit the **F10** button.

To save your current game state, hit, **F8** and to quickly load it again, hit **F9**.

All of the Training Mode controls can be assigned to any keyboard key or gamepad input in the Controls settings.

Defaults:

* **F1-F3** Record Slots
* **F4-F6** Play Slots
* **F7** One-Button Player Change
* **F8** Quick Save
* **F9** Quick Load

<figure><img src="https://github.com/blueminder/flycast-dojo/raw/master/training-mode-map.png" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dojo-project.gitbook.io/flycast-dojo/features/training-mode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
