Based on recent interest in the N64 hard-drive thread, I thought I'd take some time to provide educational resources to the community about emulation and other game-related tools.

Note: Check my top-level replies in this thread as I ran out of space

[Informational Resources]

Emulation Wiki

Roms Megathread

[Emulation]

Emulation is process of re-implementing the functionality of something (hardware and/or software) in a separate software environment. You're probably most most familiar in the term as it relates to game system emulation (like the Dolphin Wii and Gamecube emulator).

While emulation does cover physical systems, it can also cover things that strictly exist as software (for example, the recent server emulator created for Genshin Impact). If you've ever played on WoW or any other MMO private servers, the actual underlying software that was being run was likely a server emulator (or in rare cases the actual server software itself may have leaked). These server emulators are created by analyzing the network information exchange (packets) sent from the game client to the server and those received by the game from the game server. A painstaking and brutal process of analyzing these packets allows server reverse-engineering projects to then re-implement the functionality of the official servers and then we can point the game client towards our reverse-engineered private server (that speaks the exact same "language" as the official servers). This then allows the private servers to provide additional/changed functionality (for example, more exp per quest) which is a much more customizable experience.

It can also be used to re-implement vendor solutions like the Steam API which provides various utilities like DRM (which the emulator could choose to ignore). A great example of an emulator in this regard is the Goldberg Emulator.

Let's say you've acquired (through legal purchase only of course) the clean steam files for a game and want to run it offline. Normally you wouldn't be able to because the steamworks DRM check wouldn't be able to authenticate against the official steam servers. If we instead replace the steam_api.dll (this could also be named steam_api64.dll depending on the game) with the one provided by the Goldberg Emulator, when the game makes the check for the steamworks drm status, the Goldberg Emulator's implementation of steam_api.dll will simply return true and let us play our game offline. The game itself just knows that it asked for a DRM verification check to a service, and the Goldberg variant of steam_api.dll looks (to the game) exactly like the "real" version, except that it always returns that the steamworks DRM has been verified.

Refer to the readme within the Goldberg project for more information about what to do with specific games. Also take note that this only works with games that only use steamworks drm (most of them) and games using other/multiple DRM solutions won't work with this method for offline play.

[Emulators]

All of the emulators listed below are my personal per-console pick. Each is at least in the recommended section of a great general emulation resource, the Emulation Wiki

Game Platform | Emulator Name | Emulation Platform | Comments

Nintendo Consoles

NES | Ares | Windows/Linux/Mac

SNES | Ares | Windows/Linux/Mac

SNES | bsnes-hd | Windows/Linux/Mac | Widescreen modifications for some SNES games

N64 | Simple64 | Windows/Linux | N64 emulation has a lot of viable candidate emulators, check the page here

GC | Dolphin | Windows/Linux/Mac

Wii | Dolphin | Windows/Linux/Mac

Wii U | Cemu | Windows/Linux

Switch | Ryujinx | Windows/Linux/Mac | Has a free multiplayer-enabled build called LDN 2.4 on Patreon

Switch | Yuzu | PC/Linux | Less accurate emulation than Ryujinx but generally more performant

Nintendo Handhelds

GB/C | mGBA | PC/Linux/Mac

GBA | mGBA | PC/Linux/Mac

DS | MelonDS | PC/Linux/Mac

3DS | Citra | PC/Linux/Mac/Android

Sony Consoles

Playstation | DuckStation | PC/Linux/Mac

Playstation 2 | PCSX2 | PC/Linux/Mac

Playstation 3 | RPCS3 | PC/Linux/Mac

Sony Handhelds

PSP | PPSSPP | PC/Linux/Mac

PSVita | Vita3K | PC/Linux/Mac

[Graphics Packs]

A lot of emulators have texture replacement capabilities built into them. What this means is that users can manually and/or AI upscale textures from the game into higher resolution or outright replace them with other textures. There aren't currently (that I'm aware of) area that have consolidated links to these things, so you'll unfortunately have to search individual project forums and look for texture or graphic packs links.

Some known graphics packs repositories:

Dolphin Forums

[Graphics Post-Processing]

With a utility called ReShade we're able to inject various post-processing effects into the final stage of the graphic rendering pipelines of games. This allows you to adjust color curves, inject path-traced global illumination (a method like ray-tracing), and add a bunch of other effects to DirectX9/11/12/Vulkan games.

[Graphics API Translation Layers]

Sometimes there are scenarios where a game may only use DirectX to draw it's rendered graphics to screen and we may not want this. This could be for performance reasons (maybe the Vulkan graphics api has better performance, maybe DirectX isn't available on our OS, or maybe the DirectX version is really old and not properly supported by our OS/GPU/Driver combination). In these instances we can use translations layers to translate DirectX graphics api calls into Vulkan calls using utilities like DXVK . Explaining which files to copy over depends on a per-DirectX version basis, so you'll have to use a combination of the PCGamingWiki and DXVK documentation to figure out which files to replace.

  • Dirt_Owl [comrade/them, they/them]
    ·
    2 years ago

    Growing up poor I can safely say that without emulators I would have never discovered so many gems that I never would have been able to play otherwise.

    • UlyssesT
      ·
      edit-2
      15 days ago

      deleted by creator

    • Donut
      ·
      edit-2
      1 year ago

      deleted by creator

  • discountsocialism [none/use name]
    ·
    2 years ago

    Good post, emulators are what got me into old internet forums back in the day. Archive.org has the emulation station which has a ton of actually free playable games in the browser. I know some of the guys who set it up, it's pretty solid.

    https://archive.org/details/emulation

  • invo_rt [he/him]
    ·
    2 years ago

    I've got some downtime at my current job and wanted to get some retro gaming in. Does anyone have any suggestions for a decent single board computer or small form factor PC that I could use for emulators at work?

      • invo_rt [he/him]
        ·
        2 years ago

        Thanks for the tip! I'll have a look through those. I might consider a handheld, but I was actually looking for something a bit more 'desktop'. I work for a games company so it isn't as weird as one would thing.

  • riseuppikmin [he/him]
    hexagon
    ·
    edit-2
    1 year ago

    Ran out of space on the main post.

    [Misc]

    Many PS2 and PS3 era multiplayer games are being revived due to development efforts surrounding the Medius Server component of the old playstation networking stack.

    Some notable games include: Ratchet and Clank Up Your Arsenal (PS2), Ratchet Deadlocked (PS2), Playstation Home (PS3), Warhawk (PS3), Metal Gear Online 2 (PS3), Demon's Souls (PS3)

    All of these server revivals can be played on real hardware or emulated. I recently played through Demon's Souls on RPCS3 with a friend and it worked great. You'll likely have to search the name of these games and multiplayer revival to find out the necessary information to connect to the servers. RPCS3 also has a PSN network implementation called RPCN that you should be aware of for many of the PS3 MP revivals.

    [Notable Game Mods]

    PrimeHack - native mouse and keyboard controls for the Wii Metroid Prime Trilogy games. This is a Dolphin emulator fork.

    AM2R - Another Metroid 2 Remake

    Sonic 1 and 2 Decompilation Project

    Ship of Harkinian - TLoZ: OOT decompilation project

    SM64PCBuilder2 - Building utility for the various Super Mario 64 decompilation projects (one of which is a great co-op multiplayer mod)

    DSP Nebula Mod - Multiplayer mod for Dyson Sphere Program

    Nehrim - Mod using the Oblivion engine to build a unique fantasy story independent of the elder scrolls universe

    Enderal - The sequel to Nehrim using the Skyrim engine to build a unique fantasy story independent of the elder scrolls universe and probably one of the best WRPGs of all time

    Nitrox - Subnautica Multiplayer mod

    Create: Above and Beyond - the single greatest Minecraft mod pack to ever exist

    Stardew Valley Expanded - an absurdly impressive mode for Stardew Valley that explodes the amount of content in the game

    Space Exploration; Bob's mods; Angel's Mods - 3 separate incredible mods for Factorio

  • sooper_dooper_roofer [none/use name]
    ·
    edit-2
    2 years ago

    Do people still use project64? That's what I used back in 2010 before my computer died and I never got around to playing that stuff again

    also remember using ZSNES and playing pilotwings (I'm not even 30 technically so this was actually retro for me, also super fun)

  • riseuppikmin [he/him]
    hexagon
    ·
    1 year ago

    [Engine Reimplementations]

    This is a relatively new area that gaining a bunch of steam right now where people re-make the engines (the thing that actually runs a game) for older games in order to support newer hardware and vastly broaden the scope of modding functionality. Essentially what these projects do are take the assets from a game (textures, models, etc) and then load them into a a modernized game client (with all the bells and whistles you'd expect from a modern project in terms of graphics settings and compatibility). Most of these projects require a subset of the original game files to run, so make sure you acquire them prior to running these projects.

    Projects

    OpenMW - a Morrowind engine re-implementation

    TES3MP - an OpenMW fork focused on multiplayer support

    OpenRCT2 - a Rollercoaster Tycoon 1 and 2 engine reimplementation that greatly boosts compatibility, removes legacy game restrictions (park size, number of rides in park, number of decoration in park) as well as adding online multiplayer

    OpenTTD - A Transport Tycoon Deluxe reimplementation that I'm not especially familiar with but I see get good mentions