 
     //MARK: Helpers
     private var memoryBankAddress: UInt16 = 0
-    private var borderLeftComparisonValue: Int = 24
-    private var borderRightComparisonValue: Int = 344
+    private var borderLeftComparisonValue: UInt16 = 24
+    private var borderRightComparisonValue: UInt16 = 344
     private var borderTopComparisonValue: UInt16 = 51
     private var borderBottomComparisonValue: UInt16 = 251
     private var bufferPosition: Int = 0
     private var badLinesEnabled = false
     private var isBadLine = false
+    private var currentSprite: UInt8 = 2
+    private var spriteDma: [Bool] = [Bool](count: 8, repeatedValue: false)
+    private var spriteDisplay: [Bool] = [Bool](count: 8, repeatedValue: false)
+    private var anySpriteDisplaying = false
+    private var spriteShiftRegisterCount: [Int] = [Int](count: 8, repeatedValue: 0)
     //MARK: -
     
     private let colors: [UInt32] = [

    
    internal func writeByte(position:UInt8, byte: UInt8) {
        switch position {
        case 0x11:
            yScroll = byte & 0x07
            den = byte & 0x10 != 0

    private var mcm = false // Multi Color Mode
    private var raster: UInt16 = 0 // Raster Counter
    private var me: UInt8 = 0 // Sprite Enabled
    private var mye: UInt8 = 0 // Sprite Y Expansion
    private var vm: UInt8 = 0 // Video matrix base address
    private var cb: UInt8 = 0 // Character base address
    private var ec: UInt8 = 0 // Border Color
