Same MPU, different proms

TBK terryk at foothill.net
Thu May 14 04:49:46 GMT 1998


All processors have what is called the Restart or Reset Vector. When the
processor starts up, it loads the program counter with address of the start
of the code. For the Motorola's, this start up address is FFFE and FFFF
(double byte). Located here is the address of the start of the program code.
This address is loaded into the program counter and off it goes.

If you look at any P4 256k binary, the last two bytes will be something
like:

 - A0 00  (FFFE and FFFF). This means the start of code is address A000. The
start of the code is almost alway located after the data (although having
some data scattered in the middle of the code is not that unusual).

The A000 start of code is not universal. It all depends on the size of the
data. If it fits from 8000-9FFF (256k rom) or from C000-DFFF (128k rom), the
start address will be in that area. Usually.

What some people miss is the the code is "hanging" from FFFF backwards.
Since the processor damn well expects the Restart Vector at FFFF, the
program must but pushed up to this address. The processor has to start
somewhere. And this is the somewhere.

So a 128K rom is located from C000 to FFFF and a 256k is from 8000-FFFF
(takes twice the space).

But when you look at a rom in a hex editor, it shows it as "physical"
addresses. The first byte in the rom is at address 0000 and the last byte is
3FFF for a 128K rom and 7FFF for a 256k rom. The hardware is wiring to make
the rom "appear" as being at address C000-FFFF for the 128k and 8000-FFFF
for the 256k.

How is another subject for another time.

If you look at group of two bytes backwards from FFFE and FFFF (say, FFFC
and FFFD), these are the addresses where the process should go if a hardware
interupt occurs, or if a timer overflows, or whenever some event causes the
processor to jump to some other code. I think the Motorola HC has some 10
vectors ("where do I go it this happens").

Clear as mud?


TK

-----Original Message-----
From: ECMnut <ECMnut at aol.com>
To: diy_efi at efi332.eng.ohio-state.edu <diy_efi at efi332.eng.ohio-state.edu>
Date: Wednesday, May 13, 1998 9:12 PM
Subject: Re: Same MPU, different proms


>I'd like it if anyone can shed some light on the issue
>for us newer members...
>If I go to the boneyard and find a 7749 ECM from a
>Quad-4, it will have a 256k prom in the carrier.
>If I get a 7749 from a Turbo Sunbird, it will have a 128k prom...
>How does the  ECM know where to load the prom into memory?
>It the answer in the other chip(s) in the carrier?
>Thanks,
>Mike V
>




More information about the Diy_efi mailing list