     renderFramePixel: ->
         @renderedSprite = null
         backgroundColor = @renderBackgroundPixel()
-        spriteColor = @renderSpritePixel()
+        spriteColor = @$renderSpritePixel()
         if (spriteColor & 0x03) and (backgroundColor & 0x03)
             @spriteZeroHit ||= @renderedSprite.zeroSprite                    # Both bagckground and sprite pixels are visible
             if @renderedSprite.inFront then spriteColor else backgroundColor # Choose target by rendering priority

    #   C = color palette number
    # Byte 3 = x screen coordinate

    renderSpritePixel: ->
        return 0 if @$isSpritePixelInvisible()
        rightX = @cycle - 1
        leftX = rightX - 8
        for spriteNumber in [0...@spriteCount]
            sprite = @secondaryOAM[spriteNumber]
            if leftX <= sprite.x <= rightX
                columnNumber = rightX - sprite.x
                columnNumber ^= 0x07 if not sprite.horizontalFlip
                colorBit0 = ((sprite.patternRow0 >>> columnNumber) & 1)
                colorBit1 = ((sprite.patternRow1 >>> columnNumber) & 1) << 1
                colorNumber = colorBit1 | colorBit0
                if colorNumber
                    @renderedSprite = sprite
                    return sprite.paletteNumber | colorNumber
        return 0

    isSpritePixelInvisible: ->
        not @spritesVisible or @spriteClipping and (@cycleFlags & F_CLIP_LEFT)

        @cycle = 0
        @scanline++
        @incrementFrame() if @scanline > 261
        @prerenderSprites() if 0 <= @scanline <= 239

    incrementFrame: ->
        @scanline = 0
