Created WIP Manual: Loading roms (markdown)

James Groom 2023-09-08 07:57:46 +10:00
parent 216a19545c
commit 4cc490199b
1 changed files with 52 additions and 0 deletions

@ -0,0 +1,52 @@
> **NOTE**: These wiki pages are a **draft of the end-user manual for EmuHawk**.
> The manual will not live here forever; once it's finished, each new release will include a copy in the download.
>
> The information on this page is accurate to **release 2.9.1** and will not reflect more recent changes.
> It also may not be accurate to older versions.
EmuHawk supports [many formats](#TODO) of cart and disc images ('roms').
For most of these, simply **dragging and dropping the file onto the main EmuHawk window will load it**.
Alternatively, you can launch a file picker with `File` `Open ROM...`:
![screencap with menu item highlighted](https://gitlab.com/TASVideos/BizHawk/uploads/d8ea751d1d01a619f4f374d61a548fc7/open_rom.png)
A few of the supported formats use multiple files.
- For `.bin`+`.cue`, load the `.cue`.
The `.bin` file must be in the location listed in the `.cue`, which is typically a relative path to a sibling file i.e. `.\<filename>.bin`.
- TODO others
- TODO MAME
- For `.xml`+`<any>` 'bundles' produced by the Multi-disk Bundler, load the `.xml`.
The bundled roms must be in the locations listed in the bundle (TODO are the paths typically relative?).
If a rom is currently loaded, it will be closed automatically upon trying to open another rom.
You'll need to [use the Multi-disk Bundler](#TODO) for linked consoles and multi-disc games.
## Customisation
When you load a rom, its ~~type and header~~ file extension (bug tracked as [#3435](https://github.com/TASEmulators/BizHawk/issues/3435)) is mapped to a system/console.
You can change these mappings with `Config`&nbsp;`File Extensions...`:
![screencap with menu item highlighted](https://gitlab.com/TASVideos/BizHawk/uploads/4c98a3633e6c1dcee16ab3a1c62587a8/file_assoc_config.png)
After the rom's system is determined, if there are multiple [cores](#TODO) which emulate it,
your preferred core for that system is tried first (other cores will be tried if it fails).
Set your core preferences under `Config`&nbsp;`Preferred Cores`:
![screencap with menu item highlighted](https://gitlab.com/TASVideos/BizHawk/uploads/b21e6281f4fd17d8f058bacc9c3d2dca/core_preference_neshawk.png)
> Note: Playing back movies temporarily overrides your core preference.
> [This guide on resyncing](#TODO) explains how to use a different core for a movie.
## Automation
On the command-line, if the last argument isn't part of a flag pair, it's interpreted as a rom filepath.
> Note: If on **Linux** and using the provided launch script, paths must be **relative to the install dir** or absolute.
> You can use `$PWD` or `$(pwd)` to get an absolute path for the current dir.
If single-instance mode is enabled, launching a new EmuHawk instance with a rom filepath specified will cause it to open in the existing instance.
Roms can be loaded via ApiHawk with the `IEmuClientApi.OpenRom` method.
It takes 1 argument: the filepath as a `string`.
It returns a `bool`, `false` iff all cores failed to load.
- This is exposed as the Lua function `client.openrom`.