Hacker News new | past | comments | ask | show | jobs | submit login

I didn't realise that DS 2D graphics were so traditional and primitive. I suppose this explains why everything used pixel art: all the sprites were true hardware sprites.

Not that it's a bad thing. Hardware sprite rendering is very efficient, in terms of both speed and power consumption. That's important.

I assume the DS's 3D rendering pipeline is completely different.




The DS was designed to be backwards compatible with the GBA, so rather than leave that required hardware to waste, the GBA's CPU was employed as a sound and IO controller, and the GBA's 2D video hardware was mildly enhanced to suit the DS. For the same reason, both the GBA and the DS provided access to the Game Boy's PSG audio channels, and many games (moreso for the GBA) used them alongside their "native" audio hardware for "free" square waves and noise.

The DS's 3D hardware is kinda strange. It only supports point sampling/nearest-neighbor filtering, like a PlayStation, and has an SIMD-like "geometry engine" not unlike it, for calculating matrix transformations and basic vertex lighting, but it unlike the PlayStation, it has a depth buffer, making it significantly easier to program. It has hardware support for cel/"toon" shading, edge/outline rendering, and anti-aliasing, yet only 2048 polygons can be drawn per frame, due to the very limited vertex RAM. It's kinda strange that they'd implement such features on hardware clearly hampered by more pressing issues, but then again, cel-shading with outlines really helps for readability on the low res 256x192 screens.

It's a very interesting combination of primitive and semi-sophisticated elements, being Nintendo's last completely original video hardware before they switched to an off-the-shelf chip with the 3DS. Hilariously underpowered compared to its contemporary, the PSP, that it thoroughly trounced in the marketplace anyway.


In some games the models are of pretty high quality but the hardware couldn't keep up so they had to lower the displayed quality.

https://i.imgur.com/fyFlk4V.png

Left: real NDS

Right: Emulated


I was going to include that exact screenshot, but I didn't think the HN crowd would be down with iM@S.


Nintendo handle backward compatibility since the snes by embedding the cpu of the previous console in the new one. gba had cpu for the gbc. wii had cpu for the gc. ds has cpu from the gba...


Didn't the PS2 also have the PSX chips?


Yep. And the original PS3 was PS2-compatible by including pretty much the entire PS2 hardware on the same motherboard. Then a revision later only the EmotionEngine was kept and the rest was done in software, to be finally cut out completely by revision 3.


only a single premium version of ps3 could play ps2 games. the one that shipped with 60gb HD. it was not the first one. and was not continued. very hard to find.


It was the first one released. And hard to find? CEX(a popular second-hand store in the UK) is showing 59 of them in stock at the moment, for a low price of 88 pounds(~120USD)

https://uk.webuy.com/product.php?sku=SPS3PS3E002#.VLmUdEesW1...


It was the first one. Except in Japan where a 20GB none-BC model was also sold.


It doesn't really have a depth buffer - only enough for a single scanline at a time.


I can only begin to describe the Nintendo DS 3D rendering pipeline as "weird." WinterMute's libNDS library (also part of devkitPro) abstracts an OpenGL (ish) 3D API for homebrew devs.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: