Some 68k systems have special reset logic to cause the first memory fetches after reset to go 'elsewhere', because having ROM at 0x0000 can be particularly inconvenient.
Yes, this is based on a Motorola AppNote and mainly used in 68000 based computers, which require to have programmable (RAM) vectors in their BIOS (ie. CPM/68k).
As mentione in the Motoral 68k AppNote:
After power-on or a system reset, the CPU fetches the initial Program Counter and the
Supervisor Stackpointer. These vectors are addressed at 0x000000 and 0x000004. Therefore,
the CPU has to see ROM at these addresses.
If you need to have the vector table located into RAM, you take a shift register clocked by the AS, and after the first 2 ROM fetches (SSP & PC) the ROM is mapped to a different address range.
Where else does A19 go?
A19 goes to the decoders also (2x PALs).
So, we are looking to that 2 initial fetched directly after RESET. Nothing can be prepared in the CPU as there was no sw execution before, thus CPU acts by design, accessing Vect 0 @ 0h for SSP and Vect1 @ 4h for PC, both to be located in the ROM. CPU put 4h to the address-line for the PC.
As all adress-lines of the ROM are wired directly to the CPU, ROM selection have be controlled by /CE and /OE only. A19 controls /CE, means A19 must be 0, to get ROM access.
Thus only /OE is able to map the ROM.
But no matter where ROM is mapped, A1...A17 are wired to the CPU (= 04h)
QED: CPU will access 4h and thus selects ROM address 4h.
Is there an error in my logic?