anchor.diff:  
       // Raster X Counter (for sprites)
       let mutable rasterX = 0
  -
  -
  +    let IncrementRasterX () =
  +        rasterX <- if rasterX >= (config.MaxRasterX - 1) then 0 else rasterX + 1
  +
  +    // Blanking
       let mutable vBlank = true
       let mutable hBlank = true
  +    let ClearVBlank () =
  +        vBlank <- false
  +    let ClearHBlank () =
  +        hBlank <- false
  +    let SetVBlank () =
  +        vBlank <- true
  +    let SetHBlank () =
  +        hBlank <- true
   
       // Raster Line Counter (not identical to X)
       let mutable rasterLineCounter = 0
  -
       let IncrementRasterLineCounter () =
           rasterLineCounter <- if rasterLineCounter >= (config.CyclesPerRasterLine - 1) then 0 else rasterLineCounter + 1
  -        rasterLineCounter
  -
  -
   
       // RC
       let mutable rowCounter = 0
  
positive.code:     let SetLowRasterYCompareValue (value:int) =
          rasterYCompareValue <- (rasterYCompareValue &&& 0x100) ||| value
          value
      let SetHighRasterYCompareValue (value:int) =
          rasterYCompareValue <- (rasterYCompareValue &&& 0x0FF) ||| ((value &&& 0x80) <<< 1)
          value
  
      // Control register 1 (11) (RST8/ECM/BMM/DEN/RSEL/YSCROLL)
      let mutable extraColorMode = false
  
negative.code:     member val VBlankClear = (vBlankSet + 28) % rasterLinesPerFrame
      member val RasterLinesPerFrame = rasterLinesPerFrame
      member val RasterOpsX = 0x15C - ((65 - cyclesPerRasterLine) * 8)
      member val MaxRasterX = System.Math.Min(64, cyclesPerRasterLine) * 8
  
  type Vic2State(config:Vic2Configuration) = 
      // MnX (00, 02, 04, 06, 08, 0A, 0C, 0E, 10)
      let mobX = [|0;0;0;0;0;0;0;0|]
      let GetLowMobX (index:int) =
  