From d537eaa0fd2f42f11d2551e57eec44cf039c969a Mon Sep 17 00:00:00 2001 From: Tim Allen Date: Sun, 13 May 2018 23:00:10 +1000 Subject: [PATCH] Start updating the docs for v107. --- docs/guides/import.md | 5 +- docs/index.md | 3 +- docs/install/general.md | 2 +- docs/install/windows.md | 22 ++++---- docs/interface/down.png | 1 + docs/interface/higan-settings.md | 89 +++++++++++++++++++++++++++++++- docs/interface/higan-tools.md | 17 ++++-- docs/interface/higan.md | 49 ++++++++++++------ docs/interface/icarus.md | 59 +++++++++++++++------ 9 files changed, 193 insertions(+), 54 deletions(-) create mode 120000 docs/interface/down.png diff --git a/docs/guides/import.md b/docs/guides/import.md index dad0b110..57cfeeed 100644 --- a/docs/guides/import.md +++ b/docs/guides/import.md @@ -28,10 +28,7 @@ and it will be imported into the library and start playing. **Note:** If you want to import many games, -run icarus directly, -or choose "Import ROM Files ..." -from the Library menu -(which just runs icarus anyway). +run icarus directly. See [the icarus documentation](../interface/icarus.md) for details. To play a game for a particular console from your library, diff --git a/docs/index.md b/docs/index.md index 0bd27ca9..2bef7adc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,7 +11,7 @@ see the [Quick Start](qs.md) section of the documentation. About higan ----------- -As of v104, +As of v107, higan has top-tier support for the following consoles: - Nintendo Super Famicom/Super Nintendo Entertainment System, @@ -33,6 +33,7 @@ It also includes some level of support for these consoles: - NEC SuperGrafx - Bandai WonderSwan - Bandai WonderSwan Color + - Pocket Challenge v2 **Note:** Some consoles were released under different names in different geographic regions. diff --git a/docs/install/general.md b/docs/install/general.md index 95660249..a6690077 100644 --- a/docs/install/general.md +++ b/docs/install/general.md @@ -23,7 +23,7 @@ If you have a real GBA and a flash-cart, the Internet contains many tools that will extract the BIOS image so it can be copied to your desktop computer. -The correct GBA BIOS file is exactly 16384 bytes long, +The correct GBA BIOS file is exactly 16,384 bytes long, and has the SHA256 hash `fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570`. diff --git a/docs/install/windows.md b/docs/install/windows.md index 783cbf63..66bd5f92 100644 --- a/docs/install/windows.md +++ b/docs/install/windows.md @@ -118,26 +118,22 @@ Installing a compiled build on Windows 2. Assuming you built higan in `C:\higan-src`, copy `C:\higan-src\icarus\out\icarus.exe` into the new folder - 3. Copy `C:\higan-src\icarus\Database` and its contents + 3. Copy `C:\higan-src\icarus\database` and its contents into the new folder - 4. Copy `C:\higan-src\higan\out\higan.exe` + 4. Copy `C:\higan-src\icarus\firmware` and its contents into the new folder - 5. Copy all the `*.sys` folders - in `C:\higan-src\higan\systems` + 5. Copy `C:\higan-src\higan\out\higan.exe` into the new folder - 6. If the higan source includes a `shaders` folder, - make another new folder named `Video Shaders` - inside the new folder, - and copy all the `*.shader` folders - from `C:\higan-src\shaders\` - into the `Video Shaders` folder. + 6. Copy `C:\higan-src\higan\systems` + into the new folder + 7. If the higan source includes a `shaders` folder, + copy it into the new folder too. The new folder should now contain `icarus.exe`, `higan.exe`, -a folder named `Database`, -and half a dozen folders named after the systems higan emulates -with `.sys` at the end. +and folders named `database`, `firmware`, `systems`, +and possibly `shaders`. This is what you would get by downloading an official build, as described under [Installing an official release on Windows][instwin] diff --git a/docs/interface/down.png b/docs/interface/down.png new file mode 120000 index 00000000..4213a70d --- /dev/null +++ b/docs/interface/down.png @@ -0,0 +1 @@ +../../hiro/resource/icon/go/down.png \ No newline at end of file diff --git a/docs/interface/higan-settings.md b/docs/interface/higan-settings.md index f31358e0..6f782237 100644 --- a/docs/interface/higan-settings.md +++ b/docs/interface/higan-settings.md @@ -8,6 +8,78 @@ or set once and never changed again. This window has a tab for each main category of options: +Systems +======= + +This tab configures the contents of +[the Systems menu](higan.md#the-systems-menu), +so you can make it easier to load the games you care about +and hide things that get in the way. + +Each item in the list represents +a single item in the Systems menu. +If the box at the left is ticked, +that item will be included in the menu, +otherwise it will be hidden—but higan will remember its configuration +in case you want to show it again. + +At the bottom left are +![up-arrow](up.png) and ![down-arrow](down.png) buttons. +These move the selected item +upward or downward in the list. + +The **Append** button in the lower right +adds a new item to the end of the list. +It opens the [System Properties](#system-properties) dialog, +so you can enter the details of the new item. +If you don't want the new item to be at the end, +you can use the up and down buttons +in the lower left +to move it to its intended location. + +The **Modify** button in the lower right +opens the [System Properties](#system-properties) dialog +for the selected item, +so you can make changes. + +The **Remove** button in the lower right +removes the selected item from the list entirely. +Unlike hiding the item, +this forgets whatever configuration the item had. + +System Properties +----------------- + +This dialog appears when clicking "Append" or "Modify" +in the [Systems](#systems) tab. +It allows you to configure a new ("Append") or existing ("Modify") entry +in the [Systems menu](higan.md#the-systems-menu). + + - **System** controls which console will be emulated + when this menu-item is chosen. + - **Load** controls what game will be loaded + into the emulated console + when this menu-item is chosen. + - If left blank, + higan will open [a filesystem browser](common.md#the-filesystem-browser) + allowing you to pick a previously-imported game from + the [game library](../concepts/game-library.md). + - If you choose a particular game, + higan will immediately load it + when the menu-item is chosen. + If the game requires additional data + (for example, the Super Game Boy requires a Game Boy cartridge) + higan will prompt for it. + - **Alias** controls the name of this item, + as displayed in the Systems menu. + - **Append** (present in "Append" mode) closes the dialog + and adds a new item with this configuration + to the list. + - **Modify** (present in "Modify" mode) closes the dialog + and updates the configuration of + the item being modified. + - **Cancel** closes the dialog without making any changes. + Video ===== @@ -308,7 +380,9 @@ instead of the emulated console. - **Increment Quick State** selects the next [Quick State][qstates] slot. The status bar will briefly display the new current slot number. - **Pause Emulation** pauses the emulated console - until the Pause Emulation hotkey is pressed a second time. + until the Pause Emulation hotkey is pressed a second time, + or "Pause Emulation" is chosen from + [the Tools menu](higan.md#the-tools-menu).. - **Fast Forward** disables audio and video synchronisation for as long as it's held down, so emulation proceeds as quickly as possible. @@ -378,3 +452,16 @@ with the [Game Library](../concepts/game-library.md). to guess a manifest on the fly. See [Ignoring manifests](../concepts/manifests.md#ignoring-manifests) for details. + +**Other** + + - **Auto-Save Memory Periodically** makes higan write + [in-game saves](../concepts/save-states.md#save-states-versus-in-game-saves) + to disk during gameplay, + instead of only when higan exits. + This may cause stuttering, + but means that you haven't lost everything + if higan crashes, + or your computer loses power. + - Note that this does not include + [game notes](higan-tools.md#game-notes) diff --git a/docs/interface/higan-tools.md b/docs/interface/higan-tools.md index bd933d4c..b05f04fd 100644 --- a/docs/interface/higan-tools.md +++ b/docs/interface/higan-tools.md @@ -6,7 +6,7 @@ one of the items at the bottom of The window has a tab for each tool: The Cheat Editor ----------------- +================ For some consoles, higan supports applying temporary changes to the code of a running game. @@ -90,7 +90,7 @@ you can lock the time to 999 with these codes: `7e0f31=09+7e0f32=09+7e0f33=09`. The State Manager ------------------ +================= The State Manager allows you to create, load, @@ -126,7 +126,7 @@ To clear all the slots at once, click "Reset" in the bottom-right corner. The Manifest Viewer -------------------- +=================== As described in [Game Manifests](../concepts/manifests.md), @@ -135,3 +135,14 @@ describe how the various parts of a game cartridge are wired up together. The Manifest Viewer lets you examine the configuration higan is using for the loaded game. + +Game Notes +========== + +The Game Notes tab +is a place where you can write whatever you want +about the running game. +This information is automatically stored inside +the [game folder](../concepts/game-folders.md) +and loaded back into this tab +every time the game is loaded. diff --git a/docs/interface/higan.md b/docs/interface/higan.md index 1a74b453..ef0465df 100644 --- a/docs/interface/higan.md +++ b/docs/interface/higan.md @@ -5,27 +5,31 @@ a status-bar across the bottom, and a large area in the middle that shows the running game's video output. -The Library menu +The Systems menu ---------------- -Manufacturer sub-menus -allow you to play -games you've already imported -into higan's -[game library](../concepts/game-library.md). +This menu lists the systems higan emulates, +Choosing any system allows you to play +games for that system that you've already imported +into higan's [game library](../concepts/game-library.md). See [Importing and playing games](../guides/import.md). + +You can customise this menu +in [higan's Systems settings](higan-settings.md#systems) +to hide systems you don't care about, +or add a specific cartridge for any supported system. +This makes it more convenient +to play games that involve mini-cartridges: +for example, you can +add the Sufami Turbo to the list +and load *SD Ultra Battle* +in two clicks instead of three. **Load ROM File ...** opens a [filesystem browser](common.md#the-filesystem-browser) allowing you to choose a single ROM file. It will be imported and immediately start playing. See [Importing and playing games](../guides/import.md). - -**Import ROM Files ...** -launches the icarus importing tool, -allowing you to bulk-import many ROM files at once. -See [the icarus documentation](icarus.md). - The console menu --------------- @@ -187,6 +191,9 @@ at the bottom of the window. This option has no effect in fullscreen mode. See [The status bar](#the-status-bar) for more information. +**Systems ...** +opens [higan's Systems settings](higan-settings.md#systems). + **Video ...** opens [higan's Video settings](higan-settings.md#video). @@ -220,18 +227,28 @@ restores the emulated console to a state previously saved to one of the quick state slots. See [Save States](../concepts/save-states.md) for more information. -**Cheat Editor** +**Pause Emulation** +pauses the emulated console +until this menu-item is selected again. +This can also be triggered by +the [pause hotkey](higan-settings.md#hotkeys). + +**Cheat Editor ...** opens [the Cheat Editor tab](higan-tools.md#the-cheat-editor) of the Tools window. -**State Manager** +**State Manager ...** opens [the State Manager tab](higan-tools.md#the-state-manager) of the Tools window. -**Manifest Viewer** +**Manifest Viewer ...** opens [the Manifest Viewer tab](higan-tools.md#the-manifest-viewer) of the Tools window. +**Game Notes ...** +opens [the Game Notes tab](higan-tools.md#game-notes) +of the Tools window. + The Help menu ------------- @@ -276,11 +293,13 @@ or you may have pressed the "turbo" [hotkey](higan-settings.md#hotkeys). The status bar displays "Paused" if you have pressed the "pause" [hotkey](higan-settings.md#hotkeys), +selected "Pause Emulation" from [the Tools menu](#the-tools-menu), or if "When focus is lost: Pause Emulation" is ticked in [higan's Input settings](higan-settings.md#input) and the main higan window is not the foreground window. To resume emulation, make sure the main higan window is in the foreground, +select "Pause Emulation" from the Tools menu again, and/or press the "pause" hotkey. The status bar briefly displays "Selected quick state slot X" diff --git a/docs/interface/icarus.md b/docs/interface/icarus.md index 5bd040ad..c6692e3a 100644 --- a/docs/interface/icarus.md +++ b/docs/interface/icarus.md @@ -1,10 +1,7 @@ -When launching icarus, -directly or by picking "Import ROM Files ..." -from higan's [Library menu](higan.md#the-library-menu), -the main icarus window appears. -This window allows you to bulk-import ROM files -into [higan's game library][gamelib], -and also to access icarus' settings. +icarus is a separate tool +bundled with higan +that allows you to bulk-import ROM files +into higan's [game library]. Bulk importing ROM files ------------------------ @@ -18,7 +15,7 @@ with customisations: consoles higan emulates, plus `.zip` files since ROM dumps are often compressed. - Each matching file has a check-box next to it. - - You can tick the check-box next to every file at once + - You can tick the check-box next to every listed file at once by pressing "Select All" in the bottom-left. - You can un-tick all the check-boxes by pressing "Unselect All" in the bottom-left. @@ -27,7 +24,7 @@ Pressing "Import ..." in the bottom-right will close the filesystem browser then try to import all the files whose check-boxes are ticked -into [the Game Library][gamelib]. +into the [game library]. icarus displays a progress dialog during the import process, and a result window if any errors occurred. @@ -47,12 +44,9 @@ The icarus Settings dialog contains the following settings: where icarus puts the games it imports. See [Moving the Game Library][movgamelib] for details. - - **Create Manifests** causes icarus - to include - [a manifest file](../concepts/manifests.md) - inside - [the game folder](../concepts/game-folders.md) - for each imported game. + - **Create Manifests** causes icarus to + include a [manifest] file + inside the [game folder] for each imported game. See [Ignoring manifests](../concepts/manifests.md#ignoring-manifests) for details. - **Use Database** causes icarus to use manifest information @@ -65,5 +59,38 @@ The icarus Settings dialog contains the following settings: higan uses icarus to generate a manifest when a game is loaded, not just at import-time. -[gamelib]: ../concepts/game-library.md +Command line +------------ + +icarus can be launched with any of the following command-line arguments: + +> icarus +> +> icarus \-\-import *FILE* +> +> icarus \-\-manifest *GAME* + +When run without arguments, +icarus runs interactively +as described under [Bulk importing ROM files](#bulk-importing-rom-files) above. + +When run with the `--import` flag, +`FILE` should be the path to a ROM file +for one of the consoles higan supports, +or a `.zip` file containing such a ROM file. +icarus will import it into the [game library] +just as it would if running interactively, +and the full path to the ressulting game folder +is printed to icarus' standard output. + +When run with the `--manifest` flag, +`GAME` should be the path to a [game folder], +such as a game previously imported into the [game library]. +icarus will examine the game, +come up with a [manifest] describing the game's memory layout, +and print it to standard output. + +[game library]: ../concepts/game-library.md [movgamelib]: ../concepts/game-library.md#moving-the-game-library +[game folder]: ../concepts/game-folders.md +[manifest]: ../concepts/manifests.md