Canonical: https://rom-weaver.com/docs/guided-runs

# Guided practice runs

A guided run is a card that walks one browser workflow step by step on homebrew practice files. No commercial game data is involved, and nothing is uploaded.

<!-- START doctoc -->
## Table of contents

- [Runs](<#runs>)
- [Where a run starts](<#where-a-run-starts>)
- [Ways files get into Apply](<#ways-files-get-into-apply>)
- [Practice files](<#practice-files>)

<!-- END doctoc -->

## Runs

| Run                                                                          | Steps | Files                                                            |
| ---------------------------------------------------------------------------- | ----- | ---------------------------------------------------------------- |
| [Apply](<https://rom-weaver.com/apply-rom-patches?guide=apply>)                    | 5     | Waits for you to add files; **Continue** loads `first-weave.zip` |
| [Apply cheats](<https://rom-weaver.com/apply-rom-patches?guide=apply-cheats>)      | 4     | Loads `hello-world.nes`                                          |
| [Weave](<https://rom-weaver.com/weave-rom-patches?guide=weave>)                    | 4     | Loads `first-weave.zip`                                          |
| [Create](<https://rom-weaver.com/create-rom-patch?guide=create>)               | 5     | Loads `hello-world.nes` and `modified-world.nes`                 |
| [Create cheats](<https://rom-weaver.com/create-rom-patch?guide=create-cheats>) | 4     | Loads `hello-world.nes`                                          |
| [Test](<https://rom-weaver.com/play-rom?guide=test>)                           | 2     | Loads `hello-world.nes`                                          |

Guided Apply's steps are add your files, or identify the original ROM by game name or checksum instead, then check your original ROM (with the Simple and Detailed views), patches and cheats, and apply. **Continue** on the first step moves to the Identify search under the empty drop zone; there, **Continue** with no files in loads `first-weave.zip`. Once a ROM is added or the patches supply the ROM checks, the page hides the search, and **Continue** and **Back** pass over it; with a ROM but no patch yet, **Continue** on the first step loads `first-weave.zip` instead. [Your first patch in the browser](<https://rom-weaver.com/docs/get-started.md>) follows it to a verified checksum.

Apply, Create, and Weave include a Simple/Detailed comparison. Its buttons change the live view without advancing the guide. Apply frames the Identify search before any files are added; the comparison names the Detailed view’s Identify drawer.

Guide cards fit their content without an internal scrollbar. The first step includes a click/drop demonstration; reduced-motion preferences disable its movement.

On screens 640 px wide or narrower, a step with a **Try it** line shows its title, **Try it**, and buttons. **More** shows the step's explanation, including the first step's demonstration and practice-file download, and stays open on later steps. The guide does not open a patch's menu for you on these screens.

A step that needs a control the page does not show, such as the **Simple/Detailed** switch, is left out. **✕** or Esc ends a run; files already added stay. The guide never opens drawers, including the optional download jobs. A patch menu opened by the guide closes again when it ends, including after its final action.

## Where a run starts

- A link with `?guide=`, as in the table above. It works even when the sample link is hidden.
- The sample link below an empty drop zone, named for its page: **Patch a practice ROM** offers Apply and Apply cheats, **Make a patch from practice ROMs** offers Create and Create cheats, and **Share practice patches as a weave** and **Play a practice ROM** offer their own run.

**Hide practice-run links** in that menu removes the sample link; the **Show practice-run links** [setting](<https://rom-weaver.com/docs/browser-settings.md>) brings it back.

## Ways files get into Apply

All of these feed **0x01 Inputs**, which puts each file on its card.

| Route                         | Accepts                                                                                                       |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------- |
| Drop files                    | ROMs, patches, archives, and weaves, several at once                                                          |
| Drop a folder                 | Every file inside, including subfolders; hidden files are skipped                                             |
| **Add files**                 | The file picker; touch screens show **Tap to choose files**                                                   |
| Archives                      | ZIP, 7z, RAR, tar, and nested archives; see [container formats](<https://rom-weaver.com/docs/supported-formats.md#container-and-compression-formats>) |
| **Continue** with no files in | Guided Apply only: on the Identify step, loads `first-weave.zip` onto the bench                               |
| **Download first-weave.zip**  | The guide card's first step: saves it to add by any route above                                               |

## Practice files

| File               | Contents                                                 | Sample link download                     |
| ------------------ | -------------------------------------------------------- | ---------------------------------------- |
| `first-weave.zip`  | `hello-world.nes`, two IPS patches, and a weave manifest | **Download a test weave** (Apply, Weave) |
| `first-create.zip` | `hello-world.nes` and `modified-world.nes`               | **Download samples** (Create)            |
| `hello-world.nes`  | Homebrew NES ROM that shows `HELLO WORLD`                | **Download the sample ROM** (Test)       |

The first step of every run offers its practice files as one download on the guide card: `first-weave.zip` for Apply and Weave, `first-create.zip` for Create, and `hello-world.nes` for Test and both cheat runs.

The practice cheat catalog unlocks only for `hello-world.nes`, matched by checksum.
