3 ms·
ADB was maybe 0.5.. The progenitor of USB was the SIO interface on the Atari 8-bit series. (https://en.wikipedia.org/wiki/Atari_SIO https://en.wikipedia.org/wi
by spacedcowboy 6y ago
ADB was maybe 0.5..
The progenitor of USB was the SIO interface on the Atari 8-bit series. (https://en.wikipedia.org/wiki/Atari_SIO https://en.wikipedia.org/wiki/Atari_SIO)
The inventor of SIO (Joe Decuir) was also part of the USB team, and credits SIO as having a big influence on USB.
SIO was actually pretty neat, for those early days, it was effectively an implementation of a serial-based virtual-filesystem-like layer, where a device I/O block held pointers to routines for read-char/write-char/open/close/.../xio (where xio was the catch-all, like ioctl())
You could create your own SIO drivers, or load in 3rd-party drivers (the floppy-disk driver was a loaded SIO driver) , and the machine came with some already installed by the OS (keyboard, screen, cassette i/o, printer). Any external device would plug into the SIO port in the back of the machine, which was molded so it only went in one way.
SIO as a software API wasn’t limited to the external bus, either. Atari introduced an 80-column box (the XEP-80) which used the SIO api internally to drive 8-bit parallel data across the bidirectional joystick ports (yes, the 80-column card connected via the joystick ports, because if you were running with 80-column text, apparently you never played games...) The joystick ports gave a higher bandwidth than the SIO port, but there was a parallel port on the XL/XE as well...
Of course, the requirements for 8-bit computers were a lot lower, so the bus ran at the blazing speed of 19200 baud normally (you could boost it higher, up to 72k), and the entire thing was run off the clock-domain of POKEY, the sound chip.
There was a lot of neat engineering in the Atari 8-bit line, most of which was ignored because it was a “games computer”...