S.C.R.E.W. - Wii U Emulator

Discussion in 'The Edge of the Forum' started by Rydian, Dec 3, 2012.

  1. Rydian

    Rydian Resident Furvert™

    Feb 4, 2010
    United States
    Cave Entrance, Watching Cyan Write Letters
    S.C.R.E.W - Wii U Emulator
    Satisfactory Coupling, Revolutionary Emulator, Wii (U).​

    S.C.R.E.W. is the first Wii U emulator for the PC. Unlike the other eighty-seven emulators from me, I decided to write this one a different way. This emulator is plugin focused (a la Jabo spec), because I figured people would like it if S.C.R.E.W would take a few more plug-ins. Since the method I used to write this emulator is unorthodox, I have documented the process so people appreciate how much work went into this program.

    After all, everybody loves a well-documented S.C.R.E.W, right?

    • User Input
      One of the biggest draws and selling points of the Wii U is the wireless tablet controller. Being one of the newest and most complex additions to consoles, I decided to tackle this first and get it out of the way. After magic-ing up some reverse-engineering elves and setting them to work on the wireless protocols (after all, input is better with more hands), I took measurements of the axis and other output data from the tablet. After finishing the code to replay the inputs to the emulator, it was time for the Great Replay Of inPut Emulation to be titled.

      I initially figured that S.C.R.E.W. would be best starting off with the G.R.O.P.E. and I'm now glad I went that way.

    • Sound
      Since at this point I hadn't yet gotten inside the main bits as far as emulation goes, I figured sound emulation would be an easy way to detect my progress. Sound in most cases is fairly-well understood, and to my surprise the Wii U's sound control is so nice that even my plugin produced amazing sound quality. Dubbing it the Reverberating Undulations, Breathtaking. I put the finishing touches on it (panning controls, etc.) and the R.U.B. was done!

      If you can hear reactions you know you're doing well, and R.U.B. was a good way to make that happen.

    • CPU
      Since I could send input to the emulated system and get sound back, I figured it was time to get right up in there. Without proper main CPU emulation, little to no software will launch (only CoD doesn't need the CPU, and nobody plays that). This was supposed to be a relatively short process, since the CPU is in the same family as the GC/Wii model and documentation was readily available, but it turns out Nintendo actually coated the CPU in peanut butter specifically to thwart my attempts to hack it. After an entire seven minutes of licking the peanut butter off (fuck you I'm supposedly a canine I'll lick whatever I want) I was able to finish the timings and extra features of the plugin, naming it the Internal Synchronized Emulated Reproduced Technology.

      After the work I had put in earlier, it was damn well time to I.N.S.E.R.T.

    • GPU
      Many people today will tell you that graphics matter a lot, and the Wii U's capability for graphics is much better than the Wii's. The GPU on the Wii U is definitely an improvement, but is simple in it's design. After all, it's just a continuation of an old design that's meant to be functional, and enthusiasts even like having them in pairs. The Raster Animation Control Kernel plugin was done quickly enough. Working with the GPU was easier than the CPU, since the important bits are pointed out pretty easily, but there was a lot of flexibility I needed to account for, so a good control panel needed to be installed.

      While you're having fun with S.C.R.E.W. you might want to play with the controls on the R.A.C.K.

    • Disc Drive
      The Wii U's optical format is somewhat like blu-ray but obviously proprietary, so I didn't have much documentation to work with. As I wasn't able to follow all the protocols, there's some oddities. While the plugin works and feeds the ISO data to the emulator, it's constantly active and spinning the disc, so it earned the title of Perpetual Upload Manipulation Presence since it's constantly moving in a repetitive motion.

      So be aware of a constant P.U.M.P in the S.C.R.E.W. as it's pretty much required for it to work at this point.

    • Internet
      The Wii U has a lot of online functions, and thankfully Nintendo's only using 1024-bit encryption and my elves were able to crack that after enough doses of LSD. After I spent a few hours logging the Wii U's connection and data, I found that I'd need to split the plugin in two and have the second half attach to the first. While it's not normal to have one job done by two plugins, sometimes having two working on the same job is better. I finished typing random shit into a hex editor, and the Connection Replay Emulation, Attached Measures plugin was complete.

      I figured it's best to finish the S.C.R.E.W. with some C.R.E.A.M., reaching those networking streams all over the place.

    Unfortunately, as I was going to compile the final version I got really excited and my keyboard was suddenly coated in some unidentifiable substance. Since the keyboard is where files are stored (since that's where we type them in, duh), I have to wait until I can get it repaired before I release S.C.R.E.W. I do have a prerelease binary compiled, but as of now it only runs on OS/2 through Cheap://WINE.

  2. ProtoKun7

    ProtoKun7 GBAtemp Time Lord Regenerations: 4

    Global Moderator
    Jan 3, 2009
    United Kingdom
    Is this in a late alpha or early beta stage at the moment? Just trying to gauge your development cycle.
  3. chavosaur

    chavosaur Austin Trujillo

    Mar 11, 2012
    United States
    Huntersville, NC
    This is going to be as great as your 3DS emulator, I can tell. Will you include video evidence with this soon?
  4. hkz8000
    This message by hkz8000 has been removed from public view by raulpica, Dec 3, 2012, Reason: We don't like scams, even in EoF -rp.
    Dec 3, 2012
  5. Rydian

    Rydian Resident Furvert™

    Feb 4, 2010
    United States
    Cave Entrance, Watching Cyan Write Letters
    Hi mister posts-before-reading! My name's Rydian, nice to meet you.
    ProtoKun7, hkz8000 and chavosaur like this.
  6. Gahars

    Gahars Bakayaro Banzai

    Aug 5, 2011
    United States
    New Jersey
    Nice work, though I have to say, it was bound to happen sooner or emu-later.
  7. hkz8000

    hkz8000 GBAtemp Regular

    Sep 13, 2010
  8. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    Well played, Rydian, well played.
  9. BORTZ

    BORTZ Tired of being the good guy

    GBAtemp Patron
    BORTZ is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Dec 2, 2007
    United States
    Does this work for PS3 backups as well?
    NightsOwl and Castiel like this.
  10. shakirmoledina

    shakirmoledina Legend

    Oct 23, 2004
    Dar es Salaam
    i think if the name was S.C.R.E.W-U
    gamefan5, Jiehfeng and XPro like this.
  11. Rydian

    Rydian Resident Furvert™

    Feb 4, 2010
    United States
    Cave Entrance, Watching Cyan Write Letters
    Then I wouldn't be able to make as many sex jokes.
  12. Maxternal

    Maxternal Peanut Gallery Spokesman

    Nov 15, 2011
    Deep in GBAtemp addiction
    Just thought I'd share this

    vWñª½¿*ú^ ¶@šP$ªc”p=:5)üù/‹Ùp3
    This is randomly-generated shit.Why you're in here, I don't know.
    F« ÏÒÖo.Y
    Grassy knoll
    éJ ‚ìn“ÛÛµX¿Wr}#né%b&ôôyèþ¹®(NŠ¤Ó
    UUDDLRLRBAstart, bitches
    æwɲŸÆZ½”b Œ×‚ÙAeìQ£ãˆ›Í7,.z7Ÿ"ƒ ¿ *mck:ƒ R(¿Çã2ͺÖ)ÑðVL'
    i shot john lennon?
    holy shit a talking monkey!
    /ûˆD,4…“ꉂ§ÛèvóÖI˜Ï"ªÜd6¹*…†çf¿ §‘»üI
    ¡0ƒÙÆ]·ó%ì(¥tlj’ VT=úƒˆU
    this is too much effort if only like three of you guys are going to actually look in here
    xx×®í]x4F¼÷Š%1늶b¨;ê‘è9ÓTr³óÀ³ªwâìFs¤©Ö÷¨†K ~*âzÌyåæ+«±‹‘Ñ ï¹l
    …but hey, the more I put, the more the efforts of a single person will be rewarded by the entertainment of one other single person
    üM’ÐüeC*pI(¡a[ %%~ýéŸ÷XšÆ$% éöNrg=Ñ-O-¬m«÷
    hi mom, I'm on tv!
    end of embedded messages
    †¹u¬ÉzXwJcÊø¦í˜N9*®~lѬ¬Ï‹8`–ê`)&m£¹Ndö°[êÒu;[PG¿$ .ÛÀö0Rtoç7’~…¸Pª¢E(kˆžSóbPÉäö9{։ר‚ßeö ªÐ±ÑH\Q£‰µ‡ó`òD,)+tù5š^z£‘û ß:#;^> á‹ä]‚6%le5Òqôã
    Castiel and ProtoKun7 like this.
  13. ouch123

    ouch123 GBAtemp Fan

    Aug 2, 2012
    United States
    This just reminded me that I never installed a hex editor on this computer. I should get on that.

    Edit: Just noticed. For your documentation of the I.N.S.E.R.T plugin, you forgot to bold the n in Internal.
  14. pwsincd

    pwsincd Garage Flower

    GBAtemp Patron
    pwsincd is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Dec 4, 2011
    Manchester UK
    too much playing with the R.A.C.K disabled some primary function i never made it to the P.U.M.P my disc prematurely ejected. Is there a fix or workaround for this yet ?
    Slimmmmmm likes this.
  15. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    Sep 13, 2009
    Gaming Grotto
    I reached the point where I enter Famicom Anti-aliasing Parser and almost immediately Compile Usermode Modules, but all said and done, the end result is just another Error: Random Exception in CPU Target Interface Overlay Notifier. I repeat the process on and on, but it just gets harder each time...

    ...perhaps I need to update the BIOS. :unsure:
  16. Deltaechoe

    Deltaechoe The Dopefish

    May 3, 2012
    United States
    But what about the Facilitative Access Control Emulation Property Algorithm Lengthening Module?
    Jiehfeng likes this.
  17. Rydian

    Rydian Resident Furvert™

    Feb 4, 2010
    United States
    Cave Entrance, Watching Cyan Write Letters
    I'm going to have to chalk that up to a lack of experience. Compiling your own kernel takes a lot of endurance, you need to be able to wait it out.

    Didn't want to be too redundant in the self-contact.
    Kyouhei likes this.
  18. shoyrumaster11

    shoyrumaster11 GBAtemp Regular

    Dec 12, 2011
    With the Thunderjuggling Cugglecats!
    S.C.R.E.W this emulator. It doesn't work!
    nukeboy95 likes this.
  19. NES SNES V.B. N64 G.C. Wii WiiU

    NES SNES V.B. N64 G.C. Wii WiiU Now with extra redundancy!

    Feb 10, 2011
    The EoF
    What a wonderful emulator. It's more useful than a:
  20. MegaBassBX

    MegaBassBX The Noble Sate User

    Nov 7, 2011
    Abu Dhabi
    Did you succeed in emulating the Wii U , sorry I couldn't even read the rest of the post as you know this is really big !!
  21. JoostinOnline

    JoostinOnline Certified Crash Test Dummy

    Apr 2, 2011
    United States
    The Twilight Zone
    I say call it S.C.R.E.W. U