Search code examples
emulationaddressing-mode

What is the name of the effective address part that is not the bank?


I'm writing a SNES emulator for fun, and I always wondered what is the name of the part that is not the bank:

Effective address: $80       $0000
                   ^-- Bank  ^-- ???

Solution

  • Per page 8 of the W65C816S data sheet:

    During modes of operation, the 8-bit Data Bank Register holds the bank address for memory transfers. The 24-bit address is composed of the 16-bit instruction effective address and the 8-bit Data Bank address.

    And, similarly, on page 9:

    The 8-bit Program Bank Register holds the bank address for all instruction fetches. The 24-bit address consists of the 16-bit instruction effective address and the 8-bit Program Bank address.

    So "instruction effective address" seems to be Western Digital's phrase for the low 16 bits.

    I would dare imagine 'offset' is also commonly used though, through similarity to Intel's more-widely-familiar real mode segment:offset addressing scheme.