• Pac Man disassembly

    From [email protected]@21:1/5 to All on Sat Jan 28 13:51:38 2017
    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)
  • From [email protected]@21:1/5 to [email protected] on Sun Jan 29 05:52:21 2017
    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, [email protected] 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)