anchor.diff:      let mutable videoCounterBase = 0
       let mutable videoMatrixLineIndex = 0
       let videoMatrixLineMemory = Array.zeroCreate 40
  -    let IncrementVideoCounter () =
  -        videoCounter <- (videoCounter + 1) &&& 0x3FF
  -        videoMatrixLineIndex <- (videoMatrixLineIndex + 1) &&& 0x3F
  -    let IncrementVideoCounterBase () =
  -        videoCounterBase <- videoCounter
  -    let ResetVideoCounter () =
  -        videoCounter <- videoCounterBase
  -        videoMatrixLineIndex <- 0
  -    let ResetVideoCounterBase () =
  -        videoCounterBase <- 0
   
       // Graphics shift registers
       let mutable graphicsShiftRegister = 0
  
positive.code: 
      // MxY (01, 03, 05, 07, 09, 0B, 0D, 0F)
      let mobY = Array.zeroCreate 8
      let GetMobY (index) =
          mobY.[index]
      let SetMobY (index, value) =
          mobY.[index] <- value &&& 0xFF
  
      // RASTER/RST8 (11, 12) (high expects high bit in position 7 as if you wrote to the reg)
      let mutable rasterY = config.RasterLinesPerFrame - 1
      let nextRasterY = Array.init (config.RasterLinesPerFrame) (fun y ->
          if y >= (config.RasterLinesPerFrame - 1) then 0 else (y + 1)
          )
      let mutable rasterYCompareValue = 0
      let GetLowRasterY () =
          rasterY &&& 0x0FF
      let SetLowRasterYCompareValue (value) =
          rasterYCompareValue <- (rasterYCompareValue &&& 0x100) ||| value
  
      // Control register 1 (11) (RST8/ECM/BMM/DEN/RSEL/YSCROLL)
      let mutable extraColorMode = false
  
negative.code: 
  
      // Register Access
      member this.PeekRegister address =
          match (address &&& 0x3F) with
              | 0x00 -> GetLowMobX(0)
              | 0x01 -> GetMobY(0)
  