def writechar(self, ch):
        if self._insert:
            self.insert(ch)
        else:
            r, c = self.cursor()
            #if self._wrap and (self._do_wrap or (c == self.cols-1)):
            if self._wrap and self._do_wrap:
                self._do_wrap = 0
                self.cursor.set(c=0)
                if self.cursor.down(1):
                    self.scroll_up()
                r, c = self.cursor()
            self.set(r, c, ch)
            self.cursor.forward(1)
            self._do_wrap = (c == (self.cols-1))


#    def process(self, c):
#        self.fsm.process(c)
#
#    def write(self, text):
#        for c in text:
#            self.fsm.process(c)
#
Write a single character to the screen. Wrap the cursor if necessary.
dataset/ETHPy150Open kdart/pycopia/QA/pycopia/terminal.py/Screen.writechar