diff --git a/Docs/content/apireference/Callbacks.md b/Docs/content/apireference/Callbacks.md index 46aa079f..370b1327 100644 --- a/Docs/content/apireference/Callbacks.md +++ b/Docs/content/apireference/Callbacks.md @@ -42,13 +42,13 @@ Removes a previously registered callback function. **Syntax** - emu.addMemoryCallback(function, type, startAddress, endAddress) + emu.addMemoryCallback(function, type, startAddress [, endAddress]) **Parameters** function - A Lua function. type - *Enum* See [memCallbackType](/apireference/enums.html#memcallbacktype) startAddress - *Integer* Start of the CPU memory address range to register the callback on. -endAddress - *Integer* End of the CPU memory address range to register the callback on. +endAddress - (optional) *Integer* End of the CPU memory address range to register the callback on. **Return value** Returns an integer value that can be used to remove the callback by calling [removeMemoryCallback](#removememorycallback). @@ -75,13 +75,13 @@ emu.addMemoryCallback(writeCallback, emu.memCallbackType.ppuWrite, 0, 0x1FFF) **Syntax** - emu.removeMemoryCallback(reference, type, startAddress, endAddress) + emu.removeMemoryCallback(reference, type, startAddress [, endAddress]) **Parameters** reference - The value returned by the call to [addMemoryCallback](#addmemorycallback). type - *Enum* See [memCallbackType](/apireference/enums.html#memcallbacktype). startAddress - *Integer* Start of the CPU memory address range to unregister the callback from. -endAddress - *Integer* End of the CPU memory address range to unregister the callback from. +endAddress - (optional) *Integer* End of the CPU memory address range to unregister the callback from. **Return value** *None* diff --git a/Docs/content/apireference/Changelog.md b/Docs/content/apireference/Changelog.md index 95d982c2..df369c9e 100644 --- a/Docs/content/apireference/Changelog.md +++ b/Docs/content/apireference/Changelog.md @@ -5,6 +5,21 @@ pre: "" chapter: false --- +## Changes between 0.9.5 and 0.9.6 ## + +### New Features ### + +* New event callbacks: [**scriptEnded**](/apireference/enums.html#eventtype) + +### Changes ### + +* The end address parameter for [addMemoryCallback](/apireference/callbacks.html#addmemorycallback) and [removeMemoryCallback](/apireference/callbacks.html#removememorycallback) is now optional. + +### Bug Fixes ### + +* [addMemoryCallback](/apireference/callbacks.html#addmemorycallback) and [removeMemoryCallback](/apireference/callbacks.html#removememorycallback) no longer exclude the end address from the range. + + ## Changes between 0.9.4 and 0.9.5 ## ### New features ### diff --git a/Docs/content/configuration/Emulation.md b/Docs/content/configuration/Emulation.md index 16a50a1e..5bcf1355 100644 --- a/Docs/content/configuration/Emulation.md +++ b/Docs/content/configuration/Emulation.md @@ -52,6 +52,8 @@ Several options in this section should NOT be enabled to avoid issues in some ga **Allow invalid input**: On a NES controller, it is impossible to press both left and right or up and down at the same time on the controller's D-pad. Some games rely on this and pressing both buttons at once can cause glitches. When enabled, this option makes it possible to press opposite directional buttons at the same time. +**Randomize power-on state for mappers**: Cartridges often have a random state at power-on and need to be fully initialized before being used. This option causes Mesen to randomize the power-on state of the most common mappers. This is useful when developing homebrew software. + **Default power on state for RAM**: On a console, the RAM's state at power on is undetermined and relatively random. This option lets you select Mesen's behavior when initializing RAM - set all bits to 0, set all bits to 1, or randomize the value of each bit. diff --git a/Docs/content/configuration/Preferences.md b/Docs/content/configuration/Preferences.md index 466a067f..0006aa15 100644 --- a/Docs/content/configuration/Preferences.md +++ b/Docs/content/configuration/Preferences.md @@ -82,6 +82,7 @@ Available shortcuts: * **Run Single Frame**: Press to run a single frame and pause. * **Set Scale 1x to 6x**: Sets the scale to the matching value. * **Toggle Fullscreen Mode**: Enters/exits fullscreen mode. +* **Toggle Debug Information**: Turns on/off the debug screen overlay. * **Toggle FPS Counter**: Turns on/off the FPS counter. * **Toggle Game Timer**: Turns on/off the game timer. * **Toggle Frame Counter**: Turns on/off the frame counter. @@ -136,6 +137,8 @@ Available shortcuts: **Disable built-in game database**: Mesen contains a built-in database containing information on thousands of rom files -- it uses this database to use the most appropriate settings when loading a game (e.g `NTSC` vs `PAL`) and to fix incorrect file headers. *Disabling this option is not recommended.* +**Disable high resolution timer**: Mesen normally forces Windows' timer resolution down to 1 millisecond when a game is running. Keeping a low timer resolution helps keep the video and audio output as smooth as possible. Enabling this option disables Mesen's default behavior and keeps the timer interval to its regular value, which may slightly improve battery life on a laptop (which is the only reason why this option exists). *Disabling this option is not recommended.* + **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 ### diff --git a/Docs/content/configuration/Video.md b/Docs/content/configuration/Video.md index 9679888e..7da2cbca 100644 --- a/Docs/content/configuration/Video.md +++ b/Docs/content/configuration/Video.md @@ -29,8 +29,6 @@ chapter: false **Show FPS**: Displays an FPS counter on the screen. The first number is the number of frames emulated, the second number is the number of frames displayed on the screen. These values are usually identical, except when vertical sync is enabled. -**Overscan**: The overscan settings allow you to cut out pixels on any edge of the screen. On a CRT TV, a few pixels on each side of the screen was usually invisible to the player. Because of this, games often have glitches or incorrect palette colors on the edges of the screen -- this is normal and caused by the game itself. Setting a value of 8 or so on each side of the overscan configuration will usually hide most glitches. - ## Picture ##