Digital echoes: open bus behavior on the compact Macintosh

https://news.ycombinator.com/rss Hits: 10
Summary

While working on Snow, my vintage Macintosh emulator, I came across an interesting conflict in expectations of applications with regards to open bus behavior on these systems. In this article I’ll explain what open bus behavior is, how a compact Macintosh (the 128K, 512K, Plus, SE and Classic) behave and how this affects some applications. The basics: what is a bus? In digital electronics, a bus is a series of traces or wires that connect several peripherals together. The topology of a bus is basically one long line on which devices ‘hook in’. On an electronic circuit board, such as the compact Mac’s logic board, the devices are usually different ICs. The CPU (the Motorola 68000) initiates all communication in the case of the Macintosh, but this is not necessarily always the case (in a ‘multi-master’ bus concept, multiple devices may initiate communication, usually gated by a mechanism to prevent multiple devices initiating at the same time). The compact Mac makes use of what is called an ‘address/data bus’. On the PCB level, this is basically a set of 23 address lines and 16 data lines. When the processor wants to read/write to an address in memory or mapped to a device, it outputs the requested address on the address lines. When writing, the CPU puts the data on the 16 data lines. Then, it sends a read or write strobe on a different pin. The device mapped to that address will then respond on the data bus, or will store the data the CPU is presenting on the data bus. This process is subject to timing constraints as described in the MC68000 User Manual: In the compact Macintosh, all components are so-called ‘memory mapped’ to the CPU. This means that on the address/databus there is not just memory, but also other devices, such as the VIA, floppy drive controller, serial controller, SCSI controller, etc. To communicate with these devices, the CPU reads and writes from specific addresses. The address regions to which the devices are mapped are documented in so-called ...

First seen: 2025-11-22 20:15

Last seen: 2025-11-23 05:17