Skip to main content
Home Forums 68kMLA Macintosh Memory Map — #2
Post #2 by dougg3
Source Forum68kMLA
Category68k
Post DateTue, 3 Jul 2012 - 03:43
Original URLhttps://68kmla.org/bb/threads/macintosh-memory-map.25772/
Post
Hey there!

Guide to the Macintosh Family Hardware has this to say:

Each Macintosh computer uses two address maps: the ROM overlay address map and the normal address map. The ROM overlay address map, used when the machine is turned on or reset, maps addresses in the lowest address space to locations in ROM rather than to RAM.
It goes on to explain exactly what you said about the 68k looking at address 0 at startup being the reasoning for that behavior.

Now that's not the interesting part; the interesting part is on page 122 regarding the 128K, 512K, and Plus:

The ROM overlay address map, which is used when the machine is turned on or reset, maps addresses from $00 0000 to $01 FFFF to locations in ROM rather than to RAM. The startup or Reset handler software switches from the ROM overlay address map to the normal address map by setting low the Overlay signal from the VIA.
In particular, bit 4 of the VIA data register A is used to set this. It looks to me from this book that the VIA register controls a pin on the VIA chip, which is hooked up to an input on the PALs, which change their address decoding logic based on that input. As far as I can tell, the VIA is pretty much just a pair of GPIO ports, 2 timers, and a shift register. So what it comes down to is one of the GPIO port pins is used to control the PALs.

I can find more details in Guide to the Macintosh Family Hardware if you want...that's pretty much the gist of it from what I can tell!

Edit: bigmessowires knows a ton about this--he implemented a Mac Plus on an FPGA! I haven't seen him around lately on here, but he would definitely know the exact details...

mp.ls