<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tutorials &#8211; Snes9x</title>
	<atom:link href="https://snes9x.net/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>https://snes9x.net</link>
	<description>Official Stable Builds &#38; 16-Bit Super Nintendo Emulator Portal</description>
	<lastBuildDate>Fri, 23 Oct 2026 03:43:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://snes9x.net/wp-content/uploads/2026/05/favicon-150x150.png</url>
	<title>Tutorials &#8211; Snes9x</title>
	<link>https://snes9x.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sync Your Snes9x Saves Between PC and Android</title>
		<link>https://snes9x.net/snes9x-cloud-save-sync/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:43:25 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-cloud-save-sync/</guid>

					<description><![CDATA[Your RPG progress should not be trapped on one machine. Because Snes9x keeps every kind of save in plain files in one folder, syncing them between a Windows PC and an Android phone is mostly a matter of copying the right files through a cloud folder you already use. This guide explains which files are...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Your RPG progress should not be trapped on one machine. Because Snes9x keeps every kind of save in plain files in one folder, syncing them between a Windows PC and an Android phone is mostly a matter of copying the right files through a cloud folder you already use. This guide explains which files are worth syncing, which are not, and how to set Snes9x up so the sync mostly happens by itself. It builds on the <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a> — read that first if <code>.srm</code> and <code>.000</code> files are new to you — plus the <a href="https://snes9x.net/setup/">setup hub</a> and <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">The golden rule: sync the .srm, treat states as local</h2>



<p class="wp-block-paragraph">Everything hinges on one fact from the Snes9x readme&#8217;s own compatibility notes: <strong><code>.srm</code> battery-save files are shared with all SNES emulators.</strong> A <code>.srm</code> is the game&#8217;s own cartridge save data in a standard form, so the same file works in desktop Snes9x, in the Android app covered below, and in other emulators besides — keep the filename matched to the ROM name and the game simply finds its saves. <strong>Save states (<code>.000</code>–<code>.099</code>) are the opposite</strong>: snapshots of one emulator&#8217;s internal state, in a format that has changed across Snes9x&#8217;s own history (the current snapshot format dates from 1.52 and is incompatible with 1.51&#8217;s), so a state written by one program or version may not load in another. Sync states between two installs of the *same* desktop Snes9x if you like — the files live in the same folder — but build your cross-device habit around the <code>.srm</code>, and make real in-game saves before switching devices. The <code>.rtc</code> clock file, where a game uses one, travels with the <code>.srm</code> the same way.</p>



<h2 class="wp-block-heading">Where the files live on PC</h2>



<p class="wp-block-paragraph">By default both save systems write to the <strong>Saves</strong> folder next to <code>snes9x.exe</code> (<code>.\Saves</code>) — battery saves and states alike, as the <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states guide</a> details. The location is <strong>changeable in Snes9x&#8217;s settings</strong>, and that setting is the whole trick: point Snes9x&#8217;s Saves folder at a directory inside your synced cloud folder, and every <code>.srm</code> update is uploaded when you quit and downloaded before your next session on the other machine. Any mainstream sync service works for this — Google Drive, OneDrive or <a href="https://snes9x.net/go/pcloud">pCloud</a> are all the same to Snes9x, because it just sees a folder. We make no speed or reliability claims for any of them; pick on your own preferences, and remember a synced folder is a copy mechanism, not a backup — keep an occasional separate copy of the Saves folder too, since a sync faithfully propagates deletions and corrupt files as happily as good ones.</p>



<h2 class="wp-block-heading">The Android side: Snes9x EX+</h2>



<p class="wp-block-paragraph">Mainline Snes9x has no Android build; the Android app is <strong>Snes9x EX+</strong> by Robert Broglia, a separate program covered on our <a href="https://snes9x.net/snes9x-for-android/">Snes9x for Android page</a>. EX+ uses the same <code>.srm</code> idea — battery saves as standard files the game reads and writes — so the practical workflow is: play on PC, save in-game, let the cloud folder sync, then on the phone make sure the synced <code>.srm</code> sits where EX+ looks for the game&#8217;s saves (with the same base filename as the ROM) and start the game — your in-game saves are simply there. Reverse the trip to bring progress home. Save states, per the golden rule, should not be part of the plan: use them freely on whichever device you are holding, but hop devices only at battery-save points. Before a long session on either side, a thirty-second habit saves real grief: confirm the last sync actually completed (the <code>.srm</code>&#8216;s timestamp is the tell) before overwriting anything.</p>



<h2 class="wp-block-heading">Filenames, and the two mistakes that break sync</h2>



<p class="wp-block-paragraph">The whole system stands on one humble detail: <strong>the <code>.srm</code> must carry the same base name as the ROM it belongs to.</strong> If the game file is renamed on one device — a &#8220;cleaned up&#8221; filename, a region tag added, a duplicate&#8217;s &#8220;(1)&#8221; suffix — the emulator on that device looks for a matching save file, does not find the synced one, and quietly starts a fresh <code>.srm</code> beside it. Your progress is not gone; it is in the other file, un-loaded. Keep ROM filenames identical on PC and phone and this entire class of problem disappears. The second mistake is treating sync as instantaneous: edit the save on the phone before the PC&#8217;s last upload finished, and the two files race. Save in-game, quit the emulator (the <code>.srm</code> is written on exit, as the <a href="https://snes9x.net/snes9x-hotkeys/">hotkeys reference</a> era of habits should remind you to do properly), watch the sync complete, then switch. If you are also setting up the desktop side from scratch, the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a> covers choosing a writable home for the emulator, which is what makes pointing its Saves folder at a synced directory painless.</p>



<h2 class="wp-block-heading">A workable routine</h2>



<ul class="wp-block-list"><li>Set the PC&#8217;s Saves folder (in Snes9x settings) to a folder inside your sync service</li><li>Play normally; always make an in-game (battery) save before switching devices</li><li>Let the sync finish, then place/confirm the same <code>.srm</code> beside the ROM on Android</li><li>Use save states for moment-to-moment convenience on one device only</li><li>Keep a periodic manual backup of the whole Saves folder outside the sync</li></ul>



<p class="wp-block-paragraph">Done well, this makes the PC and phone feel like one console with two screens. The rest of the series — settings, controllers, shaders, netplay — is in the <a href="https://snes9x.net/setup/">setup hub</a>, and if saves misbehave anywhere in the chain, <a href="https://snes9x.net/snes9x-saves-not-working/">Snes9x saves not working</a> is the troubleshooting companion.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Fullscreen and Display Settings Guide</title>
		<link>https://snes9x.net/snes9x-fullscreen-display-settings/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:43:08 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-fullscreen-display-settings/</guid>

					<description><![CDATA[The SNES was built for a 4:3 television; your monitor is not one. Snes9x&#8217;s display settings exist to bridge that gap — cleanly going fullscreen, keeping the picture&#8217;s proportions right, and choosing how the small original image is scaled up. This guide covers the fullscreen toggle, the output methods underneath the picture, and the aspect-ratio...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The SNES was built for a 4:3 television; your monitor is not one. Snes9x&#8217;s display settings exist to bridge that gap — cleanly going fullscreen, keeping the picture&#8217;s proportions right, and choosing how the small original image is scaled up. This guide covers the fullscreen toggle, the output methods underneath the picture, and the aspect-ratio and filtering choices you will find in the display settings, with honest notes on what each trade-off costs. For the wider picture see the <a href="https://snes9x.net/snes9x-best-settings/">best settings guide</a>, the <a href="https://snes9x.net/setup/">setup hub</a> and the <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">Going fullscreen: Alt+Enter</h2>



<p class="wp-block-paragraph">The fullscreen shortcut is <strong>Alt+Enter</strong>, which toggles between fullscreen and windowed mode — it is a fixed menu accelerator in the Windows build rather than part of the remappable hotkey table. Two companion keys matter in fullscreen: <strong>Esc</strong> shows or hides the menu bar (your way back to the menus without leaving fullscreen), and the standard gameplay hotkeys — save states on Shift+F1–F10, screenshots on F12, pause — keep working; the complete list is in the <a href="https://snes9x.net/snes9x-hotkeys/">hotkeys reference</a>. If you use a controller exclusively, map your workflow so state saves happen from the pad side via the <a href="https://snes9x.net/snes9x-controller-setup/">controller setup</a>, and keep Alt+Enter itself on the keyboard.</p>



<h2 class="wp-block-heading">The output method under the picture</h2>



<p class="wp-block-paragraph">Fullscreen behaviour sits on top of the chosen <strong>output method</strong> — DirectDraw, Direct3D, OpenGL or Vulkan, the four the Windows build registers. For fullscreen play on a current PC, OpenGL or Vulkan remain our recommendation: they are the modern paths, they scale the image with the current filtering and shader options, and they are where slang and GLSL shaders live (the <a href="https://snes9x.net/snes9x-shaders-filters-guide/">shaders and filters guide</a> maps which formats each driver takes). Direct3D is the fallback with Cg shader support; DirectDraw is legacy compatibility only. If a fullscreen image looks wrong in one driver — distorted, offset, or not filling as expected — switching output method is a legitimate first diagnostic before touching anything else.</p>



<h2 class="wp-block-heading">Aspect ratio: the setting that changes how games look</h2>



<p class="wp-block-paragraph">The SNES&#8217;s output was displayed on 4:3 CRTs, and games were drawn with that in mind. Snes9x&#8217;s display settings let you keep the correct aspect ratio — black bars at the sides on a widescreen monitor, picture proportions as designed — or <strong>stretch</strong> the image to fill your screen, which removes the bars at the cost of visibly wider sprites and circles that become ovals. Neither is a moral choice, but only one is the picture the artists drew; our strong default is to keep the correct ratio. Version 1.63 added an <strong>aspect-ratio hotkey</strong> to the program (one of that release&#8217;s genuine hotkey additions, alongside the cheat keys) — its current binding lives in <strong>Input → Customize Hotkeys</strong>, which is where to check or change it rather than trusting a printed combo. Whichever way you jump between ratios, do it mid-game with the hotkey once, see both on your own display, and then settle.</p>



<h2 class="wp-block-heading">Filtering and scaling choices</h2>



<p class="wp-block-paragraph">In the display settings you will also find the filtering options that decide how the low-resolution image is enlarged. Left unfiltered, SNES pixels scale into large, hard-edged blocks — exactly accurate to the source, and the look many players prefer. <strong>Bilinear-style filtering</strong> smooths those edges into a softer picture, which some players find easier on a big modern screen and others find blurry. There is no performance argument that matters here on any current machine; it is purely taste, it changes nothing about emulation accuracy or your saves, and it can be flipped freely — including per mood, since it touches no game data. Combined with a shader preset from the <a href="https://snes9x.net/snes9x-shaders-filters-guide/">shaders guide</a>, filtering is the second layer of the look; adjust one layer at a time.</p>



<h2 class="wp-block-heading">Windowed play is not a failure mode</h2>



<p class="wp-block-paragraph">Nothing in this guide should read as &#8220;fullscreen is the correct way to play&#8221;. A window has real advantages: it sits happily beside a guide or a chat window, it makes the Esc menu-bar toggle and the preview dialogs feel natural, and it is the better choice on an ultrawide or unusually tall monitor where a fullscreen image would leave most of the glass empty anyway. Snes9x makes the choice reversible with one keystroke, so the sensible workflow is to start windowed while you set up — mapping a controller, checking saves, picking a shader — and press Alt+Enter when you settle in to actually play. If you run more than one display, keep the emulator on the screen you intend before toggling fullscreen, and if the picture lands somewhere unexpected, Alt+Enter back to the window and move it rather than fighting the settings. The display dialog&#8217;s job is to make both modes look right, not to recruit you into one of them.</p>



<h2 class="wp-block-heading">A calm fullscreen checklist</h2>



<ul class="wp-block-list"><li>Output method on OpenGL or Vulkan before judging picture quality</li><li>Alt+Enter to toggle fullscreen; Esc reveals the menu bar inside it</li><li>Aspect ratio kept correct unless you deliberately prefer the stretch</li><li>Filtering set by taste (crisp vs. smoothed), changed one option at a time</li><li>If the image is wrong in one driver, try another output method before deeper fixes</li></ul>



<p class="wp-block-paragraph">One more combination worth knowing: fullscreen, correct aspect ratio and a CRT-style shader preset together reproduce something close to the original living-room picture, while fullscreen with the ratio stretched and no shader is the furthest point from it. Most players land somewhere between — ratio correct, filtering to taste, shader optional — and there is no prize for landing at either extreme. Choose the picture you enjoy looking at for a whole game, not the one that wins an argument.</p>



<p class="wp-block-paragraph">Display sorted, the remaining tutorials — settings, saves, cheats, netplay — are gathered in the <a href="https://snes9x.net/setup/">setup hub</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Shaders and Filters: Cg, GLSL and Slang Explained</title>
		<link>https://snes9x.net/snes9x-shaders-filters-guide/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:42:48 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-shaders-filters-guide/</guid>

					<description><![CDATA[Shaders are small graphics programs that process Snes9x&#8217;s output on its way to your screen — softening pixels, simulating a CRT&#8217;s scanlines and phosphor glow, sharpening, or deliberately leaving the raw image alone. Snes9x 1.63 on Windows supports three shader families, and the catch is that which family you can use depends on your output...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Shaders are small graphics programs that process Snes9x&#8217;s output on its way to your screen — softening pixels, simulating a CRT&#8217;s scanlines and phosphor glow, sharpening, or deliberately leaving the raw image alone. Snes9x 1.63 on Windows supports three shader families, and the catch is that <strong>which family you can use depends on your output method</strong>. This guide maps the combinations, explains the one extra install Cg requires, and retires a format you will still see in old tutorials. Set the groundwork first with the <a href="https://snes9x.net/snes9x-best-settings/">best settings guide</a>, the <a href="https://snes9x.net/setup/">setup hub</a> and a current build from the <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">The three formats, at a glance</h2>



<ul class="wp-block-list"><li><strong>Cg</strong> (<code>.cg</code>, <code>.cgp</code> presets) — works with both the <strong>Direct3D and OpenGL</strong> output methods. The oldest of the three ecosystems here, and the one with a prerequisite (below)</li><li><strong>GLSL</strong> (<code>.glsl</code>, <code>.glslp</code> presets) — <strong>OpenGL only</strong>, drawn from libretro&#8217;s glsl-shaders collection</li><li><strong>Slang</strong> (<code>.slang</code>, <code>.slangp</code> presets) — works with <strong>OpenGL</strong> (supported since version 1.59) and with <strong>Vulkan</strong> (since version 1.62, when the Vulkan output method itself was added), drawn from libretro&#8217;s slang-shaders collection</li></ul>



<p class="wp-block-paragraph">The file dialog tells the same story: the Direct3D shader picker accepts <code>*.shader; *.cg; *.cgp</code>, while the OpenGL and Vulkan pickers accept those plus the GLSL and slang extensions. If a shader file does not even appear in your picker, a format/output mismatch is the first thing to check — the shader is not broken, it is just not offered for that driver. Single shaders and multi-pass <strong>presets</strong> (the <code>p</code>-suffixed files bundle several passes and their settings) are both normal; most shared downloads are presets.</p>



<h2 class="wp-block-heading">Cg and the NVIDIA Cg Toolkit</h2>



<p class="wp-block-paragraph">Cg is the special case. In the readme&#8217;s own words: &#8220;If you want to use CG Shaders in Snes9x for windows you need to install the <strong>CG Toolkit</strong>&#8221; — NVIDIA&#8217;s Cg Toolkit must be installed on the system for Cg shaders to run, in either Direct3D or OpenGL mode. That requirement is historical baggage from Cg&#8217;s origins as NVIDIA&#8217;s shader language. Nothing similar applies to GLSL or slang: choose OpenGL or Vulkan output, point Snes9x at a shader or preset from the libretro collections, and no extra runtime is involved. Unless you have a specific Cg preset you love, new users should start with GLSL or slang and skip the Toolkit entirely.</p>



<h2 class="wp-block-heading">Which combination should you pick?</h2>



<p class="wp-block-paragraph">For a modern Windows PC, <strong>slang on OpenGL or Vulkan</strong> is the forward-looking choice: slang is the format libretro&#8217;s shader ecosystem actively develops, and Snes9x has supported it on OpenGL since 1.59 and on Vulkan since 1.62. <strong>GLSL on OpenGL</strong> is the equally comfortable alternative with a large existing preset library. <strong>Cg</strong> is a legacy-compatibility choice today — fully functional, but carrying the Toolkit prerequisite. DirectDraw, the fourth output method, is not part of this shader story at all; if shaders matter to you, you are on Direct3D, OpenGL or Vulkan. Output-method selection itself — the setting that gates all of this — is covered step by step in the <a href="https://snes9x.net/snes9x-best-settings/">best settings guide</a>, and full-screen presentation in the <a href="https://snes9x.net/snes9x-fullscreen-display-settings/">fullscreen and display settings guide</a>.</p>



<h2 class="wp-block-heading">What shaders can and cannot do</h2>



<p class="wp-block-paragraph">A shader changes only the <strong>picture</strong> — it cannot add detail the game never drew, fix a bad ROM, or improve emulation accuracy, and claims otherwise (any &#8220;upscaling to true HD&#8221; language) should be read as marketing for the preset, not a property of Snes9x. What the good presets genuinely offer: authentic CRT simulation (scanlines, aperture grille, curvature, glow), alternative pixel-art scaling looks, or colour adjustments. Tastes differ sharply per game and per display, which is why Snes9x makes presets easy to swap: try one for a full level, not a title screen, before judging, and keep a &#8220;no shader&#8221; baseline you can return to so comparisons stay honest.</p>



<h2 class="wp-block-heading">Trying presets without making a mess</h2>



<p class="wp-block-paragraph">Shader presets are small text files, so treat collecting them like collecting anything else from the internet: download from the libretro shader collections or other sources you trust, keep them in a folder you can find again, and add them a few at a time. When you test a preset, judge it in real gameplay at the size you actually play — a CRT simulation that looks superb paused on a title screen can smear badly in motion, and a smoothing preset can be lovely in a colourful platformer and wrong for a text-heavy RPG. Note that a preset&#8217;s look also depends on your output size and filtering choices, so compare candidates with everything else held constant. If a shader fails to load or produces a black screen, do not debug the preset file first: check the format against your output method with the table above, because nine times out of ten the preset is fine and the pairing is wrong.</p>



<h2 class="wp-block-heading">A format that is gone: HLSL</h2>



<p class="wp-block-paragraph">Older tutorials list an <strong>HLSL</strong> shader option for Snes9x. It was a real feature once, but the changelog records its removal in <strong>version 1.57</strong> (&#8220;Remove rarely-used HLSL shader option&#8221;), and it is not part of 1.63. If a guide&#8217;s shader advice depends on HLSL menu entries you cannot find, that is why — move to the Cg/GLSL/slang options above instead. ## Performance, briefly and honestly</p>



<p class="wp-block-paragraph">Players sometimes ask whether a heavy multi-pass preset will slow the game down. The honest answer is that it depends entirely on your graphics hardware and the preset, and Snes9x publishes no figures to quote — so test on your own machine: if a preset causes stutter that vanishes when it is removed, the preset was the cost, and choosing a lighter one (or none) is the whole fix. On any reasonably modern GPU the common presets are not a practical concern, but your machine, not a website&#8217;s promise, is the authority.</p>



<p class="wp-block-paragraph">Keep exploring via the <a href="https://snes9x.net/setup/">setup hub</a>, where the display and settings tutorials are collected together.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Netplay: How to Play SNES Online with Friends</title>
		<link>https://snes9x.net/snes9x-netplay-guide/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:42:30 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-netplay-guide/</guid>

					<description><![CDATA[Snes9x&#8217;s built-in netplay lets several people at different computers play the same SNES game together over a network, each with their own controller, as if sharing one console and a multitap. This guide explains how a session is set up, what the host needs to do, and — just as importantly — the honest limits...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Snes9x&#8217;s built-in netplay lets several people at different computers play the same SNES game together over a network, each with their own controller, as if sharing one console and a multitap. This guide explains how a session is set up, what the host needs to do, and — just as importantly — the honest limits of the feature in version 1.63, because the program&#8217;s own documentation flags them and any guide that skips them is selling you something. Start from a working single-player setup via the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a>, <a href="https://snes9x.net/setup/">setup hub</a> and <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">How a session works</h2>



<p class="wp-block-paragraph">One machine acts as the <strong>server</strong>. Its user is <strong>player 1 — the &#8220;master&#8221;</strong> — and chooses which game is played. Everyone else connects as a client and joins in order as players 2, 3, 4 and 5: <strong>netplay supports up to five players in total</strong>, mirroring the SNES Multitap. Clients connect through the Netplay menu&#8217;s &#8220;Connect to server…&#8221; option and enter the server&#8217;s <strong>IP address or host name</strong>. The bundled readme&#8217;s advice on choosing a host is simple: the server should be <strong>the fastest machine on the fastest connection</strong>, because everyone else&#8217;s experience is paced by it. All machines need TCP/IP connectivity between them, and for internet play the readme notes you need <strong>short ping times</strong> — SNES netplay of this design assumes a responsive link, not a high-bandwidth one. When a player joins late, the server brings them into sync by sending SRAM data plus a reset, or a freeze file.</p>



<p class="wp-block-paragraph">Before starting, get every player&#8217;s game ready: everyone needs the same game (the host picks it, and mismatched ROMs are a recipe for a session that falls apart), and each player needs their pad mapped — the <a href="https://snes9x.net/snes9x-controller-setup/">controller setup guide</a> covers that in five minutes. Agree your save approach too: battery saves get synced by the host&#8217;s flow, and the <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a> explains which files hold what.</p>



<h2 class="wp-block-heading">The port, and making the host reachable</h2>



<p class="wp-block-paragraph">Snes9x netplay listens on <strong>default TCP port 6096</strong>. On a home LAN that is usually all you need — clients point at the host&#8217;s local address and connect. For a friend connecting from the internet, the host must be <strong>reachable</strong>: in practice, on a typical home router that means <strong>forwarding TCP port 6096 to the host PC</strong> and giving the friend the host&#8217;s public IP address. (To be precise about sourcing: &#8220;port forwarding&#8221; is our practical how-to wording for this requirement — the readme itself documents the server model and port rather than using that phrase — and it is also how the Emulation Gametech Wiki summarises this netplay.) No account, service or VPN is involved or needed: it is a direct connection between the players&#8217; machines, and you should be suspicious of any guide that tries to sell you one for this.</p>



<h2 class="wp-block-heading">The honesty caveat — read this before planning a session</h2>



<p class="wp-block-paragraph">We will quote the bundled readme&#8217;s maintainer note in full, because it is the single most important fact about Snes9x netplay: <strong>&#8220;NOTE 2017 OV2: netplay has not been maintained and tested in a long time, so it might be broken.&#8221;</strong> That note still ships with version 1.63. Concretely, this means: some sessions will work fine, especially on a LAN or a low-latency internet link; others will fail to connect or will <strong>desync</strong> — the readme itself warns that client machines which cannot keep up desync the session, leaving players watching different games. Set expectations by game choice, too. Netplay of this design sends inputs between machines and expects every emulator to stay in lockstep, so it suits games where all players share one screen and one pace — racers, fighters, co-op platformers, puzzle battles. It is a poor fit for anything where a dropped connection strands hours of progress, which is another reason the checklist&#8217;s &#8220;agree what happens on a desync&#8221; step matters more for a long RPG session than for a best-of-five in a fighting game.</p>



<p class="wp-block-paragraph">If a session desyncs, the realistic fixes are unglamorous: fewer players, the strongest machine hosting, wired rather than wireless connections, and the lowest-latency link you have. There is no setting that guarantees success, and no honest guide can promise you one.</p>



<h2 class="wp-block-heading">A pre-session checklist</h2>



<p class="wp-block-paragraph">Most failed sessions are lost before the game starts, so run the boring checklist first. Everyone installs the same Snes9x version from the same source and loads the host&#8217;s chosen game once, alone, to confirm it runs. The host — the fastest machine on the fastest connection — starts the server and confirms the router forwards TCP port 6096 to that PC if anyone is joining from outside the LAN. Each player maps their controller locally, in their own copy, before connecting; netplay does not share or fix mappings. Join in order, so player numbers match what everyone expects, and agree in advance what happens on a desync: who re-hosts, and from which save. Five minutes of this is the difference between an evening of Mario Kart and an evening of router administration — and if the session still will not behave, that is the cue for the alternative below, not for buying anything.</p>



<h2 class="wp-block-heading">The maintained alternative: RetroArch netplay</h2>



<p class="wp-block-paragraph">If netplay is your main reason for playing rather than an occasional extra, the maintained path is <strong>RetroArch netplay with the Snes9x libretro core</strong> — the libretro documentation explicitly lists the core as &#8220;Recommended for netplay&#8221;, and RetroArch&#8217;s netplay is actively developed in a way the standalone feature, by its own author&#8217;s note, is not. You still get the Snes9x emulation core; only the surrounding program changes. Our <a href="https://snes9x.net/snes9x-retroarch-core/">Snes9x RetroArch core guide</a> explains how the core relates to the standalone program. Trying standalone netplay first costs nothing and keeps everything in the program covered by the <a href="https://snes9x.net/setup/">setup hub</a> — just go in with the expectations above and a fallback plan.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Use Cheat Codes in Snes9x (Game Genie, PAR &#038; .cht Files)</title>
		<link>https://snes9x.net/snes9x-cheat-codes-guide/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:42:11 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-cheat-codes-guide/</guid>

					<description><![CDATA[Snes9x 1.63 has full cheat support built in: a cheat editor for entering codes, a cheat search tool for finding your own, and automatic loading of saved codes every time you start a game. It accepts the two classic code systems — Game Genie and Pro Action Replay (PAR) — plus raw codes you type...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Snes9x 1.63 has full cheat support built in: a cheat editor for entering codes, a cheat search tool for finding your own, and automatic loading of saved codes every time you start a game. It accepts the two classic code systems — <strong>Game Genie</strong> and <strong>Pro Action Replay (PAR)</strong> — plus raw codes you type directly. This guide covers entering each kind, finding new codes with the built-in search, and how the <code>.cht</code> files it saves can be shared. You need Snes9x running a game first; the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a>, <a href="https://snes9x.net/setup/">setup hub</a> and <a href="https://snes9x.net/download/">download page</a> cover that side.</p>



<h2 class="wp-block-heading">Entering a code in the cheat editor</h2>



<p class="wp-block-paragraph">Load your game, then open the cheat editor with <strong>Alt+G</strong> (the full keyboard list is in the <a href="https://snes9x.net/snes9x-hotkeys/">hotkeys reference</a>). Add a new entry and type or paste the code. Snes9x understands three input styles:</p>



<ul class="wp-block-list"><li><strong>Game Genie codes</strong> — the letter-and-dash codes published for the original Galoob device; just enter them as printed</li><li><strong>Pro Action Replay codes</strong> — the hex codes from the PAR ecosystem, entered as published</li><li><strong>Raw codes</strong> — the standard raw format <code>xxxxxx=bb</code>, with an optional compare form <code>xxxxxx=cc?bb</code>; version 1.63 additionally accepts the <strong>Address:byte</strong> input form for the same thing</li></ul>



<p class="wp-block-paragraph">Give each code a description so future-you knows what it does — &#8220;infinite lives&#8221; ages better than &#8220;code 3&#8221;. Codes can be enabled and disabled from the editor, so you can keep a library per game and switch individual effects on only when wanted. A practical caution: leave codes off until you have a clean battery save of your progress, because a code that corrupts game state gets written into your <code>.srm</code> like any other save — the <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a> explains how those files work and why a pre-cheat backup is cheap insurance.</p>



<h2 class="wp-block-heading">How .cht files work</h2>



<p class="wp-block-paragraph">When you enter codes for a game, Snes9x saves them in a <strong><code>.cht</code> file</strong> for that game, and <strong>auto-loads the file whenever the same game is loaded again</strong> — enter a code once and it is simply there next session, in whatever enabled state you left it. The format is not Snes9x-proprietary: per the bundled readme, <strong><code>.cht</code> files are shared with higan and bsnes</strong>, so cheat collections you build in Snes9x can be carried to those emulators and vice versa. Keep that in mind when downloading code collections: a <code>.cht</code> offered &#8220;for bsnes&#8221; is very likely usable here too, subject to the same care about safe sources you would apply to any file.</p>



<h2 class="wp-block-heading">Finding your own codes with cheat search</h2>



<p class="wp-block-paragraph">For effects nobody has published a code for, Snes9x includes a <strong>built-in cheat search</strong> (finder). Open it with <strong>Alt+A</strong> and the workflow runs like this: the tool snapshots a value in the game&#8217;s memory — lives, health, ammunition, whatever is displayed as a number — then you play until the value changes and search again. Each pass narrows the candidate memory addresses until only the address(es) actually holding that value remain, and you can turn a surviving address into a raw code in the formats above. It rewards patience: the cleaner the value (a small counter that only changes one way), the faster the search converges. The Mac port gained its new cheat finder in 1.63; on Windows the search is a long-standing part of the program.</p>



<h2 class="wp-block-heading">Entering codes without the usual mistakes</h2>



<p class="wp-block-paragraph">Work through a new code methodically and it will either work or tell you why not. Enter it character for character as published — Game Genie codes include their dashes as printed, and raw codes are unforgiving of a transposed digit, because a wrong address is not an error message, it is a different location in memory that may do nothing or something strange. Enable just that one code, return to the game, and test the exact situation the code describes; a code for lives will not announce itself on a screen that never shows lives. If it works, write the description properly while you remember what it does. If it does nothing, the order of suspicion is: a typing error, the code being disabled, then a region mismatch between the code list and your ROM — the same game released in Japan, North America and Europe is three slightly different programs, and their code lists are not interchangeable. Only after those three should you suspect the code itself was published wrongly, which does happen on older lists.</p>



<h2 class="wp-block-heading">Cheat etiquette and troubleshooting</h2>



<ul class="wp-block-list"><li>A code that &#8220;does nothing&#8221; is most often disabled in the editor, entered with a typo, or published for a different regional version of the game — code lists are region-specific, because different releases put data at different addresses</li><li>Freeze-type effects depend on the emulator applying the code continuously; if an effect applies once and fades, check the entry is still enabled</li><li>Stacking many codes invites interactions — enable one at a time when diagnosing</li><li>Codes and netplay do not mix sensibly: everyone in a <a href="https://snes9x.net/snes9x-netplay-guide/">netplay session</a> must be running the same game state, and cheats break that assumption</li><li>Always keep an un-cheated <code>.srm</code> backup of a long-running game (RPGs especially) before experimenting</li></ul>



<h2 class="wp-block-heading">Keeping a library that stays useful</h2>



<p class="wp-block-paragraph">Because <code>.cht</code> files load automatically, your cheat library quietly becomes part of how the game boots — which is pleasant until a forgotten always-on code changes a game you wanted vanilla. Develop the habit of reviewing a game&#8217;s list in the editor whenever behaviour surprises you, and of disabling rather than deleting codes you have finished with: the entry costs nothing to keep, its description remembers what it did, and re-typing a long code from a website is nobody&#8217;s idea of fun. A tidy, described, mostly-disabled library is the end state you are aiming for.</p>



<p class="wp-block-paragraph">Cheats configured, the rest of the tuning story lives in the <a href="https://snes9x.net/setup/">setup hub</a> — display settings, controllers and saves included.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Save States and .srm Battery Saves Explained</title>
		<link>https://snes9x.net/snes9x-save-states-srm-guide/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:41:52 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-save-states-srm-guide/</guid>

					<description><![CDATA[Snes9x gives you two completely different saving systems, and confusing them is the source of most &#8220;I lost my progress&#8221; stories. Battery saves are the game&#8217;s own saving, stored in a .srm file. Save states are snapshots of the entire emulated machine that you create manually with a key press. This guide explains where both...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Snes9x gives you two completely different saving systems, and confusing them is the source of most &#8220;I lost my progress&#8221; stories. <strong>Battery saves</strong> are the game&#8217;s own saving, stored in a <code>.srm</code> file. <strong>Save states</strong> are snapshots of the entire emulated machine that you create manually with a key press. This guide explains where both live, how the slot and bank system works, and which files you should back up. It assumes Snes9x 1.63 from the <a href="https://snes9x.net/download/">download page</a>; first-time users should start with the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a> and the <a href="https://snes9x.net/setup/">setup hub</a>.</p>



<h2 class="wp-block-heading">One folder for everything: .\Saves</h2>



<p class="wp-block-paragraph">By default, both systems write to the same place: a folder called <strong>Saves</strong> in the same folder as <code>snes9x.exe</code> — in configuration terms, the save-state directory and the SRAM directory both default to <code>.\Saves</code>. That one detail explains the most common save problem: if you extract Snes9x somewhere Windows will not let it write — inside Program Files, for example — neither your battery saves nor your states can be written reliably. The location can be changed in the settings, and pointing it somewhere sensible is also the foundation of the sync workflow in our <a href="https://snes9x.net/snes9x-cloud-save-sync/">cloud save sync guide</a>. When saves go wrong entirely, see <a href="https://snes9x.net/snes9x-saves-not-working/">Snes9x saves not working</a>.</p>



<h2 class="wp-block-heading">Battery saves: the .srm file</h2>



<p class="wp-block-paragraph">When a game offers to save — at a save point, after a level, in a menu — it is writing to battery-backed RAM on the original cartridge. Snes9x stores that data in a <code>.srm</code> file named after the game. The file is written out when you unload the ROM or quit, and it is <strong>loaded automatically</strong> the next time you start the same game, so battery saving needs no hotkey and no menu: just save in-game and close the emulator properly. A related file, <code>.rtc</code>, appears for games with a real-time clock chip and serves the same house-keeping purpose for clock data.</p>



<h2 class="wp-block-heading">Save states: 10 slots × 10 banks = 100 states</h2>



<p class="wp-block-paragraph">A save state freezes everything — position, health, timers, randomness in flight — so you can return to the exact moment later. Press <strong>Shift+F1–F10</strong> to save and <strong>F1–F10</strong> to load (the full key list, including the preview dialogs on Shift+F11 and F11, is in the <a href="https://snes9x.net/snes9x-hotkeys/">hotkeys reference</a>). Those ten quick slots are only one <strong>bank</strong>: Snes9x provides <strong>10 banks of 10 slots, up to 100 states per game</strong>, a system added in version 1.61. On disk the states are files with a three-digit extension running from <strong>.000 to .099</strong>, numbered across all banks, saved alongside the <code>.srm</code> in the Saves folder. Older guides claiming &#8220;9 slots&#8221; are repeating the stale bundled readme text — the current program has ten slots per bank, and 1.63 specifically fixed the QuickSave 0–9 slot shortcuts.</p>



<h2 class="wp-block-heading">The .oops file: your unsaved-session insurance</h2>



<p class="wp-block-paragraph">There is one more file worth knowing about. If you play for a long time and quit <strong>without saving</strong>, Snes9x writes an auto-recovery freeze file with the extension <strong>.oops</strong> into the Saves folder. It is a safety net, not a saving strategy — treat it as a pleasant surprise when it rescues a session, and use real states and battery saves for anything you care about. If you do find yourself relying on it, that is a sign your Saves folder setup needs the attention described in the <a href="https://snes9x.net/snes9x-saves-not-working/">saves not working fixes</a>.</p>



<h2 class="wp-block-heading">What the files are, technically</h2>



<p class="wp-block-paragraph">The state (snapshot) format is documented by the project itself: files carry a <code>#!s9xsnp</code> signature and can be gzip-compressed. One consequence matters for archiving: the snapshot format in use since version 1.52 is <strong>incompatible with 1.51&#8217;s format</strong>, a reminder that states are snapshots of one emulator&#8217;s internal machinery rather than a universal save format. That is exactly why the portability story below differs between the two systems.</p>



<h2 class="wp-block-heading">Which saves travel between emulators</h2>



<p class="wp-block-paragraph">This is where the two systems part ways. Per the bundled readme&#8217;s compatibility notes, <strong><code>.srm</code> files are shared with all SNES emulators</strong> — battery saves are a standard cartridge-RAM dump, so you can move a <code>.srm</code> between Snes9x, other standalone emulators and the Snes9x libretro core and the game will pick up its saves (keep the filename matched to the ROM). <code>.rtc</code> files are likewise shared with bsnes. <strong>Save states are the opposite</strong>: tied to the emulator and its format version, so treat <code>.000</code>–<code>.099</code> files as Snes9x-specific and never as your only copy of long-term progress — the <code>.srm</code> is the durable record. Back up the whole Saves folder, keep battery saves for progress that must survive a machine change, and use states for moment-to-moment convenience.</p>



<h2 class="wp-block-heading">Which system should you trust, when?</h2>



<p class="wp-block-paragraph">Use each system for what it is. A battery save is the game&#8217;s own checkpoint: durable, portable between emulators, and written at moments the game designer chose — trust it with anything long-term, especially RPG progress measured in dozens of hours. A save state is a convenience with a shorter memory: perfect for a hard boss attempt, a branching choice, or stopping mid-dungeon, but tied to this emulator&#8217;s snapshot format and therefore the wrong place to keep your only copy of anything. The players who lose progress are almost never the ones missing a feature — they are the ones who played for weeks on states alone, or saved only in-game while their Saves folder could not be written. Ten seconds spent knowing which file holds your progress is the entire fix.</p>



<h2 class="wp-block-heading">Habits that prevent lost progress</h2>



<ul class="wp-block-list"><li>Keep Snes9x in a writable folder so <code>.\Saves</code> can actually be written</li><li>Save in-game (battery) at natural stopping points, not only with states</li><li>Quit the emulator normally so the <code>.srm</code> is written out on exit</li><li>Back up the Saves folder before moving machines or reinstalling</li><li>Rely on <code>.srm</code> files, not states, for progress you move between emulators</li></ul>



<p class="wp-block-paragraph">Everything else in this series — settings, controllers, cheats, sync — is collected in the <a href="https://snes9x.net/setup/">setup hub</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Hotkeys: The Complete Default Keyboard Reference</title>
		<link>https://snes9x.net/snes9x-hotkeys/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:41:33 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-hotkeys/</guid>

					<description><![CDATA[These are the default keyboard shortcuts for the Windows build of Snes9x 1.63, taken from the readme bundled with that release and the program&#8217;s own default key table. The word &#8220;default&#8221; matters: every hotkey in Snes9x can be remapped under Input → Customize Hotkeys, so if a key below does nothing on your install, someone...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">These are the <strong>default</strong> keyboard shortcuts for the Windows build of Snes9x 1.63, taken from the readme bundled with that release and the program&#8217;s own default key table. The word &#8220;default&#8221; matters: every hotkey in Snes9x can be remapped under <strong>Input → Customize Hotkeys</strong>, so if a key below does nothing on your install, someone (possibly past you) has changed it. For first-time installation see the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a>, the <a href="https://snes9x.net/setup/">setup hub</a> and the <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">Save and load state keys</h2>



<figure class="wp-block-table"><table><tbody><tr><th>Keys</th><th>Action</th></tr><tr><td>Shift+F1 to Shift+F10</td><td>Save a save state (freeze file) into slots 1–10 of the current bank</td></tr><tr><td>F1 to F10</td><td>Load the save state from slots 1–10 of the current bank</td></tr><tr><td>Shift+F11</td><td>Open the save-state dialog with preview</td></tr><tr><td>F11</td><td>Open the load-state dialog with preview</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Older documentation — including Snes9x&#8217;s own bundled readme text — describes only F1–F9, because it predates the tenth slot. The current program defines ten save keys and ten load keys, matching the storage model of 10 slots per bank across 10 banks, which is up to 100 states per game stored as files .000–.099. The <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a> explains banks, files and backups in full.</p>



<h2 class="wp-block-heading">Gameplay and system keys</h2>



<figure class="wp-block-table"><table><tbody><tr><th>Keys</th><th>Action</th></tr><tr><td>Tab (hold)</td><td>Turbo / fast-forward while held</td></tr><tr><td>Pause</td><td>Pause or unpause emulation</td></tr><tr><td>Backslash</td><td>Frame advance — step one frame while paused</td></tr><tr><td>F12</td><td>Take a screenshot</td></tr><tr><td>Alt+Enter</td><td>Toggle fullscreen / windowed mode</td></tr><tr><td>Esc</td><td>Show or hide the menu bar</td></tr><tr><td>R (hold)</td><td>Rewind — only if the rewind buffer is enabled (see below)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A note on Tab: it is a hold-to-speed-up key by default. The program also contains a separate fast-forward toggle action, which ships unassigned — if you prefer a latching turbo, bind it yourself in Customize Hotkeys. The Pause entry is the keyboard&#8217;s actual Pause/Break key; do not confuse it with the frame-advance backslash, which only has an effect while emulation is paused.</p>



<h2 class="wp-block-heading">Cheat keys</h2>



<figure class="wp-block-table"><table><tbody><tr><th>Keys</th><th>Action</th></tr><tr><td>Alt+G</td><td>Open the cheat editor</td></tr><tr><td>Alt+A</td><td>Open the cheat search (finder)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">These two were among the genuine hotkey additions in the 1.63 era — along with a new aspect-ratio hotkey, whose current binding you can check (and change) in Input → Customize Hotkeys rather than trusting any printed list, ours included, once you have remapped anything. The <a href="https://snes9x.net/snes9x-cheat-codes-guide/">cheat codes guide</a> covers what to do inside the editor and search once you have them open.</p>



<h2 class="wp-block-heading">The reset key — an honest answer</h2>



<p class="wp-block-paragraph">You will see &#8220;Ctrl+R&#8221; printed as Snes9x&#8217;s reset shortcut on many websites. <strong>It matches neither official source.</strong> The readme bundled with 1.63 says <strong>Ctrl+Shift+R</strong> resets the game; the 1.63 source code&#8217;s default key table says <strong>Ctrl+Alt+R</strong>. The two official sources disagree with each other, so the only fully honest advice is: try the readme&#8217;s Ctrl+Shift+R on a standard install, and whatever your install actually uses, you can see and change the binding in Input → Customize Hotkeys. We print it this way rather than inventing certainty the sources do not support.</p>



<h2 class="wp-block-heading">Rewind: R only works after you enable it</h2>



<p class="wp-block-paragraph">Rewind is a real Snes9x feature — it was added in version 1.54, and holding <strong>R</strong> rewinds gameplay while the key is down. But it is <strong>disabled out of the box</strong>: the rewind buffer size defaults to 0, and a zero buffer turns the feature off, so pressing R on a fresh install simply reports that rewinding is disabled. To use it, set a non-zero rewind buffer size in the emulation settings first. How much buffer you need depends on how far back you want to be able to scrub, so start with a modest value and raise it if your rewind runs out too quickly.</p>



<h2 class="wp-block-heading">Getting more from the defaults</h2>



<p class="wp-block-paragraph">Three habits make the default layout worth learning rather than immediately replacing. First, treat the preview dialogs (Shift+F11 and F11) as your state browser: the quick keys are faster, but the dialogs show you what is actually in a slot before you overwrite or load it, which prevents the classic accident of saving over your only good state. Second, combine pause with the frame-advance backslash when a jump or a menu timing is giving you trouble — stepping frame by frame turns guesswork into observation, and it costs nothing to try. Third, remember that Tab&#8217;s turbo is momentary by design: it is meant for skipping a cutscene or fast-walking a corridor, then letting go. If you find yourself holding it for whole games, that is what the unassigned toggle action in Customize Hotkeys is for. None of this changes any default — it is just the defaults used as their designers laid them out, quick keys for speed and dialogs for certainty.</p>



<h2 class="wp-block-heading">Remapping and restoring sanity</h2>



<h2 class="wp-block-heading">One reference, kept honest</h2>



<p class="wp-block-paragraph">A final word on why this page hedges where it hedges. Hotkey lists are the most-copied, least-checked content in emulation writing: one site&#8217;s stale table becomes ten sites&#8217; fact within a year, which is exactly how the incorrect &#8220;Ctrl+R&#8221; reset shortcut spread and how the old nine-slot story outlived the tenth slot. Everything above is stated as the 1.63 default, sourced from that release&#8217;s own readme and key table, with the one genuine disagreement between those sources shown rather than smoothed over. When in doubt, your install&#8217;s Customize Hotkeys dialog outranks every website — including this one, the moment you have remapped a single key.</p>



<p class="wp-block-paragraph">Open <strong>Input → Customize Hotkeys</strong> to change any binding: select an action, press the new key combination, and confirm. This is also the recovery tool when a printed reference (including a website&#8217;s) disagrees with your machine — the dialog shows your install&#8217;s truth. If you have remapped heavily and lost track, the dialog is still the place to audit action by action. Pair this reference with the <a href="https://snes9x.net/snes9x-controller-setup/">controller setup guide</a> for gamepad mapping, and browse everything else via the <a href="https://snes9x.net/setup/">setup hub</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Snes9x Controller Setup: Xbox, PlayStation, 8BitDo &#038; Bluetooth</title>
		<link>https://snes9x.net/snes9x-controller-setup/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:41:15 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-controller-setup/</guid>

					<description><![CDATA[Almost any modern gamepad works with Snes9x 1.63 on Windows: Xbox controllers, PlayStation controllers, 8BitDo retro pads and generic USB or Bluetooth gamepads are all handled through the same Input menu. There are no drivers to install for the emulator itself — if Windows can see the controller, Snes9x can map it. This guide covers...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Almost any modern gamepad works with Snes9x 1.63 on Windows: Xbox controllers, PlayStation controllers, 8BitDo retro pads and generic USB or Bluetooth gamepads are all handled through the same Input menu. There are no drivers to install for the emulator itself — if Windows can see the controller, Snes9x can map it. This guide covers the mapping process, the one Windows-specific quirk that catches everyone out, and how Bluetooth pads fit in. New to Snes9x entirely? The <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a> and <a href="https://snes9x.net/setup/">setup hub</a> get you running first, and the current build is on the <a href="https://snes9x.net/download/">download page</a>.</p>



<h2 class="wp-block-heading">Step 1 — Connect the controller before you start</h2>



<p class="wp-block-paragraph">Connect or pair your pad with Windows first, and confirm Windows itself recognises it (the USB cable is the simplest test — if a pad works wired, any remaining problem is pairing, not Snes9x). Then launch Snes9x. This ordering matters on Windows for a reason explained below: the Windows port does not hot-plug controllers the way some other platforms do, so a pad connected after the emulator is already running may simply not appear until you reconfigure it.</p>



<h2 class="wp-block-heading">Step 2 — Map the buttons in Input Configuration</h2>



<p class="wp-block-paragraph">Open <strong>Input → Input Configuration</strong>. You will see the SNES controller&#8217;s buttons listed as fields. Click a field — D-Pad directions, A, B, X, Y, L, R, Start and Select — then press the button or direction on your pad that you want to assign. Work down the list until every field is filled, then confirm. There is no single &#8220;correct&#8221; layout; the natural mapping is to match positions: the pad&#8217;s right-hand diamond to SNES A/B/X/Y, shoulders to L/R. Keyboard keys can be mixed into the same mapping, which is handy for player two. Repeat the process for each player port you intend to use, keeping in mind that netplay and multitap games can involve up to five players (see the <a href="https://snes9x.net/snes9x-netplay-guide/">netplay guide</a>).</p>



<h2 class="wp-block-heading">XInput, DirectInput and HID — what Snes9x sees</h2>



<p class="wp-block-paragraph">Windows pads speak one of a few dialects. <strong>XInput</strong> is the Xbox-style standard: current Xbox controllers use it, and Windows presents them consistently, so mapping is painless. <strong>DirectInput</strong> is the older standard used by many retro-style and generic pads; Snes9x accepts these too. Many multi-mode pads — 8BitDo models are the classic example — can start up in different modes and appear to Windows as different device types depending on the mode, so if your pad&#8217;s name or button numbering looks odd in the configuration dialog, switching its startup mode and remapping usually resolves it. Underneath, Bluetooth gamepads reach Windows as standard HID game controllers, which is why pairing happens in Windows Settings, not inside Snes9x: once paired and connected, the pad appears in Input Configuration like any other.</p>



<h2 class="wp-block-heading">The Windows hotplug truth</h2>



<p class="wp-block-paragraph">Here is the quirk, stated plainly because many guides get it wrong. <strong>The Windows version of Snes9x does not support hot-plugging controllers mid-session.</strong> Hotplugging was actually disabled on Windows back in version 1.56, in favour of a menu option to reconfigure joysticks; the hotplug support people sometimes cite belongs to the Linux (GTK) build, which gained it in 1.61. In practice this means: plug your controller in before launching Snes9x, and if you connect one later, use the Input menu to reconfigure joysticks so the emulator picks it up. It also means a pad that falls asleep or loses Bluetooth mid-game may need that same reconfigure step when it reconnects. Our <a href="https://snes9x.net/snes9x-controller-not-detected/">controller not detected fixes</a> go deeper if a pad never appears at all.</p>



<h2 class="wp-block-heading">Bluetooth specifics</h2>



<p class="wp-block-paragraph">Pair the controller in Windows Bluetooth settings with Snes9x closed, wait for Windows to report it as connected, then launch the emulator and map as above. If you share one pad between a PC and a phone or console, remember it can only hold one active connection — a pad that &#8220;won&#8217;t connect&#8221; to the PC is often still connected to the other device. For Android play, Snes9x EX+ (the separate app by Robert Broglia, covered on our <a href="https://snes9x.net/snes9x-for-android/">Snes9x for Android page</a>) supports standard HID gamepads as well, and the mapping idea is the same even though the app is a different program from Windows Snes9x.</p>



<h2 class="wp-block-heading">Quick checks when a pad misbehaves</h2>



<ul class="wp-block-list"><li>Pad connected in Windows before Snes9x launched? If not, reconfigure joysticks from the Input menu</li><li>Multi-mode pad in a different startup mode than you mapped? Remap after switching modes</li><li>Bluetooth pad asleep or paired to another device? Wake it, disconnect it elsewhere, re-pair</li><li>Player-two pad mapped to the wrong port? Check each player&#8217;s configuration separately</li></ul>



<h2 class="wp-block-heading">Two players, port order and spare pads</h2>



<p class="wp-block-paragraph">Player one and player two have separate configuration pages, and the port a pad is mapped to is the port it plays on — a second pad mapped over the first player&#8217;s fields will fight for the same character rather than joining as player two, which is the single most common two-player mistake. Map each pad on its own player&#8217;s page, then test in a game with a two-player mode before your guests arrive. If you keep a spare pad for a second player, leave it connected (or reconnect and reconfigure it from the Input menu before starting, per the hotplug behaviour described above) so Windows keeps a stable idea of which device is which. Players three to five only enter the picture with multitap games and netplay, where each participant&#8217;s mapping lives on their own machine entirely.</p>



<p class="wp-block-paragraph">Once your pad is mapped, learn the keyboard side too — the <a href="https://snes9x.net/snes9x-hotkeys/">hotkeys reference</a> covers save states, screenshots and the rewind key, and the <a href="https://snes9x.net/setup/">setup hub</a> links every companion guide.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Best Snes9x Settings for Picture Quality and Performance</title>
		<link>https://snes9x.net/snes9x-best-settings/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:40:49 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-best-settings/</guid>

					<description><![CDATA[Snes9x 1.63 does not need much tuning to run well — the official readme&#8217;s own hardware recommendation is a semi-modern machine, and any current PC is far beyond that. The settings that genuinely change what you see and how a game feels are concentrated in one place: the video output method and the handful of...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Snes9x 1.63 does not need much tuning to run well — the official readme&#8217;s own hardware recommendation is a semi-modern machine, and any current PC is far beyond that. The settings that genuinely change what you see and how a game feels are concentrated in one place: the video output method and the handful of display and timing options around it. This guide walks through those choices in the order we recommend setting them. If you have not installed Snes9x yet, start with the <a href="https://snes9x.net/snes9x-windows-setup-guide/">Windows setup guide</a> and the <a href="https://snes9x.net/setup/">setup hub</a>, and grab the current release from the <a href="https://snes9x.net/download/">download page</a> so you are tuning version 1.63 rather than an old build.</p>



<h2 class="wp-block-heading">Start with the output method — it decides everything else</h2>



<p class="wp-block-paragraph">The Windows build of Snes9x 1.63 registers exactly four output methods: <strong>DirectDraw, Direct3D, OpenGL and Vulkan</strong>. This single choice controls which shader formats you can use, how the image is scaled, and how the emulator talks to your graphics hardware, so pick it first and leave the other menus alone until it is set. You will find the choice in the video/display settings, and you can switch freely — changing output method does not touch your saves, states or controller mapping.</p>



<p class="wp-block-paragraph">For most readers the short answer is: <strong>use OpenGL or Vulkan</strong>. Both are modern paths, both support the current shader formats (Cg, GLSL and slang — see the <a href="https://snes9x.net/snes9x-shaders-filters-guide/">shaders and filters guide</a>), and both scale the SNES&#8217;s low-resolution output cleanly to a modern monitor. OpenGL is the long-established default-style choice and the safest pick if anything looks wrong. Vulkan, added in version 1.62 (not 1.63, despite what some sites claim), is the newer alternative and is equally valid — try it if OpenGL gives you trouble, or if you want to use slang shaders through the Vulkan path.</p>



<h2 class="wp-block-heading">When Direct3D and DirectDraw make sense</h2>



<p class="wp-block-paragraph"><strong>Direct3D</strong> is the older DirectX path. Its main reason to exist today is Cg shader support: Cg shaders work in both Direct3D and OpenGL, so if you have a favourite old Cg preset, Direct3D remains a legitimate home for it. <strong>DirectDraw</strong> is the legacy option, kept for compatibility with very old hardware and drivers. On any machine built in the last decade it offers no advantage — it is the output method with the fewest modern features, and we only mention it so you know you can safely ignore it. If a guide tells you DirectDraw is the &#8220;fastest&#8221; option for a modern PC, it is repeating advice from another era.</p>



<h2 class="wp-block-heading">Frame skip: what it does and when to touch it</h2>



<p class="wp-block-paragraph">Frame skipping exists for machines that cannot emulate every frame in real time: the emulator drops the rendering of some frames so gameplay keeps the correct speed. On hardware that meets the readme&#8217;s modest recommendation — which is to say, essentially every Windows 10 or 11 PC still in use — the correct setting is to leave frame skipping off or on its automatic behaviour and let every frame render. Deliberately skipping frames on a capable machine only makes motion look choppier. Treat frame skip as a troubleshooting tool for genuinely weak hardware, not a performance upgrade, and be suspicious of any settings guide that promises specific frame-rate gains from it: Snes9x&#8217;s publishers state no such figures, and neither do we.</p>



<h2 class="wp-block-heading">Sync and timing options</h2>



<p class="wp-block-paragraph">The sync-related options govern how the emulator paces itself against your display and sound card. Left at their defaults, Snes9x targets the game&#8217;s own original timing, which is what you want: a game that runs noticeably too fast or too slow is almost never a &#8220;best settings&#8221; problem but a sync or configuration fault — our <a href="https://snes9x.net/snes9x-game-running-too-fast-slow/">troubleshooting coverage</a> works through that case specifically. Change one sync option at a time, test with the same game, and change it back if it does not help; stacking random timing tweaks is how settings files become a mess nobody can untangle later.</p>



<h2 class="wp-block-heading">Picture quality beyond the output method</h2>



<p class="wp-block-paragraph">With OpenGL or Vulkan selected, picture quality is mostly about what you layer on top. Shader presets can reproduce a CRT look, smooth pixel edges, or leave the image untouched — the formats and trade-offs are covered in depth in the <a href="https://snes9x.net/snes9x-shaders-filters-guide/">shaders and filters guide</a>. Window size, fullscreen behaviour and aspect-ratio handling live in the same display area and are covered separately in the <a href="https://snes9x.net/snes9x-fullscreen-display-settings/">fullscreen and display settings guide</a>. Our honest recommendation for a first session: OpenGL or Vulkan, no shader, correct aspect ratio, and play for an evening before changing anything. Most &#8220;bad picture&#8221; complaints turn out to be a stretched aspect ratio, not a missing filter.</p>



<h2 class="wp-block-heading">A sane baseline to start from</h2>



<ul class="wp-block-list"><li>Output method: OpenGL first choice, Vulkan a close second (both support modern shaders)</li><li>Direct3D: only if you specifically want Cg shaders through the DirectX path</li><li>DirectDraw: legacy compatibility only — skip it on modern hardware</li><li>Frame skip: off/automatic on any current PC; a rescue tool for weak hardware, not a boost</li><li>Sync/timing: leave at defaults unless a game demonstrably runs at the wrong speed</li><li>Shaders and scaling: add one change at a time, after a baseline session</li></ul>



<h2 class="wp-block-heading">How to test a change properly</h2>



<p class="wp-block-paragraph">Emulator settings interact, so change them like you would debug anything: one variable at a time, with the same game and the same scene as your test. Note what the default was before you touch it — a screenshot of the dialog is the quickest record — then play for a few minutes, not a few seconds, because timing and sync problems often appear in motion rather than on a title screen. If a change neither helps nor hurts, revert it: a settings file full of shrug-worthy tweaks becomes impossible to reason about the first time something genuinely breaks. The baseline below is deliberately boring, and that is the point — boring settings are the ones you never have to think about again.</p>



<p class="wp-block-paragraph">Finally, remember that settings never affect your save data. Battery saves and save states live in the Saves folder regardless of display choices — the <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a> explains where they are and how to back them up, and the <a href="https://snes9x.net/setup/">setup hub</a> collects every other tutorial in this series.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Set Up Snes9x on Windows 11 and 10 (Step by Step)</title>
		<link>https://snes9x.net/snes9x-windows-setup-guide/</link>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 03:32:33 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://snes9x.net/snes9x-windows-setup-guide/</guid>

					<description><![CDATA[Snes9x is a Super Nintendo (SNES) and Super Famicom emulator that has been in development since the late 1990s. The current stable release is version 1.63, published on 9 July 2024 on the project&#8217;s official GitHub releases page. This guide walks through a clean Windows setup: where to download Snes9x safely, how to run it...]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Snes9x is a Super Nintendo (SNES) and Super Famicom emulator that has been in development since the late 1990s. The current stable release is <strong>version 1.63</strong>, published on 9 July 2024 on the project&#8217;s official GitHub releases page. This guide walks through a clean Windows setup: where to download Snes9x safely, how to run it (there is no installer), how to load a game, set up a controller, and where your saves live. For the download itself, see our <a href="https://snes9x.net/download/">Snes9x download page</a>; for the full tutorial library, see the <a href="https://snes9x.net/setup/">setup hub</a>.</p>



<h2 class="wp-block-heading">What you need</h2>



<p class="wp-block-paragraph">Very little. The official Windows readme that ships with Snes9x 1.63 lists the requirements as <strong>&#8220;Windows XP and up. DirectX 9&#8221;</strong> and recommends a semi-modern machine (800&nbsp;MHz CPU for good results, 1&nbsp;GHz for a near-perfect experience). If your PC runs Windows 11 or Windows 10, it exceeds those requirements many times over. Snes9x is <strong>freeware for personal, non-commercial use</strong> — it is not open source, despite what many download sites claim, and its source code is publicly available under that non-commercial licence.</p>



<p class="wp-block-paragraph">You also need game ROMs. Snes9x ships with none, and this site does not provide any: the legal route is to dump cartridges you own. No BIOS file is required for normal SNES games — Snes9x emulates the enhancement chips in code, so there is no firmware step in this setup.</p>



<h2 class="wp-block-heading">Step 1 — Download Snes9x 1.63 from the official source</h2>



<p class="wp-block-paragraph">The only current official download channel for Snes9x is the <strong>GitHub releases page of the snes9xgit/snes9x project</strong>. The project&#8217;s historic homepage, snes9x.com, has not been updated in years and hosts no current builds at all. For a 64-bit Windows PC, the file you want is <code>snes9x-1.63-win32-x64.zip</code> (5,328,695 bytes). Our download page links straight to that official file and publishes the SHA-256 checksum we verified against it, so you can confirm your copy is untouched.</p>



<h2 class="wp-block-heading">Step 2 — Extract it somewhere writable</h2>



<p class="wp-block-paragraph">There is nothing to install. Right-click the ZIP and extract it, then run <code>snes9x-x64.exe</code> from the extracted folder. One detail matters: Snes9x writes its settings, battery saves (<code>.srm</code>) and save states into a <code>Saves</code> folder next to the executable, so put the folder somewhere your user account can write to — for example <code>C:\Games\Snes9x</code> or a folder on your desktop. Avoid <code>C:\Program Files</code>: Windows write protection there is the most common reason saves &#8220;disappear&#8221;. We cover that failure mode in detail in our guide to <a href="https://snes9x.net/snes9x-saves-not-working/">Snes9x saves not working</a>.</p>



<h2 class="wp-block-heading">Step 3 — Load a game</h2>



<p class="wp-block-paragraph">Use <strong>File → Load Game</strong> and pick your ROM. Snes9x opens <code>.smc</code>, <code>.sfc</code>, <code>.swc</code>, <code>.fig</code> and other copier formats, and it can read a ROM directly from a <code>.zip</code>, <code>.gz</code> or <code>.jma</code> archive as long as the archive contains a single ROM. If a game refuses to load, work through our <a href="https://snes9x.net/snes9x-rom-wont-load/">ROM won&#8217;t load checklist</a> before assuming the file is broken.</p>



<h2 class="wp-block-heading">Step 4 — Configure your controller</h2>



<p class="wp-block-paragraph">Open <strong>Input → Input Configuration</strong> and click each SNES button field, then press the pad or keyboard key you want for it. Xbox controllers and other XInput pads, PlayStation pads and 8BitDo-style retro pads all work; Snes9x also accepts DirectInput devices. One Windows quirk worth knowing: unlike the Linux (GTK) build, the Windows port does not hot-plug controllers mid-game — plug the pad in before you launch, or use the Input menu to reconfigure joysticks after connecting one. Our dedicated <a href="https://snes9x.net/snes9x-controller-setup/">Snes9x controller setup guide</a> covers Bluetooth pairing and per-player mapping.</p>



<h2 class="wp-block-heading">Step 5 — Know your save options</h2>



<p class="wp-block-paragraph">Snes9x gives you two systems. <strong>Battery saves</strong> (<code>.srm</code>) are the game&#8217;s own save feature, written when you save in-game and loaded automatically next time. <strong>Save states</strong> snapshot the whole machine at any moment: press <strong>Shift+F1–F10</strong> to save and <strong>F1–F10</strong> to load, across 10 banks — up to 100 states per game, stored as files <code>.000</code> to <code>.099</code> in the same <code>Saves</code> folder. Both systems are explained in our <a href="https://snes9x.net/snes9x-save-states-srm-guide/">save states and .srm guide</a>, and the full key list is in the <a href="https://snes9x.net/snes9x-hotkeys/">Snes9x hotkeys reference</a>.</p>



<h2 class="wp-block-heading">Next steps</h2>



<p class="wp-block-paragraph">From here, the <a href="https://snes9x.net/setup/">setup hub</a> collects everything else: the <a href="https://snes9x.net/snes9x-best-settings/">best Snes9x settings</a> for picture quality and performance, cheat codes, shaders and filters, netplay, and syncing your saves between PC and Android.</p>

]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
