| Not a bad talk, considering that the guy wasn't even alive when the original 6502 was designed. He was confused on a few minor points, some of which Wikipedia clears up.[1][2] a) There were really two chips done, the 6501 and 6502. The difference was in a few pins, the 6501 was fully pin-compatible with the 6800, the 6502 was easier to use in a system design since it did not require a two-phase non-overlapping 5V rail-to-rail clock. b) The 6501 cost $20, the 6502 cost $25. Quantity 1. They ran at 1 MHz. You could send a letter to the company in Pennsylvania, with a check enclosed, and buy 1 chip for that price. Try buying one CPU chip from Intel nowadays. :) c) The lawsuit by Motorola that he mentions resulted in MOS agreeing to discontinue the 6501. But that didn't matter much for 99% of their potential customers. First, the pin differences were very minor. Second, the TTL-level clock input in the 6502 meant that an external clock driver chip wasn't needed. [1] http://en.wikipedia.org/wiki/MOS_Technology_6502
[2] http://en.wikipedia.org/wiki/Motorola_6800 |
d) BCD instructions, which he thinks are "kind of silly", and perhaps they are now that computers run at many GHz. But they were very useful in the old days. E.g. CBASIC [1] implemented BCD floating point math. Here's what Wiki says about it:
As the reference manual linked [2] from Wiki says: That was of course long before IEEE 754 floating point.[3] BTW did anyone know that IEEE defined decimal floating point? I didn't know that until just now. It's probably not that popular.When a CPU runs at 1 MHz instead of 3 GHz, doing FP in BCD means much simpler and much faster conversion between internal representation and display. A lot of early microcomputers were used by small business. BCD is inferior for complicated scientific calculations, but is ideal for simple small business accounting, which was CBASICs target market.
[1] http://en.wikipedia.org/wiki/CBASIC [2] http://www.cpm.z80.de/manuals/cbasic-m.pdf [3] http://en.wikipedia.org/wiki/IEEE_floating_point