Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Super Mario 64"

From PCGamingWiki, the wiki about fixing PC games
(Created page with "{{Infobox game |cover = Super Mario 64 cover.png |developers = {{Infobox game/row/developer|Nintendo}} |publishers = |engines = |release dates= {{Infobox g...")
 
 
(83 intermediate revisions by 29 users not shown)
Line 1: Line 1:
 +
{{cleanup|Available options, config location, and features vary between ports, but this page inappropriately lumps them all together as one.}}
 
{{Infobox game
 
{{Infobox game
 
|cover        = Super Mario 64 cover.png
 
|cover        = Super Mario 64 cover.png
 
|developers  =  
 
|developers  =  
{{Infobox game/row/developer|Nintendo}}
+
{{Infobox game/row/developer|Nintendo EAD|Original}}
 
|publishers  =  
 
|publishers  =  
 +
{{Infobox game/row/publisher|Nintendo|Original}}
 
|engines      =  
 
|engines      =  
 
|release dates=  
 
|release dates=  
 
{{Infobox game/row/date|Windows|May 2, 2020}}
 
{{Infobox game/row/date|Windows|May 2, 2020}}
 +
{{Infobox game/row/date|Linux|May 5, 2020}}
 +
{{Infobox game/row/date|OS X|June 1, 2020}}
 
|reception    =  
 
|reception    =  
{{Infobox game/row/reception|IGDB|super-mario-64|90}}
+
{{Infobox game/row/reception|IGDB|super-mario-64|}}
 
|taxonomy    =
 
|taxonomy    =
 +
{{Infobox game/row/taxonomy/perspectives      | Third-person }}
 +
{{Infobox game/row/taxonomy/controls          | Direct control }}
 +
{{Infobox game/row/taxonomy/genres            | Platform }}
 
{{Infobox game/row/taxonomy/series|Mario}}
 
{{Infobox game/row/taxonomy/series|Mario}}
 
|steam appid  =  
 
|steam appid  =  
Line 19: Line 26:
 
|hltb        = 9364
 
|hltb        = 9364
 
|igdb        = super-mario-64
 
|igdb        = super-mario-64
|strategywiki = super-mario-64
+
|strategywiki = Super Mario 64
 
|mobygames    = super-mario-64
 
|mobygames    = super-mario-64
 
|wikipedia    = Super Mario 64
 
|wikipedia    = Super Mario 64
Line 26: Line 33:
  
 
'''Key points'''
 
'''Key points'''
{{++}} Unofficial port of the Nintendo 64 game with native support for widescreen & 4K, DirectX 12 and ray tracing.
+
{{ii}} Unofficial port of the original Nintendo 64 game with native support for widescreen & 4K.
  
 
==Availability==
 
==Availability==
{{ii}} The original upload is no longer available due to a DMCA takedown by Nintendo.
+
{{Availability|
 +
{{Availability/row| Official  | http://sm64pc.info | drm-free |  | | Windows }}
 +
}}
 +
{{ii}} Compilation requires the ROM be encoded in big endian ({{code|.z64}}) format. To convert a ROM using little endian ({{code|.n64}}) or byte-swapped ({{code|.v64}}) encoding to big endian, use [https://www.zophar.net/utilities/n64aud/tool-n64.html Tool64] or ucon64.
 +
 
 +
==Essential Improvements==
 +
 
 +
===[https://github.com/sm64pc/sm64ex sm64ex]===
 +
{{ii}} sm64ex is a fork of the original SM64-port, that allows for many improvements over original port, although can still be made completely vanilla.
 +
{{++}} Includes an in-game options menu that includes controller configuration and an optional cheats menu.
 +
{{++}} Allows for many improvements, such as: 60FPS support, better camera, no drawing distance, texture fixes and support for external resources such as texture and sound changes, that can be applied before build.
 +
{{++}} Can support older machines and OS with SDL 1.2 or OpenGL 1.1 build options.
 +
{{++}} Has the biggest mod support over other forks.
  
 
==Game data==
 
==Game data==
Line 35: Line 54:
 
{{Game data|
 
{{Game data|
 
{{Game data/config|Windows|{{P|game}}\sm64config.txt}}
 
{{Game data/config|Windows|{{P|game}}\sm64config.txt}}
 +
{{Game data/config|OS X|}}
 +
{{Game data/config|Linux|}}
 
}}
 
}}
  
Line 40: Line 61:
 
{{Game data|
 
{{Game data|
 
{{Game data/saves|Windows|{{P|game}}\sm64_save_file.bin}}
 
{{Game data/saves|Windows|{{P|game}}\sm64_save_file.bin}}
 +
{{Game data/saves|OS X|}}
 +
{{Game data/saves|Linux|}}
 
}}
 
}}
  
==Video settings==
+
==Video==
{{Video settings
+
{{Video
 
|wsgf link                  =  
 
|wsgf link                  =  
 
|widescreen wsgf award      =  
 
|widescreen wsgf award      =  
Line 51: Line 74:
 
|widescreen resolution      = true
 
|widescreen resolution      = true
 
|widescreen resolution notes=  
 
|widescreen resolution notes=  
|multimonitor              = unknown
+
|multimonitor              = true
 
|multimonitor notes        =  
 
|multimonitor notes        =  
 
|ultrawidescreen            = true
 
|ultrawidescreen            = true
Line 60: Line 83:
 
|fov notes                  =  
 
|fov notes                  =  
 
|windowed                  = true
 
|windowed                  = true
|windowed notes            =  
+
|windowed notes            = By default. Freely resizeable.<br/>Toggle to fullscreen with {{key|alt|enter}} or by editing [[#Game data|configuration file.]]
 
|borderless windowed        = false
 
|borderless windowed        = false
 
|borderless windowed notes  =  
 
|borderless windowed notes  =  
|anisotropic                = false
+
|anisotropic                = true
 
|anisotropic notes          =  
 
|anisotropic notes          =  
|antialiasing              = false
+
|antialiasing              = true
 
|antialiasing notes        =  
 
|antialiasing notes        =  
|vsync                      = false
+
|upscaling                  = unknown
 +
|upscaling tech            =
 +
|upscaling notes            =
 +
|vsync                      = true
 
|vsync notes                =  
 
|vsync notes                =  
|60 fps                    = false
+
|60 fps                    = true
|60 fps notes              = Capped at 30 FPS.
+
|60 fps notes              = See [[Super Mario 64#Essential Improvements|Essential Improvements.]]
 
|120 fps                    = false
 
|120 fps                    = false
|120 fps notes              =  
+
|120 fps notes              = Game's speed is bound to frame rate.
|hdr                        = unknown
+
|hdr                        = false
 +
|ray tracing                = hackable
 +
|ray tracing notes          = See [[Super Mario 64#sm64rt|sm64rt]].
 
|hdr notes                  =  
 
|hdr notes                  =  
|color blind                = unknown
+
|color blind                = false
 
|color blind notes          =  
 
|color blind notes          =  
 
}}
 
}}
  
==Input settings==
+
===[https://github.com/DarioSamo/sm64rt sm64rt]===
{{--}} Remapping the controls requires manually editing the [[#Configuration file(s) location|configuration file]].
+
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].
  
{{Input settings
+
==Input==
|key remap                = true
+
{{Input
|key remap notes          =  
+
|key remap                = limited
 +
|key remap notes          = Some keys cannot be mapped to, such as {{key|ctrl}}, {{key|alt}}, or {{key|shift}}.
 
|acceleration option      = n/a
 
|acceleration option      = n/a
 
|acceleration option notes =  
 
|acceleration option notes =  
Line 98: Line 127:
 
|controller support notes  =  
 
|controller support notes  =  
 
|full controller          = true
 
|full controller          = true
|full controller notes    =  
+
|full controller notes    = Cursor stays in the middle of the screen.
 
|controller remap          = true
 
|controller remap          = true
 
|controller remap notes    =  
 
|controller remap notes    =  
Line 108: Line 137:
 
|xinput controllers notes  =  
 
|xinput controllers notes  =  
 
|xbox prompts              = false
 
|xbox prompts              = false
|xbox prompts notes        =  
+
|xbox prompts notes        = Prompts are for Nintendo 64 controller.
|impulse triggers          = unknown
+
|impulse triggers          = false
 
|impulse triggers notes    =  
 
|impulse triggers notes    =  
|dualshock 4              = unknown
+
|dualshock 4              = true
 
|dualshock 4 notes        =  
 
|dualshock 4 notes        =  
|dualshock prompts        = unknown
+
|dualshock prompts        = false
|dualshock prompts notes  =  
+
|dualshock prompts notes  = Prompts are for Nintendo 64 controller.
|light bar support        = unknown
+
|light bar support        = false
 
|light bar support notes  =  
 
|light bar support notes  =  
 
|dualshock 4 modes        = unknown
 
|dualshock 4 modes        = unknown
 
|dualshock 4 modes notes  =  
 
|dualshock 4 modes notes  =  
|tracked motion controllers= unknown
+
|tracked motion controllers= false
 
|tracked motion controllers notes =  
 
|tracked motion controllers notes =  
|tracked motion prompts    = unknown
+
|tracked motion prompts    = false
 
|tracked motion prompts notes =  
 
|tracked motion prompts notes =  
|other controllers        = unknown
+
|other controllers        = true
 
|other controllers notes  =  
 
|other controllers notes  =  
|other button prompts      = unknown
+
|other button prompts      = Nintendo
|other button prompts notes=  
+
|other button prompts notes= Prompts are for Nintendo 64 controller.
|controller hotplug        = unknown
+
|controller hotplug        = true
 
|controller hotplug notes  =  
 
|controller hotplug notes  =  
|haptic feedback          = false
+
|haptic feedback          = true
|haptic feedback notes    =  
+
|haptic feedback notes    = <ref>{{Refcheck|user=SirYodaJedi|date=2022-06-10|comment=Tested in SM64EX port}}</ref>
 
|simultaneous input        = true
 
|simultaneous input        = true
 
|simultaneous input notes  =  
 
|simultaneous input notes  =  
|steam input api          = unknown
+
|steam input api          = false
 
|steam input api notes    =  
 
|steam input api notes    =  
|steam hook input          = unknown
+
|steam hook input          = false
 
|steam hook input notes    =  
 
|steam hook input notes    =  
|steam input presets      = unknown
+
|steam input presets      = false
 
|steam input presets notes =  
 
|steam input presets notes =  
|steam controller prompts  = unknown
+
|steam controller prompts  = false
|steam controller prompts notes =  
+
|steam controller prompts notes = Prompts are for Nintendo 64 controller.
|steam cursor detection    = unknown
+
|steam cursor detection    = false
 
|steam cursor detection notes =  
 
|steam cursor detection notes =  
 
}}
 
}}
  
==Audio settings==
+
==Audio==
{{Audio settings
+
{{Image|Super Mario 64 audio settings.png|In-game audio settings.}}
 +
{{Image|Super Mario 64 audio settings (PAL).png|In-game audio settings (PAL ver.).}}
 +
{{Audio
 
|separate volume          = false
 
|separate volume          = false
 
|separate volume notes    =  
 
|separate volume notes    =  
|surround sound          = false
+
|surround sound          = limited
|surround sound notes    =  
+
|surround sound notes    = Only supports Headset audio.
|subtitles                = false
+
|subtitles                = always on
|subtitles notes          =  
+
|subtitles notes          = Huge majority of dialogues are text based.<br/>Cannot be turned off for voice acting.
 
|closed captions          = false
 
|closed captions          = false
 
|closed captions notes    =  
 
|closed captions notes    =  
Line 159: Line 190:
 
|eax support              =  
 
|eax support              =  
 
|eax support notes        =  
 
|eax support notes        =  
 +
|royalty free audio      = false
 +
|royalty free audio notes = The BGM songs are listed by Nintendo in various auto-DMCA systems.
 
}}
 
}}
  
Line 166: Line 199:
 
  |interface = true
 
  |interface = true
 
  |audio    = true
 
  |audio    = true
  |subtitles = false
+
  |subtitles = true
 
  |notes    =  
 
  |notes    =  
 
  |fan      =  
 
  |fan      =  
 
  |ref      =  
 
  |ref      =  
 
}}
 
}}
 +
{{L10n/switch
 +
|language  = French
 +
|interface = true
 +
|audio    = false
 +
|subtitles = true
 +
|notes    =
 +
|fan      =
 +
|ref      =
 +
}}
 +
{{L10n/switch
 +
|language  = German
 +
|interface = true
 +
|audio    = false
 +
|subtitles = true
 +
|notes    =
 +
|fan      =
 +
|ref      =
 +
}}
 +
{{L10n/switch
 +
|language  = Japanese
 +
|interface = true
 +
|audio    = false
 +
|subtitles = true
 +
|notes    =
 +
|fan      =
 +
|ref      =
 +
}}
 +
}}
 +
 +
==Network==
 +
{{Network/Multiplayer
 +
|local play          = false
 +
|local play players  =
 +
|local play modes    =
 +
|local play notes    =
 +
|lan play            = hackable
 +
|lan play players    =
 +
|lan play modes      =
 +
|lan play notes      = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].
 +
|online play          = hackable
 +
|online play players  =
 +
|online play modes    =
 +
|online play notes    = See [[Super Mario 64#sm64ex-coop|sm64ex-coop]].
 +
|asynchronous        =
 +
|asynchronous notes  =
 +
}}
 +
 +
{{Network/Connections
 +
|matchmaking        = false
 +
|matchmaking notes  =
 +
|p2p                = false
 +
|p2p notes          =
 +
|dedicated          = false
 +
|dedicated notes    =
 +
|self-hosting      = true
 +
|self-hosting notes =
 +
|direct ip          = true
 +
|direct ip notes    =
 
}}
 
}}
 +
 +
===[https://github.com/djoslin0/sm64ex-coop sm64ex-coop]===
 +
{{ii}} Can be built with any of the programs on [https://sm64pc.info/ Super Mario 64 PC Port Central].
  
 
==Other information==
 
==Other information==
 
===API===
 
===API===
 
{{API
 
{{API
|direct3d versions      = 12
+
|direct3d versions      = 11,12
|direct3d notes        =  
+
|direct3d notes        = Can be selected when compiling the game.
 
|directdraw versions    =  
 
|directdraw versions    =  
 
|directdraw notes      =  
 
|directdraw notes      =  
 
|wing                  =  
 
|wing                  =  
 
|wing notes            =  
 
|wing notes            =  
|opengl versions        =  
+
|opengl versions        = 1.3, 2.1
|opengl notes          =  
+
|opengl notes          = Can be selected when compiling the game.
 
|glide versions        =  
 
|glide versions        =  
 
|glide notes            =  
 
|glide notes            =  
Line 192: Line 286:
 
|metal support          =  
 
|metal support          =  
 
|metal support notes    =  
 
|metal support notes    =  
|vulkan versions        =  
+
|vulkan versions        = true
|vulkan notes          =  
+
|vulkan notes          = Can be selected when compiling the game.
 
|dos modes              =  
 
|dos modes              =  
 
|dos modes notes        =  
 
|dos modes notes        =  
 
|shader model versions  =  
 
|shader model versions  =  
 
|shader model notes    =  
 
|shader model notes    =  
|windows 32-bit exe    = false
+
|windows 32-bit exe    = true
 
|windows 64-bit exe    = true
 
|windows 64-bit exe    = true
|windows exe notes      =  
+
|windows arm app        = unknown
|mac os x powerpc app  =  
+
|windows exe notes      = Depends on the user's choice when installing the compiler.
|macos intel 32-bit app = unknown
+
|mac os x powerpc app  = true
 +
|macos intel 32-bit app = true
 
|macos intel 64-bit app = unknown
 
|macos intel 64-bit app = unknown
 +
|macos arm app          =
 
|macos app notes        =  
 
|macos app notes        =  
|linux powerpc app      =  
+
|linux powerpc app      = unknown
|linux 32-bit executable= unknown
+
|linux 32-bit executable= true
|linux 64-bit executable= unknown
+
|linux 64-bit executable= true
 +
|linux arm app          = unknown
 
|linux executable notes =  
 
|linux executable notes =  
 
}}
 
}}
Line 228: Line 325:
 
|anticheat notes  =  
 
|anticheat notes  =  
 
}}
 
}}
 +
 +
===[https://www.mfgg.net/?act=resdb&param=02&c=2&id=38190 Super Mario 64 Plus]===
 +
{{ii}} Super Mario 64 Plus is a fork of the SM64-port, that focuses on customizability and aims to add features that not only fix some of the issues found in the base game but also enhance the gameplay overall with extra options, which are all optional and can be turned off to maintain vanilla feeling.
 +
{{++}} Has its own launcher, that allows to change options and turn on/off features without rebuilding whole game, like other forks do.
 +
{{++}} Adds more responsive controls, extended moveset, ability to continue the level after getting a star, 60FPS support via interpolation and improves camera controls.
 +
{{++}} Introduces optional extra modes.
 +
{{++}} Fixes various bugs.
 +
 +
===Patches===
 +
{{ii}} These can be installed with the programs from the [https://sm64pc.info/ Super Mario 64 PC Port Central] website.
 +
* 60 FPS - Patch for sm64ex which interpolates the game logic from 30 FPS to 60 FPS.
 +
* 3D Coins V2 - Makes coins 3D.
 +
  
 
==System requirements==
 
==System requirements==
Line 244: Line 354:
 
|recHD    =  
 
|recHD    =  
 
|recGPU  =  
 
|recGPU  =  
|notes    =  
+
|notes    = {{ii}} No official system requirements have been officially-released.
 
}}
 
}}
  
 
{{References}}
 
{{References}}

Latest revision as of 02:19, 1 March 2023

This page may require cleanup to meet basic quality standards. The specific problem is: Available options, config location, and features vary between ports, but this page inappropriately lumps them all together as one.. You can help by modifying the article. The discussion page may contain useful suggestions.
Super Mario 64
Super Mario 64 cover
Developers
Original Nintendo EAD
Publishers
Original Nintendo
Release dates
Windows May 2, 2020
Linux May 5, 2020
macOS (OS X) June 1, 2020
Taxonomy
Perspectives Third-person
Controls Direct control
Genres Platform
Series Mario
Super Mario 64 on HowLongToBeat
Super Mario 64 on IGDB
Super Mario 64 guide on StrategyWiki
Super Mario 64 on MobyGames
Super Mario 64 on Wikipedia
Donkey Kong (series)
Super Mario Bros. & Friends: When I Grow Up 1992
Mario Is Missing! 1992
Mario Teaches Typing 1992
Mario's Time Machine 1993
Mario's Early Years! Fun with Letters 1993
Mario's Early Years! Fun with Numbers 1994
Mario's Early Years! Preschool Fun 1994
Mario's Game Gallery 1995
Mario Teaches Typing 2 1996
Super Mario 64 (unofficial port) 2020
Super Mario World (unofficial port) 2023

Key points

Unofficial port of the original Nintendo 64 game with native support for widescreen & 4K.

Availability

Source DRM Notes Keys OS
Official website
DRM-free
Windows
Compilation requires the ROM be encoded in big endian (.z64) format. To convert a ROM using little endian (.n64) or byte-swapped (.v64) encoding to big endian, use Tool64 or ucon64.

Essential Improvements

sm64ex

sm64ex is a fork of the original SM64-port, that allows for many improvements over original port, although can still be made completely vanilla.
Includes an in-game options menu that includes controller configuration and an optional cheats menu.
Allows for many improvements, such as: 60FPS support, better camera, no drawing distance, texture fixes and support for external resources such as texture and sound changes, that can be applied before build.
Can support older machines and OS with SDL 1.2 or OpenGL 1.1 build options.
Has the biggest mod support over other forks.

Game data

Configuration file(s) location

System Location
Windows <path-to-game>\sm64config.txt[Note 1]
macOS (OS X)
Linux

Save game data location

System Location
Windows <path-to-game>\sm64_save_file.bin[Note 1]
macOS (OS X)
Linux

Video

Graphics feature State Notes
Widescreen resolution
Multi-monitor
Ultra-widescreen
4K Ultra HD
Field of view (FOV)
Windowed
By default. Freely resizeable.
Toggle to fullscreen with Alt+ Enter or by editing configuration file.
Borderless fullscreen windowed
See the glossary page for potential workarounds.
Anisotropic filtering (AF)
Anti-aliasing (AA)
Vertical sync (Vsync)
60 FPS
See Essential Improvements.
120+ FPS
Game's speed is bound to frame rate.
High dynamic range display (HDR)
See the glossary page for potential alternatives.
Ray tracing (RT)
See sm64rt.

sm64rt

Can be built with any of the programs on Super Mario 64 PC Port Central.

Input

Keyboard and mouse State Notes
Remapping
Some keys cannot be mapped to, such as Ctrl, Alt, or Shift.
Mouse acceleration
Mouse sensitivity
Mouse input in menus
No mouse support.
Mouse Y-axis inversion
Controller
Controller support
Full controller support
Cursor stays in the middle of the screen.
Controller remapping
Controller sensitivity
Controller Y-axis inversion
Controller types
XInput-compatible controllers
Xbox button prompts
Prompts are for Nintendo 64 controller.
Impulse Trigger vibration
PlayStation controllers
PlayStation button prompts
Prompts are for Nintendo 64 controller.
Light bar support
Adaptive trigger support
DualSense haptic feedback support
Connection modes
Generic/other controllers
Button prompts
Prompts are for Nintendo 64 controller.
Additional information
Controller hotplugging
Haptic feedback
[1]
Digital movement supported
Simultaneous controller+KB/M

Audio

In-game audio settings.
In-game audio settings.
In-game audio settings (PAL ver.).
In-game audio settings (PAL ver.).

Audio feature State Notes
Separate volume controls
Surround sound
Only supports Headset audio.
Subtitles
Huge majority of dialogues are text based.
Cannot be turned off for voice acting.
Closed captions
Mute on focus lost
Royalty free audio
The BGM songs are listed by Nintendo in various auto-DMCA systems.

Localizations

Language UI Audio Sub Notes
English
French
German
Japanese

Network

Multiplayer types

Type Native Notes
Local play
LAN play
See sm64ex-coop.
Online play
See sm64ex-coop.

Connection types

sm64ex-coop

Can be built with any of the programs on Super Mario 64 PC Port Central.

Other information

API

Technical specs Supported Notes
Direct3D 11, 12 Can be selected when compiling the game.
OpenGL 1.3, 2.1 Can be selected when compiling the game.
Vulkan
Can be selected when compiling the game.
ExecutablePPC 32-bit 64-bit Notes
Windows
Depends on the user's choice when installing the compiler.
macOS (OS X)
Linux

Middleware

No middleware information; you can edit this page to add it.

Super Mario 64 Plus

Super Mario 64 Plus is a fork of the SM64-port, that focuses on customizability and aims to add features that not only fix some of the issues found in the base game but also enhance the gameplay overall with extra options, which are all optional and can be turned off to maintain vanilla feeling.
Has its own launcher, that allows to change options and turn on/off features without rebuilding whole game, like other forks do.
Adds more responsive controls, extended moveset, ability to continue the level after getting a star, 60FPS support via interpolation and improves camera controls.
Introduces optional extra modes.
Fixes various bugs.

Patches

These can be installed with the programs from the Super Mario 64 PC Port Central website.
  • 60 FPS - Patch for sm64ex which interpolates the game logic from 30 FPS to 60 FPS.
  • 3D Coins V2 - Makes coins 3D.


System requirements

Windows
Minimum
Operating system (OS)
Processor (CPU)
System memory (RAM)
Hard disk drive (HDD)
No official system requirements have been officially-released.


Notes

  1. 1.0 1.1 When running this game without elevated privileges (Run as administrator option), write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later (more details).

References

  1. Verified by User:SirYodaJedi on 2022-06-10
    Tested in SM64EX port