Slashdot Mirror


Linux on the Gamecube?

An Anonymous Coward asks: "Previously on Slashdot we have covered the hacking and programming of numerous consoles,- the Xbox, Dreamcast , and of course the Playstation 2. With Linux migrating to all of these platforms as fast as you can blink, why isn't it that I haven't heard anything about the Gamecube. These little beasts have been promoted by Nintendo as easy to develop for, so are there as yet any open source tools for Gamecube development? Are there any Initiatives to get an alternative OS on these systems? The feature of being able to plug a gameboy advance into one of these units makes them even more hack worthy." There was a Sourceforge project for this, but it's activity stats are fairly flat. What barriers are there in getting Linux to run on this piece of hardware, and how do they compare with the difficulties faced by similar projects on the X-Box?"

20 of 45 comments (clear)

  1. Impossible by Apreche · · Score: 5, Informative

    It is 99% impossible to get software you wrote to run on the gamecube. The problem is that Nintendo, being smart to avoid piracy, always uses a proprietary media format to put games on. The Gamecube's OS doesn't do much but run games. It looks for discs and runs them.
    You CAN'T make a Gamecube disc without Nintendo's help. It's a small DVD that spins the opposite direction. Nothing you can buy can make one of those.
    The Gamecube will have a broadband adapter, but you can't make it boot from that. It also has no hard drive, so where are you going to store all the data? RAM?
    The best bet is to explore the possibilities of the GBA link. You can make a GBA game. And you can store some data in the GBA cartridge, but not much. If the Gamecube will run and begin playing from a linked GBA the BEST you could do is have 4 GBAS with 4 different cartridges be your hard drive/boot device. Then use the broadband adapter and your computer to control everything.
    All in all, even if you could make a gamecube disc, the cube isn't very useful for anything other than playing gamecube games. And codwarrior will eventually have a dev kit. So if all you want is to make games, I'm sure Nintendo will be happy to make discs if your game is extrememe high quality.

    --
    The GeekNights podcast is going strong. Listen!
    1. Re:Impossible by Glytch · · Score: 2

      Makes me wonder if those GBA compact-flash adaptor cartridges might be useful for this kind of project. That is, if the company that makes them hasn't gone out of business yet.

    2. Re:Impossible by Rambo · · Score: 2

      And codwarrior will eventually have a dev kit.

      Actually, CW already has a dev kit out for the cube. Unfortunately it's only the software portion that they sell, which is completely useless without a GC dev station (try getting even a picture of one of these!). The only way I can see getting anything but games on the GC is via a modchip which will at least allow booting off of mini-CDRs.

    3. Re:Impossible by ianpatt · · Score: 2, Interesting

      The gameboy link isn't that helpful either. The GameCube doesn't actually boot from the GBA, it just uses the link cable to send data back and forth.

      I see two major possibilities:
      * Using either the GBA link cable or the ethernet adaptor to do a buffer overflow, using a small loader stub as the payload. Once you have the loader stub running on the system it would be possible to upload and run whatever you want.

      * Taking advantage of the GameShark. Once InterAct finally releases the thing, changing memory on the GameCube live will be much easier. If they add a computer connection port like on the Saturn Pro Action Replay, then Linux on the GameCube will become an exercise in reverse-engineering. Of course, this is easy on the Saturn: the cartridge port exposes the main CPU bus, but.. I'm still hoping...

    4. Re:Impossible by ianpatt · · Score: 2, Interesting

      > try getting even a picture of one of these

      Like this?

    5. Re:Impossible by dimator · · Score: 2

      I agree with your points, but you must admit, the same "impossiblity" has been claimed for previous systems too. :) Someone will figure out a way to do it sooner or later. If not linux, then at least some kind of home-brew dev'ing of some type.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    6. Re:Impossible by Gizzmonic · · Score: 2

      Nintendo is not rich enough to mass manufacture its own DVD mechanisms. I'd bet my wife that the Gamecube DVD drives are just stock Panasonic DVD mechanisms in smaller packages, with a firmware or program that tells them which way to spin.
      Compare this to the Dreamcast which used a proprietary "GD-ROM" technology which was considered immune to piracy. Dreamcasts were actually made of stock Yamaha CD-ROM mechanisms. Of course it was cracked about 7 months after the DC's US launch. Hackers just made a program that allowed them to access the program as a normal CD-ROM.

      --
      (-1, Raw and Uncut is the only way to read)
    7. Re:Impossible by AftanGustur · · Score: 2
      If the CD spins backwards, and reads data in reverse, why shouldn't you be able to write the bitstream in the order it will be read?

      Metadata ! You don't control the Metadata ! The writer does .. (Checksums start/stop bits on the media ) So even if you reverse your program bit for bit and write it on the disk, the reader won't find itn because the checksums won't work..

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    8. Re:Impossible by Quila · · Score: 2

      They appear stock. Disassembly showed that although the drive plays the small discs, the laser pickup has enough traversing room to read a full-sized disc.

  2. Easy? by jacoberrol · · Score: 2, Informative

    Yes, I have heard that the Gamecube is easier to develop for, but that doesn't necessarily mean it will be easy to port Linux. It just means that the Gamecube has a nice API sitting on top of whatever OS they have running it, which makes programming games nice. Since the hardware is proprietary and documentation is not widely available I would imagine it is damned difficult to port Linux to the Gamecube.

  3. Panasonic Q by Anonymous Coward · · Score: 3, Interesting

    Speaking of using strange media, Panasonic has licensed the gamescube engine from nintendo, and created something called the "Panasonic Q" (this has been covered on slashdot), that seconds as a DVD player. This is probably the best place to start seeing as how you can get fullsize cds and dvd into the drive. As for the part about the gamecube discs spinning backwards, that's a bit more difficult to address.

  4. Re:The main barrier is obvious... by Anonymous Coward · · Score: 2, Insightful

    They're proprietary mini DVD disks, not mini CDs.

    Moron.

    Mod me up as insightful...

  5. Who cares about the game cube? by Anonymous Coward · · Score: 2, Funny

    What I want to know is has anyone hacked that damn Volvo and got Linux running on it?

  6. sourceforge? by Anonymous Coward · · Score: 2, Funny

    A SourceForge project without any activity?

    Now I've seen everything!

  7. Hm... know what I'd do if I had a gamecube? by Wakko+Warner · · Score: 4, Insightful

    I'd probably just play games with it.

    Linux on my computer, where it belongs.

    Games on my Gamecube, where they belong.

    What is the point of anything else?

    - A.P.

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:Hm... know what I'd do if I had a gamecube? by dimator · · Score: 2
      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    2. Re:Hm... know what I'd do if I had a gamecube? by xinu · · Score: 2
      look it up

      Then again I haven't used Linux in quite some time just becuase I found myself doing nothing but hacking instead of be productive. So don't mind me.

  8. Another hacking option by rrwood · · Score: 2, Interesting
    A couple people have pointed out that the GameCube media is highly proprietary (size, data format, rotational direction), and that the likelihood of creating one of these disks without Nintendo's support is pretty slim.

    Another possibility I've wondered about is just removing the drive and hooking up a drive simulator. Building the hardware to simulate the electrical/data behaviour of the drive would be non-trivial, but probably still possible, no?

    Anyone care to comment on that idea?

    -Roy

  9. easy peasy by paradesign · · Score: 2
    considering the GC is just a an IBM PPC chip similar to the popular G3 PPC chip, and an ATI gpu that i heard was supposed to be on par with the 8500 chip, it should not be terribly difficult to modify existing Linux PPC code that runs on a B/W G3 with an ati card. Since the IBM chip does not include AltiVec and since Linux PPC dosent support it (i dont think) the existing code should be close.

    of course the only difficult part will be the media. couldnt you reverse the polarity on the platter motor of the CD burner to make it spin the opposite way while burning? is the data being written dependant on the direction of travel of the disk? i thought it was just a stream of data to the laser and a spinnind disk (horribly simplified, but...). the panasonic Q offers support for full sized media so that shouldnt be to big of a problem.

    As it appears to me there was more standing in the way of linux on the DC. GD ROM format wasnt exactly standard.

    do i think well see it, i hope so. Do i think we'll have reversed engineered software legaly running on the xbox first, yes.

    $.02

    --
    I want 2D games back.
  10. Computers suck. by bill_mcgonigle · · Score: 2

    Really, they cause all kinds of problems, and if the disk is writable, it will eventually be hosed by the user.

    A GameCube running linux with a read-only boot drive and a cable modem is what most people need for a computer. Used to be called a Network Computer, but went out of fashion because people didn't have cable modems.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)