Quote Originally Posted by wumpus View Post
So the C64 really only competed with the 400/800 for 2 years (on the markets anyway, it obviously was still a matter of schoolyard pride) and the lower sizes of memory disappeared. And the "16k" bit limit on the 400 wasn't all that serious: OEM memory of 32k (and eventually 48k) sizes appeared for Atari (the 32k also being useful in upgrading early 800s from 16k to 48k in one swoop). But the C64 was certainly made to face a pricewar, and the manufacturing engineers (I worked for on once) sweated every penny used to build the thing. And when the 1983 video game market crashed, Atari was hardly in shape for a price war.

I'm curious how the 64k in the Commodore64 worked. Could you quickly bank select between kernal and BASIC Roms (which appear to eat almost* as much as in the Atari)? I know they had a 128k edition: if the bank selection was on the fly that must have helped add much more RAM.

* There was at least 4k "wasted" [not mapped at all] and including the BASIC ROM (on Cartridge) would eat the last 8k of a 48k Atari.
From the user end on the 64 you just had one big block of memory to use, and the machine booted directly into BASIC, with "38911 BASIC BYTES FREE", because 16K was disabled to make room for (if I understand things correctly) the BASIC interpreter ROM. If you loaded a program written in assembly, it simply had all 64K available.


I never had a 128, but I think that you could only run C64 software on the C128 in compatibility mode (which restricted it to the original 64K of RAM) unless the program was specifically written with the 128 in mind. Probably because programs in those days were often written in a way that used the hard memory boundary as a cheat to get better performance through various arcane methods.

I'm a few years too young to have gotten into the microcomputer wars - one of the reasons I was an early reader was because I was trying to understand what Daddy was telling the machine to make Mario (really the Giana Sisters with a sprite-swap) show up.