I quite like the Playstation 2 architecture. It has some really nice big bits of development equipment that look great on your desk, loads of scope for twiddling and tweaking, plus you can have propper technichal programmer conversation about through-put, DMA chains, assembler and vertical blank interrupts still.
All that said, today I was reading the Playstation 2 programming newsgroups for references on an esoteric rendering bug we’ve had and it struck me what a huge waste it is to have so many people investing so much engineering effort into battling the same problems generated by the Playstation 2 design. There is still a lot of black box programming going on, where you can’t really get the state of the system if anything goes wrong so you end up writing tests, checking documentation and inferring the state from the information you have available. Summed up, people have wasted a very long time indeed on this sort of stuff.
I get the feeling that if the tools were amazing and you could pin-point problems easily it would be a totally different situation. I would love to be able to break my program and follow a pixel from the display back through the pipeline to the source dma chain. Sure, there’s always vendor libraries to do whatever it is you’re doing, but programmers tend to prefer the tools to make something rather than having that thing made for them.
So as I said, it’s a great fun system to program for, but better tools, documentation and transparent reusable components are always appreciated.




