Pretty cool stuff ? Oh I bet.... almost all illegal
.
Do you want to do some nifty stuff legally, with some form of support behind and hardware documentation and samples ?
That is what PlayStation 2 can provide: PlayStation 2 Linux is the answer you seek
.
Architecturally wise Amiga was not known for pure off the shel hardware and a genertic programming model: you could go down to the metal and you used to have (since the C64 days) dedicated hardware for dedicated functions as much as the technology permitted.
The Amiga for its days was very fast and allowed the programmer to find all sort of unique tricks to use the machine's capabilities and features in different ways.
Pogramming for Amiga could be done legally, C compilers were available (I have a Amiga C manual by K&R which pre-dates ANSI C
).
PlayStation 2 has a very high learning curve at the beginning, because to achieve performance you have to learn about what sits inside the platform (it is the point behind developing for it IMHO).
DMA tags, GIF tags, VIF codes, VU micro-code, VU dual buffering, etc... at the beginning trying to piece all of the stuff togetherwill cause you a headache and more than once you will say "%$%^ $^, who is the 34%!@R#ERFD that complicated things this much".
The console did grow on me, it has its defects, but I can also see its merits.
http://www.playstation2-linux.com
There are some nice tools available: you can use Visual Studio .NET with plink and puttygen to compile from your PC, you can use tools like ccache to reduce compilation and re-compilation time, distcc to distribute compilation beteen computers (provided you download the avilable cross-compiler suite [pre-compiled for you
]), GSVNC to see the frame-buffers, any off-screen surface and the Z-buffer from any PC in the network using a client like Tight VNC, SVVUDB a nice visual debugger for the VUs (Memories [code and data], registers and even a GIFTag viewer, etc...
You have manuals for the complete EE and GS chips basically: including things like the IPU (MPEG2 decoder, Vector Quantization block, etc...) and the GS Interface (GIF).