         value
 
     setControl: (value) ->
-        @bigAddressIncrement         = (value >>> 2) & 0x01 # C[2]
-        @spritesPatternTableIndex    = (value >>> 3) & 0x01 # C[3]
-        @backgroundPatternTableIndex = (value >>> 4) & 0x01 # C[4]
-        @bigSprites                  = (value >>> 5) & 0x01 # C[5]
-        @vblankGeneratesNMI          = (value >>> 7)        # C[7]
+        @bigAddressIncrement   = (value >>> 2) & 1      # C[2]
+        @spPatternTableAddress = (value  << 9) & 0x1000 # C[3] -> 0x0000 / 0x1000
+        @bgPatternTableAddress = (value  << 8) & 0x1000 # C[4] -> 0x0000 / 0x1000
+        @bigSprites            = (value >>> 5) & 1      # C[5]
+        @vblankGeneratesNMI    = (value >>> 7)          # C[7]
 
     ###########################################################
     # Mask register

        value

    copyHorizontalScrollBits: ->
        @fineXScroll = @tempFineXScroll
        @vramAddress = (@vramAddress & 0x7BE0) | (@tempAddress & 0x041F) # V[10,4-0] = T[10,4-0]

    copyVerticalScrollBits: ->

        value

    setMask: (value) ->
        @monochromeMode     =    value        & 1  #  M[0]
        @backgroundClipping = !((value >>> 1) & 1) # !M[1]
        @spriteClipping     = !((value >>> 2) & 1) # !M[2]
        @backgroundVisible  =   (value >>> 3) & 1  #  M[3]
        @spritesVisible     =   (value >>> 4) & 1  #  M[4]
        @intensifyReds      =   (value >>> 5) & 1  #  M[5]
        @intensifyGreens    =   (value >>> 6) & 1  #  M[6]
        @intensifyBlues     =   (value >>> 7)     #   M[7]

    ###########################################################
    # Status register
