 
   pixelBuffer: null
   charBuffer: null
-  colorBuffer: null
+  foregroundBuffer: null
+  backgroundBuffer: null
 
-  termReset: "\x1B[39m"
-  termColor: (color) -> "\x1B[38;5;#{color}m"
+  termReset: "\x1B[39;49m"
 
   constructor: (@width, @height) ->
     @pixelBuffer = new Buffer @width*@height/8

    mask = @characterMap[y&3][x&1]
    cb idx, mask

  frame: ->
    output = []
    currentColor = null

    for idx in [0...@pixelBuffer.length]
      output.push delimeter unless idx % (@width/2)

      if currentColor isnt colorCode = @_termColor @foregroundBuffer[idx], @backgroundBuffer[idx]
        output.push currentColor = colorCode

      output.push if @charBuffer[idx]
