<tr><td>S</td><td nowrap>Down, X Cursors</td></tr> <tr><td>A</td><td nowrap>Left, X Cursors</td></tr> <tr><td>D</td><td nowrap>Right, X Cursors</td></tr> <tr><td>UP</td><td nowrap>Up, Y Cursors</td></tr> <tr><td>DOWN</td><td nowrap>Down, Y Cursors</td></tr> <tr><td>LEFT</td><td nowrap>Left, Y Cursors</td></tr> <tr><td>RIGHT</td><td nowrap>Right, Y Cursors</td></tr> </table> <?php EndSection(); ?> <?php BeginSection("Game-specific Emulation Hacks"); ?> <table border width="100%"> <tr><th>Title:</th><th>Description:</th><th>Source code files affected:</th></tr> <tr><td>Detective Conan</td><td>Patch to work around lack of pipeline/prefetch emulation.</td><td>src/wswan/main.cpp</td></tr> </table> <?php EndSection(); ?> <?php PrintSettings(); ?> <?php
<?php require "docgen.inc"; ?> <?php BeginPage('vb', 'Virtual Boy'); ?> <?php BeginSection('Introduction'); ?> <p> Virtual Boy emulation in Mednafen is original code, except for an extremely modified(optimizations, bug fixes, and better all-around emulation) V810 emulator core taken from Reality Boy years ago for PC-FX emulation. </p> <p> Virtual Boy ROM images must each have an extension of ".vb" or ".vboy" to be recognized as such. Mednafen versions prior to 0.9.13 allowed ".bin" as well, but this conflicts with the Sega Megadrive emulation module. </p> <p> Due to how the left+right views are transformed into a single image, enabling most of the image filter effects(bilinear interpolation, OpenGL pixel shaders, special scalers, etc.) is not recommended. However, they will work properly with the "cscope" and "sidebyside" 3D modes, and may work tolerably with the "anaglyph" 3D mode. This limitation may be corrected in the future by refactoring the 3D mode mixing out to the driver side, post individual filtering for each left/right view; however, this would significantly negatively impact performance. </p> <p> To use the "hli" mode with a "Line Interlaced 3D" monitor, you'll want to set "vb.yscale(fs)" to 1, "vb.liprescale" appropriately, and "vb.xscale(fs)" to 2 multiplied by the value of "vb.liprescale". </p> <p>
Changing this setting to a value of <b>1</b> will eliminate 99% of your flickering and existence failure woes. Side effects may include the superpower of seeing submarines through water(as in the first boss scene of "Bloody Wolf"), along with seeing other hidden elements and graphical glitches("Ninja Ryukenden" has at least one broken cutscene with this setting enabled). </p> <table border> <tr><th colspan="2"><i>Bloody Wolf</i> (glitching example)</th><th colspan="2"><i>Ginga Fukei Densetsu Sapphire</i> (improvement example)</th></tr> <tr><td><img src="bwolf0.png"></td><td><img src="bwolf1.png"></td><td><img src="sapphire0.png"></td><td><img src="sapphire1.png"></td></tr> <tr><td>pce.nospritelimit 0</td><td>pce.nospritelimit 1</td><td>pce.nospritelimit 0</td><td>pce.nospritelimit 1</td></tr> </table> <?php EndSection(); ?> <?php BeginSection('Obnoxious Sound Effects in CD Games'); ?> <p> Many CD games have awesome music, but it is drowned out by excessively loud obnoxious sound effects. This can be partially remedied by altering the <a href="#pce.cdpsgvolume">pce.cdpsgvolume</a> and <a href="#pce.adpcmvolume">pce.adpcmvolume</a> settings, try say a value of <b>50</b>, but doing so may cause issues with cutscenes and PSG music-only sections. </p> <?php EndSection(); ?> <?php EndSection(); ?> <?php PrintSettings();
<tr><th>Key:</th><th nowrap>Action/Button:</th></tr> <tr><td>Keypad 2</td><td>A</td></tr> <tr><td>Keypad 3</td><td>B</td></tr> <tr><td>Enter/Return</td><td>Option</td></tr> <tr><td>W</td><td>Up</td></tr> <tr><td>S</td><td>Down</td></tr> <tr><td>A</td><td>Left</td></tr> <tr><td>D</td><td>Right</td></tr> </table> <?php EndSection(); ?> <?php BeginSection('Game-specific Emulation Hacks'); ?> <table border width="100%"> <tr><th>Title:</th><th>Description:</th><th>Source code files affected:</th></tr> <tr><td>Metal Slug - 2nd Mission</td><td>Patch to work around lack of one of the side effects of a real BIOS(to be fixed in a future version of Mednafen).</td><td>src/ngp/rom.cpp</td></tr> <tr><td>Puyo Pop</td><td></td><td>src/ngp/rom.cpp</td></tr> </table> <?php EndSection(); ?> <?php PrintSettings(); ?> <?php
BeginSection('Introduction'); ?> <p> Mednafen's Atari Lynx emulation is based off of <a href="http://homepage.ntlworld.com/dystopia/">Handy</a>. </p> <p> Atari Lynx emulation requires the 512-byte Lynx boot ROM image, named as "lynxboot.img", and placed in the Mednafen base directory. </p> <?php EndSection(); ?> <?php BeginSection('Default Key Assignments'); ?> <table border> <tr><th>Key(s):</th><th>Action:</th><th>Configuration String:</th></tr> <tr><td>ALT + SHIFT + 1</td><td>Activate in-game input configuration process for Lynx pad.</td><td>input_config1</td></tr> </table> <p> <table border> <tr><th>Key:</th><th nowrap>Action/Button:</th></tr> <tr><td>Keypad 2</td><td>B</td></tr> <tr><td>Keypad 3</td><td>A</td></tr> <tr><td>Keypad 4 & Enter/Return</td><td>Pause</td></tr> <tr><td>Keypad 7</td><td>Option 1</td></tr> <tr><td>Keypad 1</td><td>Option 2</td></tr> <tr><td>W</td><td>Up</td></tr> <tr><td>S</td><td>Down</td></tr>
physical range of motion for their analog sticks(e.g. XBox 360 type controllers) tend to be more tightly-calibrated in hardware, and thus their logical range of motion will be closer to circles than squares. This can cause problems with movement in some PS1 games(e.g. "Mega Man Legends 2") that care not for proper trigonometry, as they are expecting larger values at ordinal angles of the sticks than the aforementioned type of PC gamepad can provide due to its design. <p> An "axis_scale" setting(named like "<a href="#psx.input.port1.dualshock.axis_scale">psx.input.port1.dualshock.axis_scale</a>") is provided for each possible emulated DualShock and Dual Analog controller on each port. To work around this range issue with DualShock emulation, an "axis_scale" setting of "1.33" is recommended as a starting point. Smaller values(such as "1.20") may be sufficient and provide for more precise control, so try experimenting to find the ideal for your combination of gamepad and games. </p> <?php EndSection(); ?> <?php BeginSection("Multitap Usage", "", FALSE, FALSE, "Section_multitap"); ?> <p> By default, no multitap is enabled. Be aware that if you enable multitap on PSX port 1, game view mapping will be inconsistent between games that support multitap and those that do not. </p> <p> Enabling multitap on either PSX port <b>may</b> cause slight game slowdown. Some 1-and-2-player-only games half-support the multitap, but are apparently not coded with the multitap in mind, and <b>may</b> suffer from graphical glitches like screen tearing if multitap is enabled when running them. </p> <table border="1"> <tr><th colspan="4">(Virtual) Port Index to Game View Mappings for Multitap only on PSX Port 1</th></tr> <tr><th>Port Index:</th><th>Multitap-Compatible-Game:</th><th>Multitap-Incompatible-Game:</th><th>Physical Port Name:</th></tr>
<?php BeginSection('Setting up the Server'); ?> <p> Download the latest "Mednafen-Server" release from <a href="http://sourceforge.net/project/showfiles.php?group_id=150840">SourceForge</a>. Untarballize it, and read the included "README" files for further instructions and caveats. </p> <?php EndSection(); ?> <?php BeginSection('Using Mednafen\'s netplay console'); ?> <p> Pressing the 'T' key will bring up the network play console, or give it input focus if focus is lost. From this console, you may issue commands and chat. Input focus to the console will be lost whenever the Enter/Return key is pressed. The 'Escape' key(by default, shares assignment with the exit key) will exit the console entirely. Whenever text or important information is received, the console will appear, but without input focus. </p> <table cellspacing="4" border="1"> <tr><th>Command:</th><th>Description:</th><th>Relevant Settings:</th><th>Examples:</th></tr> <tr><td>/nick <i>nickname</i></td><td>Sets nickname.</td><td><a href="mednafen.html#netplay.nick">netplay.nick</a></td><td nowrap>/nick Deadly Pie<br />/nick 運命子猫</td></tr> <tr><td>/server <i>[hostname]</i> <i>[port]</i></td><td>Connects to specified netplay server.</td><td><a href="mednafen.html#netplay.host">netplay.host</a><br /><a href="mednafen.html#netplay.port">netplay.port</a></td><td nowrap>/server<br />/server netplay.fobby.net<br />/server helheim.net 4046<br />/server ::1</td></tr> <tr><td>/ping</td><td>Pings the server.</td><td>-</td><td>/ping</td></tr> <tr><td>/swap <i>A</i> <i>B</i></td><td>Swap/Exchange all instances of controllers A and B(numbered from 1).</td><td>-</td><td>/swap 1 2</td></tr> <tr><td>/dupe <i>[A]</i> <i>[...]</i></td><td>Duplicate and take instances of specified controller(s)(numbered from 1).<p>Note: Multiple clients controlling the same controller currently does not work correctly with emulated analog-type gamepads, emulated mice, emulated lightguns, and any other emulated controller type that contains "analog" axis or button data.</p></td><td>-</td><td>/dupe 1</td></tr> <tr><td>/drop <i>[A]</i> <i>[...]</i></td><td>Drop all instances of specified controller(s).</td><td>-</td><td>/drop 1 2</td></tr> <tr><td>/take <i>[A]</i> <i>[...]</i></td><td>Take all instances of specified controller(s).</td><td>-</td><td>/take 1</td></tr>
<p> A dual-core Phenom II or Athlon II at 3GHz or higher, or rough equivalent(in terms of single-core IPC), is recommended for running Mednafen's PlayStation 1 emulation on. For better performance, the binary should be compiled for a 64-bit target(for example, x86_64) rather than 32-bit, if available.<br> </p> <p> PSF1 playback is supported. </p> <?php EndSection(); ?> <?php BeginSection("Multitap Usage"); ?> <p> By default, no multitap is enabled. Be aware that if you enable multitap on PSX port 1, game view mapping will be inconsistent between games that support multitap and those that do not. </p> <table border="1"> <tr><th colspan="3">Port Index to Emulated Port Mappings</th></tr> <tr><th>Port Index:</th><th>Emulated PSX Port:</th><th>Emulated Multitap Port:</th></tr> <tr><td>1</td><td>1</td><td>1A</td></tr> <tr><td>2</td><td>2</td><td>2A</td></tr> <tr><td>3</td><td>-</td><td>1B</td></tr> <tr><td>4</td><td>-</td><td>1C</td></tr> <tr><td>5</td><td>-</td><td>1D</td></tr> <tr><td>6</td><td>-</td><td>2B</td></tr>
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ </pre> </blockquote> <?php EndSection(); ?> <?php BeginSection("SABR v3.0 Shader"); ?> <blockquote> <pre> SABR v3.0 Shader Joshua Street Portions of this algorithm were taken from Hyllian's 5xBR v3.7c shader. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful,
<td>This game probably has the same(or similar) problem on Mednafen as KickMaster. The hack is to clock the IRQ counter twice on the "dummy" scanline(scanline before the first visible scanline).</td><td>src/nes/boards/mmc3.c</td></tr> </table> <?php EndSection(); ?> <?php PrintSettings(); ?> <?php BeginSection("Credits"); ?> <p> (This section is woefully outdated, being mostly copied from FCE Ultra) <table border width="100%"> <tr><th>Name:</th><th>Contribution(s):</th></tr> <tr><td>\Firebug\</td><td>High-level mapper information.</td></tr> <tr><td>Bero</td><td>Original FCE source code.</td></tr> <tr><td>Brad Taylor</td><td>NES sound information.</td></tr> <tr><td>EFX</td><td>Testing.</td></tr> <tr><td>Fredrik Olson</td><td>NES four-player adapter information.</td></tr> <tr><td>goroh</td><td>Various documents.</td></tr> <tr><td>Jeremy Chadwick</td><td>General NES information.</td></tr> <tr><td>kevtris</td><td>Low-level NES information and sound information.</td></tr> <tr><td>Ki</td><td>Various technical information.</td></tr> <tr><td>Mark Knibbs</td><td>Various NES information.</td></tr>
* ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ </pre> </blockquote> <?php EndSection(); ?> <?php BeginSection("Speex Resampler", "", FALSE, "http://speex.org/"); ?> <blockquote> <pre> /* Copyright (C) 2007-2008 Jean-Marc Valin Copyright (C) 2008 Thorvald Natvig File: resample.c Arbitrary resampling code Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.