Subject: Re: ROM Maps
To: Daniel R. Killoran,Ph.D. <drk@shore.net>
From: Dr. Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 03/01/1999 11:32:25
On Mon, 1 Mar 1999, Daniel R. Killoran,Ph.D. wrote:

> >No, it's not like on the Apple II where programs would jump to the ROM
> >routine directly. On the Mac, programs use the trap number (which does
> >remain constant across all ROMs). The ROMs then handle figuring out
> >where the actual address of the routine is.
> 
> This is a distinction without a difference - on the Mac, the hardware
> fetches the address from the trap table when it hits an A-instruction.
> There is no practical difference between this and a jump to a transfer
> table except that the registers get saved.

Actually the hardware fetches the "A-trap" dispatcher's address, and
executes that. That code in turn tears apart the remaining 12 bits of trap
code. Note that some of the upper bits are (were) used as flags, and those
bits are stripped off when determining the ROM routine.

Take care,

Bill