Nevermind! Got it!
According to DeReAtari (Chapter 8), the initialization code is not JMP'd to, it is 'JSR'd to. Thus the RTS simply returns to the OS.
Then, the OS performs a JMP to the startup vector stored at $BFFE/F.
TC
On Saturday, January 28, 2017 at 4:51:39 PM UTC-5,
chrp...@gmail.com wrote:
As I understand the operation of Atari 800 cartridges, the initialization address for the cart is stored at $BFFE and $BFFF.
In the Pac man .rom file, the address stored there is $A14E. The instruction at
$A14e is a RTS.
Doesn't the RTS instruction pull a return address from the stack?
What does the system do here?
Also, the start address for the cart is stored at $BFFA and $BFFB. The vector stored here is $A386. This seems to be the start of the executable code.
TC
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)