     fileprivate var xScroll: UInt8 = 0
 
     static func extract(_ binaryDump: BinaryDump) -> VICPipeline {
-        return VICPipeline(m_x: binaryDump.next(8), graphicsData: binaryDump.next(), graphicsVideoMatrix: binaryDump.next(), graphicsColorLine: binaryDump.next(), mainBorder: binaryDump.next(), verticalBorder: binaryDump.next(), initialRasterX: binaryDump.next(), xScroll: binaryDump.next())
+        return VICPipeline(m_x: binaryDump.next(8), mxe: binaryDump.next(), graphicsData: binaryDump.next(), graphicsVideoMatrix: binaryDump.next(), graphicsColorLine: binaryDump.next(), mainBorder: binaryDump.next(), verticalBorder: binaryDump.next(), initialRasterX: binaryDump.next(), xScroll: binaryDump.next())
     }
     
 }

                            let previousCycleRasterX = state.rasterX >= 8 ? state.rasterX - 8 : configuration.xLimits.last + state.rasterX - 8
                            if state.pipe.m_x[spriteIndex] == previousCycleRasterX {
                                state.spriteShiftRegisterCount[spriteIndex] = 24
                            }
                            if state.spriteShiftRegisterCount[spriteIndex] > 0 {
                                let xExpansion = state.mxe & UInt8(1 << spriteIndex) != 0
                                var currentSpritePixel: Int? = nil
                                if state.mmc & UInt8(1 << spriteIndex) != 0 {
                                    switch (state.spriteSequencerData[spriteIndex] >> 22) & 0x03 {

                                    if state.spriteSequencerData[spriteIndex] & 0x800000 != 0 {
                                        currentSpritePixel = Int(state.m_c[spriteIndex])
                                    }
                                    if state.spriteShiftRegisterShouldShift[spriteIndex] {
                                        state.spriteSequencerData[spriteIndex] <<= 1
                                        state.spriteShiftRegisterCount[spriteIndex] -= 1
                                    }
