docs: def put_char(self, char, r, g, b):
  		"""
  		Puts the character ``char`` into the char_buffer.
  		Special characters:
  			
  		"\n"
  			cursor[0] += 1
  			cursor[1] = 0
  		"\r"
  			cursor[1] = 0
  		"\t"
  			cursor[1] += 8
  		0
  			equals " "
  		"""
  		r, g, b = r & 0xff, g & 0xff, b & 0xff
  		if(char == 0):
  			char = " "
  
  		if(char == "\r"):
  			self.cursor[1] = 0
  			return
  		if(char == "\t"):
  			for i in range(8):
  				self.put_char(" ", r, g, b)
  			return
  		
  		if(self.max_chars_per_col > self.cursor[0]):
  			if(char == "\n"):
  				self.cursor[1] = 0
  				self.cursor[0] += 1
  				return
  
  			if(self.max_chars_per_line > self.cursor[1]):
  				self.char_buffer[self.cursor[0]][self.cursor[1]] = (char, r, g, b)
  				self.cursor[1] += 1
  			else:
  				self.cursor[0] += 1
  				self.cursor[1] = 0
  				self.char_buffer[self.cursor[0]][self.cursor[1]] = (char, r, g, b)
  				self.cursor[1] += 1
  			self.draw_char_screen()
  		else:
  			self.char_buffer.append([(" ", 0xff, 0xff, 0xff) for i in range(self.max_chars_per_line)])
  			self.cursor[0] -= 1
  			self.put_char(char, r, g, b)