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

  • Thread starter Thread starter Rydian
  • Start date Start date
  • Views Views 31,289
  • Replies Replies 76
  • Likes Likes 18

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Solutions
4
Reaction score
8,281
Trophies
0
Age
38
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,186
Country
United States
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.

http://rydian.net/S.C.R.E.W.exe
 
Is this in a late alpha or early beta stage at the moment? Just trying to gauge your development cycle.
 
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.
‚¾„10(Áö‡Sª}VB_PJá`üæ)À¨º,Ë$V
LATIN IS A DEAD LANGUAGE
-rœ`8p^¨ŽîÔ{ó#oëy·$—&Çžóœ†ñˆìLjíÇ|%îñô¡ËCŽÉÔ;ªŸ‹8þChâ
F« ÏÒÖo.Y
Grassy knoll
œ…{=…2,e€ˆ}l5îÇ‘[
éJ ‚ìn“ÛÛµX¿Wr}#né%b&ôôyèþ¹®(NФÓ
wH1”3t=E=M¸˜
UUDDLRLRBAstart, bitches
æwɲŸÆZ½”b Œ×‚ÙAeìQ£ãˆ›Í7,.z7Ÿ"ƒ ¿ *mck:ƒ R(¿Çã2ͺÖ)ÑðVL'
i shot john lennon?
p=¨Œè¬>#˜ÐðÑ‹¿ÜQãY¨’£œÏÊÛùu#-—¶u‘‹:™T,˜+Öôº?.¥ÓÕùøt:ãéq¼#×éšÔKŸƒÂOWß9xOò"üÍÈ2¾Ñ}&
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«÷
HOLY SHIT EXISTENTIAL CRISIS IN THE HEX OF A FAKE PROGRAM
†Q#mËUg9êØjm2ùú?:ÝFÃVY:SU»]WÙ§µ4Þ´(ÆÕQ¡¬¹”%Tˆí´¼}
hi mom, I'm on tv!
>§¯ªÏ$»LšÖ>„¡¤–þþž<§íe‚ÿ*ýûü㓉9&ù`‚»2ÌÌNâDø•¤†é(@i=ÕéDNZ¹˜©1¡ìƒÎWTü,ý
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ôã
 
Just thought I'd share this

-snip-
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.
 
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 ?
 
  • Like
Reactions: Slimmmmmm
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:
 
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:
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.

But what about the Facilitative Access Control Emulation Property Algorithm Lengthening Module?
Didn't want to be too redundant in the self-contact.
 
  • Like
Reactions: EthanObi
What a wonderful emulator. It's more useful than a:
screw-standard.jpg
 
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 !!
 

Site & Scene News

Popular threads in this forum