We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Bank

From SnesLab
Revision as of 03:33, 5 August 2024 by Xetheria (talk | contribs) (VRAM/ARAM not addressable from 5A22)
Jump to: navigation, search

A Bank is 256 contiguous pages in the 65c816's address space. This is equivalent to 64K (65,536 bytes).

The first byte of a bank is always located at an address of the form $xx:0000, where xx is the bank number. A colon is commonly used to separate bank numbers from the low 16 bits of the address. A bank boundary occurs between byte $FFFF of one bank and byte $0000 of the next.

VRAM and ARAM are technically not addressable from the 5A22 but are both exactly one bank in size, which is why nobody talks about bank switching on them.

WRAM is two banks.

The SNES can address up to 256 banks. The data bank register holds the bank number the S-CPU is configured to use. The program bank register tells the 65c816 what bank to fetch the next opcode from.

See Also