whartung wrote:
I never really had an idea how it worked on the Commodore. I know (I think) that the disk was Device 8, but beyond that, I'm not sure how things like drivers and such were handled there. I don't even know if the Apple had anything close to what the Atari (or even the Commodore) had. Seems like it was just a bunch of well know addresses that it relied on, rather than a first class abstraction.
Commodore's operating environment depended on the fact that the disk drive was intelligent, offloading the details of raw disk management from the host machine. Each disk had a device number, starting at 8 and in the case of dual drive units, e.g., the 8050 and 8250, a "logical unit" number of 0 or 1, which addressed the target drive mechanism. Functions related to file housekeeping were carried out within the drive in response to simple commands passed from the host machine. For all practical purposes, Commodore's disks were special-purpose computers in themselves, as they had a 6502, along with firmware in ROM and some RAM to act as block buffers and workspace.
This scheme was based upon the IEEE-488 parallel bus (aka GPIB or HPIB) protocol, even in the case of the VIC-20, C-64, etc., and their serial buses. The host's "kernal" ROM contained low-level functions for accessing the peripherals and higher-level functionss for accessing files, which were addressed by file number, as is done in UNIX and Linux. In principal, the Commodore DOS was a vague copy of the way in which the DEC PDP series of minicomputers accessed their peripherals. I'm sure this was because Commodore did their cross-development on PDP-11s and later on, VAX 11/70s.