• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

Sign in to follow this  

Are there any "PowerPC dev boards" for hobbyists?

Recommended Posts

Veiva    200

Hi, I'm wondering if there's any reasonable PowerPC configurations for hobbyists. Something like the millions of ARM (and other similar, low-power processors) kits.

From my searches, it doesn't appear so... I'm looking to do some low-level development, so need something open (i.e., I need to be able to run my own operating system, or none at all). Hardware-level debugging features would be really nice. Similarly, good documentation would be as well (so no weird or propriety hardware [unless it's well-documented, even if by third-parties]). I figure gutting an older Apple box wouldn't fit these criteria very well?

I'd consider a decent ARM kit as an alternative, if a PowerPC configuration would be too difficult or costly. The popular one, Raspberry Pi, seems to have a propriety GPU, which is a killer.

The reason is I'm looking to develop some low-level software for learning purposes. In honesty, I probably won't (at least in the approaching future), but who knows. From previous experience dabbling with x86, I'd prefer to avoid the anachronistic backwards-compatibility and bizarre boot process. I also prefer PowerPC's instruction set (I'm a hobbyist, I'd prefer to enjoy what I'm doing, and I really do not like x86 assembly).

On a side note, I'm aware this forum is generally used for those building typical PCs and troubleshooting said hardware... so I hope I'm not in the wrong area.

Share this post


Link to post
Share on other sites
WinMacLin Guy    203

Here is one that I found: http://www.element14.com/community/docs/DOC-48694#overview. 

Unfortunately, that particular board is priced above $200. The last time I checked for a PowerPC development board there were quite a few more based on PPC400 but it seems like the attention has shifted to ARM boards. I think if you are really looking for device for a PPC development you should look at something like a Wii or Wii U. The Wii has a large homebrew community built around it that has documented most of the console (PPC750 processor, GPU soc module which contains an ARM9 processor, USB ports, Wi-Fi, Bluetooth, sdcard, etc). The system has a single-core PowerPC 750 chip (similar to the one found in later G3 Macs) and the homebrew community has managed to port linux to it, so there is some sample code to play around with if you are looking to make your own OS (there is also lots of higher level stuff made by the community that might interest you including ports of popular opensource APIs to original APIs that perform various functions). On top of that you can find a second hand Wii for below a $100 (if you are looking at getting a Wii, avoid the Wii Mini because it does not have an SD card slot which makes it more difficult to compromise). The Wii U has a tri-core PPC750 processor, additional ram (2GB + 32 mb edram), an R700 based GPU, plus everything else that was in the Wii. There is also a virtual Wii (vWii) mode that will give you much of the same features as the Wii plus due to a hardware security flaw it has access to the tri-core PPC750 (but unfortunately none of the other newer hardware features). While the vWii mode is largely hacked and documented, the Wii U mode has only recently been compromised (at least publicly) so it will take a while before it gets to the same level of the Wii in terms of hardware and software documentation. The Wii U is also priced around $300 (though you will probably find a second hand unit for a lot less).

You might also want to look at some older Macs, particularly the G4 line (PPC74XX). These Macs use open firmware and there are quite a few operating systems that run on them (although there are particular models which are better supported than others; in general there are specific G4 machines are better supported by these OSs), including AmigaOS, Linux (Yellow Dog Linux), FreeBSD, older versions of Darwin, etc. You may also want to look at finding an PS3 which did not receive the update that removed the system's other os feature (though this may be difficult and very expensive since most people have updated their systems and all consoles shipped after the update had the feature removed); I recall that there are older versions of Yellow Dog Linux which may have some useful sample code for making your own OS.

Like you, I also prefer the POWER architecture to both X86 . As you mentioned, POWER ISA is generally cleaner than X86 because it lacks many of the legacy oddities. I also used to prefer it to ARM (and still do in certain respects, though largely depending on the specific architecture) but ARM's developement has come a long way and its road map looks much more promising than PowerPC. Unfortunately, the industry has sided with ARM and X86, and for the most part POWER development has been slowing down. IBM which was the largest maker of embedded PPC chips has announced that it will now only focus on making POWER chips for high-end servers and super computers. Aside from Freescale there does not appear to many hardware developers interested in continuing embedded POWER chip production (and developement boards based on their chips are expensive and most likely have to be ordered directly from Freescale in bulk because the demand is simply not there; this makes these boards not very suitable for hobbyists). As such I think it might be best to start looking at ARM based development boards like Raspberry Pi, beagleboard, among others.

Share this post


Link to post
Share on other sites
Veiva    200

Thank you!

I have done some work on the Wii prior and have a spare Wii U in my closet on an exploitable firmware (it's on 5.1, I think, but no higher than 5.3), but I find the development process very slow (about a minute between compiling and running). Also, I don't have a USBGecko (and the few I've seen pop up on eBay have sold for an unreasonable amount), so debugging is essentially "printf" everywhere (or, better put, fprintf followed by fflush to a log file) and using addr2line on the stack trace provided by the crash handler.

Similarly, documentation for a lot of more niche topics particular to the Wii are really vague or outright nonexistent (mostly more advanced GX bits, such as TEV, and more advanced memory management [such as virtual memory, as used in some GameCube-era games, the ones that can't run on Dolphin]). In the Egoboo-Wii project, I remember how difficult it was getting indexed vertex data working at the time, and I never managed to find enough information to enable quality lighting using GX (so I do it on the CPU, which is admittedly slow). Also, I'm not sure about more technical details on the ARM chip (is the Starlet's SRAM used after the boot process, and if so, how? how much SRAM does it have, anyway, and how is it mapped? what can and can't you do solely on the Broadway side with and without the AHBPROT flag enabled? how do you gain protected execution permissions on the Starlet? so on and so on...), and information about this is similarly scarce (like advanced GX features).

If Apple G4 hardware is viable, I'll look into that for the time being. A casual search on eBay shows some promise.

Do you have any particular recommendations for ARM boards? I had done some further research and it seems the Raspberry Pi's GPU was publicly documented by Broadcom recently. Does this mean I could freely make use of the GPU without depending on a "binary blob," as had been the case before? If so, I'll probably go this route, in all honesty, considering the future of POWER.

Share this post


Link to post
Share on other sites
Jared-    577

Why learn PowerPC, it's a dead architecture... 

Share this post


Link to post
Share on other sites
Veiva    200

Why learn PowerPC, it's a dead architecture... 

Hobbyist. Hobby. To do something for enjoyment. That's what my goal is.

Why do I primarily read authors who have long been dead (from Eliot to Skelton, and plenty in-between), whose stories have little relevance or appreciation to the modern day, and often require me to pace myself and frame them in their historical context? Why do I primarily develop niche software or libraries, if I'm not working on a video game (which is also a comparative waste of time if you don't hit gold, see Notch and then hit up any indie game dev site), especially since I never went to school and therefore my experience is essentially my word? Why do I write, when my works will never be published, and probably only be read by myself?

Because they're hobbies.

As well, the actual projects I have in mind really don't depend on the architecture. I could do it in x86 or ARM or anything else, really (though I supposed someone could say "why learn how to implement features provided by every modern operating system", much like asking why I should bother with PowerPC). I'll learn more about the PowerPC instruction set, no doubt, but that's essentially irrelevant. To be honest, I was spurred to do something after seeing someone write a multi-tasking operating system with a fully-featured GUI on a computer with an MOS Technology 6502. You know, a processor that was designed in the mid-70s and had a hard-limit of 256 bytes of stack space (in a fixed location), in turn making context switching incredibly difficult? Why did that dude, relatively recently, go on to make an operating system for this relic? Hint: it wasn't for money or career advancement.

edit: In any case, I already pointed out I prefer the PowerPC instruction set (in comparison to x86), and I later mentioned how I had experience with the Wii (a PowerPC-based system). Regardless of your intentions, I posted this topic looking for a PowerPC board, or an ARM alternative if the former is not viable (cost, documentation, ease of development), and with the information I provided, I figured there would be no need to question the architecture I chose. You're not talking to someone who wants to make the newest MMOFPSRTSRPG and needs a team, I am at least acutely aware of what is required.

Edited by Veiva
clarification

Share this post


Link to post
Share on other sites
Jared-    577

Ok cool :)

Share this post


Link to post
Share on other sites
goretsky    1,049

Hello,

It is still used in embedded systems and high performance computing. 

I would suggest looking around POWER.ORG for dev boards from various Power PC licensees. 

Regards,

Aryeh Goretsky

Why learn PowerPC, it's a dead architecture... 

  • Like 1

Share this post


Link to post
Share on other sites
+InsaneNutter    1,341

What about a hacked Xbox 360?

You can code for that without any propitiatory software from Microsoft, libXenon is a library for writing programs for the Xbox 360 without using any existing code as a basis.

Share this post


Link to post
Share on other sites
Jared-    577

Suppose so..

You might want to take a look at some Alpha chips - used to manage a few VMS servers. 

Share this post


Link to post
Share on other sites
vcfan    2,338

I have a few freescale ppc dev boards that I once got from ebay or something for cheap(like $50). no powerful gpu or anything like that, but the datasheets for the cpu are available

  • Like 1

Share this post


Link to post
Share on other sites
TybiBeaton    0

May i know which type of Development board you are looking for?
Also for which type of applications you are looking for the development board?
Which kind of specifications of you are looking for the development board?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.