code: def fromdict(self, dikt):
          
          s = dikt.copy()
          start_addr = s.get('start_addr')
          if start_addr is not None:
              del s['start_addr']
          for k in dict_keys_g(s):
              if type(k) not in IntTypes or k < 0:
                  raise ValueError('Source dictionary should have only int keys')
          self._buf.update(s)
          if start_addr is not None:
              self.start_addr = start_addr
docs: Load data from dictionary. Dictionary should contain int keys
          representing addresses. Values should be the data to be stored in
          those addresses in unsigned char form (i.e. not strings).
          The dictionary may contain the key, ``start_addr``
          to indicate the starting address of the data as described in README.
  
          The contents of the dict will be merged with this object and will
          overwrite any conflicts. This function is not necessary if the
          object was initialized with source specified.