Wii emulation question

Discussion in 'Wii - Hacking' started by aaron_McNiven, Jan 14, 2009.

  1. aaron_McNiven

    aaron_McNiven Advanced Member

    Jan 31, 2008
    New South Wales

    hey can somone tell me why you have to have a machine about 7 times as powerfull as the console your tying to emulate for it to work? would it be possible to edit the BIOS file for a wii so it will use your computers DVD drive and ram and cpu etc and then flash your computers BIOS with the modded ones and play your wii on the computer? what would be stopping that?

  2. Jacobeian

    Jacobeian GBAtemp Advanced Maniac

    May 15, 2008
    first, there is no "7 times" rules, it completely depends on the complexity of the emulated system

    why does it require much more CPU power ? because an emulator reproduces most of the original system hardware bevavior using software, and software must run on the host CPU (your pentium 4 for example)

    that means that the behavior of the Wii CPU (a Power PC running at 800mhz), of the DVD drive, of the ARM processor running IOS, of the I/O hardware, etc... all must be emulated through a software running on your little Pentium 4

    sure you can make use of your own hardware (Graphic and Sound cards, joysticks, SD adapter or what else) to help you in this task, but the main core is always software

    second, there is no BIOS file for the Wii and its architecture is COMPLETELY different from a PC, which means what you are thinking about is NOT possible (plus, there are more things than the BIOS controlling your PC you know, things that doesn't have ANy equivalent in the Wii)
  3. zidane_genome

    zidane_genome My sword has a +2 bleeding... wanna test it out?

    May 21, 2006
    United States
    Well, let's see... if you flash your BIOS with the Wii's BIOS, then not only will your computer be completely FUCKED, but you will have done all that for nothing...

    The Wii has specific hardware that your computer does not. Does your computer have the exact model Bluetooth, WiFi, DVD drive, SD card reader, and NAND reader that the Wii does? Didn't think so.

    You need a computer "7" times more powerful because you are EMULATING the hardware AND software of the console. Want to figure out what I'm talking about, here's an example.

    Take a computer that will run Windows 98, just over the max specs. Let's say a 1GHz processor, with 512Meg RAM, and intergrated video. Now, take VirtualPC, and try to run another copy of Windows 98 on it. Yea, that VirtualPC copy of 98 is going to be SLOW AS HELL. But why? Your computer meets the specs of Windows98! Why would the EMULATED Windows98 be so slow? Because your using alot more resources when using 2 OS's.

    When you run your NES emulator, your running a program that is the equivilent of every chip and program running on the NES. I know, it's not much, but that's why everyone and everything can run an NES emulator at this point. It's not a lot! The core NES processor runs at 1.79MHz (PAL/Australian at 1.66MHz). The TI-89 graphic calculator runs at 10/12/16MHz (depending on the exact model number)... so, even at the low end, it's over 4x more powerful than an NES!

    Now, take the Wii. 729MHz core processor, 243MHz GPU (graphic processor). Yea, that's gonna be difficult to emulate on current computer systems.

    Even the Playstation 1 is still not 100% emulated. There are glitches in audio/video, and some games won't work unless you have special addons, and hacks.

    It's a very difficult process to emulate any console after the SNES (which still has SOME problems, very very very few, but still some).

    If you have any more questions, feel free to ask!
  4. dnmn8r

    dnmn8r GBAtemp Fan

    Nov 14, 2008
    Although what you are saying IS true, it is unrelated to emulation on the wii, and emulation in general.
    The reason emulating a different machine is slow, is because they are usually completely architecturally different.
    Although usually they can do it, it just turns out really slow, because it's coded differently to what the machine expects.
    I can't remember who said this, but it's like me giving you a math equation which you could normally do, but then replace the decimals with hexadecimals.
    You probably will figure it out, although it may take you 2x as long to figure it out, if not longer.
    This is what emulating is. Software is used to translate code into code that's understandable by the machine, so 2 things are happening.
  5. Xeronage

    Xeronage GBAtemp Advanced Fan

    Aug 6, 2006
    Learn about computer architecture before you go spreading all that nonsense.

    Each architecture has it's own instructions; Assuming you have a PC it'll most likely work using the IA-32(x86) instruction set + extension sets; The Wii uses a PowerPC Processor(Right?) which has a completely different style of instructions. An emulator, ROUGHLY said, is software that interprets these instructions and executes them the x86 way. Ofcourse when you add in sound, graphics display and input/output control this becomes much more than that.
    Now if you do it efficiently you could write lets say...a GameBoy emulator that uses 5 of your PC's CPU cycles to emulate one of the GameBoy's CPU Cycles. Doesn't matter much since the Gameboy is only a few MHz compared to your PC which probably has around 2 GHz. With the Wii however, it's a different story. Plus, with later generations of consoles, architecture and structure has become more sophisticated with lots of diferent processors working in unison which have built in support for graphics and sound...Now try emulating that....
  6. Jacobeian

    Jacobeian GBAtemp Advanced Maniac

    May 15, 2008
    not always, this is what dynamic recompilation is but many emulators only use interpreters
    but this is only used to emulate ONE cpu
    a whole system generally consists in many processors/chps/devices running and communicating together

    emulation is litterally reproducing ALL native hardware behaviour AND interaction through software running on a host system

    the native software is not emulated, it runs through the emulator (aka ROMS)