Docs: Updated documentation for 0.9.6
@ -11,7 +11,7 @@ home = [ "HTML", "RSS", "JSON"]
|
||||
|
||||
[params]
|
||||
themeVariant = "green"
|
||||
mesenVersion = "0.9.5"
|
||||
mesenVersion = "0.9.6"
|
||||
|
||||
[[menu.shortcuts]]
|
||||
name = "<img style='vertical-align: middle' src='/images/favicon.png'/> <span style='display: inline;vertical-align: middle'>Website</span>"
|
||||
|
@ -17,12 +17,11 @@ chapter: false
|
||||
* The end address parameter for <kbd>[addMemoryCallback](/apireference/callbacks.html#addmemorycallback)</kbd> and <kbd>[removeMemoryCallback](/apireference/callbacks.html#removememorycallback)</kbd> is now optional.
|
||||
* The <kbd>[drawRectangle](/apireference/drawing.html#drawrectangle)</kbd> function now accepts negative height/width values.
|
||||
* Added a new *delay* parameter to <kbd>[drawRectangle](/apireference/drawing.html#drawrectangle)</kbd>, <kbd>[drawLine](/apireference/drawing.html#drawline)</kbd>, <kbd>[drawString](/apireference/drawing.html#drawstring)</kbd> and <kbd>[drawPixel](/apireference/drawing.html#drawpixel)</kbd>.
|
||||
* The <kbd>[endFrame](/apireference/enums.html#eventtype)</kbd> event now triggers on scanline 240 instead of scanline 241.
|
||||
|
||||
### Bug Fixes ###
|
||||
### Breaking Changes ###
|
||||
|
||||
* <kbd>[addMemoryCallback](/apireference/callbacks.html#addmemorycallback)</kbd> and <kbd>[removeMemoryCallback](/apireference/callbacks.html#removememorycallback)</kbd> no longer exclude the end address from the range.
|
||||
|
||||
* The <kbd>[endFrame](/apireference/enums.html#eventtype)</kbd> event now triggers on scanline 240 instead of scanline 241.
|
||||
|
||||
## Changes between 0.9.4 and 0.9.5 ##
|
||||
|
||||
|
@ -19,7 +19,7 @@ chapter: false
|
||||
|
||||
In addition, the **volume** and **panning** of each sound channel can be adjusted. For more control over the actual sound, the equalizer can be used to alter the relative strength of specific frequencies -- with work, this can be used to make the audio sound more like an actual NES would.
|
||||
|
||||
A number of audio effects are available in the `Effects` tab -- the Stereo Delay effect, in particular, produces a relatively nice fake stereo effect.
|
||||
A number of audio effects are available in the `Effects` tab, including a few different fake stereo effects.
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
@ -36,6 +36,8 @@ Unlike all the other options before it, the options in this section affect the w
|
||||
|
||||
* **Reduce popping sounds on the DMC channel**: Similar to the previous option, but for the DMC channel -- this option prevents games from changing the output of the DMC channel too abruptly, which often causes popping sounds.
|
||||
|
||||
* **Disable dynamic sample rate**: While a game is running, the video and audio typically slowly drift out of sync. Mesen will automatically make adjustments to the audio sample rate while the game is running to keep them in sync. Disabling this option will typically cause sound issues such as crackling.
|
||||
|
||||
* **Swap square channel duty cycles**: This option is to mimic some older NES clones that had incorrect sound output for both of the square channels. It greatly alters the sound in some games, and shouldn't be enabled unless you want this behavior.
|
||||
|
||||
* **Disable noise channel mode flag**: Very early Famicom models did not implement this feature, so this option is available to mimic early Famicom consoles. It changes the sound output of the noise channel in some games, and shouldn't be enabled unless you want this behavior.
|
||||
|
@ -68,12 +68,12 @@ Overclocking can cause issues in some games. The safest way to overclock is to i
|
||||
<span>Overclocking Options</span>
|
||||
</div></div>
|
||||
|
||||
**Clock Rate Multiplier**: Use this to overclock or underclock the CPU -- this has the same effect as physically changing the clock speed on an actual NES. Unless you enable the `Do not overclock APU` option below, the audio output will be affected by this. ***This is not the recommended way to overclock the CPU.***
|
||||
|
||||
**Additional scanlines before NMI**: Increases the number of scanlines in the PPU, *before* the NMI signal is triggered at the end of the visible frame. This effectively gives more time for games to perform calculations, which can reduce slowdowns in games. **This is the preferred option for overclocking.**
|
||||
|
||||
**Additional scanlines after NMI**: Increases the number of scanlines in the PPU, *after* the NMI signal is triggered at the end of the visible frame. This effectively gives more time for games to perform calculations, which can reduce slowdowns in games. **This option is less compatible and should only be used if the `before NMI` variation does not work as expected.**
|
||||
|
||||
**Clock Rate Multiplier**: Use this to overclock or underclock the CPU -- this has the same effect as physically changing the clock speed on an actual NES. Unless you enable the `Do not overclock APU` option below, the audio output will be affected by this. ***This is not the recommended way to overclock the CPU.***
|
||||
|
||||
**Do not overclock APU**: When the `Clock Rate Multiplier` is not set to 100, the audio will be affected. When this option is enabled, the audio processor is not overclocked, which allows normal sound to be played despite the CPU being overclocked.
|
||||
|
||||
**Show Lag Counter**: When enabled, the lag counter is displayed on the screen. The lag counter keeps track of frames where the game does not attempt to read the input ports -- this is usually an indication of the game running out of time to perform calculations, which usually causes slowdowns.
|
@ -75,7 +75,10 @@ Available shortcuts:
|
||||
* **FDS - Eject Disk**: Ejects the currently inserted disk
|
||||
* **VS - Insert Coin 1**: Inserts a coin in slot 1.
|
||||
* **VS - Insert Coin 2**: Inserts a coin in slot 2.
|
||||
* **VS - Service Button**: Press to go to the service menu (only in some VS games)
|
||||
* **VS - Insert Coin 3**: Inserts a coin in slot 1 of the second console (VS DualSystem only).
|
||||
* **VS - Insert Coin 4**: Inserts a coin in slot 2 of the second console (VS DualSystem only).
|
||||
* **VS - Service Button**: Press to activate the service button.
|
||||
* **VS - Service Button 2**: Press to activate the service button on the second console (VS DualSystem only).
|
||||
* **Input Barcode**: Inputs a barcode into the connected barcode reader device.
|
||||
* **Take Screenshot**: Takes a screenshot.
|
||||
* **Load Random Game**: Loads a random game from your game folder.
|
||||
@ -115,6 +118,41 @@ Available shortcuts:
|
||||
* **Load State from File**: Load the game's state from a user-specified file.
|
||||
* **Load Last Session**: Restores the game to the state it was the last time you stopped playing it.
|
||||
|
||||
## FDS / VS System / NSF settings ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
<img src="/images/Preferences_Nsf.png" />
|
||||
<span>FDS / VS / NSF settings</span>
|
||||
</div></div>
|
||||
|
||||
### FDS Settings ###
|
||||
|
||||
The FDS (Famicom Disk System) is a Famicom-specific add-on that allows games to be stored on special floppy disks. These options help simplify playing FDS games by allowing the emulation to fast-forward through load screens and automatically switch disk when needed.
|
||||
|
||||
**Automatically insert disk 1 side A when starting FDS games**: By default, the FDS boots with no disk inserted in the drive. This option makes it so the player does not need to manually insert disk 1, side A manually.
|
||||
|
||||
**Automatically fast forward FDS games when disk or BIOS is loading**: FDS games contain a large number of load screens due to their data being stored on floppy drives. Mesen needs to emulate this floppy drive's speed to ensure accurate emulation. This option makes it so Mesen runs the emulation as fast as it can when a game is loading data from the disk, which greatly reduces the time spent on loading screens.
|
||||
|
||||
**Automatically switch disks for FDS games**: FDS games are often split into multiple floppy disks, and each disk has 2 separate sides. Due to this, FDS games often ask the player to change disk, or flip to the other side. When this option is enabled, Mesen will attempt to detect when a game is asking for another disk and automatically insert it.
|
||||
|
||||
### VS DualSystem Settings ###
|
||||
|
||||
For VS DualSystem games, 2 separate consoles run at the same time, producing 2 different sets of audio and video. These options allow you to configure which audio/video streams you want to hear/see.
|
||||
|
||||
**Show video for [...]**: Selects whether both screens should be shown, or just one of them.
|
||||
|
||||
**Play audio for [...]**: Selects whether both audio streams should be played, or just one of them.
|
||||
|
||||
|
||||
### NSF Settings ###
|
||||
|
||||
**Move to the next track after [x] milliseconds of silence**: If the currently playing track outputs no audio for over X milliseconds, the player will automatically move to the next track. *Note: This only applies for `.nsf` files, not `.nsfe` files.*
|
||||
|
||||
**Limit track run time to [x] seconds**: Once the current track has been playing for over X seconds, the player will automatically move to the next track. *Note: This only applies for `.nsf` files, not `.nsfe` files.*
|
||||
|
||||
**Enable APU IRQs for NSF files**: When enabled, APU IRQs will be allowed when NSF files are playing. Some NSF files do not properly disable APU IRQs in their initialization code, which will cause them to break if this option is enabled. *This option should not be enabled unless absolutely necessary.*
|
||||
|
||||
|
||||
## Folders and File Associations ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
@ -141,20 +179,14 @@ Available shortcuts:
|
||||
|
||||
**Keep rewind data for the last [x] minutes**: The rewind feature in Mesen periodically takes save states and keeps them in memory to allow the emulator to rewind the game. These save states take a minimal amount of memory (roughly 1MB per minute). To limit the amount of memory that Mesen can use for rewind data, this configures the number of minutes that it is possible to rewind for.
|
||||
|
||||
### FDS Settings ###
|
||||
|
||||
The FDS (Famicom Disk System) is a Famicom-specific add-on that allows games to be stored on special floppy disks. These options help simplify playing FDS games by allowing the emulation to fast-forward through load screens and automatically switch disk when needed.
|
||||
|
||||
**Automatically insert disk 1 side A when starting FDS games**: By default, the FDS boots with no disk inserted in the drive. This option makes it so the player does not need to manually insert disk 1, side A manually.
|
||||
|
||||
**Automatically fast forward FDS games when disk or BIOS is loading**: FDS games contain a large number of load screens due to their data being stored on floppy drives. Mesen needs to emulate this floppy drive's speed to ensure accurate emulation. This option makes it so Mesen runs the emulation as fast as it can when a game is loading data from the disk, which greatly reduces the time spent on loading screens.
|
||||
|
||||
**Automatically switch disks for FDS games**: FDS games are often split into multiple floppy disks, and each disk has 2 separate sides. Due to this, FDS games often ask the player to change disk, or flip to the other side. When this option is enabled, Mesen will attempt to detect when a game is asking for another disk and automatically insert it.
|
||||
|
||||
### UI Settings ###
|
||||
### Window Settings ###
|
||||
|
||||
**Always display on top of other windows**: When enabled, Mesen's window will always be displayed above all other windows.
|
||||
|
||||
**Do not allow the main window to be resized using the mouse**: When enabled, the main window can only be resized by changing the video scaling option.
|
||||
|
||||
### UI Settings ###
|
||||
|
||||
**Disable on-screen display (OSD)**: When enabled, all on-screen messages are disabled.
|
||||
|
||||
**Display additional information in title bar**: When enabled, additional information is shown in the title bar (such as filter, scale, etc.), next to the game's name.
|
||||
|
@ -292,10 +292,13 @@ For example, a mapper with 2x 8 KB + 1x 16 KB PRG banking is emulated as 4x 8 KB
|
||||
The `Show...` submenu contains a number of options to show/hide various elements on the UI.
|
||||
Specifically, the toolbar, CPU/PPU memory mappings, function/label lists, watch list, breakpoint list and the call stack window.
|
||||
|
||||
Additionally, two special tooltip windows can be enabled here:
|
||||
### Tooltip Options ###
|
||||
|
||||
A number of tooltip-related options are available here:
|
||||
|
||||
* **Show Code Preview in Tooltips**: When enabled, label/address tooltips will now show a preview of the code at the target location.
|
||||
* **Show OP Code Info Tooltips**: When enabled, putting the mouse over an OP code will display a tooltip containing information about the OP code and which CPU flags are affected by it.
|
||||
* **Only show tooltips when Shift key is pressed**: When enabled, no tooltips will be shown unless the shift key is held down.
|
||||
|
||||
### Break Options ###
|
||||
|
||||
@ -305,6 +308,7 @@ The `Break Options` submenu contains a number of options to configure under whic
|
||||
* **Break on unofficial opcodes**: Break the emulation whenever an unofficial opcode is about to execute.
|
||||
* **Break on BRK**: Break the emulation whenever a BRK instruction is about to execute.
|
||||
* **Break on CPU crash**: Break the emulation whenever an instruction that will cause the CPU to freeze is about to execute.
|
||||
* **Break on decayed OAM read**: Break whenever the code a read is performed on decayed OAM memory. **Note**: *This option is only available when the `Enable OAM RAM decay` option is enabled in the `Emulation Settings`.*
|
||||
* **Break on uninitialized memory read**: Break whenever the code reads from a memory address containing an uninitialized value. **Note**: *This option only works if the debugger has been opened since the last reset or power cycle.*
|
||||
* **Break when debugger is opened**: The emulation will break when you first open the debugger.
|
||||
* **Break on debugger focus**: Whenever the debugger's window gains focus (e.g by clicking on it), the emulation will break.
|
||||
@ -316,12 +320,19 @@ Additionally, you can configure whether or not the debugger window gets focused
|
||||
|
||||
These options configure which portions of the code is copied into the clipboard when copying code from the code window.
|
||||
|
||||
### Layout Options ###
|
||||
|
||||
* **Split View**: Displays 2 separate code windows side-by-side.
|
||||
* **Vertical Layout**: Moves the location of the label and function lists to improve space utilization on larger screens.
|
||||
|
||||
### Misc. Options ###
|
||||
|
||||
* **Hide Pause Icon**: When enabled, the pause icon that is normally shown whenever execution is paused will be hidden.
|
||||
* **Draw Partial Frame**: When enabled, the emulator's main window will display the current partially-drawn frame instead of the last complete frame.
|
||||
* **Show previous frame behind current**: When enabled along with `Draw Partial Frame`, the previous frame's data will be shown behind the current frame.
|
||||
* **Refresh watch while running**: When enabled, the watch window will continuously refresh itself while the emulation is running (instead of only updating when the execution breaks)
|
||||
|
||||
* **Keep active statement in the center**: When enabled, the code window will always put the current statement in the center whenever it updates (causing it to scroll on every step). When disabled, the code window will only scroll the code when necessary.
|
||||
* **Refresh UI while running**: When enabled, the watch window and the CPU/PPU status will be updated continuously while the emulation is running (instead of only updating when the execution breaks)
|
||||
|
||||
## How To: Edit Code ##
|
||||
|
||||
|
@ -17,6 +17,13 @@ To import the .DBG file, use the **<kbd>File→Workspace→Import Labels</
|
||||
You can also enable the `Auto-load DBG/MLB files` to make Mesen load any .DBG file it finds next to the ROM whenever the debugger is opened or the power cycle button is used.
|
||||
**Note:** For this option to work, the ROM file must have the same name as the DBG file (e.g `MyRom.nes` and `MyRom.dbg`) and be inside the same folder.
|
||||
|
||||
### Source View ###
|
||||
|
||||
When a .DBG file is loaded, 2 additional options appear in the code window's right-click menu:
|
||||
|
||||
* **Switch to Source View**: This turns on `Source View` mode, which allows you to debug the game using the original code files, rather than the disassembly. This can be used for both assembly and C projects.
|
||||
* **Show source code as comments**: When enabled, the debugger will show the original source code to the right of the disassembly, as comments.
|
||||
|
||||
|
||||
## ASM6f ##
|
||||
|
||||
@ -27,3 +34,8 @@ This fork contains 2 additional command line options that are useful when using
|
||||
`-c` produces a .cdl (Code Data Logger) file which can be imported manually using the **<kbd>Tools→Code/Data Logger→Load CDL file</kbd>** command.
|
||||
|
||||
Additionally, you can use the `Auto-load DBG/MLB files` and `Auto-load CDL files` options in the **<kbd>File→Workspace</kbd>** menu to automatically load MLB and CDL files present in the same folder as the current ROM, with the same filename (e.g `MyRom.nes`, `MyRom.mlb`, `MyRom.cdl`).
|
||||
|
||||
|
||||
## NESASM ##
|
||||
|
||||
Mesen can also import the `.fns` symbol files that NESASM produces. However, due to limitations in the `.fns` format, these labels can only be reliably imported for games containing exactly 32kB of PRG ROM. If you are creating a larger game, CC65/CA65 offers the best integration features at the moment.
|
@ -15,6 +15,8 @@ The Event Viewer's PPU view allows you to visually check the timing at which var
|
||||
|
||||
The colors can be configured and it's also possible to define [breakpoints](/debugging/debugger.html#breakpoint-configuration) as marks to be shown on the Event Viewer. This is done by enabling a breakpoint's `Mark on Event Viewer` option. This allows the event viewer to be used to display virtually any special event that needs to be tracked.
|
||||
|
||||
When the `Show previous frame's events` option is enabled, all events for the last full frame (e.g the last 261 scanlines for NTSC) will be shown. Otherwise, only events that have occurred since the last pre-render scanline (scanline -1) will be shown.
|
||||
|
||||
## List View ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
|
@ -54,6 +54,7 @@ You can <kbd>**right-click**</kbd> on a tile to copy the tile's information (bas
|
||||
* **Highlight**: This option allows tiles to be highlighted/dimmed based on the CDL file's current data. This makes it possible to highlight/dim tiles that have never been drawn by the PPU, or vice versa. *This option is only available for CHR ROM games*.
|
||||
* **Display as 16x8 sprites**: When enabled, changes the display order of the tiles to make it easier to visualize 16x8 sprites.
|
||||
* **Display tiles using their last known palette**: When enabled, any tile that has appeared in nametable memory since the debugger was opened will be shown using their last known palette (this overrides the palette selection dropdown for those tiles)
|
||||
* **Show single color tiles using grayscale palette**: When enabled, any tile that contains a single color will be displayed using the grayscale palette instead (this overrides the palette selection dropdown for those tiles)
|
||||
|
||||
### Editing Tiles ###
|
||||
|
||||
|
29
Docs/content/debugging/TextHooker.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Text Hooker
|
||||
weight: 16
|
||||
chapter: false
|
||||
---
|
||||
|
||||
## Text Hooker ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
<img src="/images/TextHooker.png" />
|
||||
<span>Text Hooker</span>
|
||||
</div></div>
|
||||
|
||||
The text hooker's main window scans the current screen for recognized characters and outputs the equivalent text on the right.
|
||||
|
||||
For games that split the screen, you can use the `When emulation is running, show PPU data at scanline` option at the bottom to capture the portion of the screen that you need.
|
||||
|
||||
To configure character mappings, see the `Character Mappings` section below.
|
||||
|
||||
## Character Mappings ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
<img src="/images/TextHookerCharacterMappings.png" />
|
||||
<span>Text Hooker - Character Mappings</span>
|
||||
</div></div>
|
||||
|
||||
This tab allows you to configure the mappings between CHR tiles and text characters. These mappings are based on the shape of the tile and are shared between all games. A number of mappings are built into Mesen, so some characters may already be recognized automatically.
|
||||
|
||||
When you want to add new mappings, simply edit the textbox below the tile you want to configure.
|
@ -14,6 +14,7 @@ The debugging capabilities of Mesen are split across a number of different tools
|
||||
[Memory Tools](/debugging/memorytools.html): Contains a hex editor and performance profiler.
|
||||
[PPU Viewer](/debugging/ppuviewer.html): Displays information on the nametables, sprites, CHR banks and palette. Contains a CHR graphic editor and a palette editor.
|
||||
[Script Window](/debugging/scriptwindow.html): Allows the execution of Lua scripts, which can communicate with the emulation via an API.
|
||||
[Text Hooker](/debugging/texthooker.html): Converts text shown on the screen into a text string (useful when trying to translate games.)
|
||||
[Trace Logger](/debugging/tracelogger.html): View or log to a file the execution trace of the CPU and PPU.
|
||||
|
||||
Additionally, some other smaller features are available from the main debugger window. e.g:
|
||||
|
@ -8,6 +8,18 @@ HD Packs make it possible to replace a game's graphics and audio with high defin
|
||||
|
||||
## Using HD packs ##
|
||||
|
||||
### Installing HD Packs ###
|
||||
|
||||
To install an HD Pack:
|
||||
|
||||
* First, load the game for which you want to install the HD Pack.
|
||||
* Then, click on the **<kbd>Tools→Install HD Pack</kbd>** menu and select the `.zip` file that contains the HD Pack you want to install.
|
||||
* A message will be shown indicating whether the installation succeeded or failed.
|
||||
|
||||
### Manual installation ###
|
||||
|
||||
If the HD Pack installation tool fails to install the HD Pack, you can try to install it manually with these instructions:
|
||||
|
||||
To use HD packs, first make sure to turn on the [Enable HDNes HD Packs](/configuration/video.html#general-options) option.
|
||||
To install a HD Pack, you should extract it in a subfolder inside the `HdPacks` folder in Mesen's data folder. You can open this folder by clicking on the `Open Mesen Folder` button in the [Preferences](/configuration/preferences.html#general-options) window.
|
||||
The subfolder should have the same name as the rom file itself.
|
||||
|
@ -62,6 +62,20 @@ When you start recording, a configuration dialog is shown that allows you to sel
|
||||
|
||||
To play a movie file, select it via the **<kbd>Tools→Movies→Play</kbd>** command.
|
||||
|
||||
## History Viewer ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
<img src="/images/HistoryViewer.png" />
|
||||
<span>History Viewer</span>
|
||||
</div></div>
|
||||
|
||||
The history viewer allows you to replay (in a video player) any gameplay since the last time you power cycled or loaded a game.
|
||||
You can start playback at any point in time, and instantly seek to any point in time, too.
|
||||
|
||||
To resume gameplay from the history viewer's current position, select **<kbd>File→Resume Gameplay</kbd>**
|
||||
|
||||
To export a movie (`.mmo` file) of your gameplay, select **<kbd>File→Export Movie</kbd>**
|
||||
|
||||
## Cheats ##
|
||||
|
||||
<div class="imgBox"><div>
|
||||
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
BIN
Docs/static/images/HistoryViewer.png
Normal file
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 30 KiB |
BIN
Docs/static/images/TextHooker.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
Docs/static/images/TextHookerCharacterMappings.png
Normal file
After Width: | Height: | Size: 41 KiB |