Discussion about this post

User's avatar
Jon Metzler's avatar

Really enjoyed this. Very nice work. Thinking about where you ended this. Compute - and computers - have been greatly democratized - but, as you say, with less ability to mod, to paraphrase you a bit. You could probably pair this with data on how the incremental cost of storage has declined.

Expand full comment
Bruce Hoult's avatar

Most people don't seem to realise just how open the original Macintosh really was. Sure, it didn't have internal card slots like the Apple ][ and IBM PC, but that's really the only difference.

Just like on MSDOS, once an application was launched it had total control over the machine. Sure, there was a large ROM with a lot of useful routines for drawing graphics and UIs and other things, but nothing at all forced you to use it -- it was just super-convenient to do so. Like DOS but unlike Windows the main program loop was your code so with no address space protection you were in total control.

Not only could you use Mac library routines, you could also replace them with your own versions in several ways, lower level ones by patching the Axxx illegal instruction trap dispatch table entries that were used to call them, and for some higher level things such as menu and window drawing even just by adding code in a "resource" in either your application or in the desktop database file.

This was SO OPEN that it allowed the WDEF virus in late 1989 that replaced the window drawing code with code that called the standard one but also did some nefarious things (infecting disks). By the time this was discovered it had already spread all over the world, even in pre-internet times.

The IBM PC's "ISA" (named in retrospect) bus theoretically ran at up to 4.77 MB/s but in practice both 8088 load/store and DMA ran at 5 clock cycles per byte so maximum 1.13 MB/s or 9 Mbps.

The Mac's Zilog SCC serial ports (which cost about $5 more than the simple 8250 UART used in the PC, which supported maximum 115200 bps) ran at up to 230.4 kbps with the internal clock, or up to 1 Mbps with an external clock. The SCC also supported device addresses and ignoring data not meant for it, thus allowing multiple peripherals to be attached and indeed the LocalTalk network. With external clock the speed is not too far off modern USB LS's 1.5 Mbps which is used to this day for many keyboards, mice, joysticks, and communications to microcontrollers such as Arduino.

At the built in 230.4 kbps speed Localtalk used a simple cheap external transformer and allowed up to 32 computers to communicate over a network segment of up to 300m length. Farralon's "PhoneNet" connectors doubled this to 600m. Other companies produced networks operating at up to 1 Mbps from those serial ports.

That's on the original 128k and 512k Macs. Of course two years after the initial launch the Mac Plus in January 1986 added SCSI for higher speed peripherals at 0.25 MB/s. The next year's Mac II increased that to 1.35 MB/s.

Expand full comment
1 more comment...

No posts