They are computers…for example the C64’s floppy drive had its own CPU. This was also typical for printers…in fact it still is.
They are computers…for example the C64’s floppy drive had its own CPU. This was also typical for printers…in fact it still is.
A glass of cold water usually helps.
30 years ago, hallucinating AI was considered a problem. I guess times might have changed.
There's no drive controller in the C64, you send serial commands to the drive and it answers.
Due to a hardware bug on the CIA on the 64, the protocol is much slower than it should, which was corrected in later computers, but they messed up with the graphics and a bunch of stuff.
It's flabbergasting how good Woz's designs were. Almost on a whim, he with the Disk II did something no one anywhere in Silicon Valley—anywhere in the world—was doing. Forget about IBM, HP, Shugart, Tandon. Just within Commodore and Tandy, Apple's direct 1977 competitors, there were abundant human and engineering resources to come up with a fast, inexpensive, and reliable floppy drive and controller; Chuck Peddle at Commodore was certainly no average engineer. And yet, Commodore was still unable to do this in 1984.
Whether one believes in the reality of the existence of the "10X developer", it's hard not to see what Woz did between 1976 and 1978—Integer BASIC, Apple II color graphics, and Disk II—as proof that such a being can exist, even if (as I have written elsewhere) that brilliance straddled the line between optimized and overoptimized. <https://news.ycombinator.com/item?id=41685888>
And it was all done with a "controller" card build out of like eight chips you could get at Radio Shack. The Disk II really is probably the cleverest single piece of hardware shipped in the microcomputer era.
I've always been surprised that nobody else seems to have experimented with that. 1200 bps modems were nothing to be sneezed at in 1980.
- Many of the design constraints that other companies faced were removed. Apple designed their own drive electronics and drive interface card. Yes, it takes a talented engineer to handle both the analog and digital side of things. On the other hand, there were compromises. The Apple II was stuck doing a lot of the heavy work. Apple also ended up designing a more complex drive controller to go beyond single sided, double density drives.
- On the flip side, Commodore had more design constraints than most. The 1541 was based upon drives from the PET era. The drives also interfaced to the computer in a fundamentally different way. On the surface level, Commodore drives interfaced to the computer over a generic bus (a bit like USB is a generic bus). The drives also handled high level commands over that bus, to the point where they could operate autonomously. I recall a colleague demoing a drive-to-drive copy between two 1541 drives that occurred without the drives being connected to a computer (after the initial setup was done). The commands were also very high level, dealing with file system access rather than block level access.
While it would be easy to claim that Commodore drives were over-engineered, one must also consider that the original designs came from a time when personal computers had 4 kB of RAM, with nearly 1 kB of that being used by a 40x25 text display (many early computers shared memory between the CPU and video). Software like a disk operating system also required at least some RAM and, in the case of the Apple II, was entirely loaded into RAM. In other words, Commodore was offloading some of the work and memory requirements from the computer.
Wozniak was a genius at designing simple hardware, but those designs usually pushed things into hardware. The Disk II is one example. The other classic example is the non-linear addressing of video on the Apple II. It simplified hardware, but more work had to be done in software.
As for Commodore, well, they were geniuses at botching sophisticated hardware designs. But that's another story.
This is simply because the 1541 was not just a drive, it was a full computer with a 6502 CPU, 2kB RAM and 16kB ROM. You could load software into the RAM through the serial interface, and replace the firmware with any program that you could fit in the 2kB.
C64 uses the same very slow bit-banging method as VIC-20.
If that were true then carts like Fastload wouldn't work using the same hardware and same cabling, to load programs many times faster than the stock C64 code.
The C64 ROM code worked, but slowly. This was also true for the built-in serial routines. When I got a 2400bps modem for my C64, the computer couldn't keep up, there was garbage coming through,I couldn't upload or download, and it was caused by the slow ROM serial code. I hacked my favorite terminal program with my own assembly language bit-banged serial driver, and then the 2400bps modem worked flawlessly. The same is true for the slow disk drive serial code. To my knowledge, that wasn't caused by any flaw in the hardware, it was just slow driver code.
Everyone I knew had a Fastload cartridge, but I was in "the scene", so maybe not the average user back then.
It was still slower due to GCR decoding. Over the last 10 years people have started to write streaming GCR decoders too.
Bob Russell once observed the 1541 was the best computer Commodore ever made.
Commodore tried to solve this twice. The first time was for the Plus/4 series with TCBM drives which connected through the expansion port. The only drive of this type was the 1551, which was very fast, but only worked with the Plus/4 family. Commodore was going to design a TCBM interface for the 64 as well, but it wasn't really necessary as pretty much everyone had a fastloader by then. The 128 has a fixed serial bus and burst mode when combined with the 1571 disk drive, which is also very fast and doesn't require using the expansion port, but by then it was 1985 and the 8-bits were on their way out.
The 1571 is way better than the 1541, IME. It's faster with the 128, it's 100% compatible, it's more reliable and less prone to alignment problems, and it can also read MFM formats. But Bob worked on the 1541, so he loves it. :)
"What did you do back in the 1980s, Grandpa?" "I designed a floppy disk drive that could barely keep up with the Apple ]['s cassette port." "... Oh."