From 4cc490199b6b69d1dfaa641c8a4158f443eac014 Mon Sep 17 00:00:00 2001 From: James Groom Date: Fri, 8 Sep 2023 07:57:46 +1000 Subject: [PATCH] Created WIP Manual: Loading roms (markdown) --- WIP-Manual:-Loading-roms.md | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 WIP-Manual:-Loading-roms.md diff --git a/WIP-Manual:-Loading-roms.md b/WIP-Manual:-Loading-roms.md new file mode 100644 index 0000000..c0743a0 --- /dev/null +++ b/WIP-Manual:-Loading-roms.md @@ -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. `.\.bin`. +- TODO others +- TODO MAME +- For `.xml`+`` '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` ⟩ `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` ⟩ `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`. \ No newline at end of file