Can anyone explain why dev kits are always so much larger than the release product? I get that some shrinking may occur after the dev kit is released (board revisions) and that (possibly) the kits need to support more things inside, but they always seem comically large.
For another example, the Nintendo DS (Nitro) dev kit, for example, is also a relatively massive box, but with a full on DS still hanging off the side of it.
I’ve used quite a few hardware dev kits in my time. These early dev kits are prototypes —- released long before the hardware or industrial design is finalized. They are made in small batches, often by hand (with bodge wires everywhere), and are highly optimized for disassembly, debugging, and troubleshooting. They often have tons of ports.
Early Xbox 360 dev kits were literally a PowerMac G5 with some customizations. Early Dreamcast dev kits were in a mini tower case. Frankenstein appendages are common especially for exotic hardware. I remember using an early Haswell dev kit which was a huge plexiglass monstrosity with a capacitive touchscreen glued to the top. (A later dev kit had a much more manageable iPad-like form factor.)
As you can imagine these dev kits are expensive and rare. The hardware manufacturer will want these early dev kits they loan back, and they are almost always destroyed. (A few may slip through the cracks which is how unicorn find like the Nintendo PlayStation prototype was found a few years back.)
As the hardware coalesces and goes through the various development stages, subsequent dev kits typically become smaller and more manageable. In some cases they may be nearly indistinguishable from retail hardware without closer inspection.
I'll add that initial dev kits are typically released 18 months before the console launch, that means they are built using technology that is one generation behind the hardware that the actual console will use. In the old days before Moore's Law ended, that meant that the console had to have a much more expensive CPU and GPU, to try to match the expected performance of the console hardware. These days, with only marginal improvements in CPU and GPU from generation to generation, this is much less of an issue.
Fun fact: The PowerMac G5 CPU cooling fan controllers have a failsafe mode: If the OS doesn't communicate with the fan controller, the fan controller assumes the worst: that the CPU is switched into the most power-hungry mode possible. To prevent potential damage to the CPU, after about 30 seconds, the cooling fans are cranked up to extraordinarily loud levels.
Apple didn't document how to control the fans. It took Microsoft a while to reverse-engineer the fan controllers. During that time period, using the G5s as Xbox dev kits required putting up with extraordinarily loud fans.
I can't find the photo with a quick google, but way back in the day an employee posted a photo of a TON of G5s arriving at Microsoft HQ.. supposedly they got fired for it, and it wasn't until a year or two later when the 360 was announced that everyone put two and two together.
Hundreds of comments, apparently this news went around the world. I assume they thought at the time the Macs were needed for developing MS Office for Mac OS.
I absolutely love how Sony then trampled over Nintendo by first using their experience from this collaboration to make their own PS, then basically cloned the N64 architecture in the form of PS2.
Sony didn't want anything to do with this project. This was all Ken Kutaragi's ambition, and after the Nintendo disaster he joined forces with the Sony Music side of the business (!) to form Sony Computer Entertainment, and was basically given full autonomy to launch his console. Sony Music knew retailers, knew how licensing worked, and knew how to take advantage of Nintendo's greed by undercutting their margins.
I don't know whether they had lower margins, but they used CDs, which were cheaper to produce than the ROM chips which were so far common for consoles (N64, SNES, Mega Drive, NES, ...). The price of those did go down a lot over time (early NES cartridges had 4 KB, early N64 cartridges 8 MB, a 2000 fold increase), but not quite quick enough apparently. High cartridge prices were not limited to Nintendo.
Were there really significant similarities between the N64 and the PS2 architectures? My understanding is that all the "first generation 3D consoles" had substantial weaknesses in their architecture, due to lack of experience, which were ironed out in the next generation.
They weren't identical, but they sure stood apart from others. Both used 64-bit MIPS CPUs, both had dedicated 128-bit SIMD cores driving their display list based GPUs. For a 1996 N64 having a SSE2 level SIMD was absolutely amazing. They're even similar from emulation standpoint: only in the last decade we've got enough CPU power to consistently emulate them at full speed.
Aside from the reasons mentioned by other comments, dev kits include a ton of IO for debugging (multiple ethernet ports, video outs, etc), as well as more memory and storage. IIRC the Wii devkit used an FPGA for the IO controller, and the debug IO board was almost as big as the main board.
The days of tuning software have changed. In the past, these systems were indecipherable and had no good profiling or debugging tools, so they came with a lot of hardware connected which allowed you to profile and tune and debug.
If you wanted to profile PS2 code, for example, the way you did that was with a gigantic logic analyzer connected to various traces at Sony's labs. We used their Redwood City lab. You'd give Sony instrumented code, and they'd do some kind of secret magic on it and run it on this instrumented PS3, and a few days later, you get a profile! Downside, this thing is incredibly complex, but on the upside, you had little performance penalty for profiling. Later, these kinds of tools came built into dev kits.
For the PS3, programming the Cell was quite difficult and so you had to do lots of tuning. The single PPC core (called the PPU) was really slow, so you had to offload what you could to the SPE's, which were incredibly fast on floating point math, but it was on you to interleave DMA and computation in a way to get good utilization of them. The Dev kits had tools to give you visibility into this.
Programming on a laptop only requires the laptop, as you've got all the tools you need in the OS. Only apple does debugging at the board level.
Because Apple don’t release low-level dev tools externally? I’m sure there are some wonderful frankensteins in their labs, but they have less of a need to release them externally.
I think in addition to what people say on this thread, the console vendors also don't want devices resold and in circulation that can run unsigned code to pirate games. So they make them really unattractive to use as actual gaming devices.
That maybe is not the whole story, but I've often assumed that was part of it.
Nowadays the devkits require a license key to operate, which only works for a limited amount of time, so when they do slip into the wild it's generally not possible to do anything interesting with them. You can find videos of people playing with PS4/PS5 devkits and they just throw an error that the system has expired and needs to be renewed. They're just collectors items now, unfortunately.
Beyond just having more stuff inside, making something small and stylish costs more in time and money, so dev tools tend to be more functional as they aren’t a mass market product.
Dev kits for game consoles typically started shipping well before the actual device hardware did to give external developers enough time to create launch games. It wasn't uncommon for the dev kits to go out a year or more before the console shipped to retail.
This is particularly true in the era before consoles were basically just locked down x86 PCs and thus developers needed access to a variant of the actual hardware to port their games/engines.
For another example, the Nintendo DS (Nitro) dev kit, for example, is also a relatively massive box, but with a full on DS still hanging off the side of it.