Dolphin, the GameCube and Wii emulator - Forums

Full Version: How does Dolphin work?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(09-15-2014, 03:57 AM)pokemontrainer Wrote: [ -> ]Thanks for your answers again. Why is emulating the MMU so complicated? Did the programmers manage the memory manually? When programming on Windows or whatever you just create variables and don't worry too much about where they are usually. The OS is managing the memory for you, right?

It really depends on the language. Some languages, especially older ones, you want to manually manage the memory and tell it to free up variables when possible. Other languages you don't really manage every bit individually but you do want to occasionally call manual garbage collection to free up variables. Newer high level languages like Java handle garbage collection (freeing up unused variables) completely automatically.
Console games have a tendency to use every hack in the book for performance (they basically -wrote- the book, so to speak), since they can rely on every user's console being identical hardware and software-wise. It's not unheard of for games to write their own memory layouts, their own exception handlers, their own replacements for system libraries, their own threading...

This is part of why emulating a lot of older consoles can be so difficult; even if the hardware was a lot slower, you had everything from custom co-processors built into cartridges to games that rewrote the GPU's microcode to suit their needs.
Pages: 1 2