For the target business market the TED was probably ok, but the lack of sprites and the poor sound really destroyed it in the games market. They could have added a SID chip, which would have free'd up space for doing sprites on TED. But the whole point of TED was to fit sound and graphics in one chip.
Yeah, the sound was pretty dire but it was possible to do some nice tricks with it though.
19KHz replay routineThe limited amount of available RAM in the C64 is only apparent to basic BASIC programs. Using ML purely (or even in concert with BASIC) you can swap out the BASIC ROM and "open up" 4k of RAM. You can also swap out I/O space for another 4k. If you can get away with it, you can swap out the Kernal for yet another 4k. Some memory has to be set aside for color and video memory; no biggie.
I wrote a BBS program which uses RAM under ROM and I/O for various tasks and modules. The trick is to make sure you don't have a particular ROM swapped out when you decide to use a routine contained within (like floating point math while BASIC is out or disk access routines while Kernal is swapped out) or attempt to access I/O devices with that space swapped out.
If you've never programmed the 64 in machine language/assembly, you're missing out. It's a ton of fun manipulating the hardware and running "on the metal."
I've done some but not nearly enough!
Whilst convalescing for the last week or so after surgery I've been reacquainting myself with Rodnay Zaks "Advanced 6502 Programming" book and the old Commodore Hacking series by Craig Taylor to pass the time.
I must say that I've got the bug and will be spending my free time with VICE and YAPE for the foreseeable future (In no small part due to the fact that I've become bored with Amiga's again.)
C99 came out in 1999, has Power C been updated?
It's more likely to be C89 but here http://www.lyonlabs.org/commodore/powerc.html it suggests using K&R style arguments to functions, which I'd find a major pain.
Ouch! I wonder what C compiler is used for the Contiki OS on 8bit machines?