< Super NES Programming
AddressRegister nameComment
0x2100Screen Display Registera000bbbb a: 0=screen on 1=screen off, b = brightness
0x2101OAM Size and Data Area Designationaaabbccc a = Size, b = Name Selection, c = Base Selection
0x2102Address for Accessing OAM
0x2104OAM Data Write
0x2105BG Mode and Tile Size Settingabcdefff abcd = BG tile size (4321): 0 = 8x8 1 = 16x16, e = BG 3 High Priority, f = BG Mode
0x2106Mosaic Size and BG Enableaaaabbbb a = Mosaic Size b = Mosaic BG Enable
0x2107BG 1 Address and Sizeaaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size
0x2108BG 2 Address and Sizeaaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size
0x2109BG 3 Address and Sizeaaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size
0x210ABG 4 Address and Sizeaaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size
0x210bBG 1 & 2 Tile Data Designationaaaabbbb a = BG 2 Tile Base Address, b = BG 1 Tile Base Address
0x210cBG 3 & 4 Tile Data Designationaaaabbbb a = BG 4 Tile Base Address, b = BG 3 Tile Base Address
0x210dBG 1 Horizontal Scroll OffsetScroll offset registers are all 16 bits wide.
0x210eBG 1 Vertical Scroll Offset
0x210fBG 2 Horizontal Scroll Offset
0x2110BG 2 Vertical Scroll Offset
0x2111BG 3 Horizontal Scroll Offset
0x2112BG 3 Vertical Scroll Offset
0x2113BG 4 Horizontal Scroll Offset
0x2114BG 4 Vertical Scroll Offset
0x2115VRAM Address Increment Value
0x2116Address for VRAM Read/Write (Low Byte)
0x2117Address for VRAM Read/Write (High Byte)
0x2118Data for VRAM Write (Low Byte)
0x2119Data for VRAM Write (High Byte)
0x211aInitial Setting for Mode 7aa0000bc a = Screen Over b = Vertical Flip c = Horizontal Flip
0x211bMode 7 Matrix Parameter ARegisters 211b through 2120 are 16 bits wide.
0x211B is also used as the 16-bit multiplicand for registers 0x2134-6 (write twice)
0x211C is also used as the 8-bit multiplier for registers 0x2134-6
0x211cMode 7 Matrix Parameter B
0x211dMode 7 Matrix Parameter C
0x211eMode 7 Matrix Parameter D
0x211fMode 7 Center Position X
0x2120Mode 7 Center Position Y
0x2121Address for CG-RAM Write
0x2122Data for CG-RAM Write
0x2123BG 1 and 2 Window Mask Settingsaaaabbbb a = BG 2 Window Settings b = BG 1 Window Settings
0x2124BG 3 and 4 Window Mask Settingsaaaabbbb a = BG 4 Window Settings b = BG 3 Window Settings
0x2125OBJ and Color Window Settingsaaaabbbb a = Color Window Settings b = OBJ Window Settings
0x2126Window 1 Left Position Designation
0x2127Window 1 Right Position Designation
0x2128Window 2 Left Position Designation
0x2129Window 2 Right Position Designation
0x212aBG 1, 2, 3 and 4 Window Logic Settingsaabbccdd a = BG 4 b = BG 3 c = BG 2 d = BG 1
0x212bColor and OBJ Window Logic Settings0000aabb a = Color Window b = OBJ Window
0x212cBackground and Object Enable (Main Screen)000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
0x212dBackground and Object Enable (Sub Screen)000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
0x212eWindow Mask Designation for Main Screen000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
0x212fWindow Mask Designation for Sub Screen000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
0x2130Initial Settings for Color Additionaabb00cd a = Main Color Window On/Off, b = Sub Color Window On/Off, c = Fixed Color Add/Subtract Enable, d = Direct Select
0x2131Add/Subtract Select and Enableabcdefgh a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable, efgh = Enable BG 4, 3, 2, 1
0x2132Fixed Color Dataabcddddd a = Blue b = Green c = Red ddddd = Color Data
0x2133Screen Initial Settingsab00cdef a = External Sync, b = ExtBG Mode, c = Pseudo 512 Mode, d = Vertical Size, e = Object-V Select, f = Interlace
0x2134Multiplication Result (Low Byte)
0x2135Multiplication Result (Mid Byte)
0x2136Multiplication Result (High Byte)
0x2137Software Latch for H/V Counter
0x2138Read Data from OAM (Low-High)
0x2139Read Data from VRAM (Low)
0x213aRead Data from VRAM (High)
0x213bRead Data from CG-RAM (Low-High)
0x213cH-Counter Data
0x213dV-Counter Data
0x213ePPU Status Flag
0x213f
0x2140APU I/O Port
0x2141
0x2142
0x2143
0x4200NMI, V/H Count, and Joypad Enablea0bc000d a = NMI b = V-Count c = H-Count d = Joypad
0x4201Programmable I/O Port Output
0x4202Multiplicand A
0x4203Multplier B
0x4204Dividend (Low Byte)
0x4205Dividend (High-Byte)
0x4206Divisor B
0x4207H-Count Timer (Upper 8 Bits)
0x4208H-Count Timer MSB (Bit 0)
0x4209V-Count Timer (Upper 8 Bits)
0x420aV-Count Timer MSB (Bit 0)
0x420bRegular DMA Channel Enableabcdefgh a = Channel 7...h = Channel 0: 1 = Enable 0 = Disable
0x420cH-DMA Channel Enableabcdefgh a = Channel 7 .. h = Channel 0: 1 = Enable 0 = Disable
0x420dCycle Speed Designation0000000a a: 0 = 2.68 MHz, 1 = 3.58 MHz
0x4210NMI Enable
0x4211IRQ Flag By H/V Count Timer
0x4212H/V Blank Flags and Joypad Status
0x4213Programmable I/O Port Input
0x4214Quotient of Divide Result (Low Byte)
0x4215Quotient of Divide Result (High Byte)
0x4216Product/Remainder Result (Low Byte)
0x4217Product/Remainder Result (High Byte)
0x4218Joypad 1 Data (Low Byte)abcd0000 a = Button A b = X c = L d = R
0x421aJoypad 2 Data (Low Byte)
0x421cJoypad 3 Data (Low Byte)
0x421eJoypad 4 Data (Low Byte)
0x4219Joypad 1 Data (High Byte)abcdefgh a = B b = Y c = Select d = Start efgh = Up/Dn/Lt/Rt
0x421bJoypad 2 Data (High Byte)
0x421dJoypad 3 Data (High Byte)
0x421fJoypad 4 Data (High Byte)

DMA Registers

'X' being from 0 to 7:

AddressRegister nameComment
0x43X0Parameters for DMA Transferab0cdeee a = Direction b = Type c = Inc/Dec d = Auto/Fixed e = Word Size Select
0x43X1B Address
0x43X2A Address (Low Byte)
0x43X3A Address (High Byte)
0x43X4A Address Bank
0x43X5Number Bytes to Transfer (Low Byte) (DMA)
0x43X6Number Bytes to Transfer (High Byte) (DMA)
0x43X7Data Bank (H-DMA)
0x43X8A2 Table Address (Low Byte)
0x43X9A2 Table Address (High Byte)
0x43XaNumber of Lines to Transfer (H-DMA)
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.