Gamecube emulator under MorphOS?
  • Order of the Butterfly
    Order of the Butterfly
    Dreamcast270mhz
    Posts: 152 from 2009/12/9
    From: Virginia,USA
    Just go to thinking, the Nintendo Gamecube uses a PPC CPU, and coupled with Morphos, the lightest system for G4 macs, we may be able to emulate it at much faster speeds than your intel systems would, as there would not need to be a whole cpu emulated. Worth a try, and the fastest emulator is open source after all:)?
    My Macs:
    Powerbook G4 ALU 1.5GHZ 15" 1.5GB OSX.5.8
    Powermac G4 MDD 1.5GHZ OSX.5.8 MOS2.7

    Want a part for a Mac? Let me know, I'll see what I can do.

    Amithlon is amazing, questions and help I can provide.
  • »04.04.11 - 18:04
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > the Nintendo Gamecube uses a PPC CPU [...], and we may be able to emulate
    > it at much faster speeds than your intel systems would, as there would not
    > need to be a whole cpu emulated. Worth a try, and the fastest emulator is
    > open source after all:)?

    Nice idea basically. But there's probably at least one stumbling block: While Gekko (as well as the Wii's Broadway for that matter) is basically a G3 it implements a special SIMD engine which I guess games make extensive use of. I don't know how well it would map to our G4's AltiVec/VMX but I guess there would be some work involved to have those SIMD instructions executed (or emulated) on our processors.

    http://en.wikipedia.org/wiki/Gekko_(microprocessor)
    http://en.wikipedia.org/wiki/Broadway_(microprocessor)

    But the idea is nice, admittedly. Combined with phoenixkonsole's idle wish of having MorphOS adopted to run in a Wii emulator this could make for a way to run MorphOS in a VM on MorphOS ;-)
  • »04.04.11 - 18:45
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Dreamcast270mhz
    Posts: 152 from 2009/12/9
    From: Virginia,USA
    Yeah I know that it uses SIMD instructions. But the big things:

    Basic/low level mapping shoule be close, if not the same

    Both run in Big Endian, so much of the code may be able to just pass through the emulator

    The SIMD instructions would not be but so hard, maybe the G4's altivec could pick up some of the work. Looking at Dolphin's source would be a good start.
    My Macs:
    Powerbook G4 ALU 1.5GHZ 15" 1.5GB OSX.5.8
    Powermac G4 MDD 1.5GHZ OSX.5.8 MOS2.7

    Want a part for a Mac? Let me know, I'll see what I can do.

    Amithlon is amazing, questions and help I can provide.
  • »05.04.11 - 02:47
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > Basic/low level mapping shoule be close, if not the same
    > Both run in Big Endian, so much of the code may be able
    > to just pass through the emulator

    Actually, all scalar instructions (i.e. all but the SIMD ones) should be directly executable by a physical G4.

    > The SIMD instructions would not be but so hard

    So you had a look at Gekko's SIMD instructions?

    > maybe the G4's altivec could pick up some of the work.

    Yes, that's what I wrote. But I don't think the G4's AltiVec unit is able to directly execute Gekko's SIMD instructions as that would mean Gekko's SIMD is a subset of AltiVec, which I strongly doubt. That means the SIMD instructions would have to be emulated by translating them into AltiVec code (or scalar code which would be even slower of course).
    Btw, if anybody has a reliable source (IBM, Nintendo or game developers) showing Gekko's SIMD as being a subset of AltiVec/VMX I'd be glad to be corrected :-)

    > Looking at Dolphin's source would be a good start.

    I didn't have a look at it but I suspect that there's a JIT in place that translates scalar PPC code directly into (scalar) x86 code and Gekko SIMD code directly into SSE code. If my suspicion is correct we wouldn't gain much from looking at this part of Dolphin's source code.
  • »05.04.11 - 03:15
    Profile
  • Moderator
    hooligan
    Posts: 1948 from 2003/2/23
    From: Lahti, Finland
    There was supposed to be a Dolphin port for PS3 but to this day nothing has materialized.. but in case someone is interested the following thread might be helpful: Gamecube on PS3

    Didn't read the longish thread yet as I'm more into SNES/Arcade/Amiga-emulation on PS3 but will try to do so today.
    www.mikseri.net/hooligan <- Free music
  • »05.04.11 - 05:15
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > the following thread might be helpful: Gamecube on PS3

    Thanks for the hint but to be honest, that thread isn't helpful. Most of its participants struggled to understand the prospect of both Gekko/Broadway and Cell PPE having basically the same instruction set, rendering emulation superfluous in that regard. The issue of Gekko's/Broadway's different SIMD instruction set compared to Cell SPE's instruction set or Cell PPE's AltiVec/VMX was not even addressed once.
    I assume though that the project's author has put more thought into the matter to at least have an idea how to possibly achieve the SIMD mapping. If he decides to map to AltiVec/VMX (as opposed to SPE instructions) the project may come in useful for all hardware platforms based on AltiVec/VMX enabled Power Architecture CPUs, including MorphOS on G4 (and later possibly G5) based machines.
  • »05.04.11 - 13:06
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Dreamcast270mhz
    Posts: 152 from 2009/12/9
    From: Virginia,USA
    @Andreas

    No, i don't have access to the SIMD set, but since Dolphin already does that it may be just as simple as adapting the SIMD instructions into Altivec instructions. But of course, it would eliminate the possibility of G3 Peg and eFika users from using the program, since both lack Altivec.
    My Macs:
    Powerbook G4 ALU 1.5GHZ 15" 1.5GB OSX.5.8
    Powermac G4 MDD 1.5GHZ OSX.5.8 MOS2.7

    Want a part for a Mac? Let me know, I'll see what I can do.

    Amithlon is amazing, questions and help I can provide.
  • »05.04.11 - 19:44
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > since Dolphin already does that it may be just as simple as adapting
    > the SIMD instructions into Altivec instructions.

    It's the "simple" part I'm doubting. And I don't think it was "simple" to map Gekko's/Broadway's SIMD to SSE in Dolphin. But then, I'm not a coder and even less a SIMD expert, so there might indeed be people who'd do that as a warm-up exercise ;-)

    > of course, it would eliminate the possibility of G3 Peg and
    > eFika users from using the program, since both lack Altivec.

    Yes, that's why earlier in this thread I mentioned the possibility of translating the SIMD code into scalar code with the drawback of even slower execution on slower CPUs such as G3. On the other hand, Gekko is a G3 running at 486 MHz, so the Efika 5200B with its 400 MHz G2 surely wouldn't be able to emulate/virtualize a Gamecube at full speed anyway (that's even before taking the heavy RAM constraints into account). And given the required SIMD to scalar code translation I guess the Peg's 600 MHz G3 could also have problems to do this.
    In conclusion, I think that anything below G4 wouldn't present a viable target hardware for such a project.
  • »05.04.11 - 20:16
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > the Nintendo Gamecube uses a PPC CPU [...], and we may be able to emulate
    > it at much faster speeds than your intel systems would, as there would not
    > need to be a whole cpu emulated. Worth a try, and the fastest emulator is
    > open source after all:)?

    More stumbling blocks (in addition to the SIMD issue):

    https://forums.dolphin-emu.org/Thread-dolphin-for-gnu-linux-powerpc-with-kvm?pid=293625#pid293625
  • »25.09.13 - 00:06
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    XDelusion
    Posts: 602 from 2010/10/27
    Man... to have a port of the Dolphin emulator...

    Would certainly need a G5 I'd think, but yes, prolly not going to see the light of day.

    Oh well, I got a Wii, they can be had CHEAP used now a days, and with DIOS MIOS, you can now play Gamecube titles straight off a USB drive!
    "I hope life isn't a big joke, because I don't get it." - Jack Handey

    Registered MorphOS user, Amiga user, and Atari 8-bit user.
  • »25.09.13 - 01:09
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    xyphoid
    Posts: 870 from 2008/7/11
    From: Delaware, USA
    We had enough issues trying to get This to work fast enough
  • »25.09.13 - 05:27
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > to have a port of the Dolphin emulator... Would certainly need a G5 I'd think

    With complete CPU emulation even a 2.7 GHz G5 would struggle, I guess. Running the guest CPU code directly on the host CPU instead of emulation (except SIMD mapping) would probably get by with a G4 running at 1 GHz.
  • »25.09.13 - 09:05
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Crumb
    Posts: 730 from 2003/2/24
    From: aGaS & CUAZ Al...
    you would probably need a Gekko->G4 JIT to have GC emulation inside MorphOS. Lots of work.
  • »25.09.13 - 12:51
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12077 from 2003/5/22
    From: Germany
    > you would probably need a Gekko->G4 JIT to have GC emulation inside MorphOS.
    > Lots of work.

    Yes, and on top of that, complete emulation (no matter if static or dynamically recompiled) wouldn't make sense on our comparatively slow hardware.
    Dreamcast270mhz's idea which started this thread was that CPU emulation of any kind wouldn't be required when host CPU and guest CPU have sufficiently similar ISA, which I think should be the case for G4/G5 and Gekko except for the SIMD unit.
  • »25.09.13 - 13:03
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    bash64
    Posts: 934 from 2010/10/29
    From: USA
    This would be nice.
    There are lots of gamecube games I have never played.
    Dolphin - anyone interested in a port?
    Powerbook G4 1.67ghz 2GB, ATI 9700M Pro 128mb
    1TB hd, DL-DVD Burner, Netgear pcmcia wireless card.
    Powermac G5 2.3ghz 2GB, ATI 9600 Pro
    ImageFX 4.5, PageStream 3.3, PhotoGenics 5.0
  • »25.09.13 - 13:57
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cego
    Posts: 712 from 2006/5/28
    From: Germany
    how about a bounty? I'd really love to see this happen. There is a lot of work to do since dolphin was purposely coded for x86 from the beginning, so the there are endian issues all over the code and according to a developer this would take a lot of work.
    Still, i think we should make a well priced bounty for this nice piece of software. what y'all think?
    Pegasos II G4 @1.0GHz, 1GB DDR Ram, Radeon 9200Pro, 240GB SSD+160GB HD, MorphOS 3.18, AmigaOS4.1 FE, Debian 8
  • »09.01.15 - 21:30
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cego
    Posts: 712 from 2006/5/28
    From: Germany
    double post

    [ Edited by Cego 09.01.2015 - 21:31 ]
    Pegasos II G4 @1.0GHz, 1GB DDR Ram, Radeon 9200Pro, 240GB SSD+160GB HD, MorphOS 3.18, AmigaOS4.1 FE, Debian 8
  • »09.01.15 - 21:30
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cego
    Posts: 712 from 2006/5/28
    From: Germany
    Is there any interest in this? I would like to start a bounty. Do you think 3000 Euros is appropriate as a target value?
    Pegasos II G4 @1.0GHz, 1GB DDR Ram, Radeon 9200Pro, 240GB SSD+160GB HD, MorphOS 3.18, AmigaOS4.1 FE, Debian 8
  • »27.06.15 - 23:13
    Profile