Before you launch your next 120-star marathon, verify your sm64config.txt:
✅ Resolution matches your monitor (e.g., --resolution 1920 1080).
✅ Framerate is set to 30 (unless using a physics unlock patch).
✅ Audio buffer is adequate (--buffersize 1024 or higher).
✅ Deadzone matches your controller (test with --deadzone 0.2).
✅ No duplicate flags (the last line overrides previous ones).
With this guide, you have transformed from a casual player into a sm64config.txt power user. Go rescue the Princess—at the perfect resolution, without a single dropped frame or crackled coin sound.
Have a unique sm64config.txt setup for a niche device? Share it in the community forums. The decompilation project thrives on configuration knowledge.
The sm64config.txt file is the primary settings file for the Super Mario 64 PC Port (and its variants like sm64ex or sm64rt). It allows players to manually configure settings that aren't always accessible via an in-game menu, such as window dimensions, fullscreen modes, and key bindings.
An "interesting" review of this file's utility often highlights the contrast between the technical hassle of editing a text file and the superior experience it unlocks compared to traditional emulation. User Reviews and Community Consensus
The "Best Way to Play": Reviewers on MFGG and RetroGameCorps emphasize that once configured, the port provides a native 60fps experience and high-resolution support that makes the game feel modern.
The Technical Barrier: Some users on GameFAQs find the manual configuration via text file cumbersome, noting that there is "no easy way to configure the controls" without diving into the .txt file, which uses specific scan codes for keyboard keys.
Fixing Performance Issues: For some, the file is essential for fixing "speed" bugs; without manually locking the frame rate or adjusting the config, the game may run too fast or crash. Common sm64config.txt Key Bindings
If you are looking to edit your controls, the file uses numeric codes. A typical layout looks like this: key_a 57: Space bar (Jump) key_b 51: Comma (Attack) key_start 28: Enter (Pause) key_z 37: Left Alt (Crouch) key_stickup 17: W (Move forward) Game crashes on launch. · Issue #17 · DarioSamo/sm64rt
You're exploring the configuration file for Super Mario 64, specifically sm64config.txt!
This file contains various settings and options that can customize the gameplay experience. Here are some potentially useful features you might find:
Keep in mind that the available options and their effects may vary depending on the specific version of the game and the emulator or port being used.
Are you looking to optimize your gameplay experience or try out some specific features?
An interesting feature for sm64config.txt —the configuration file used by the Super Mario 64 PC port and various handheld versions—would be a Dynamic Speedrun Profile Currently, sm64config.txt
is primarily used for static settings like remapping controls (e.g.,
), adjusting resolution, or enabling basic cheats like 60FPS or "Puppycam". Feature Concept: auto_save_profile input_buffer_visualizer This feature would allow the config file to act as a live performance log training tool rather than just a settings menu. auto_save_profile
: A new parameter that automatically saves and switches between different control "templates" based on the last played session. For example, if the game detects you are practicing BLJs (Backwards Long Jumps), it could swap to a high-polling rate input profile. debug_input_overlay
: A toggleable boolean in the text file that renders an on-screen display of your exact joystick coordinates (
) and button press timing in milliseconds. This is critical for high-level speedrunning but currently often requires external mods. physics_preset : A line like physics_preset 1 (Vanilla) or physics_preset 2
(Agile/Modern) that lets you tweak Mario's turn radius or jump height directly from the config without recompiling the entire game. Why this works sm64config.txt is easily accessible in folders like AppData/Roaming/sm64ex
or on an SD card for handhelds (like the RG351P), it allows players to "hot-swap" gameplay feels without needing to navigate complex in-game menus. sm64config.txt
How to remap controls? · Issue #224 · sm64pc/sm64ex - GitHub
Technical Overview: sm64config.txt in the SM64 PC Port The file sm64config.txt is the primary configuration file for the native Super Mario 64 PC port (specifically the sm64ex and related forks). It serves as a persistent storage for user preferences, graphics settings, and input remapping. 1. File Location The location of the file depends on the platform:
Windows: Found in %AppData%\Roaming\sm64pc\ or next to the game executable. Linux: Typically located in ~/.local/share/sm64pc/.
Consoles (3DS/Wii U): Located at the root of the SD card or in the same directory as the .3dsx or .wuhb file. 2. Control Remapping
Control settings are defined by numerical keycodes. Each N64 button (e.g., key_a, key_b, key_start) can have multiple bindings, allowing for simultaneous keyboard, mouse, and gamepad support.
Keycodes: Keyboard keys typically use DirectInput scancodes. For example: key_a 38 (Example value for 'A') key_start 57 (Example value for 'Start')
Binding Columns: Many versions use three columns of numbers per button, roughly corresponding to keyboard, controller, and mouse. 3. Graphics and Performance Settings
Beyond controls, the file contains toggles for port-specific enhancements:
How do I reset controls to default? · Issue #471 · sm64pc/sm64ex
sm64config.txt file is the essential heart of the Super Mario 64
PC port, serving as the primary bridge between the legacy code of 1996 and modern hardware
. While the in-game menus handle basic changes, this file allows for deep-level customization that can completely transform how the game looks and feels. Locating the File
Depending on which version or "fork" of the port you are running, the file is usually found in one of these directories: Windows (sm64ex): %APPDATA%\sm64ex\sm64config.txt Linux/macOS: $XDG_DATA_HOME/sm64ex/sm64config.txt Legacy/Standard Port: Located directly in the same folder as your Core Configuration Breakdown 1. Visuals & Resolution
The PC port allows for native high-definition rendering, far beyond the original N64's capabilities. screen_width screen_height : Manually set these to match your monitor (e.g., fullscreen to launch the game in full-screen mode immediately. texture_filtering
if you want the sharp, pixelated look of the original game, or for a smoother look. 2. Mastering the Input (Scan Codes)
The most common reason to edit this file is to remap keys beyond the basic in-game menu. The port uses DirectInput scancodes rather than standard ASCII. Render96ex macOS Edition - GitHub
The sm64config.txt file is the primary configuration file for the Super Mario 64
PC port and its various console versions (like the 3DS and handheld emulators). It allows you to manually adjust settings like button mapping, screen resolution, and gameplay features without using an in-game menu. Key Settings in sm64config.txt
Most users modify this file to fix controller issues or optimize performance on low-end hardware. Fullscreen & Resolution:
fullscreen false / true: Toggles windowed or fullscreen mode.
window_x, window_y: Sets the starting position of the window. Before you launch your next 120-star marathon, verify
window_w, window_h: Sets the width and height for your resolution. Controller Bindings:
Look for lines starting with key_. Each button is assigned a hex or integer code.
If you're having trouble with mapping, you can use the SM64 Config Tool to generate the correct codes for your controller and paste them into the file. Gameplay Tweaks:
enable_rumble true: Enables controller vibration (if supported).
skip_intro true: Skips the Mario head screen to launch the game faster. Where to find the file
The location of the file depends on which platform you are using:
PC Port: Usually found in the same folder as your .exe or in %AppData%/sm64pc/.
Nintendo 3DS Port: Located on the root of your SD card or in the same folder as the .3dsx file.
Handheld Emulators (RG350/RG280): Accessible via the Commander app in the "Apps & Games" section. Pro Tip for Handheld Users
If you are using a device like an Anbernic RG350, you don't need a computer to edit the file. You can open and modify the text directly inside the Commander App to fix button mapping on the fly.
Are you trying to remap specific buttons for a controller, or are you looking to improve performance on a specific device? RG350 & RG280 Series Starter Guide - Retro Game Corps
The Ultimate Guide to sm64config.txt: Optimizing Your PC Mario Experience
If you have spent any time in the world of Super Mario 64 PC ports—whether it is the classic DirectX 11 build, the OpenGL version, or the sophisticated Render96 project—you have likely encountered a file named sm64config.txt.
While it looks like a simple text document, this file is the "brain" of your game. It controls everything from your screen resolution and controller bindings to advanced graphical features that weren't possible on the original Nintendo 64 hardware. In this guide, we will break down exactly how to find, edit, and optimize this file to get the best possible performance. What is sm64config.txt?
The sm64config.txt file is a configuration script used by various PC ports of Super Mario 64. Unlike the original ROM which had fixed settings, the PC port allows for deep customization. When you launch the game, it reads this file to determine how it should look and behave.
If you ever find that your game won't start, or your controller isn't working, this is the first place you should look for a fix. Where to Find the Configuration File
The location of sm64config.txt can vary depending on which version of the port you are using, but it is typically found in one of two places:
The Game Folder: Often located in the same directory as your sm64.exe.
Appdata (Most Common): Most modern builds save settings in your Windows user profile to keep the game folder clean.
Press Win + R, type %appdata%, and look for a folder named sm64pc or the specific name of your build (e.g., Render96ex). Key Settings and How to Tweak Them
When you open the file in a text editor like Notepad or Notepad++, you will see a list of variables followed by numbers. 1. Display and Graphics Have a unique sm64config
fullscreen: Set to true for full immersion or false for windowed mode.
screen_width & screen_height: You can manually set these to match your monitor’s native resolution (e.g., 1920 and 1080).
vsync: Set to 1 to eliminate screen tearing, or 0 if you want the lowest possible input lag. 2. Gameplay Enhancements
draw_distance: One of the best features of the PC port. Increasing this value prevents objects from "popping in" as Mario approaches them, making the world feel much larger.
texture_filtering: Set this to 1 (Linear) for a smooth, modern look, or 0 (Nearest) if you want that sharp, pixelated N64 aesthetic. 3. Controller Bindings
The bind_ section is where the magic happens for your gamepad. Each button on the N64 controller (A, B, Z, R, etc.) is mapped to a keyboard key or a controller button ID.
Tip: If your controller feels "inverted," look for the stick_ settings to swap the X and Y axes. Advanced Features: Beyond the Basics
If you are using an "Enhanced" (EX) version of the port, your sm64config.txt might include options for:
60 FPS Patches: Look for frame_rate or target_fps to break past the original game's 30 FPS limit for buttery-smooth movement.
Camera Controls: You can often toggle between "Classic" camera and a "Free/Open" camera that allows for full 360-degree rotation using the right analog stick. Troubleshooting Common Issues
Game Won't Launch: If you messed up a setting and the game crashes, simply delete sm64config.txt. The game will generate a fresh, default version the next time you open it.
Controller Not Detected: Ensure your controller is plugged in before launching the game. Check the controller_id line; usually, 0 is the primary device.
Settings Not Saving: Make sure the file isn't set to "Read-only" in the Windows file properties. Conclusion
The sm64config.txt file is the key to unlocking the full potential of Super Mario 64 on modern hardware. Whether you want a nostalgic 4:3 experience or a 4K, 60fps masterpiece with extended draw distances, a few quick edits to this text file will get you there.
Are you looking to set up a specific controller (like a PS5 or Switch Pro controller) with your PC port?
If your SM64 port sounds like popping popcorn:
--audio sdl2
--buffersize 2048
--sample-rate 44100
--latency 0.05
If you are using the sm64ex-coop version, you can force ultra-wide:
--fullscreen
--resolution 3440 1440
--framerate 60
--geometry 3440 1440
Warning: Standard SM64 will run 2x speed at 60 FPS. Use the sm64ex-framerate-unlock patch first.
Speedrunners want low lag and no distractions:
--fullscreen
--skip-intro
--no-audio # (use separate timer)
--deadzone 0.05
--vsync 0
If you open sm64config.txt with a text editor (like Notepad, Notepad++, or VS Code), you will see a list of parameters. While the specific options can vary based on which "fork" (version) of the game you are playing, here are the standard categories you will encounter.
Fix: Try --audio openal (Windows) or --audio pipewire (Linux). Also check that --no-audio is commented out (#--no-audio).
sm64config.txt is a plain-text configuration file commonly used by Super Mario 64 ports, emulators, and source ports (e.g., sm64-port, SM64 decompilation projects, or frontend launchers) to store user settings: graphics options, controller mappings, audio settings, cheats, and other runtime parameters.