Forgot your password?
typodupeerror
Announcements Businesses Software Apple

PowerPC Architecture Emulator Unleashed 124

Posted by timothy
from the keep-handy-the-shredded-newspaper dept.
Sebastian Biallas writes "We have finally released version 0.1 of our PowerPC architecture emulator: PearPC. The emulator itself is (prepared to be) architecture independent but only tested on x86s (here you go porters...). It also features a must faster just-in-time compilation unit for x86 hosts. This means that you can now run your favourite PowerPC-OS on x86: Mandrake Linux (9.1), Darwin (6 + 7) and Mac OS X (10.3)! And the best things is: it's GPL'd. But be warned: it's experimental.."
This discussion has been archived. No new comments can be posted.

PowerPC Architecture Emulator Unleashed

Comments Filter:
  • by GregChant (305127) on Sunday May 09, 2004 @08:43PM (#9103120)

    This means that you can now run your favourite PowerPC-OS on x86: Mandrake Linux (9.1),

    Why not just run it natively on the x86 architecture?

  • Panther on x86? (Score:2, Insightful)

    by DiSKiLLeR (17651)
    OMG!

    I never thought this day would finally come... a PowerPC emulator that
    is stable and mature enough to actually run MacOS X on an x86!

    Oh well, i've already bought 2 macs now (Titanium Powerbook G4) and a G4
    Cube (which got majorly upgraded; 1.2ghz G4, GeForce3 64mb, 1.5gb ram,
    etc).

    But still, I wonder... will apple try to kill this project?

    D.
    • Re:Panther on x86? (Score:5, Insightful)

      by Anonymous Coward on Sunday May 09, 2004 @09:02PM (#9103212)
      They won't have to. It's going to be dog slow, to the point of uselessness, especially if you actually try to run OSX on it.

      The x86 is just really poorly suited to emulate PPC, the PPC has more registers and they're all general purpose, as opposed to x86's small groups of purpose specific registers. You can try to minimize the drawbacks from this with a JITC, but it's still going to crawl compared to the real thing.
      • Re:Panther on x86? (Score:4, Informative)

        by boredMDer (640516) <pmohr+slashdot@boredmder.com> on Sunday May 09, 2004 @10:13PM (#9103526)
        In one of the screenshots, the one of Drake, there is a cat /proc/cpuinfo.

        It's running at 10 MHz.
      • Re:Panther on x86? (Score:3, Insightful)

        by KingOfBLASH (620432)
        You're right, but it's a cool toy, and if development helps further research into making some kind of cross platform machine code, that can only be good, right? I would conjecture that you should be able to create a program which could create a native x86 program from a PPC based program given the time to alter it. However, I would also conjecture my conjecture would take lots and lots and lots of work, and possibly might be harder then bringing about world peace.
      • Re:Panther on x86? (Score:5, Interesting)

        by dmayle (200765) on Monday May 10, 2004 @05:33AM (#9104958) Homepage Journal

        The x86 is just really poorly suited to emulate PPC, the PPC has more registers and they're all general purpose, as opposed to x86's small groups of purpose specific registers.

        While that may be true, modern emulation techniques take this into account with things like JIT compilation. While an instruction-for-instruction emulation scheme will have performance problems, the same program compiled in C on respective platforms will run with equivalent speed. The program just needs some time to mature for speed.

        Me, I plan to try and get onto the list of developers to port to x86-64. Simple emulation should be much easier thanks to the larger register file on AMD's chips...

        • If only you had continued to read the very next sentence:
          You can try to minimize the drawbacks from this with a JITC, but it's still going to crawl compared to the real thing.
        • The thing is you aren't recompiling C for different platforms with a JIT of this kind (JIT is kind of misleading, it should be called a dynarec); you only have binary ppc code which has to be munged into x86 form..
          So you get some speedup from not having to read ppc bytes, lookup translation, perform emulation, etc for each cycle, but it's not a miracle method of 1000x performance gain :)
          That said, X86-64 should really help speed this up, as you said..
      • If so, then a native AMD64 port of this emulator, taking advantage of the higher number of available general purpose registers (combined with the fact that AMD64 CPU's are quite fast to begin with) would make this emulator run considerably faster, right?

        Or did I disregard something?
        • Right in principle, but the PPC still has *way* more registers than any Athlon64. The x86-64 architecture has something like 8 general purpose registers as opposed to x86's 3 or 4. PPC has 32, as is common among RISC architectures like Sparc and MIPS. More registers also means more code to save and restore them on context switches, but the good CPUs have register windows and such to speed that up.

          Bottom line is that the number of registers makes it more difficult than it would seem.

          Disclaimer: I don't
    • Re:Panther on x86? (Score:2, Insightful)

      by Beatbyte (163694)
      I don't see them killing the project. Its got legitimate uses (and too many to legally be shutdown).

      I'm very excited though. It will be a great day when I see a dual 3ghz+ x86 machine running OS X ;-)
      • Re:Panther on x86? (Score:5, Interesting)

        by DiSKiLLeR (17651) on Sunday May 09, 2004 @09:11PM (#9103260) Homepage Journal
        Yes, i was getting really excited too.

        But i just read the website. Its 500 times slower than the real thing :(

        Oh well. Guess the previous posters are correct. Apple won't go after this project as
        its next to useless. Infact, it might be a good thing. It lets people try out and play
        with MacOS X before they commit to buying all that expensive hardware. (Nevermind the
        legal issues of course.)

        When I was first trying to make the decision to buy a mac, spending 5 minutes or 30
        minutes "playing" with it at the store wasn't enough. I wanted to spend several days
        on it, using it to do all the things i do now, but in a different enviornment. You
        can't do that in the shop.

        So i ended up borrowing a friends crappy old imac (which only ran OS9) and chucked a
        priated copy of OSX 10.1 i downloaded of the net.

        Loved it to bits, and promptly bought my PowerBook G4. (And then that cube of ebay ;).

        So, i spose, this emulator will give people the ability to try out MacOSX and run it
        to do day to day stuff, albiet very very slowly. Its a well known fact Microsoft never
        went after software pirates in the old days so that their software become so
        widespread it became the standard. Perhaps this might work for Apple, too.

        D.
      • It will be a great day when I see a dual 3ghz+ x86 machine running OS X ;-)

        Why? Any speed advantage of the x86 would be utterly destroyed by the emulation.
    • No, Apple will not try to kill this project, because it emulates a PowerPC system. As you will recall, PowerPC is a mostly open architecture owned mostly by IBM, then Motorola, then finally Apple. For Apple to try to kill this project would be roughly equivalent to them trying to stop some random embedded developer from making their PowerPC board CHRP/PEAP compliant.
    • But still, I wonder... will apple try to kill this project?

      Based on what? It's not emulating the OS, it's emulating the processor.

  • Work with OS X? (Score:1, Redundant)

    by pilot1 (610480)
    Can anyone confirm that it works with OS X?
    If OS X even installs, how much of it works? Networking? Sound? Video acceleration?
    • confirmed [sourceforge.net].

      as for your other questions... you haven't used any virtualization/emulation software before, have you?

      • Re:Work with OS X? (Score:2, Informative)

        by Hungus (585181)
        A preparing installation screen is by no means proof that it is working with OS X. In fact since the emu is 1/500 th speed of the native system you can be certain it will be a while before an actual install can fully occur even without the issues of the other hardware bits.
        • Re:Work with OS X? (Score:4, Insightful)

          by DiSKiLLeR (17651) on Sunday May 09, 2004 @10:49PM (#9103705) Homepage Journal
          No, it does not gaurantee a working OSX installation.

          But the fact that the darwin kernel boots, and Aqua can start up (no quartz extreme in the installer i am guessing) and the installer runs, he's doing _very_ well.

          Infact, if he concentrates on just getting darwin working reliably (he said theres a few quirks) you can bet that OSX will run just as reliably. Its just the Aqua GUI (and carbon, cocao, apps, and all that other crap) running on Darwin. Darwin is the OS though, and as long as Darwin runs, and runs well, OSX should be a no brainer.

          Getting some good hardware support in OSX for video, sound, and what not might be another story tho.

          Some speed would also be nice. OSX isn't gonna run if it takes 3 weeks to install on a 10mhz emulated PowerPC chip ;)

          D.
          • Going by your argument then he should drop emulation and just do the "no brainer" since darwin already runs on x86. Further carbon, cocoa and all that other crap as you so eloquently put it are not going to be easy by any stretchteh fact is that Cocoa, Aqua, Quartz and QT could all be fully ported to x86 (Quicktime on the PC is NOT the same as Quicktime on the Mac no matter what anyone might lead you to believe) without needing emulation. I do app[laud teh gentlemans effort to create a ppc emu but the proc
  • screenshots (Score:5, Informative)

    by hassr (530413) on Sunday May 09, 2004 @09:15PM (#9103268)
    the project page has screen shots of os-x installing.
    • http://pearpc.sourceforge.net/screenshots.html
  • Not the first (Score:5, Informative)

    by RzUpAnmsCwrds (262647) on Sunday May 09, 2004 @09:47PM (#9103398)
    This is actually not the first PowerPC Mac emulator for x86. SheepShaver [uni-mainz.de] has been able to run PowerPC Mac OS (only up to Mac OS 8.6, not OS X) for some time now. It's from the developer of the excellent Basilisk II emulator.

    Hopefully, the two projects will collaborate and help improve the performance of the emulator until it is usable. 1/20th of actual CPU speed would be acceptable.
    • Re:Not the first (Score:1, Redundant)

      by moosesocks (264553)
      Sheepshaver can't run OS X. AFAIK, it won't boot anything over OS 8.6. The x86 port was not done by Chris Bauer (the original author of SheepShaver and Basilisk II), but rather done by Gwenolé Beauchesne who has made numerous contributions to both projects in spare time. In fact, the x86 port was VERY recent.

      As you can probably tell, the Mac emulation scene is pretty much dead.
      • "AFAIK, it won't boot anything over OS 8.6."

        I would think that that was made clear by the following quote in my post:

        "only up to Mac OS 8.6, not OS X"

        "As you can probably tell, the Mac emulation scene is pretty much dead."

        SheepShaver + This new project would seem to imply that this is not the case.
      • Re:Not the first (Score:2, Informative)

        by Lord Kano (13027)
        As you can probably tell, the Mac emulation scene is pretty much dead.

        Emulating a Mac on x86 isn't the same beast as emulating the x86 on a Mac. For one the markets aren't the same.

        Everyone who needs to run Mac programs, has a Mac. Something like this would only be useful for someone who wants to experiment. High speed isn't as critical as it was for someone who needed to run a Win98 App under Mac OS 8.x.

        LK
        • by Duty (731705)
          I think it's more that emulating a CPU on another CPU with fewer registers is a less appealing prospect to the average coder then being flogged in the blistering sun for a week straight with barbed wire.
        • Re:Not the first (Score:2, Insightful)

          by chromaphobic (764362)

          Something like this would only be useful for someone who wants to experiment.

          It could be fairly useful for web developers/designers in Windows-only shops who want to be able to test out Safari compatability for their site. It wouldn't have to be fast just to check that their markup renders correctly on a Mac.

          Still, it would have to be at least a bit faster than 1/500th the host system, it would probably take OS X an hour just to boot at that rate! :)

    • If Basilisk II has even a scrap of ShapeShifter code in it (his previous project on the Amiga) then it is ILLEGAL.

      http://www.emaculation.com/fusion.php [emaculation.com]

      Microcode solutions were extremely pissed with Christian Bauer. I read somewhere, that to prove he was copying their code for their own competing product, "fusion-pc", Microcode Solutions put dummy code in one of their releases. That dummy code appeared later in ShapeShifter. Can't find a ref at the moment.

      When (as Drew alleges) EMPLANT code was ille

  • Last week, IBM announced industry's first POWER5-based server [ibm.com], based on - advanced 64-bit IBM POWER5 (PowerPC) microprocessor technology

  • QEmu? (Score:5, Informative)

    by pkhuong (686673) on Sunday May 09, 2004 @11:22PM (#9103878) Homepage
    Does anyone know how it compares to QEmu (http://fabrice.bellard.free.fr/qemu/)?

    "QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. "

    "News
    (May 8, 2004) QEMU version 0.5.5 is out. (Changelog). Much improved Windows 98 support. VGA support in PowerPC PREP target.

    (Apr 26, 2004) QEMU version 0.5.4 is out. (Changelog). This is the first version which is able to install and run Windows XP (experimental). This is also the first version which is able to boot a PowerPC PREP Linux kernel on a PC."
  • major bug (Score:5, Funny)

    by austad (22163) on Monday May 10, 2004 @12:39AM (#9104132) Homepage
    From their docs: PearPC currently only supports two-button mice (i.e. middle-button click and the scrollwheel will be ignored).

    They are going to have to figure out how to disable that second mouse button if they want to truly emulate OSX. :)

    • Mac OS X supports the use of 2nd button for pulling up "context menus", similar to right clicking in Windows. Of course, it's the same as control-clicking with the single button mouse, but it is supported. OS X also supports the scrollwheel to some extent (behaving mostly as you'd expect), which PearPC doesn't yet.

      I once asked an Apple engineer why you couldn't GET a two-button mouse when buying a new Apple. It was implied that someone "with a huge amount of control over the design process" was still ad
    • Re:major bug (Score:2, Interesting)

      by mrmez (585359)
      I think you're confusing Apple hardware with Apple software. OS X has supported my M$ intellimouse natively for years - although with your confusion of hardware and OS, I suppose you think the mouse somehow supports itself through Windows when used on my PowerBook... ;)
  • by pb (1020)
    That's great guys, now go work on qemu instead--it only runs 10x slower or so, I believe.
  • by tigersha (151319) on Monday May 10, 2004 @03:52AM (#9104688) Homepage
    A modern computer spends most of its time in system calls (Ok, depends on the program, but generally this is true). So Darwin runs on x86.

    Would it be possible to get this thing to run on Darwin in such a way that the system calls run natively but the apps run in the emulator?

    So only the non-kernel pats of a program are emulated? That might bring down that 500x a bit.

    It would involve having some translation at the boundary between the apps and the kernel but is this not the way Apple emulated old 68000 programs when they did their transition to PowerPC?

  • by nine-times (778537) <nine.times@gmail.com> on Monday May 10, 2004 @10:24AM (#9107124) Homepage
    I'm seeing a lot of people saying "Great, now I can run OSX on my cheap x86 processor!" Yeah? Any idea how fast your x86 processor would need to be to actually have OSX be remotely usable? To build that little supercomputer won't be "cheap". But further, why bother? If you want a Mac, buy it. They're good. They're worth it. You'll be happy. But if you're looking for the hard way of doing things, you don't really want OSX anyway.
    • "Nerd for the sake of being a nerd" isn't something you comprehend.
    • I run Linspire and OpenStep, easy enough for me to use and configure. No need for me to use OSX anyway.

      For $450USD I can buy a very good low end PC Clone using an AMD processor at 2.0 Ghz, and an 80G hard drive, and 512M of RAM, DVD+RW drive, GeForce FX video chipset, onboard LAN, USB 2.0, Firewire, etc sans an OS and for $50USD I can buy a copy of Lindows, and use F/OSS software for the rest of it. So $500 total, and what do I have to spend to get all that with a Macintosh? $1799 for the low end G5 model.
  • yeah! (Score:1, Funny)

    by roskakori (447739)
    soon i can install mac os x on my mighty pizza box mac with its powerful 68040 cpu. hah, apple! me not gonna buy new hardware!
  • by Stonent1 (594886) <stonentNO@SPAMstonent.pointclark.net> on Monday May 10, 2004 @12:56PM (#9108632) Journal
    Here is a screenshot of me running an OpenSSL benchmark on the emulated Macintosh:
    Open SSL benchmark [comcast.net]

    And a screen shot of the PCI information:
    PCI info [comcast.net]

    These tests were run on a Pentium III 500 under XP Pro. You can recrate the test on your system by running openssl speed rsa dsa md5 and compare the results to a real pc or mac running linux.
    • And here is a 800 MHz G4 iBook running Mac OS X 10.3.3

      $ openssl speed rsa dsa md5
      To get the most accurate results, try to run this
      program when this computer is idle
      ...
      OpenSSL 0.9.7b 10 Apr 2003
      built on: Fri Mar 26 15:00:34 PST 2004
      options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)
      compiler: cc -arch i386 -arch ppc -g -Os -pipe -Wno-precomp -arch i386 -arch ppc -pipe -DOPENSSL_NO_IDEA -DFAR=
      available timing options: TIMEB USE_TOD HZ=100 [sysconf value]
      timing function us
    • Dual 1.25 GHz PowerMac, 1GB RAM:

      % openssl speed rsa dsa md5
      To get the most accurate results, try to run this
      program when this computer is idle.
      Doing md5 for 3s on 16 size blocks: 1104593 md5's in 3.00s
      Doing md5 for 3s on 64 size blocks: 940257 md5's in 3.04s
      Doing md5 for 3s on 256 size blocks: 660215 md5's in 3.00s
      Doing md5 for 3s on 1024 size blocks: 301285 md5's in 2.98s
      Doing md5 for 3s on 8192 size blocks: 49740 md5's in 3.04s
      Doing 512 bit private rsa's for 10s: 6927 512 bit private RSA's in 9.89s
      Doing
  • by dpbsmith (263124) on Monday May 10, 2004 @02:23PM (#9109552) Homepage
    Apple stuff is so overpriced... why, the lowest-cost OS X platform you can buy from Apple is a $799 eMac.

    With just a little bit of work and a decent motherboard you can put together a smokin' Wintel box for $400, tops and, well, sure, the eMac includes a monitor but you probably already have one.

    So what if it runs at 1/200 the speed of a Mac? Hey, put a cooler on the chip and overclock it, then it will run at 1/100 the speed of the Mac!

    And for less than half the price!

    Well, OK, for $0.50 more than half price.
  • I've had an idea about PPC emulation and running OS X.

    What about taking a x86 "lower half" of the OS (i.e. Darwin) and plugging and emulated "upper half" (i.e. Cocoa, Charcoal, etc.) of OS X above it.

    Would that be feasible?

  • I am following the instructions at http://pearpc.sourceforge.net/installdarwin.html and am tring to boot Darwin 7.01, it gets stuck at : The following devices are availble for installation: the output on the PearPC console is: [IO/MACIO] dbdma: write(4) @00000000: 000000fc [IO/MACIO] dbdma: read(4) @00000004 [IO/CUDA] keyb reg1 I did create a HD image (I D/Led the 3gb one) Anybody get any farther?
  • i am writing this on a 1ghz 12" powerbook with vpc 6... should i dare setting up pearpc in win2k, and trying to install OSX 10.3 on win2k in vpc on OSX 10.3?

    The install could take DAYS! But i might be eligable for added geek points, aye?

That does not compute.

Working...