14

I am in the process of repairing a Macintosh II and trying to understand the design rationale behind Apple's MMU replacement part installed in this machine.

As you can see in the picture, there is a socket for a Motorola 68851 MMU. In its place, Apple shipped the pictured chip. I am guessing it is some sort of custom discrete logic chip that provides limited MMU-like functionality.

enter image description here

What was accomplished with this design, and how do I use this chip if I want to "max out" the system RAM in the Macintosh II? Also, is there any possibility or point to swapping in an actual 68851?

0

2 Answers 2

15

Your Mac II “HMMU” chip implements the address functionality shown in this image, from Guide to the Macintosh Family Hardware, 2nd edition: Mac II 24-to-32-bit address mapping

The chip has two modes of operation. In 24-bit mode, the addresses are mapped as shown and the top 8 bits of the address bus are ignored. In 32-bit mode the address is buffered unchanged.

Early versions of the Mac system software store information in the top 8 bits of pointers (addresses). The original 68000 had only a 24-bit addressing capability, and so on 68000 Macs, the top 8 bits of a 32-bit address do not change what is output on the bus. The Mac II has a full 32-bit address bus, so, when running older software which uses those top 8 bits of the address, the 24-to-32 mapping must be turned on so the top 8 address bits are ignored.

In 24-bit mode, the Mac II can only access 8 MB of ram, so if you want to use more ram, you need to run “32-bit-clean” software which does not use those 8 top address bits. In this case, the 24-to-32 mapping can be turned off.

The PMMU is mostly for A/UX. It is possible to switch to a real 68851 “PMMU” but it doesn’t increase Mac OS performance unless you want to use virtual memory, and depending on your specific Mac II board, the MMU socket pinout may not match the 68851 and you might have to acquire and use the adapter card mentioned by jeffB.

5
8

I can answer the last part of your question: yes, the Mac II could use a 68851.

For a time, Virginia Tech required incoming Computer Science freshmen to purchase a (heavily discounted) Mac II running A/UX, Apple's first in-house-developed UNIX. These machines shipped with 2MB RAM, an 80MB HD (huge for the time), and a 68851 pre-installed; A/UX required the 68851 to work.

Somewhere, in a dusty corner, I have a prototype Mac II that has a small daughtercard in that socket instead of a 68851. I may also have some documentation from the beta-testing period that would shed light on the "alternate" MMU.

I believe the Mac II first shipped with Mac OS 6, which didn't support virtual memory. I don't remember if VM support in System 7.(whatever) required the 68851.

As I recall, the Mac II shipped with 256KB SIMMs, supported 1MB SIMMs (up to 8MB total RAM), and was expected to support 4MB SIMMs when they became available. Unfortunately, manufacturers changed something in the electrical interface for 4MB SIMMs, so they didn't work in the Mac II. I think someone may have made a 4MB SIMM that could work in the Mac II, but they were low-volume and prohibitively expensive, and the Mac product line had moved on by then. So, "maxing out your RAM" probably means 8MB -- but that still exceeds the 24-bit address limit in early Mac OS, so you may need a "real" MMU to take advantage of it.

6
  • 2^24 = 16 MB. Is there something I'm missing?
    – Mark
    May 1, 2019 at 22:16
  • 2
    @Mark The CPUs could physically map 16 MB of memory, yes. But that doesn't mean that the system supported that much RAM. The gap is what else is mapped in the address space. Macintoshes used the contents of ROM during normal operation, so that was mapped into the address space. The original 68000-based Mac mapping was 4 MB of RAM and 4 MB of ROM. The 68020-based Mac II changed that (also the Portable, even though it was still 680000-based), allowing up to 8 MB of RAM. May 2, 2019 at 3:59
  • @CodyGray 4MB max memory out of a 16MB total linear address space? That's a surprisingly constrained memory map. For comparison, the 68000-based Amigas max out at 10.75MB of ram (although you have to do some funky contortions to physically install more than 9MB).
    – mnem
    May 2, 2019 at 4:38
  • "Nobody will ever need more than 4 MB of memory..." Remember that these were machines that shipped with less than 1 MB of memory. Expanding to 4 MB pretty much gave you more space than you really would ever need on that machine. I don't know the details about why this decision was made, though. Logically, it does seem that an 8 MB cap would be more sensible. It would also make sense physically, since these early compact Macs had 4 30-pin SIMM slots. If you found 4-4 MB SIMMs, you could easily expand to 8 MB, but that'd be as high as you could ever go. @mnem May 2, 2019 at 4:40
  • @CodyGray Ya, I can see how it could happen, it just seems incredibly short-sighted. I mean most Amigas only shipped with 512KB of RAM and the original A1000 shipped with 256KB (originally planned to ship with 128KB like the original Mac).
    – mnem
    May 2, 2019 at 4:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .