>>1
>8mb
The Nintendo DS has 16mb.
The GBA, only 256k.
The PS2 only had 4mb of GPU ram, though it did have 32MB normal ram.
More interestingly, N64 only had 4mb CPU+GPU ram. Think of how large a world was in Banjo Kazooie, or even Banjo Tooie. Or even something like Super Mario 64. That's efficient use of ram.
>>6
It has nothing to do with the language, if the language lets you do what you want. For modern operating systems, there's shittons of memory wasted for making sure the program properly talks to the OS, and interfaces with OS-level hardware and software properly, as well as inefficiencies from libraries that don't let you prune unused functions, or limit the ability of complex functions. (say, if you had an adding function that used types to identify the method required, most games you might not need matrix operations, or vector adding operations, if you used GPU functions properly, which would allow for increased performance of the adding operation on CPU).
Also, with old games, the games WERE the operating system, so there was basically no overhead.