Now I know why Virtual PC won't work on the G5

Posted:
in Mac Software edited January 2014
I heard this from a sales guy while checking out a new 1.8 GHz G5 at the Salem, NH Apple Store, and found a link to a story about the G5 VPC problem here:



Power Mac G5 not as open to Windows

Quote:

The reason for the incompatibility, according to Microsoft, is that the current version of Virtual PC for the Mac relies on a feature of the PowerPC G3 and G4 processors called "pseudo little-endian mode," which helps boost performance of a Mac when it is trying to emulate a Pentium chip.



"Because the new G5 processor does not support this feature, large portions of the (Virtual PC) for Mac program must be rewritten and carefully tested to work properly on the G5 CPU (central processing unit)," Microsoft said.



This is a fairly major incompatibility! I was hoping VPC would really fly running on the G5, but without a little-endian mode, integer math could get seriously bogged down with VPC flipping back and forth between big-endian and little endian numbers the hard way.



There probably aren't too many other pieces of software that use the G3/G4 little-endian mode, so I don't imagine much else besides VPC will have problems running on the G5. But for VPC itself, this is a major, major problem. I hope IBM had a damn good reason to leave this feature out.



According to the article, we won't get a 6.x patch. There will be no fix for the G5 problem until the next major release of VPC -- "expected within a year".

Comments

  • Reply 1 of 18
    neilwneilw Posts: 77member
    Here's an old article talking about how Connectix used the little-Endian mode on the G3 and G4 to realize significant speedups in VPC4.0:



    http://www.xlr8yourmac.com/VPC/ConnectixOnVPC4.html



    Indeed disappointing to find that the G5 lacks this capability; I too had been hoping for some gonzo VPC performance on the G5. Does Microsoft have the motivation to really push hard on the VPC development to try to overcome this, and make VPC halfway decent on the G5? I fear not. Ugh.
  • Reply 2 of 18
    shetlineshetline Posts: 4,695member
    Maybe we'll just have to hope that the hypothetical IBM 980 processor puts little-endian emulation back in.
  • Reply 3 of 18
    I'll bet there's a way to use AltiVec to vectorize emulating little-endian math with 8-bit integers...



    -- Mark
  • Reply 4 of 18
    neutrino23neutrino23 Posts: 1,515member
    I thought the 970 was part of the PowerPC family. How is it that it doesn't implement something that the other processors do? I could understand it maybe having a poorer implementation but shouldn't the code at least run? This sends up a red flag for me. Will there be something else missing from the 970?
  • Reply 5 of 18
    Quote:

    Originally posted by neutrino23

    I thought the 970 was part of the PowerPC family. How is it that it doesn't implement something that the other processors do? I could understand it maybe having a poorer implementation but shouldn't the code at least run? This sends up a red flag for me. Will there be something else missing from the 970?



    All of the PPC processors differ slightly in instruction set and features from each other.



    -- Mark
  • Reply 6 of 18
    Apple seemed to have the processor pretty much custom built. I wonder if this is a tactic to get that peice of shit of their hardware?
  • Reply 7 of 18
    Quote:

    Originally posted by the cool gut

    Apple seemed to have the processor pretty much custom built. I wonder if this is a tactic to get that peice of shit of their hardware?



    ?



    The 970 was not custom built, though they did ask that AltiVec support be added late in the process.



    -- Mark
  • Reply 8 of 18
    airslufairsluf Posts: 1,861member
    Kickaha and Amorph couldn't moderate themselves out of a paper bag. Abdicate responsibility and succumb to idiocy. Two years of letting a member make personal attacks against others, then stepping aside when someone won't put up with it. Not only that but go ahead and shut down my posting priviledges but not the one making the attacks. Not even the common decency to abide by their warning (afer three days of absorbing personal attacks with no mods in sight), just shut my posting down and then say it might happen later if a certian line is crossed. Bullshit flag is flying, I won't abide by lying and coddling of liars who go off-site, create accounts differing in a single letter from my handle with the express purpose to decieve and then claim here that I did it. Everyone be warned, kim kap sol is a lying, deceitful poster.



    Now I guess they should have banned me rather than just shut off posting priviledges, because kickaha and Amorph definitely aren't going to like being called to task when they thought they had it all ignored *cough* *cough* I mean under control. Just a couple o' tools.



    Don't worry, as soon as my work resetting my posts is done I'll disappear forever.
  • Reply 9 of 18
    ebbyebby Posts: 3,110member
    Whoa, it really won't work. I'm not a programmer so most of this is over my head, but I thought the person who brought that up was pulling my leg. But I stopped using it years ago anyways.
  • Reply 10 of 18
    shetlineshetline Posts: 4,695member
    Quote:

    Originally posted by AirSluf

    They should at least have made a fully functional and standards compliant albeit not as fast technique to ensure the programs continued viability. Not doing so was a gamble at best. Another nail in the coffin of my ill-respect for the management of Connectix's engineers and the engineers performance as well.



    The little endian mode was part of the spec of the processors -- the G3 and the G4 -- that Connectix was writing for. I don't see how you can call using this feature not "standards compliant". I doubt Apple or Motorola or IBM put up any big warning signs "Danger! Do not use this feature as it may not be supported in the future!".



    Even as VPC performs on the G4 now, people bitch and moan about how slow it is. You think Connectix should have let VPC be even slower, that they should have looked what must have appeared a godsend for performance in the face, and said "Hmmm.... nyah"?.



    Instruction after emulated instruction, endian-ism is going to come up constantly while emulating an x86 processor. And it's not likely to be in big convenient bundles. Imagine:



    <start little endian mode> (fast mode bit set)

    instruction

    instruction

    instruction

    ...

    instruction

    instruction

    instruction

    <end little endian mode> (fast mode bit set)



    ...verses...



    call endian-swap (call overhead + several instr. of proc. time)

    instruction

    call endian-swap (call overhead + several instr. of proc. time)

    instruction

    call endian-swap (call overhead + several instr. of proc. time)

    instruction

    ...

    call endian-swap (call overhead + several instr. of proc. time)

    instruction

    call endian-swap (call overhead + several instr. of proc. time)

    instruction

    call endian-swap (call overhead + several instr. of proc. time)

    instruction



    For this kind of use, having a built-in little-endian mode is just too good to pass up. Not only would it be a damn close call even if there was a standards-compliance issue, I have no reason to think there was such an issue to begin with. I don't think the engineers would have had any good reason to believe, or even suspect, that the G3/G4 little-endian mode would be taken away from them in the future.
  • Reply 11 of 18
    airslufairsluf Posts: 1,861member
    Kickaha and Amorph couldn't moderate themselves out of a paper bag. Abdicate responsibility and succumb to idiocy. Two years of letting a member make personal attacks against others, then stepping aside when someone won't put up with it. Not only that but go ahead and shut down my posting priviledges but not the one making the attacks. Not even the common decency to abide by their warning (afer three days of absorbing personal attacks with no mods in sight), just shut my posting down and then say it might happen later if a certian line is crossed. Bullshit flag is flying, I won't abide by lying and coddling of liars who go off-site, create accounts differing in a single letter from my handle with the express purpose to decieve and then claim here that I did it. Everyone be warned, kim kap sol is a lying, deceitful poster.



    Now I guess they should have banned me rather than just shut off posting priviledges, because kickaha and Amorph definitely aren't going to like being called to task when they thought they had it all ignored *cough* *cough* I mean under control. Just a couple o' tools.



    Don't worry, as soon as my work resetting my posts is done I'll disappear forever.
  • Reply 12 of 18
    placeboplacebo Posts: 5,767member
    "little-endian" has to be the greatest piece of technological lingo EVAR.
  • Reply 13 of 18
    The endian issue was one of the major stumbling blocks to replacing the MacOS with Windows NT back in the mid-nineties. Bill Gates tried to tell Apple it was no big deal, and Amelio's people were rather emphatic with him that it was a big deal.
  • Reply 14 of 18
    kickahakickaha Posts: 8,760member
    Correct me if I'm wrong, but...



    The 970 does have both big and little endian modes.



    What it's lacking is *pseudo-little-endian* mode... that allows a big-endian moded 970 to run *some* little-endian mode in the middle of the normal big-endian operation.



    Bi-endianness is part of the PPC base spec. All PPC chips can operate in either big or little endian fashion - but this is set at power up time, and is immutable until the next power cycle.



    Pseudo-endianness got around this problem. Is it a *HUGE* problem? Not really. Endian emulation is a known problem with well known *fast* solutions. Is it a bit of a bugbear? Yup.
  • Reply 15 of 18
    bungebunge Posts: 7,329member
    Quote:

    Originally posted by shetline

    I don't think the engineers would have had any good reason to believe, or even suspect, that the G3/G4 little-endian mode would be taken away from them in the future.



    The 970 has been in production a long time. Wouldn't Apple have warned Connectix about the change? Wouldn't they have know from test machines months ago? I think there's every reason to believe they could have had a head start. If it's going to take a year, they should be at least six months through the process. I would suspect further if they were given any fair warning.
  • Reply 16 of 18
    shetlineshetline Posts: 4,695member
    Quote:

    Originally posted by bunge

    The 970 has been in production a long time. Wouldn't Apple have warned Connectix about the change?



    My comments weren't in regard to whether Connectix had time to fix VPC. Rather, my comments were in reference to the notion that Connectix having ever written VPC to depend on the little-endian mode was a Bad Thing. I don't believe it was.



    As to whether they had time or not to fix VPC before the G5's release ... who knows how much warning they had? Maybe they had some warning, but knew how much work it was going to be to fix the problem, and were happy to dump the problem on Microsoft.



    Regardless, once VPC has been fixed for the G5, it won't be anywhere near as fast as it could have been with processor-level little-endian support. In addition, Microsoft might not want to support and test two versions of the VPC code, so it could well turn out the VPC 7.0 will be even slower for G3s and G4s than 6.0 is.
  • Reply 17 of 18
    Quote:

    Originally posted by shetline

    Maybe they had some warning, but knew how much work it was going to be to fix the problem, and were happy to dump the problem on Microsoft.



    To put it another way if you're negotiating to sell the product and compatibility in that regard isn't an issue, why would you bother doing that development?



    -- Mark
  • Reply 18 of 18
    aquaticaquatic Posts: 5,602member
    Quote:

    "little-endian" has to be the greatest piece of technological lingo EVAR.







    No..big-endian is!



    Does anyone really no if the G5 has it or not? What's the deal, is Programmer around?
Sign In or Register to comment.