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: Difference between revisions

From SnesLab
Jump to: navigation, search
(bank zero)
(→‎See Also: cart bank switching)
 
(One intermediate revision by the same user not shown)
Line 16: Line 16:
* [[PLD]]
* [[PLD]]
* [[PHK]]
* [[PHK]]
* [[Cartridge Bank Switching]]


=== Reference ===
=== Reference ===
Line 22: Line 23:
[[Category:ASM]]
[[Category:ASM]]
[[Category:Official Jargon]]
[[Category:Official Jargon]]
[[Category:65c816 additions]]

Latest revision as of 05:57, 21 August 2024

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 on address bus A. 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.

The direct page and stack are always in bank zero.

See Also

Reference