(10-15-2016, 12:16 PM)Kurausukun Wrote: [ -> ]This is just curiosity--do we want to emulate the Wii system internals/IOSes/etc. at a lower level at some point, or would it completely unavoidably murder performance and is thus not planned?
Quite frankly, and I couldn't say for sure, but I think that has to do with just how much more powerful hardware gets in the next half a decade. However even if there is a good chance of it happening, I certainly wouldn't say it was impossible to accurately emulate the Wii/IOSes low-level and retain majority, or even totality quality of performance. After all the Wii only had 88MB of RAM and a 723MHz processor, realistically (at least when it comes to the required difference in magnitudes of power between the emulated and emulating machine's raw power for things to be both near-identically accurate, and preform well) a modern 3.5-5.0GHz multi-core processor with over a dozen GBs of RAM to spare would in no way be considered lacking said magnitudes increase. Really I think it comes down to finding more efficient ways of preforming the same tasks that the Wii's processor preforms (perhaps by creating a pin-for-pin virtual CPU for the machine, in which firmware could be overwritten by replacing files/programs that preforms the same tasks as ad exist as placeholders for the BIOS/CPU[divided into a program per function, called when needed, never running in the background for efficiency]/NAND[which has already been done]/etc.. Of course this method would rely on licensing the schematics from IBM/Acorn/whoever designed the PPC chip in the Wii, and would require open-source alternatives that were both fully compatible with, and only recreating the function of the original IPs from Nintendo, which again with this part is partially done.)
TL;DR: perhaps it could be achieved using a method similar to what FreeDOS and other PC-DOS compatibles did, while it may not be an easy task; recreating the functions in a way compatible with the original, that does not necessarily directly emulate it. So, realistically as far as Dolphin being an emulator goes: no, however when it comes to the System Menu and other system oriented firmware properties, as a separate project or perhaps a sub-project of Dolphin specifically designed to achieve accurate Wii low-level replication quite possibly, but in the end even if this did work the games themselves would likely still run on the existing Dolphin framwork, with Low-Level being relegated specifically to homebrew/system functions which require it.
(10-15-2016, 11:56 AM)tiadefum Wrote: [ -> ]@JosJuice I am aware that because it is free does not mean it can inherently be redistributed, however I misunderstood the HBC's license model, and was under the impression that it was literally freeware, as in can be redistributed and modified.
That's not what freeware means. To quote Wikipedia:
"Freeware is proprietary software that is available for use at no monetary cost. In other words, freeware may be used without payment but may usually not be modified, re-distributed or reverse-engineered without the author's permission."
(10-15-2016, 12:16 PM)Kurausukun Wrote: [ -> ]This is just curiosity--do we want to emulate the Wii system internals/IOSes/etc. at a lower level at some point, or would it completely unavoidably murder performance and is thus not planned?
It will only happen if someone steps up to do it, which nobody has done yet. We can't know in advance if anyone will do that.
(10-15-2016, 01:38 PM)tiadefum Wrote: [ -> ]Quite frankly, and I couldn't say for sure, but I think that has to do with just how much more powerful hardware gets in the next half a decade. However even if there is a good chance of it happening, I certainly wouldn't say it was impossible to accurately emulate the Wii/IOSes low-level and retain majority, or even totality quality of performance. After all the Wii only had 88MB of RAM and a 723MHz processor, realistically (at least when it comes to the required difference in magnitudes of power between the emulated and emulating machine's raw power for things to be both near-identically accurate, and preform well) a modern 3.5-5.0GHz multi-core processor with over a dozen GBs of RAM to spare would in no way be considered lacking said magnitudes increase. Really I think it comes down to finding more efficient ways of preforming the same tasks that the Wii's processor preforms (perhaps by creating a pin-for-pin virtual CPU for the machine, in which firmware could be overwritten by replacing files/programs that preforms the same tasks as ad exist as placeholders for the BIOS/CPU[divided into a program per function, called when needed, never running in the background for efficiency]/NAND[which has already been done]/etc.. Of course this method would rely on licensing the schematics from IBM/Acorn/whoever designed the PPC chip in the Wii, and would require open-source alternatives that were both fully compatible with, and only recreating the function of the original IPs from Nintendo, which again with this part is partially done.)
TL;DR: perhaps it could be achieved using a method similar to what FreeDOS and other PC-DOS compatibles did, while it may not be an easy task; recreating the functions in a way compatible with the original, that does not necessarily directly emulate it. So, realistically as far as Dolphin being an emulator goes: no, however when it comes to the System Menu and other system oriented firmware properties, as a separate project or perhaps a sub-project of Dolphin specifically designed to achieve accurate Wii low-level replication quite possibly, but in the end even if this did work the games themselves would likely still run on the existing Dolphin framwork, with Low-Level being relegated specifically to homebrew/system functions which require it.
Many parts of this post don't make sense.
@JosJuice Please understand that I was using the Linux enthusiast colloqiual meaning of freeware (a synonym for FOSS, I realize not all freeware is opensource). In relation to my post however I realize it sounded like incoherent rambling, I had quite a bit of coffee, about an hour of sleep and was having a difficult time getting across the idea I had, which was basically just a Vrtual Machine for the PPC eabi architecture that could be called in place of HLE specifically when someone chose the "Launch System Menu xxxxx" in the tools menu. The System Menu and channels could be run inside the VM, and would shutdown, launching Dolphin's current emulation software when a game is launched from the disc channel. Really just bundling a PPC eabi VM with Dolphin and putting a button in the tools menu to launch whatever is currently installed in it, which could just as realistically be any version of Linux/Unix that exists for PPC eabi.
As a Linux user, freeware definitely isn't a synonym for FOSS…
Quote:just a Vrtual Machine for the PPC eabi
Quote:The System Menu and channels could be run inside the VM
This still makes absolutely no sense. Firstly, the system menu and channels run on the PPC, but the part of Wii emulation that is really completely HLEd is IOS. Secondly, you don't just use a VM like that; if you "just" used a random VM or qemu, it wouldn't work at all. It has to interact with other parts of the system. Also, PPC isn't an issue for Dolphin, so I don't get your point at all…
(10-16-2016, 08:31 AM)leolam Wrote: [ -> ]As a Linux user, freeware definitely isn't a synonym for FOSS…
This still makes absolutely no sense. Firstly, the system menu and channels run on the PPC, but the part of Wii emulation that is really completely HLEd is IOS. Secondly, you don't just use a VM like that; if you "just" used a random VM or qemu, it wouldn't work at all. It has to interact with other parts of the system. Also, PPC isn't an issue for Dolphin, so I don't get your point at all…
I don't know what to tell you in relation to the freeware thing, I have been using Linux (well, OK, Unix but still) almost exclusively for years and have many a time heard freeware used as a synonym for FOSS, but I suppose that part isn't really important. When it comes to the VM, I wasn't expecting it to work out of the box with a vanilla copy of QEMU or anything, when I said "just" I meant that the concept of a VM was not particularly novel. Obviously it would need to be fairly heavily customized in order to run software made for the Wii, however I don't think it would require groundbreaking new ways of emulating hardware. BTW, that also makes me wonder, is the Wii's processor an SoC? I never thought to seek out that info until now. In hindsight probably a pretty important detail. Seeing as its PPC not ARM, and uses BIOS so I wouldn't figure it to be, but I suppose its still possible.
Also when you say "PPC isn't an issue for Dolphin, so I don't get your point at all..." do you mean that Dolphin already emulates/simulates a PPC processor? As I said in an early post on this thread, I am admittedly not too familiar with how Dolphin's internals work, I am just throwing out potential (and likely quite flawed) ideas as to how it might be possible to LLE the Wii's hardware, I never claimed to have an actual answer.

On a separate note, and getting more back to the original point of this thread: I have attempted to make several programmes to run in Dolphin and so far none of them do anything but close immediately after opening, and I don't mean that it crashes, I mean the window closes as though I had ended emulation, even when the program expects or requires user input from a controller before closing. They won't even display basic text with printf. I know that it isn't Dolphin being unable to run code built with DevKitPro, I can run NeHe's GX, sprite, and FS demos with no issue, and I am using the same makefile and compiler as I did for those. I also know it is not a problem with the fact that I am reusing said makefiles because I also used them to compile two simple programmes I made whose sole purpose is to either soft or hard reboot the console (I made them forwarder channels so that if I installed a new .wad I could just run one of the channels and it would be in my System Menu. its easier than turning on my mouse, stopping emulation and restarting the System Menu, and on testing those they both worked perfectly) so I don't understand why controller input/text output oriented programmes just close. Any ideas?
(10-16-2016, 08:56 AM)tiadefum Wrote: [ -> ]I don't know what to tell you in relation to the freeware thing, I have been using Linux (well, OK, Unix but still) almost exclusively for years and have many a time heard freeware used as a synonym for FOSS, but I suppose that part isn't really important.
I have never heard such a thing. It's common to say "free software" when you mean that, but "freeware" is something completely different.
(10-16-2016, 08:56 AM)tiadefum Wrote: [ -> ]Also when you say "PPC isn't an issue for Dolphin, so I don't get your point at all..." do you mean that Dolphin already emulates/simulates a PPC processor?
Yes, Dolphin already emulates a PPC processor. If it didn't, no GC/Wii software would be able to run at all.
The ARM CPU is the one that Dolphin can't do low-level emulation of, and is the part of Dolphin that's the source of your problems.
(10-16-2016, 08:56 AM)tiadefum Wrote: [ -> ]As I said in an early post on this thread, I am admittedly not too familiar with how Dolphin's internals work, I am just throwing out potential (and likely quite flawed) ideas as to how it might be possible to LLE the Wii's hardware, I never claimed to have an actual answer. 
Those kinds of ideas aren't of any use. We already know what would be needed for IOS LLE, and that's proper emulation of the Starlet (the ARM CPU). The only way to get more progress on that is to have someone work on ARM emulation. On the other hand, there is also the option of working on improving IOS HLE, but I doubt that that would give you everything you want, since we probably don't want to emulate cIOS.
(10-15-2016, 01:38 PM)tiadefum Wrote: [ -> ]After all the Wii only had 88MB of RAM and a 723MHz processor, [...] a modern 3.5-5.0GHz multi-core processor [...] would in no way be considered lacking said magnitudes increase.
That's a wrong assumption we're told here on the forum every day.
log10(3.5 GHz / 0.7 GHz) = log10(5) = 0.7
So about 70% of a magnitude faster. Where is your "magnitudes increase"?
You just have 5 CPU cycles on the host plattform for each PPC cycle. Please keep in mind that the instruction set differs a lot, so 5 cycles aren't that many.
(10-16-2016, 10:16 PM)degasus Wrote: [ -> ]That's a wrong assumption we're told here on the forum every day.
log10(3.5 GHz / 0.7 GHz) = log10(5) = 0.7
So about 70% of a magnitude faster. Where is your "magnitudes increase"?
You just have 5 CPU cycles on the host plattform for each PPC cycle. Please keep in mind that the instruction set differs a lot, so 5 cycles aren't that many.
This is just as wrong though, it doesn't take into account micro-architecture differences, memory access speed, cache sizes, etc. Average IPC should likely weigh in these calculations, and I suspect that we're way closer to 1 order of magnitude if it's included.