所有 95 則留言
[–]ShonumiGB Enhanced+ dev 70 指標  
Looks like they're off to a good start. Seems that they're tackling the fundamentals (getting the CPU working, getting instructions decoded for the GPU, adding debugging stuff, and above all actual research). This is how real emulator projects start, so I'm glad to see their efforts.
It'll be a while before any of us starts seeing "sexy" results like screenshots, but I'm sure we can wait ;)
[–]objectorbit 42 指標  
Hell, the only reason Citra advanced as fast as it has(And it's been around for over a year, something people forget) is because it was using a super well documented CPU and a highly experienced team of developers.
I think the speed of its development will likely spoil folks and make them expect the same out of other emulators. I hope that doesn't happen.
[–]anonynamja 9 指標  
it was using a super well documented CPU
Was there a leak or something?
[–]ShonumiGB Enhanced+ dev 29 指標  
ARM CPUs are very well documented and have been for quite some time. It's custom stuff like the PICA or DSP that need closer looks and time to properly implement them (although there may have been some existing PICA docs, not sure, poke /u/neobrain)
[–]neobrainMulti emu dev 40 指標  
The DSP is completely undocumented modulo a disassembler binary (for a similar chip model) that leaked through one of Teaklite publicly distributed packages.
As for the PICA200: The basic functionality was reversed by u/smealum in parallel to my development efforts, so that came in quite handy. As for more advanced stuff, we have a number of public documents describing the DMP-specific extensions at a high-level and symbols shipping with some games mapping that to the low-level register set.
That said, it has been a pretty long road to actually gather all that data. Meanwhile, the Wii U basically has completely public and official GPU documentation provided by AMD themselves and uses a barely modified Wii CPU (times three). Furthermore, literally almost all software on the Wii U is shipping with symbols: Games, system software, and even the kernel and (afaik) IOS U. So in terms of information which is available, the Wii U is far better off than the 3DS.
[–]Baryn 8 指標  
So in terms of information which is available, the Wii U is far better off than the 3DS.
This is making pretty happy.
[–]metroid112 1 指標  
Hooray for documentation on hardware
[–]masteremulator 6 指標  
Signed up just to tell you, you da man.
[–]spiral6 2 指標  
Theoretically, we should see the Wii U catch up with Citra in a few months then, assuming they put in the same amount of work you guys do.:)
[–]douchecanoe42069 4 指標  
aren't powerpc cpus old hat at this point?
[–]freddy_francesco 5 指標  
[–]douchecanoe42069 4 指標  
who exactly uses these?
[–]dandandanman737 24 指標  
Nintendo
[–]freddy_francesco 5 指標  
https://www.power.org/solution/?solution_market=371 A bunch of companies, including IBM themselves.
[–]douchecanoe42069 1 指標  
Does anyone make software for them besides spreadsheets?
[–]SageWaterDragon 8 指標  
Nintendo.
[–]douchecanoe42069 -3 指標  
well, yeah, but does anyone make computer software? like for regular pcs?
[–]Teethpasta 1 指標  
Old macs?
[–]Spanone1 4 指標  
Citra development has been crazy fast. I found this when looking for oculus+citra stuff.
[–]dandandanman737 1 指標  
Citra doesn't have sound, that's a modded 3ds
[–]Spanone1 1 指標  
The point is 1 year ago 3ds emulation was "non-existent"
[–]dandandanman737 1 指標  
Ya, but your post didn't have anything to do with citra. Why not just show Oot3d running in HD at almost real time?
[–]Spanone1 1 指標  
Sorry I misquoted on my last comment.
"3DS emulator aren't a thing yet, the only one I know only runs homebrew."
This was the point of the link. To act as an example of how quickly citra has progressed.
[–]dandandanman737 0 指標  
Ah okay
[–]seifer93 2 指標  
People have underestimated the difficulty of emulating for ages. I remember seeing posts asking where the 360/PS3 emulators were within a year of the consoles' release.
[–]douchecanoe42069 1 指標  
well, dolphin and PCSX2 appeared within a couple years of their consoles releases. so, not completely unreasonable.
[–]FioraDelphinus 18 指標  
that's an interesting way of doing a multiply ;-) I get the feeling this code hasn't been tested...
(Edit: this has since been fixed)
(On a more serious note, the author would probably do well to inspect Dolphin's interpreter implementation, if only because there are quite a number of important CPU quirks which aren't in the manual, or for which the manual is outright incorrect.)
[–]exjam 14 指標  
Standard copy and paste error ;). Yeah have already found a few places where the manual differs to expected behaviour. The interpreter isn't solidly tested because it is a well solved problem, most of the time has been spent working on and reversing the HLE parts.
It does get reasonably far with some games / apps, a few even issue draw calls (although the GX2 implementation is still being worked on) some example traces: https://gist.github.com/exjam/7301441f1e02eb5ce7d7https://gist.github.com/exjam/9c851ed15d381447c2a1 https://gist.github.com/exjam/eff3778b3f2fa91ec2f2
[–]FioraDelphinus 29 指標  
Some useful things to note for the float interpreter alone:
1) single-float instructions clamp their output to float precision (AFAIK), but take full input precision, with the exception of 2). Impact: I don't know.
2) fmuls/fmadds/etc round their rightmost multiply input to 25-bit mantissa precision before doing the multiply. Impact: breaks physics in many games, breaks replays in almost all games that use them.
3) reciprocal and reciprocal square root are table-based, not precise; see dolphin for a C implementation you can crib. Impact: breaks physics in many games, breaks replays in almost all games that use them.
4) there are some "interesting" undocumented behaviors with regard to which non-paired instructions have effects on ps1; again, see dolphin. Impact: I don't know.
5) the Wii CPU in non-IEEE mode (which most games use) does not flush input denormals, but does flush output denormals (FTZ but not DAZ) even though the manual explicitly says otherwise. Impact: I don't know.
6) single-precision loads convert to double internally (and stores convert back to single), but -do not- flush denormals and do not modify signalling NaN bits, whereas they will on x86. be careful. Impact: breaks many games that use float registers to copy integer data, such as Beyond Good And Evil.
7) NaN propagation rules differ very slightly between x86 and PPC for FMAs; be very careful. Fortunately this one only breaks one known game on Wii/GC, so it might be mostly ignorable. Impact: this one DBZ game, I think.
8) ps_sel/fsel have very specific rules about NaN behavior; make sure you get the directions right. Impact: breaks at the very least Beyond Good and Evil.
So what I'm saying is, even interpreters aren't that easy ;-) I totally agree that the GPU and system emulation are the scarier part, though.
[–]hrydgard 11 指標  
It should also be noted that a large number of games don't really care about these details, or only have minor issues. You can get pretty far without implementing it all. For a long time Dolphin got away with not really caring about most of these :)
[–]phire 10 指標  
Dolphin has hit a endgame sometime in the last 3-4 years where it has moved from trying to get 'most' game running at a 'playable' state (occasional crashes, minor graphical glitches, occasional 'workarounds' needed to finish a game), to aiming for 100% accuracy in 100% of games, without hacks.
[–]hrydgard 3 指標  
I'm fully aware of that (and I think it's great!), just saying that it needs not be the top priority for a brand new emulator to get these things right. Plus, Dolphin is now available as a template when it's time...
[–]douchecanoe42069 -1 指標  
it probably is a good idea to not built your emu on hacks though.
[–]sarkie 7 指標  
I do love your replies in every thread.
[–]JayFoxRox 1 指標  
Great post! Very interesting
[–]objectorbit 3 指標  
Aren't the PPEs much different compared to the Gekko/etc?
[–]FioraDelphinus 16 指標  
The Wii U's CPU is a triple-core, higher-clocked Wii CPU. It should be very close in behavior; it can still run Wii and Gamecube games. AFAIK, Nintendo had to basically beg IBM to make it as a custom chip because nobody else would want newly-designed PowerPC G3 CPUs in the 2010s.
This is the Wii U, not the PS3 (the PS3 PPEs are an entirely different, PowerPC G5-era chip).
[–]objectorbit 8 指標  
Oh goddammit I got my consoles mixed up for some reason.
[–]Lioncache 2 指標  
To add onto this, one example I know of off the top of my head is how mffs functions. Some manuals will indicate that it's supposed to move the FPSCR into a floating point register and fill the top 32 bits of the register with ones – It does not do that on Gekko.
For example: say you clear the FPSCR, then you just do a generic mffs to an arbitrary FP register (since doing silly operations is great for finding stuff). You'll find that the register is actually set to -NaN (0xFFF8000000000000).
[–]TheAbstractHippo 11 指標  
It looks like the developer has a repository called "xbox360-emu". I've never heard of both of the emulators until now. We'll just have to see if it can make progress before another emulator comes out and snatches the glory. Bookmarking this.
[–]exjam 29 指標  
Started on that when Ben had stopped work on xenia, but shortly after he started on it again so I decided to work on wiiu instead.
[–]Tempest228 9 指標  
Better get comfy. It's going to be a while.
[–]Delirious23 15 指標  
Alright, Xenoblade Chronicles X 2018 or 2019 here I come!
[–]SNOOP_ME_UR_NUDES 15 指標  
More like 2022 if we go by the development of dolphin.
[–]douchecanoe42069 0 指標  
dolphin had a multi-year hiatus.
[–]rqaa3721 12 指標  
2018
Hah, funny jokes.
[–]dandandanman737 9 指標  
I think we'll be lucky ix Xbox 360 emulation is doing well by then, let alone the Wii U
[–]killthealias 5 指標  
Ah yes, the day when it'll be easier to play Bayonetta on a Wii U emulator rather than an 360 emulator.
[–]SageWaterDragon 6 指標  
Or, you know, you could buy it in a month or two when it comes out on the system it was intended for in order to support the developers who poured their hearts into making it.
I mean, I love emulation (there's a reason that I'm here), but at a certain point you should realize that it isn't the greatest thing in the world.
[–]Delirious23 4 指標  
I won't buy the console for one game and WiiU emulation is far far away so I'll hold off on buying a $69.99 game on release when I intend to emulate it years ahead. I'll buy it later on when I actually play it. You expect me to buy a game when I won't play it till a few or more years later? No, thanks.
[–]Raikaru 2 指標  
Buying the system doesn't help the developers. Buying the game does.
[–]SageWaterDragon 1 指標  
I mean, if console sales increased when the game came out then it would help for future funding, and Monolith is a first-party studio, but I see what you're saying.
[–]DrecksVerwaltung 10 指標  
Requirements
Windows 10, 64 bit
DirectX 12
Are you serious? Or are you gonna add Vulkan support later on?
[–]neobrainMulti emu dev 16 指標  
It's planned to move to Vulkan once a spec and driver support are available.
[–]exjam 18 指標  
Yeah the Windows 10 requirement is due to us using DirectX 12, it will be relaxed once Vulkan is released. We don't feel like writing an OpenGL backend right now when it will be replaced by Vulkan anyway.
There isn't much Windows specific code so should be fairly easy to add Linux support, OSX is a different beast as I assume we'd need to write a Metal backend (doubt Apple is going to implement Vulkan based off their history with OpenGL support).
[–]DrecksVerwaltung 9 指標  
Thats very good to hear.
Also I think eventually Apple will have to fall in line eventually , almost nobody has plans to support Metal anytime soon.
[–]Zirgs 4 指標  
OSX is a different beast as I assume we'd need to write a Metal backend
I think there's no point in wasting time on an osx port. You should focus on OSes whose developers don't treat gamers as 2nd class citizens. (the latest OpenGL version that OSX supports is 5 years old - wtf!?)
[–]jazir5 1 指標  
I'm just curious have you guys traded notes with the dolphin team? /u/fioradelphinus is one of the leads, it could help. Good luck on the emulator, i'm excited to see it progress
[–]lingua_navarrorum 14 指標  
Not Windows only please...
[–]xadet 23 指標  
I'm friends with the developer and have nagged him to add Linux/OS X support, rest assured that nagging won't stop!
[–]exjam 17 指標  
soonTM
[–]lingua_navarrorum 4 指標  
Using the WiiU gamepad (tabletpad?) in Linux would be the most awesome thing ever happened to emulation.
I would love to use mine at least for streaming emulators to it or something like that.
[–]b0b_d0e 4 指標  
Thats been possible for a year or so if you like complicated install instructions. http://libdrc.org/ I really wish it would get some more updates though.
[–]Maestrotx 18 指標  
Don't worry. Doors will be included.
[–]pcmaker 3 指標  
exjam: Nice to see a next emu in work in progress.Is possible to write wiki (HOW TO) on github for testing and possible future help with testing, debugging?
[–]sasuke256[S] 2 指標  
Now they are rendering some basic stuff.. :) edit : working on textures, any help from you geeks would be helpful.. :)
[–]dandandanman737 1 指標  
So exciting!
[–]Baryn 5 指標  
This is super exciting, if /u/exjam feels confident enough to launch a kickstarter, know that they have a backer waiting in the wings.
[–]exjam 9 指標  
Thanks for the support but that's never going to happen - this is an open source project I work on in my free time around my full time job :).
[–]Baryn 2 指標  
Totally understandable, thought I'd just throw it out there.
[–]askacanadian 2 指標  
Also putting money into this might create a legal problem.
[–]Baryn 5 指標  
Surprisingly not. There is nothing illegal or even grey area about writing original software. Of course, you can literally sue for any reason...
[–]lapishelper 1 指標  
I hope this is not a scam, can any programmer confirm that commits actually add code for emulating console, or it is like project named psx4emx which was scam to make people donate money, and all they did was creating emulator which only displays a window, and that they will add actual emulation stuff later.
[–]neobrainMulti emu dev 26 指標  
It's not a fake.
[–]dandandanman737 1 指標  
Wouldn't it be nice if they had monthly updates, like dolphin. That way we could see the growth of an emulator from the begining.